我对 LaTeX 不太熟悉,而且文档的结构有问题。目录是用“\tableofcontents”创建的,附录是用“\appendix”创建的(它们都不需要其他命令,它们完全是自动填充的)。在附录中,我有一个小节“MyDocument”,它应该代表一个逻辑上独立的文档(但实际上我想在同一个 tex 文件中写入)。目录中应该只显示小节名称,不能显示更多内容(通常它还会在下面包含一个层次结构层)。在这个小节中,我有三个层次结构层,它们的编号不应带有附录前缀“A”。
因此,目录应如下所示:
第一章
第 2 章
...
附录
A.1 附录
A.2 我的文档
A.3 另一个附录
“MyDocument”子部分放在一个单独的 tex 文件中(包含在附录中)并且看起来应该像这样(所有标题都按标题编号和格式化):
A.2 我的文档
一 美国广播公司
1.1 你好
1.2 世界
1.2.1 世界A
1.2.2 世界B
二 XYZ
编辑:一些代码
主文件
...
\tableofcontents
\include{chapters/chapter1}
\include{chapters/chapter2}
\appendix
\include{general/appendix}
附录.tex
\section{Appendix}
\input{appendices/one}
\input{appendices/mydocument}
\input{appendices/another}
我的文档.tex
\subsection{My Document}
\subsubsection{abc}
\paragraph{hello}
\paragraph{world}
\subparagraph{world 1}
\subparagraph{world 2}
\subsubsection{xyz}
我发现了一个静态解决方案,虽然不是很舒服,但对我的情况来说还可以(我主要对预格式化的标题感兴趣,但我不希望我的文档的结构出现在目录中):删除自动编号并添加到目录中,改用硬编码数字(如果此文档的结构发生变化,这可能不是一个好主意,但在这种特殊情况下它确实是固定的)
\subsubsection*{1. abc}
ETC。
答案1
为了方便提供解决方案,我稍微改变了文件的名称和结构。
标准宏\addcontentsline
负责生成目录条目。如果某些内容不应添加到目录中,但无论如何都要编号,最好将\addcontentsline
for while 的含义从 中剔除mydocument.tex
。最容易做到的是,\begingroup...\endgroup
在 之后使用一对\subsection{MyDocument}
。任何命令的重新定义或长度更改,计数器格式化都只能通过这样的组来完成,不会影响外部代码。
请查看目录,其\section{Another appendix}
行为与往常一样,而Minidocument
小节有其自己的计数器格式,但默认编号,没有硬编码。
评论
如果使用book
或类,则最好使用细分,而不是作为顶级结构单元。report
\appendix
\chapter
\sections
main.tex——主文档框架
\documentclass{book}
\begin{document}
\tableofcontents
%\include{chapters/chapter1}
%\include{chapters/chapter2}
\chapter{chapter1}
\chapter{chapter2}
\appendix
\renewcommand{\thesection}{\Alph{section}}
\input{appendixcontent}
\end{document}
附录内容.tex
\section{Appendix}
\InputIfFileExists{one}{}{}%
\InputIfFileExists{mydocument}{}{}%
\InputIfFileExists{another}{}%
\section{Another appendix}%
我的文档.tex
\setcounter{secnumdepth}{5}
\begingroup
\subsection{My Document}
\renewcommand{\thesubsubsection}{\arabic{subsubsection}}
\renewcommand{\addcontentsline}[3]{}% Do nothing
\subsubsection{abc}
\paragraph{hello}
\paragraph{world}
\subparagraph{world 1}
\subparagraph{world 2}
\subsubsection{xyz}
\endgroup