仅在无星号的命令前添加“章节”和“附录”

仅在无星号的命令前添加“章节”和“附录”

我正在使用 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}

相关内容