我将两个 .pdf 文档附加到我的主要文档中,该文档是用 LyX 编写的。我希望它们的标题出现在目录的末尾。
到目前为止,我已经成功地通过 ERT 插入添加了它们
\addcontentsline{toc}{chapter}{Additional document 1}
并使用例如更改页数
\setcounter{page}{150}
但是,如果我想添加两个附件:
\setcounter{page}{104}
\addcontentsline{toc}{chapter}{Additional doc 1}
\setcounter{page}{154}
\addcontentsline{toc}{chapter}{Additional doc 2}
然后它们两个都被列在目录中的第 154 页。
需要注意的是,我正在使用这模板,并在主 lyx 文件的附录框下添加 ERT。
编译正常(但没有正确的页码)
欢迎任何建议。
答案1
\addcontentsline
在页面写入 pdf 时在发货时“执行”。如果您希望它们引用不同的页面,则命令也必须位于不同的页面上。因此,一种方法是使用
\newpage \mbox{} <your code>
对他们每个人来说。
另一种产生较少空白页的可能性是这里。附加代码必须位于文档末尾。如果您使用的软件包需要在文档末尾使用不强大的 \thepage,如 lastpage,它将破坏它们(但无论如何 lastpage 在您的设置中没有多大意义)。
\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\tableofcontents
\section{abc}
\newpage\section{cde}
\newpage % newpage before making thepage robust!!
\mbox{} % force a shipout
\robustify{\thepage} % avoid that \thepage expands directly
\addtocontents{toc}{\protect\renewcommand\thepage{123}}
\addcontentsline{toc}{section}{Additional document 1}
\addtocontents{toc}{\protect\renewcommand\thepage{134}}
\addcontentsline{toc}{section}{Additional document 2}
\addtocontents{toc}{\protect\renewcommand\thepage{127}}
\addcontentsline{toc}{section}{Additional document 3}
\end{document}