我正在尝试为我的论文做两件最后的事情,但我不知道该怎么做。我查看了这个问题的所有其他答案,但似乎无法从我研究的内容中找到任何可行的方法。我很抱歉这可能是一个重复的问题,但我还是没有找到解决方案。
我有一个主要的 Latex 文件,其中包含我的所有章节和附录。我需要生成附录列表(如图表列表),并且还需要从目录中删除附录。
这是基本结构:
\documentclass[12pt, oneside]{memoir}
\begin{document}
%%%% Front Matter %%%%
\frontmatter
\include{Front_Matter}
%%%% Chapters %%%%
\mainmatter
\include{Introduction}
...
\include{Conclusion}
%%%% Appendixes %%%%
\addcontentsline{toc}{chapter}{Appendixes}
\part*{Appendixes}
\appendix
\include{Appendix1}
\include{Appendix2}
\end{document}
我需要保留目录中附录开始位置的引用,这就是我使用 \part* 和 \addcontentsline 的原因。我需要从目录中删除附录部分(部分、子部分),并在表格和图表列表之后添加单独的附录列表。
附录结构如下:
\chapter{Appendix 1}
\section{Section 1}
...text...
\subsection{Subsection 1}
...text...
任何帮助将不胜感激
答案1
这是我对这个问题的解决方案。我想我以前在这里回答过这个问题,只是没费心去搜索。
这个想法是用来\cftinserthook
在文件中创建触发点.toc
。然后,这些触发器或钩子可以在特定位置运行代码,.toc
我们可以使用该代码来更改目录的格式。
因此,我们基本上用一对钩子将附录部分括起来,并在开头添加一个钩子以备后用。然后在正常状态下要求它忽略附录部分。
为了制作附录列表,我们在本地重新定义了挂钩代码来执行其他操作,然后重新运行\tableofcontents
。
\documentclass[a4paper]{memoir}
% normal settings for the A,B,C hooks
% A does nothing by default
% B disable the toc from this point
\cftinsertcode{B}{\protect\setcounter{tocdepth}{-10}}
% in C we'd like the normal tocdepth
\newcounter{normaltocdepth}
\AtBeginDocument{
\setcounter{normaltocdepth}{\value{tocdepth}}
}
\cftinsertcode{C}{\protect\setcounter{tocdepth}{\value{normaltocdepth}}}
% ned we build the macro for the list of appendencies
\newcommand\listofappendencies{
\begingroup % keep changes local
% the idea is to just use \tableofcontents* again, but with
% different values for the hooks
\cftinsertcode{A}{\protect\setcounter{tocdepth}{-10}}
% or what ever explicit depth you want
\cftinsertcode{B}{\protect\setcounter{tocdepth}{\value{normaltocdepth}}}
% all after the C hook is ignored
\cftinsertcode{C}{\protect\setcounter{tocdepth}{-10}}
% different name for the list
\renewcommand\contentsname{List of Appendencies}
\tableofcontents% add * if not wanted in main toc
\endgroup
}
\settocdepth{subsubsection}
\begin{document}
\tableofcontents*
\cftinserthook{toc}{A}
\chapter{Test}
\section{T1}
\subsection{T11}
\subsubsection{T111}
\appendix
\appendixpage
\listofappendencies
\cftinserthook{toc}{B}
\chapter{App 1}
\section{T1}
\subsection{T11}
\subsubsection{T111}
\chapter{App 2}
\section{T1}
\subsection{T11}
\subsubsection{T111}
\cftinserthook{toc}{C}
\begin{thebibliography}{9}
\bibitem{A} Test
\end{thebibliography}
\end{document}