我正在尝试创建一个具有特定格式的目录(在amsbook
文档类中);但是,经过几次尝试,我似乎无法让它发挥作用。该文档将包括由不同作者撰写的几篇文章(很像典型的某某会议论文集)我希望看到的格式是:
章节标题 A ................................................... 页码 #
作者
长章节标题(换
到下一行) .................................................... 页码 #
作者
“作者”行应该缩进一些——我不知道如何在这个论坛上缩进..
等等。重要的一点是我需要\chapter*{}
,这样就没有章节号,页码应该与每个章节标题对齐,在“作者”行上没有额外的页码,并且长章节标题的换行文本与上面一行的标题开头对齐(到目前为止,我所做的每次尝试都会缩进换行的文本,就好像在它前面有章节号一样 - 我不想要那样)。
抱歉,如果这很简单,但是我对自定义目录并没有太多经验,而且我似乎根本无法让它工作。
答案1
有一种可能性是:我抑制了条目中不需要的缩进,并定义了一个\atotoc
带有强制参数(作者姓名)的命令来添加作者信息:
\documentclass{amsbook}
\AtBeginDocument{%
\makeatletter
\expandafter\renewcommand\csname r@tocindent0\endcsname{0pt}
\makeatother
}
\newcommand\atotoc[1]{\addtocontents{toc}{#1\par}}
\begin{document}
\tableofcontents
\chapter*{Test Chapter One}
\atotoc{Author One}
\chapter*{Test Chapter Two with a Long Title that will Span Two Lines in the Table of Contents}
\atotoc{Author Two}
\end{document}
生成的 ToC 的图像:
如果条目的文本和页码之间需要加点,则需要做一些额外的工作:
\documentclass{amsbook}
\makeatletter
\newcommand\@dotsep{4.5}
\def\@tocline#1#2#3#4#5#6#7{\relax
\ifnum #1>\c@tocdepth % then omit
\else
\par \addpenalty\@secpenalty\addvspace{#2}%
\begingroup \hyphenpenalty\@M
\@ifempty{#4}{%
\@tempdima\csname r@tocindent\number#1\endcsname\relax
}{%
\@tempdima#4\relax
}%
\parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
\rightskip\@pnumwidth plus1em \parfillskip-\@pnumwidth
#5\leavevmode\hskip-\@tempdima{#6}\nobreak
\leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill
\nobreak
\hbox to\@pnumwidth{\@tocpagenum{#7}}\par
\nobreak
\endgroup
\fi}
\makeatother
\AtBeginDocument{%
\makeatletter
\expandafter\renewcommand\csname r@tocindent0\endcsname{0pt}
\makeatother
}
\newcommand\atotoc[1]{\addtocontents{toc}{#1\par}}
\begin{document}
\tableofcontents
\chapter*{Test Chapter One}
\atotoc{Author One}
\chapter*{Test Chapter Two with a Long Title that will Span Two Lines in the Table of Contents}
\atotoc{Author Two}
\end{document}
答案2
由于您正在使用amsbook
,并且您的(某些)章节似乎有单独的作者,因此您可以从包中受益amsbooka
。这包含在 tex live 中(与 位于同一区域amsbook.cls
)。包中没有文档,但是可以在线找到说明,在 ams 作者常见问题解答中。(该链接将显示多个问题;您感兴趣的问题用红色矩形框起来。)
该包对章节标题以及目录中的条目进行了样式设置。
与 Gonzalo 的建议一样,目录中的条目不包含点,但正如他在评论中指出的那样,并不完全清楚是否需要点。