我正在使用 KOMA Script 类,我想在章节标题前添加单词“Chapter”和“Appendix”,但前提是该章节是使用非星号命令创建的(即,没有数字/字母)。该命令\chapapp
打印正确的单词“Chapter”或“Appendix”,但每次都会这样做,即使是使用星号命令也是如此。我的解决方案使用etoolbox
's\ifstrempty
命令来检查章节号是否为空,但我想知道是否有更标准的方法来做到这一点。
\documentclass{scrbook}
\usepackage{etoolbox}
\renewcommand*\chapterlinesformat[3]{%
\ifstrempty{#2}{}{\chapapp} #2 #3
}
\begin{document}
\cleardoublepage\tableofcontents
\addcontentsline{toc}{chapter}{Contents}
\chapter*{Publications}
\addcontentsline{toc}{chapter}{Publications}
\chapter{Introduction}
\appendix
\chapter{Attachments}
\end{document}
答案1
重新定义\chapterformat
:
\documentclass{scrbook}
\setuptoc{toc}{totoc}% TOCentry in TOC
\renewcommand\chapterformat{\chapapp~\thechapter\autodot\enskip}% prefix for numbered chapters
\begin{document}
\tableofcontents
\addchap{Publications}
\chapter{Introduction}
\appendix
\chapter{Attachments}
\end{document}
或者如果没有编号的章节 »出版物« 则不应该有标题条目:
\documentclass[headings=optiontoheadandtoc]{scrbook}
\setuptoc{toc}{totoc}% TOCentry in TOC
\renewcommand\chapterformat{\chapapp~\thechapter\autodot\enskip}% prefix for numbered chapters
\begin{document}
\tableofcontents
\addchap[head={}]{Publications}
\chapter{Introduction}
\appendix
\chapter{Attachments}
\end{document}
更新关于评论:
如果»章节«/»附录«应该与章节标题而不是章节编号一起排版,则可以使用\IfArgIsEmpty
重新定义\chapterlinesformat
(如@Schweinebacke 在评论中所建议的那样):
\documentclass{scrbook}
\setuptoc{toc}{totoc}% TOCentry in TOC
\let\originalchapterlinesformat\chapterlinesformat
\renewcommand{\chapterlinesformat}[3]{%
\ifstr{#1}{chapter}
{\originalchapterlinesformat{#1}{#2}{\IfArgIsEmpty{#2}{}{\chapapp\enskip}#3}}
{\originalchapterlinesformat{#1}{#2}{#3}}%
}
\begin{document}
\tableofcontents
\addchap{Publications}
\chapter{Introduction}
\appendix
\chapter{Attachments}
\end{document}
或者
\documentclass{scrbook}
\setuptoc{toc}{totoc}% TOCentry in TOC
\makeatletter
\renewcommand{\chapterlinesformat}[3]{%
\ifstr{#1}{chapter}
{\@hangfrom{#2}{\IfArgIsEmpty{#2}{}{\chapapp\enskip}#3}}
{\@hangfrom{#2}{#3}}% original definition
}
\makeatother
\begin{document}
\tableofcontents
\addchap{Publications}
\chapter{Introduction}
\appendix
\chapter{Attachments}
\end{document}