我的第一个问题是如何在 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}
结果: