在附录之前向目录中添加一行

在附录之前向目录中添加一行

可能重复:
第一章出现在目录第一行之前

在包含外部文件时,我在目录中插入一行时遇到问题。\input并且\include在这种情况下行为有所不同。

我的MWE

\documentclass{report}

\begin{filecontents}{appen.tex}
\chapter{Appendix 1}
This is the appendix
\end{filecontents}

\begin{document}
\tableofcontents
\chapter{Main}
This is the main part.

\appendix
\part*{Appendix}                                                    
\addtocontents{toc}{%
\protect\contentsline{chapter}{Appendix}{}{}}

\input{appen}

\end{document}

效果很好,可以满足我的要求。但是,当我将命令更改\input为时\include,注释“附录”出现在章节“附录 1”之后。

我可以只处理\input附录的第一章并\include处理其余部分(这样确实可以正常工作),但我想知道是否有人可以解释这种行为并且可能有解决方案,以便我\include也可以处理附录的第一章。

答案1

我个人认为你把事情搞得太复杂了,你不需要手动添加到目录中。

如果您坚持使用来\begin{filecontents}模拟外部文件,我确实注意到,如果文件存在,它不会覆盖,这可能会给您带来假阴性。顺便说一句,覆盖错误是filecontents开发该软件包的原因之一,因此请尝试以下方法。

\documentclass{report}
\usepackage{filecontents}

\begin{filecontents*}{appen.tex}
    \chapter{An Appendix Chapter}
    This is the appendix
\end{filecontents*}

\begin{document}
\tableofcontents

\chapter{Main}
This is the main part.

\appendix
\include{appen}
\end{document}

相关内容