使用 amsbook 样式自定义目录时出现的问题

使用 amsbook 样式自定义目录时出现的问题

我正在尝试创建一个具有特定格式的目录(在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 的建议一样,目录中的条目不包含点,但正如他在评论中指出的那样,并不完全清楚是否需要点。

相关内容