我正在编写一本书(使用课程book
),其中每一章都是由不同的作者撰写的。因此每一章都会有二文本行,目录中的每个条目也是如此。默认情况下,LaTeX 将页码置于右对齐位置,并位于第二目录中条目 (在我的情况下是作者) 的行。
我希望它位于条目右侧(不右对齐)并位于第一行(即紧挨着章节标题)。像这样:
**Contents**
Chapter 1 title blah blah 5
Author 1
Chapter 2 title blah 11
Author 2
etc...
以下是 MWE:
\documentclass[twoside,10pt]{book}
\usepackage[hidelinks]{hyperref}
\usepackage{pdfpages}
\begin{document}
\cleardoublepage
\phantomsection %
\pdfbookmark[0]{\contentsname}{toc} % Adds a PDF bookmark for the TOC.
{\pagestyle{plain}
\tableofcontents
\cleardoublepage}
\chapter[Chapter 1 title Blah Blah \\{\normalfont Author 1}]{Chapter 1 title Blah Blah \\ {\normalfont Author 1}}
Chapter 1 text.
....
\chapter[Chapter 2 title Blah \\ {\normalfont Author 2}]{Chapter 2 title Blah \\ {\normalfont Author 2}}
Chapter 2 text ..
....
\end{document}
先谢谢您的帮助。
答案1
我建议使用不同的输入。定义一些类似的东西,\chapterauthor{<title>}{<author>}
分别指定章节标题和作者。然后,你就可以在 TeX 工作流中管理这些组件了。这就是我下面所做的:
\documentclass{book}
\usepackage{lipsum}
\usepackage[hidelinks]{hyperref}
% \chapterauthor{<title>}{<author>}
\newcommand{\chapterauthor}[2]{%
\chapter[#1]{#1 \\ \normalfont #2}% \chapter{<title>}
\addtocontents{toc}{% Add author entry to ToC
\nobreak\par{\normalfont #2\par}\nobreak}%
}
\begin{document}
\sloppy % For this example
\tableofcontents
\chapterauthor{First chapter}{Author 1}\lipsum[1-5]
\section{A section}\lipsum[1-5]
\chapterauthor{Second chapter}{Author 2}\lipsum[1-5]
\section{Another section}\lipsum[1-5]
\end{document}
作者也印在章节标题中: