LyX:在 ERT 中添加具有特定行号的内容行

LyX:在 ERT 中添加具有特定行号的内容行

我将两个 .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}

相关内容