在 scrbook 的目录中添加章节/附录前缀,并添加正确的附录页眉

在 scrbook 的目录中添加章节/附录前缀,并添加正确的附录页眉

我的第一个问题是如何在 scrbook 类的目录中添加章节或附录前缀而不是其默认外观。

例如,在下图中,我想将目录中的章节条目更改为第 1 章 简介。

对于目录中的附录条目也是如此,也就是说排版的是附录A.电子......,而不是下面的图。

此外,我还使用过\appendix在开始附录之前,所以它将所有后续章节视为 A 章、B 章等。但是,我想将它们视为附录,以便在页标题中正确显示为“附录 A. 电...”而不是页标题中的“第 A 章电...”,如下所示。

在此处输入图片描述

提前致谢

答案1

tocstyle您的第一个问题可以通过使用KOMAscript-bundle 中包含的 -package来解决。尝试

 texdoc tocstyle

在命令提示符下查看文档。

通过重新定义一些内部变量,如果我正确理解了你的问题,你就会得到第一个问题的答案。将以下命令放入你的序言中:

\usepackage{tocstyle}
\renewcommand*{\addchaptertocentry}[2]{%
  \addtocentrydefault{chapter}{\chapapp\nobreakspace #1}{#2}%
}
\usetocstyle{KOMAlike}

你的第二个问题是:

但是,我想将它们作为附录处理,以便在页面标题中正确显示为“附录 A. 电子...”

如果我正确理解了您的问题,可以使用 class-optionchapterprefix=true或来解决这个问题。appendixprefix=true

完整的 MWE,希望能够解决所有问题:

\documentclass[appendixprefix=true]{scrbook}
\usepackage{blindtext}
\usepackage{tocstyle}
\renewcommand*{\addchaptertocentry}[2]{%
  \addtocentrydefault{chapter}{\chapapp\nobreakspace #1}{#2}%
}

\usetocstyle{KOMAlike}

\begin{document}
\tableofcontents
\blinddocument
\appendix

\blinddocument

\end{document}

\chapter如果您在 中使用\fronmatter,请记住使用带星号的版本,以避免Chapter .目录中出现空数字。此外,如果您\addchap在文档中使用命令,请使用带星号的版本 ( \addchap*}。

如需进一步了解,请参阅英文手册, 和这次讨论KOMAscript 主页

注意!此代码需要的最新版本komascript

答案2

感谢问题的回答\chaptername 甚至用于目录中的附录章节

语法

\usepackage{tocloft,calc}
\renewcommand{\cftchappresnum}{\chaptername\space}
\setlength{\cftchapnumwidth}{\widthof{\textbf{Appendix~999~}}}
\makeatletter
\g@addto@macro\appendix{%
  \addtocontents{toc}{%
    \protect\renewcommand{\protect\cftchappresnum}{\appendixname\space}%
  }%
}
\makeatother

在目录中的章节条目前面加上“Chapter”一词(附录也是一样)是成功的。

对于附录环境中的运行标题,以下语法更改

章节附录

\begin{document}

\appendix
\renewcommand{\chaptermark}[1]{\markboth{Appendix\ \thechapter.\ #1}{}}
\chapter{Appendix A}
\chapter{Appendix B}

\end{document}

答案3

listof=totoc这里有一个建议,如果您在前言中使用章节或类似的选项,listof=chapterentry或者如果您使用,它也有效\addchap

\documentclass[
  chapterprefix,
  %numbers=noenddot,
  %toc=indentunnumbered,
  listof=totoc,
  %listof=chapterentry
]{scrbook}[2016/05/10]

\usepackage[english]{babel}

\usepackage{xpatch}
\xpatchcmd{\addchaptertocentry}{%
    \addtocentrydefault{chapter}{#1}{#2}%
  }{%
    \ifstr{#1}{}
      {\addtocentrydefault{chapter}{#1}{#2}}%<- unnumbered chapters in TOC
      {\addtocentrydefault{chapter}{\chapapp{} #1}{#2}}%<- numbered chapters in TOC
  }{}{\PatchFailed}

\RedeclareSectionCommand[
    tocdynnumwidth
]{chapter}

\usepackage{blindtext}
\begin{document}
\frontmatter
\tableofcontents
\listoftables
\chapter{This is a chapter in frontmatter}
\mainmatter
\blinddocument
\begin{table}%
  \begin{tabular}{l}
  \Huge X
  \end{tabular}
\caption{A table}
\end{table}
\addchap{This is an unnumbered chapter}
\addsec{This is an unnumbered section}
\appendix
\blinddocument
\end{document}

结果:

在此处输入图片描述

相关内容