我正在处理一份 XeLaTeX “书籍”文档,该文档分为两个未编号的部分。这两个部分需要根据“标题/副标题”方案进行命名,标题和副标题之间用换行符分隔(两者都很短)。
因此,我最终这样做是合乎逻辑的(我猜?):
\part*{Title of my part\\Its subtitle}
这就产生了我想要的东西。
然后,为了使我的部分出现在目录中,对于每个带星号的部分,我都添加了相应的 \addcontentsline:
\part*{Title of my part\\Its subtitle}
\addcontentsline{toc}{part}{Title of my part}
在我的目录中,我希望我的部分以某种方式显示,这种方式不涉及页码和居中对齐。这是我在序言中写的内容,使用 titletocs 的 \titlecontents 重新定义目录中标题的外观:
\usepackage{titletoc}
% Part aspect in ToC: vertical spacing before and after, centering, uppercase, no page number:
\titlecontents{part}
[0em]
{\addvspace{\baselineskip}\begin{center}}
{}
{\MakeUppercase}
{}
[\end{center}\addvspace{\baselineskip}]
% (Linebreaks after each argument for readibility)
这个东西完全按照我希望的方式工作,只是我没有找到正确的方法将换行符添加到 \addcontentsline 中而不会导致错误:
\part*{Title of my part\\Its subtitle}
\addcontentsline{toc}{part}{Title of my part\\Its subtitle} % Linebreak doesn't work!
我在这里找到了几种解决方案,可以使其适用于任何章节或部分,但我的部分似乎以不同的方式运行...根据控制台似乎所说的,我相信在目录中 \part 方面的重新定义中使用的居中涉及其中。
关于如何在其中包含有效的换行符,您有什么想法吗?
多谢!
编辑:下面是 MWE!
% Minimal Working Example
\documentclass[12pt, twoside, openright]{book}
\usepackage{titletoc}
% Part aspect in ToC: vertical spacing before and after, centering, uppercase, no page number:
\titlecontents{part}[0em]{\addvspace{\baselineskip}\begin{center}}{}{\MakeUppercase}{}[\end{center}\addvspace{\baselineskip}]
\begin{document}
\part*{Title of my part\\Its subtitle}
\addcontentsline{toc}{part}{Title of my part\\Its subtitle} % Linebreak doesn't work!
\tableofcontents
\end{document}