我真的很喜欢目录格式(一个章节的所有部分都在一个段落中),Motion Mountain 的物理书籍有人知道如何重现这种风格吗?有没有用于管理目录样式的 LaTeX 包?
顺便说一句,我需要使用 XeLaTeX,但“fontspec”和“titletoc”之间似乎存在不兼容。
答案1
这托克洛夫特和标题目录包允许您自定义目录。对于您来说,第二个包可能是更好的选择:带星号的版本将\titlecontents
条目分组到单个段落中。
这是一个小例子(当然,您可以根据需要随意调整):
\documentclass{scrbook}
\usepackage{titletoc}
\titlecontents{chapter}[0pt\addvspace{15pt}]
{\llap{\makebox[3em]{\oldstylenums{\thecontentspage\hfill\thecontentslabel}}\hskip1em}
\small\scshape\vskip-\baselineskip}{}{}{}
\titlecontents*{section}[20pt]
{\upshape}{}{}
{, \oldstylenums{\thecontentspage}}[][\ \textbullet\ ][]
\begin{document}
\tableofcontents
\chapter{Test chapter one}
\section{Test section one one}
\section{Test section one two}
\section{Test section one three}
\section{Test section one four}
\section{Test section one five}
\chapter{Test chapter two}
\section{Test section two one}
\section{Test section two two}
\section{Test section two three}
\end{document}
最终的目录如下:
编辑:正如Alan Munn在评论中注意到的那样,上面的例子无法用和编译fontspec
,xelatex
原因是\addvspace{15pt}
在的第一个可选参数中的命令\titlecontents{chapter}
;一个可能的解决方法是在的第二个强制参数中引入垂直跳过\titlecontents
:
\documentclass{scrbook}
\usepackage{fontspec,xltxtra}
\usepackage{titletoc}
\titlecontents{chapter}[0pt]
{\vskip15pt\llap{\makebox[3em]{\oldstylenums{\thecontentspage\hfill\thecontentslabel}}\hskip1em}
\small\scshape\vskip-\baselineskip}{}{}{}
\titlecontents*{section}[20pt]
{\upshape}{}{}
{, \oldstylenums{\thecontentspage}}[][\ \textbullet\ ][]
\begin{document}
\tableofcontents
\chapter{Test chapter one}
\section{Test section one one}
\section{Test section one two}
\section{Test section one three}
\section{Test section one four}
\section{Test section one five}
\chapter{Test chapter two}
\section{Test section two one}
\section{Test section two two}
\section{Test section two three}
\end{document}