使用 \include 时附录单词从目录中消失

使用 \include 时附录单词从目录中消失

如果您编译以下使用该类的最小示例abntex2,该类仅仅是memoir类的一个包装器:

\documentclass[
12pt,
]{abntex2}

\begin{filecontents*}{beauty.tex}
\chapter{Some first}
Content.
\end{filecontents*}

\begin{filecontents*}{appendix.tex}
\chapter{Other second}
Stuff.
\end{filecontents*}

\begin{document}
    \tableofcontents
    \include{beauty}
    % \chapter{Fixer}

    \begin{apendicesenv}
        \include{appendix}
    \end{apendicesenv}
\end{document}

您将获得以下信息:

在此处输入图片描述

但是,如果你取消注释该行% \chapter{Fixer},那么文档就会正确生成,也就是说,单词出现Appendix在正确的位置:

在此处输入图片描述

我怎样才能修复此行为并让单词Appendix始终显示在目录中,而不管我的文件内容如何?


相关问题

  1. 在附录标题中保留“附录 #”,但从目录中删除附录
  2. 目录中带有回忆录类的“附录”字样

答案1

环境apendicesenv应在include

\begin{filecontents}{appendix.tex}
  \begin{apendicesenv}
    \chapter{Other second}
    Stuff
  \end{apendicesenv}
\end{filecontents}

我在开发软件包时遇到了这种问题appendix。我在文档的第 2.1 节中给出了解决方案,但对问题的描述与 MWE 中展示的描述不同。

答案2

我设法通过重新填充附录名称变量来解决这个问题:

\makeatletter
\@ifclassloaded{abntex2}{
  \renewcommand*{\cftappendixname}{\apendicename\space\space}
}{}
\makeatother

完整示例:

\documentclass[
12pt,
]{abntex2}

\begin{filecontents*}{beauty.tex}
\chapter{Some first}
Content.
\end{filecontents*}

\begin{filecontents*}{appendix.tex}
\chapter{Other second}
Stuff.
\end{filecontents*}

\makeatletter
\@ifclassloaded{abntex2}{
  \renewcommand*{\cftappendixname}{\apendicename\space\space}
}{}
\makeatother

\begin{document}
    \tableofcontents
    \include{beauty}

    \begin{apendicesenv}
        \include{appendix}
    \end{apendicesenv}
\end{document}

在此处输入图片描述

相关内容