我得到了以下代码,用于在页面顶部创建一个“章节”,然后是页面的“标题”,显示在“章节”下方。
这是我使用的文档类:
\documentclass[chapterprefix]{scrreprt}
我遇到了以下问题:我只想让特定的 \chapters 在目录中的“标题”前显示“章节:[编号]”。标题仍应显示,只是没有“章节:[编号]”。现在,我的所有 \chapters 都在目录中和页面上的标题前显示章节:[编号]。
另外,如何删除页面上“Chapter[:]”后面的冒号(但将它们保留在目录中)?
此外,通过应用提供给我的 \documentclass,情况发生了变化。我不知道字体是否变小了,但我的页面从大约 60 缩小到了 54。有什么想法吗?
\pagestyle{headings} %chapter in toc and on page (numbering)
\renewcommand*{\chapterformat}{%
\mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot:
\IfUsePrefixLine{}{\enskip}}%
}
\renewcommand*{\chaptermarkformat}{\chapapp\ \thechapter\autodot:\enskip}
\RedeclareSectionCommand[
tocentrynumberformat=\tocentrywithprefix{\chapapp},
tocdynnumwidth
]{chapter}
\newcommand\tocentrywithprefix[2]{\mbox{#1~#2:}}
\renewcommand*{\raggedchapter}{\centering}
答案1
:
要从章节标题中删除,请删除 的重新定义\chapterformat
。 重新定义 只是为了添加冒号。
不幸的是,我不明白你真正想做什么。
如果只应在附录中删除前缀,则可以使用
\documentclass[
12pt,
chapterprefix,
%appendixprefix=false,% no prefixline for appendix chapters
numbers=noenddot
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\pagestyle{headings}
\renewcommand*{\raggedchapter}{\centering}
\renewcommand*{\chaptermarkformat}{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot:\enskip}
\let\originaladdchaptertocentry\addchaptertocentry
\renewcommand*{\addchaptertocentry}[2]{%
\IfArgIsEmpty{#1}
{\originaladdchaptertocentry{#1}{#2}}
{\originaladdchaptertocentry{\chapappifchapterprefix{\nobreakspace}#1\autodot}{#2}}%
}
\RedeclareSectionCommand[
tocentrynumberformat={\def\autodot{:}},
tocdynnumwidth
]{chapter}
\let\originalappendix\appendix
\renewcommand*{\appendix}{%
\originalappendix
%\renewcommand*\chapterformat{}% remove the chapter number from chapter heading
%\renewcommand*\chaptermarkformat{}% remove the chapter number from header entry
\renewcommand*{\addchaptertocentry}[2]{% remove the chapter number from ToC entry
\originaladdchaptertocentry{}{##2}%
}%
}
\begin{document}
\tableofcontents
\chapter{Foo}
\lipsum
\appendix
\chapter{Bar}
\lipsum
\end{document}
运行三次即可获得
如果您只想使用带有目录和标题条目的未编号章节,请替换\chapter
为\addchap
:
\documentclass[
12pt,
chapterprefix,
numbers=noenddot
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\pagestyle{headings}
\renewcommand*{\raggedchapter}{\centering}
\renewcommand*{\chaptermarkformat}{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot:\enskip}
\let\originaladdchaptertocentry\addchaptertocentry
\renewcommand*{\addchaptertocentry}[2]{%
\IfArgIsEmpty{#1}
{\originaladdchaptertocentry{#1}{#2}}
{\originaladdchaptertocentry{\chapappifchapterprefix{\nobreakspace}#1\autodot}{#2}}%
}
\RedeclareSectionCommand[
tocentrynumberformat={\def\autodot{:}},
tocdynnumwidth
]{chapter}
\begin{document}
\tableofcontents
\addchap{Introduction}% unnumbered chapter
\lipsum
\chapter{Foo}% numbered chapter
\lipsum
\appendix
\addchap{Bar}% unnumbered chapter
\lipsum
\chapter{Numbered}% numbered chapter
\end{document}