کد زیر را ببینید. اون چیزی که مد نظرتون هست با توضیحات کامل نوشتم. البته با این روش، یعنی استفاده از بسته minitoc
، فهرست فصل، فقط میتواند داخل آن فصل گنجانده شود و در صورتی که بخواهید آن را قبل از شروع فصل بیاورید، احتمالا به ماکرونویسی نیاز خواهید داشت؛ که البته منطقی هم نیست و جایی ندیدهام که فهرست یک فصل را قبل از شروع فصل نمایش بدهند.
در صورتی که این جواب، کارتون را راه انداخت، لطفا دکمه تایید را بزنید.
نمایی از اجرای کد را در این عکس ببینید:
توضیحات درون کد، کاملا واضح است؛ ولی با این وجود، توضیح دستورات استفاده شده خارج از محیط کد، خالی از لطف نیست.
با بسته minitoc
میتوانید علاوه بر فهرست کتاب، در ابتدای هر فصل نیز یک فهرست مطالب برای همان فصل داشته باشید. البته میتوان فهرست فصل را در هر جای فصل قرار داد ولی منطقی و مرسوم این است که این فهرست، در ابتدای فصل قرار گیرد.
فهرست هر فصل، جایگزین فهرست کل کتاب نیست؛ به این معنی که نمیتوانید بدون حروفچینی فهرست کلی، فهرست فصل را حروفچینی کنید و در صورت رعایت نکردن این موضوع، با پیغام خطا مواجه میشوید.
در صورت فراخوانی این بسته با گزینه اختیاری undotted
، خطچین بین عنوان و شماره صفحه حذف میشود.
با دستور \mtcsetdepth{minitoc}{3}
در مقدمه فایل لاتک، میتوانید تعریف کنید که فهرست فصل، تا چه سطحی از بخشبندی را شامل شود. به عنوان مثال با این دستور، بخش، زیربخش و زیرزیربخش نمایش داده میشود. در صورتی که بخواهید فقط بخشها نمایش داده شوند، عدد ۱ را وارد کنید. با وارد کردن عدد ۲، بخش و زیربخش نمایش داده میشوند ولی زیرزیربخشها نمایش داده نمیشوند. این قابلیت در کتابهایی که تنوع مطالب در آنها بالاست، خیلی به کار میآید؛ به این صورت که فهرست اصلی خود را تا سطوح کمتر و فهرست فصل را شلوغتر و با جزئیات بیشتر نمایش دهید. در کد نمونه زیر، این نکته رعایت شده است.
دستور \mtcsettitle{minitoc}{<Title>}
برای این است که عنوان دلخواه خود را در مقدمه فایل لاتک، برای فهرست فصل تعریف کنید. به جای <Title>
عنوان دلخواه خود را بنویسید و اگر آن را خالی بگذارید، هیچ عنوانی برای فهرست فصل، در نظر گرفته نمیشود.
دستور \nomtcpagenumbers
را در مقدمه فایل لاتک تعریف کنید تا شماره صفحات فهرست حذف شوند. این دستور در کد نمونه غیر فعال (کامنت) شده است.
با دستور \mtcsetrules{minitoc}{off}
در مقدمه فایل لاتک، خطوط افقی بالا و پایین فهرست فصل، حذف میشود. این دستور در کد نمونه غیر فعال (کامنت) شده است.
فهرست فصل، از دو طرف تورفتگی دارد. مقدار این تورفتگی را میتوانید با وارد کردن دستوری در مقدمه فایل لاتک تغییر دهید. با دستور \setlength{\mtcindent}{15pt}
، مقدار تورفتگی از سمت راست و چپ، 15pt
در نظر گرفته میشود. میتوانید عدد منفی وارد کنید و به جای تورفتگی، بیرونزدگی ایجاد کنید. در نظر داشته باشید که تورفتگی سمت عناوین، بیشتر از تورفتگی سمت شماره صفحات است که این به دلیل تورفتگی کلی اول همه پاراگرافهاست.
با وارد کردن دستور \renewcommand{\mtcoffset}{5pt}
در مقدمه فایل لاتک، فهرست فصل به اندازه 5pt
آفست میشود، یعنی همه محتویات، به اندازه 5pt
در جهت افقی جابجا میشوند. در صورتی که عدد منفی وارد کنید، محتویات فهرست فصل، در جهت عکس جابجا میشوند.
\documentclass{book}
\usepackage{lipsum}
% Set depth of sectional level:
\setcounter{secnumdepth}{3}
% Set depth of the major TOC:
\setcounter{tocdepth}{2}
% By this package, you can add TOC for each chapter in addition to the major TOC.
% Use the option 'undotted' to eliminate dotted line between title of each topic
% and its page number; in this way: '\usepackage[undotted]{minitoc}'.
\usepackage{minitoc}
% Set depth of miniTOC. Set to '1', then you see sections, and don't see
% subsections, subsubsections; or set to '2', then you see sections and
% subsections, and don't see subsubsections.
\mtcsetdepth{minitoc}{3}
% This command changes title of miniTOC.
\mtcsettitle{minitoc}{The Chapter's Topic}
% This command eliminates page number from miniTOC.
%\nomtcpagenumbers
% This command switches 'off', rules above and below miniTOC.
%\mtcsetrules{minitoc}{off}
% Change the indent of miniTOC:
%\setlength{\mtcindent}{15pt}
% Offset miniTOC horizontally:
%\renewcommand{\mtcoffset}{5pt}
% Define the title page:
\title{How to Make Table of Contents\\ for Individual Chapters}
\author{Abbas Shams\\\texttt{abbas.shams@gmail.com}}
\date{July 19, 2023}
\begin{document}
% Force LaTeX to make TOC at the begining of desired chapters. This command
% must be called before any commands within the 'document' environment.
\dominitoc
% Make title page:
\maketitle
% Make the major TOC:
\tableofcontents
\chapter{First Topic}
% Make miniTOC for this chapter:
\minitoc
\lipsum[1]
\section{First Topic-Section One}
\lipsum[2]
\section{First Topic-Section Two}
\lipsum[3]
\section{First Topic-Section Three}
\lipsum[4]
\subsection{First Topic-Section Three-Subsection One}
\lipsum[5]
\subsubsection{First Subsubsectin}
\lipsum[6]
\subsubsection{Second Subsubsectin}
\lipsum[7]
\subsection{First Topic-Section Three-Subsection Two}
\lipsum[8]
\chapter{Second Topic}
% Make miniTOC for this chapter:
\minitoc
\lipsum[1]
\section{Second Topic-Section One}
\lipsum[2]
\section{Second Topic-Section Two}
\lipsum[3]
\section{Second Topic-Section Three}
\lipsum[4]
\subsection{Second Topic-Section Three-Subsection One}
\lipsum[5]
\subsubsection{First Subsubsectin}
\lipsum[6]
\subsubsection{Second Subsubsectin}
\lipsum[7]
\subsection{Second Topic-Section Three-Subsection Two}
\lipsum[8]
\end{document}
این مطلب در مورد متون فارسی هم امتحان شد و فایل نمونه و خروجی آن در پاسخی جداگانه ارائه گردید.