我想在文章类文档的目录中结合章节编号和项目符号,以避免出现太多的长章节编号(例如 1.2.1.1.1)。
所以,我想要这样的东西:
1. First section
1.1 First subsection
1.2 Second subsection
1.2.1 First subsubsection
· First paragraph
· Second paragraph
- First subparagraph
1.3 Third subsection
2. Second section
我怎样才能修改目录以用项目符号代替数字?
答案1
目录中的\paragraph
和条目由宏设置:和。通常类包含它们的定义。类的示例:\subparagraph
\l@paragraph
\l@subparagraph
article
\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
支持的论点\@dottedtocline
是:
- 部分级别(例如, 为 4
\paragraph
)。 - 缩进左边距。
- 用于宏编号的空间
\numberline
。 - 章节标题(继承自
\contentsline
)。如果给出了数字,则它从\numberline{...}
同一参数中的章节标题之前开始。 - ...
以下示例重新定义了宏\l@paragraph
和\l@subparagraph
:
- 长度参数
\@dottedtocline
已更新,以仅遵守使用符号的较小编号。 \numberline
由于格式原因,该符号被添加为“数字” 。- 如果存在,则原始数字会被吞噬。
\documentclass{article}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{5}
\makeatletter
\renewcommand*{\l@paragraph}[1]{%
\@dottedtocline{4}{7.0em}{1em}{%
\numberline{\textbullet}%
% \numberline{$\cdot$}%
\gobble@numberline
#1%
}%
}
\renewcommand*{\l@subparagraph}[1]{%
\@dottedtocline{5}{8em}{1em}{%
\numberline{\textendash}%
\gobble@numberline
#1%
}%
}
\newcommand*{\gobble@numberline}{%
\@ifnextchar\numberline{\@gobbletwo}{}%
}
\makeatother
\newcommand*{\lipsum}{%
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.%
}
\begin{document}
\tableofcontents
\newpage
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\subsubsection{First subsubsection}
\paragraph{First paragraph}
\paragraph{Second paragraph. \lipsum}
\subparagraph{First subparagraph}
\subparagraph{Second subparagraph. \lipsum}
\subsection{Third subsection}
\section{Second section}
\end{document}