带有 memior 和 \include 的附录列表

带有 memior 和 \include 的附录列表

我正在尝试为我的论文做两件最后的事情,但我不知道该怎么做。我查看了这个问题的所有其他答案,但似乎无法从我研究的内容中找到任何可行的方法。我很抱歉这可能是一个重复的问题,但我还是没有找到解决方案。

我有一个主要的 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}

相关内容