\addappheadtotoc 作为文档的一部分

\addappheadtotoc 作为文档的一部分

当与例如类appendix一起使用包时,在目录中使用章节样式的附录条目和书签。scrbook\addappheadtotoc

我该如何改变这种情况,以便附录条目在目录和书签中都提升到部分级别?

这是一个最小的工作示例:

\RequirePackage[l2tabu,orthodox]{nag}
\documentclass[a4paper,11pt]{scrbook}

\usepackage[toc,title,page]{appendix}

\usepackage{bookmark,hyperref}

\begin{document}

\frontmatter%
\tableofcontents%

\mainmatter%
\part{p}
\chapter{c}
\section{s}

\part{p}
\chapter{c}
\section{s}

\appendices%

\chapter{c}
\section{s}

\backmatter%


\end{document}

答案1

尝试一下 MWE 的这个修订版本。

% appintocprob.tex SE 577653
\RequirePackage[l2tabu,orthodox]{nag}
\documentclass[a4paper,11pt]{scrbook}

\usepackage[toc,title,page]{appendix}

%\providecommand{\addappheadtotoc}{%  no change
\renewcommand{\addappheadtotoc}{%     new simple version
  \phantomsection
  \addcontentsline{toc}{part}{\appendixtocname}%
}

\usepackage{bookmark,hyperref}

\begin{document}

\frontmatter%
\tableofcontents%

\mainmatter%
\part{p}
\chapter{c}
\section{s}

\part{p}
\chapter{c}
\section{s}

\appendices%

\chapter{c}
\section{s}

\backmatter%

\end{document}

注意 的重新定义\addappheadtotoc。这是一个非常简单的重新定义,我使用part代替chapter。 的原始定义\addappheadttotoc要复杂得多,因为它涉及许多潜在情况,因此此重新定义实际上仅适用于您的使用。

答案2

使用 KOMA-Script 类,scrbook您不需要包appendix。您可以使用

\appendix
\addpart{\appendixname}

在文档中。

或者你可以\appendixmore在序言中定义:

\documentclass{scrbook}% paper=a4 and fontsize=11pt are default
\usepackage{bookmark,hyperref}

\newcommand*{\appendixmore}{\addpart{\appendixname}}% <- added


\begin{document}
\frontmatter
\tableofcontents

\mainmatter
\part{p}
\chapter{c}
\section{s}

\part{p}
\chapter{c}
\section{s}

\appendix% <- changed

\chapter{c}
\section{s}
\end{document}

或者你可以重新定义\appendix

\documentclass{scrbook}% paper=a4 and fontsize=11pt are default
\usepackage{bookmark,hyperref}

\newcommand*{\originalappendix}{}
\let\originalappendix\appendix
\renewcommand*{\appendix}{\originalappendix\addpart{\appendixname}}

\begin{document}
\frontmatter
\tableofcontents

\mainmatter
\part{p}
\chapter{c}
\section{s}

\part{p}
\chapter{c}
\section{s}

\appendix% <- changed

\chapter{c}
\section{s}

\end{document}

相关内容