将附录添加到目录中但不使其出现在文档中

将附录添加到目录中但不使其出现在文档中

我正在上课article,我想在目录中提及两个附录,但不在文档本身中创建实际的附录。此外,我希望目录中的这些条目不会引用任何页面(显然,因为文档中没有附录可以引用)。我该如何实现这些目标?

编辑:

这是我使用的代码(简化版本):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{biblatex}
\usepackage[dutch]{babel}
\usepackage[nottoc,numbib]{tocbibind}
\usepackage{listings}
\usepackage[title,titletoc]{appendix}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage{hyperref}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
    backgroundcolor=\color{backcolour},   
    commentstyle=\color{codegreen},
    keywordstyle=\color{blue},
    numberstyle=\tiny\color{codegray},
    stringstyle=\color{codepurple},
    basicstyle=\footnotesize,
    breakatwhitespace=false,         
    breaklines=true,                 
    captionpos=b,                    
    keepspaces=true,                 
    numbers=left,                    
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize=2
}

\lstset{style=mystyle,language=Python}

\title{title}
\author{bla}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
bla bla

\end{abstract}
\pagebreak
\tableofcontents

\pagebreak
\section{sections}
bla bla

\pagebreak
\begin{thebibliography}{9}
\bibitem{someitem}
something

\end{thebibliography}

\pagebreak

\appendix

\addtocontents{toc}{\protect\contentsline{section}{Appendix One}{}{}}
\addtocontents{toc}{\protect\contentsline{section}{Appendix Two}{}{}}

\addtocontents{toc}{Appendix One}

\end{document}

编辑2:

我找到了一种使用以下代码行的解决方法,它是对评论中的建议的扩展:

\addtocontents{toc}{\textcolor{white}{}\\ \textbf{Appendix A: bla bla}\\\textcolor{white}{}\\ \textbf{Appendix B: bla bla}}

答案1

如果需要维护特定格式,即像部分条目一样,使用

\addtocontents{toc}{\protect\contentsline{section}{Appendix One}{}{}}

第一个空{}对通常由 填充以\addcontentsline保存页码,第二个空{}对由 填充以hyperref保存超锚点。如果hyperref不包括 ,则第二个空{}对不会造成任何损害。

\documentclass{article}


\usepackage{hyperref}
\begin{document}
\tableofcontents


\section{First section}

\appendix

\addtocontents{toc}{\protect\contentsline{section}{Appendix One}{}{}}
\addtocontents{toc}{\protect\contentsline{section}{Appendix Two}{}{}}

\end{document}

在此处输入图片描述

如果请求采用编号格式,\numberline{}也可以应用,全部转换为一个简单的宏:

\phantomappendix*将仅添加标题

\phantomappendix将添加标题和前导编号。

\documentclass{article}

\usepackage{xparse}
\newcounter{phantomappendix}
\renewcommand{\thephantomappendix}{\Alph{phantomappendix}}

\NewDocumentCommand{\phantomappendix}{sm}{%
  \IfBooleanTF{#1}{%
    \addtocontents{toc}{\protect\contentsline{section}{#2}{}{}}
  }{%
    \refstepcounter{phantomappendix}% Just in case we want to refer to it
    \addtocontents{toc}{\protect\contentsline{section}{\protect\numberline{\thephantomappendix}#2}{}{}}
  }%
}


\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{First section}
\appendix

\phantomappendix*{Appendix One}
\phantomappendix{Appendix Two}
\end{document}

在此处输入图片描述

相关内容