我想以非标准方式格式化阅读器的目录,请参见示例:
具体来说,各节以“内联”方式列出,没有页码,用项目符号分隔,并相对于章节列表缩进。文档末尾的未编号“章节”(参考书目、索引等)与章节编号对齐,不缩进。
不幸的是,我找不到关于如何实现这一点的透明解释。经过一番搜索,我找到了这个问题在此网站上,有一个答案,其目录看起来与我所寻找的内容有些相似,请参见下图。
问题是,随附的代码是完全的对我来说,这是一个谜,我无法找到代码和输出之间的任何有用关联。我希望这里有人可以向我解释代码的作用,或者向我展示另一种方法来获得我想要的外观。不用说,我是 TeX 的新手。
提前致谢
答案1
这是一个使用的解决方案etoc 包
\documentclass{book}
\usepackage{mwe}
\usepackage{etoc}
\setcounter{tocdepth}{1}
\begin{document}
\begingroup
\parindent=0pt
\etocsetstyle{chapter}
{}
{\leavevmode\leftskip0em\relax}
{\etocifnumbered{\makebox[1.5em][l]{\etocnumber.}}{}%
\etocname\nobreak\hfill\nobreak
\rlap{\makebox[1.5em]{\etocpage}}\par}
{}
\etocsetstyle{section}
{\begingroup\leftskip1.5em\relax}
{\textbullet\hspace\itemsep%
\nolinebreak}
{\etocname\space}
{\par\endgroup}
\tableofcontents
\endgroup
\blinddocument
\blinddocument
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}
bye
\end{document}
更新(已编辑)
\documentclass{book}
\usepackage{mwe}
\usepackage{etoc}
\setcounter{tocdepth}{1}
\begin{document}
\begingroup
\parindent=0pt
\etocsetstyle{chapter}
{}
{\leavevmode\leftskip0em\relax}
{\etocifnumbered{\makebox[1.5em][l]{\etocnumber.}}{}%
\etocname\nobreak\hfill\nobreak
\rlap{\makebox[1.5em]{\etocpage}}\par}
{}
\etocsetstyle{section}
{\begingroup\leftskip1.5em\relax}
{\etociffirst{}{\textbullet\hspace\itemsep%
\nolinebreak}}
{\etocname\space}
{\par\endgroup}
\tableofcontents
\endgroup
\blinddocument
\blinddocument
\cleardoublepage
\addcontentsline{toc}{chapter}{\bibname}
bye
\end{document}