اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری bidi منابع پانویس بیب‌تک tikz parsilatex تک‌لایو بیمر اسلاید زی‌پرشین پاورقی bibtex سربرگ نماد رسم شکل فرمول‌نویسی قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول bidipresentation شماره صفحه حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل enumerate tabriz_thesis نمایه align زیرنویس شکل کادر itemize فهرست اشکال الگوریتم listings عدم اجرا نیم‌فاصله متن لاتین و فارسی بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار خروجی لاتک حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای subfigure extrafootnotefeatures biditufte-book header texmaker pdf tex longtable تصویر شمارنده خطا texlive2015 زیرنویس رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول آکولاد kashida texworks caption اندیس اعداد فارسی lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry texlive fancyhdr وسط‌چینی تک لایو 2015 عنوان بخش شماره گذاری به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی pgfplots بیرون‌زدگی xelatex کاما tcolorbox پوستر فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس فلش جایابی تصویر قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل font محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
9 نفر آنلاین
0 عضو و 9 مهمان در سایت حاضرند
بازدید امروز: 947
بازدید دیروز: 5389
بازدید کل: 25834878

حذف کلمه «فصل» و شماره فصل در داخل متن و فهرست مطالب

0 رای
3,858 بازدید

سلام خسته نباشید.می خواستم بدونم چطور میشه در فهرست و خود متن شماره فصل رو حذف کرد مثلا در داخل متن ننویسه فصل ۱ بلکه فقط عنوان فصل رو درج کنه.این کار رو با ستاره دار کردن کد chapter نمیشه انجام داد چون این طور فقط در فهرست مطالب قابل نمایش نیست اما بازم توی متن هست ویا اینکه اگه نمیشه حذفش کرد چطور میتونم سایز و فونتش رو عوض کنم که زیاد معلوم نباشه؟

#

  ‎\documentclass[a4paper,11pt]{report}‎‎ 
‎\usepackage[top=3cm‎, ‎bottom=2.5cm‎, ‎left=1.98cm‎, ‎right=2cm]{geometry}‎
‎\usepackage{amsthm,amssymb,amsmath}‎
‎\usepackage{bbm‎, ‎mathrsfs}‎
‎\usepackage{fancybox}‎‎
‎\usepackage{makeidx}‎‎‎
\usepackage{titlesec}‎‎
\usepackage{sectsty}‎‎‎
‎\usepackage{fancyhdr}‎
‎\pagestyle{fancy}‎‎‎
\makeatother‎‎
\lhead{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
‎\renewcommand{\headrulewidth}{1.888pt}‎
‎\usepackage{graphicx}‎ 
‎\usepackage[all]{xy}‎
‎\usepackage{setspace}‎
‎\graphicspath{{images/}}‎
‎\usepackage[pagebackref=false]{hyperref}‎
‎\usepackage{xepersian}‎
‎\makeindex‎‎
‎\usepackage{fancyhdr}‎‎‎ 
\pagestyle{fancy}‎
\renewcommand{\chaptermark}[1]{
\markright{\thechapter\ #1}{}}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}}
\fancyhf{} % delete current header and footer
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % space for the rule
\fancypagestyle{}{%
\fancyhead{} % get rid of headers on plain pages
\renewcommand{\headrulewidth}{0pt} % and the line
}‎‎
\lhead{\thepage}‎‎‎
\chead{‎‎}‎‎‎
‎\rhead{‏ ‏}
\renewcommand{\headrulewidth}{0.4pt}
‎\renewcommand\headrulewidth{1.888pt}‎‎‎
‎\vspace{-1mm}‎‎‎
‎\Huge‎\underline‎‎{{  }} \\ \vspace{0.3cm} \textbf{\LARGE{\textbf{\fatitle}}}‎
‎\vskip 1cm‎‎‎‎
‎\begin{figure}[ht]‎ 
‎\centerline{\includegraphics[width=15cm]{1}}‎
‎\end{figure}‎‎‎‎
‎\vspace*{2cm}‎
‎\begin{center}
‎‎\textbf{}‎‎
\end{center}‎
سوال شده بهمن 6, 1393 توسط افروز (20 امتیاز)
ویرایش شده بهمن 10, 1393 توسط افروز
به نظر شما، کادر برچسب‌ها رو گذاشتیم که کاربران توش ۱ و ۲ بنویسن؟ فلسفه این ۱ و ۲ نوشتن چیه؟ خودمون بلد نیستیم ۱ و ۲ بنویسیم؟
سوال رو ویرایش و برچسب «فصل‌نویسی» و «شماره‌گذاری» بهش بدید تا جواب‌تون رو بدم.
ببخشید آقای افشان درستش کردم.من اول منظور از برچسب گذاری رو درست متوجه نشدم
الان خودتون می‌تونید این کدی رو که قرار دادید، اجرا کنید و خروجی بگیرید؟
عقل حکم می‌کنه که کدی رو که به دیگران می‌دیم، قابل اجرا باشه و تا جای ممکن کمینه شده باشه. مثلاً بودن/نبودن بسته makeidx در اینجا، هیچ تاثیری روی خروجی نداره. این موارد هیچ ارتباطی به دانش لاتک نداره.
لطفاً یک بار راهنما و قوانین سایت رو بخونید. ممنون

2 پاسخ

+2 رای
 
بهترین پاسخ

من فرض می‌کنم شما از کلاس book استفاده می‌کنید.

روش اول

مسئول چینش و چاپ کلمه «فصل»، شماره فصل و عنوان فصل در کلاس book بر عهده دستور \@makechapterhead است؛ پس به سراغ تعریف این دستور توی فایل book-xetex-bidi.def می‌ریم:

\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

توی این کد، مسئول چاپ کلمه «فصل» و شماره فصل، به ترتیب، \@chapapp و \thechapter است؛ پس کل خط حاوی این دو دستور رو با گذاشتن علامت % در پشت خط کامنت می‌کنیم؛ یعنی این جوری

% \huge\bfseries \@chapapp\space \thechapter

حالا می‌ریم سراغ حذف کردن شماره فصل از فهرست مطالب. مسئول چاپ شماره فصل در فهرست مطالب، دستور \@chapter است؛ پس می‌ریم سراغ تعریف این دستور توی فایل book.cls:

\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter}#1}%
                       \else
                         \addcontentsline{toc}{chapter}{#1}%
                       \fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}

توی این کد، شماره فصل و عنوان فصل توسط دستور

\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%

به فهرست مطالب اضافه شدن؛ پس چون ما فقط می‌خوایم شماره فصل رو حذف کنیم، کافیه تکه

\protect\numberline{\thechapter}

رو برداریم.
با این توضیحات، فایل نهایی به این صورت خواهد بود:

\documentclass{book}
\usepackage{xepersian}
\settextfont{Yas}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
       % \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}{#1}%
                       \else
                         \addcontentsline{toc}{chapter}{#1}%
                       \fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi} 
\makeatother
\begin{document}
\tableofcontents
\chapter{یک عنوان فصل آزمایشی}
\section{مقدمه}
\end{document}

روش دوم

بسته زی‌پرشین همیشه بسته bidi رو فراخوانی می‌کنه و این بسته هم بسته biditools رو. این بسته، دستور خیلی مفیدی به اسم \bidi@patchcmd داره که شکل کلیش به این صورته:

\bidi@patchcmd{command}{wanted code}{new code}{success msg}{failure msg}

کاربرد این دستور در وصله کردن دستورهاست؛ یعنی دستور command رو می‌گیره؛ توش دنبال تکه‌کد wanted code می‌گرده و بعد اون رو با new code جایگزین می‌کنه. دو آرگومان آخر هم اجباری نیستن و می‌شه خالی‌شون گذاشت. در واقع کارشون صدور پیغام موفقیت‌ یا شکست در وصله کردن دستور command در فایل .log است.
برای شروع فرض کنید می‌خوایم همین روش بالا رو با این دستور انجام بدیم؛ پس طبق توضیحاتی که دادم، باید به صورت زیر عمل کنیم

\documentclass{book}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter

\bidi@patchcmd{\@makechapterhead}%
{\huge\bfseries\@chapapp\space\thechapter}%
{}%
{}
{}  

\bidi@patchcmd{\@chapter}%
{\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}}%
{\addcontentsline{toc}{chapter}{#1}}%
{}
{}

\makeatother
\begin{document}
\tableofcontents
\chapter{یک عنوان فصل آزمایشی}
\section{مقدمه}
\subsection{تست یک}

\end{document}

دقت داشته باشید که در وصله کردن دستور \@makechapterhead، تک‌کد

\huge\bfseries\@chapapp\space\thechapter

رو با هیچ جایگزین کردیم.

پاسخ داده شده بهمن 7, 1393 توسط وحید دامن‌افشان (6,499 امتیاز)
انتخاب شده بهمن 9, 1393 توسط افروز
ممنون آقای دامن افشان کدتون رو اجرا کردم مشکلم حل شد.
فقط حالا یه مشکل دیگه درست شده.بعد از اینکه کد شما رو اجرا کردم در قسمت فهرست هام و همچنین توی قسمت bookmark هر کدوم از فصل هام دوبار تکرار شدن.قبلا مینوشتم \chapter[عنوان]{عنوان} دیگه توی قسمت فهرست فقط شماره فصل رو می زد بعد section رو می‌آورد ولی حالا هم شماره فصلو میاره هم عنوانشو! در صورتی که مشکل آوردن شماره فصل توی متن برام حل شد ولی حالا این مشکلو دارم.چیکار کنم؟
راه‌حل من مشکلی نداره. مشکل از فایل شماست. وقتی می‌گیم کد کمینه ارائه بدید، واسه این جور موقع‌هاست که ببینیم خودتون چکار کردید.
فایلی رو که روش کار میکنم کنار سوالم بالا پیوست کردم براتون
0 رای

شما در فایل main.txt یا definitions.txt و یا فایل با فرمت cls. کدی به صورت زیر داری:

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering\normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries \@chapapp\space \tartibi{chapter} 
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 20\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother
\renewcommand\bibname{مراجع}
\def\contentsname{فهرست}

کافیه شما کد \huge\bfseries \@chapapp\space \tartibi{chapter} رو در بالا کامنت کنید (یا حذف کنید) تا شماره فصل در متن حذف بشه.

پاسخ داده شده بهمن 7, 1393 توسط علیرضا علی‌پور (332 امتیاز)
جناب علی‌پور از پاسخی که دادید، ممنونم؛ اما باز هم دچار اشتباه شدید. شما تصور می‌کنید همه ما، فایل‌هایی که روی سیستم‌تون دارید رو داریم. در صورتی که این‌طور نیست. شما باید یاد بگیرید چه فایل‌هایی توسط کاربران و به صورت شخصی و اختصاصی ایجاد شدن و چه فایل‌هایی، عمومی هستن و روی سیستم همه کاربران وجود داره. به عنوان مثال، فایل عمومی‌ای به اسم main.txt یا definitions.txt وجود نداره. این فایل‌ها فقط روی سیستم شما وجود داره.
در ضمن، دو خط آخر کدتون، ارتباطی به مشکل ایشون نداره و حتی ممکنه باعث مشکل برای کاربر سوال‌کننده بشه.
حق با شماست. من با این ذهنیت که این کدها، کدهای مرجع هستن بهشون پاسخ دادم. کمااینکه این طرز فکر درست نیست.
ممنونم از تذکرتون.
...