我设计了一个全新的精美章节标题布局,并在章节编号前硬编码了“章节”一词。我现在才意识到这行不通,因为我有一个名为“章节 A”的附录。
是否有一个变量包含单词“Chapter”或“Appendix”,具体取决于当前正在排版的内容?\chaptername
虽然我在附录部分下使用它,但似乎只包含单词“Chapter”。
编辑:感谢以下答案,我已经在章节标题中实现了此功能;但我的目录无法正常工作。我已使用 更改了目录titletoc
,尽管我使用了以下代码,但它仍然显示“章节”:
\documentclass{book}
\usepackage{titletoc}
\usepackage{color}
\makeatletter
\titlecontents{chapter}[-2em]
{\color{cyan}\bfseries\LARGE\addvspace{3mm}}
{\@chapapp \contentslabel{-0.25em}\hspace{2em}}
{}
{\hspace{3em}\contentspage}
\makeatother
\begin{document}
\tableofcontents
\chapter{test}
\appendix
\chapter{asdf}
\end{document}
答案1
在标准类book
和中report
,该\chapter
命令使用内部命令\@chapapp
来排版章节标题。\@chapapp
最初定义为\chaptername
(“章节”),并在文档正文中\appendixname
发出后立即重新定义为(“附录”) 。\appendix
回答您的后续问题:这是一种(可能不是最优雅的)在目录中实现正确命名的方法:
\documentclass{book}
\usepackage{titletoc}
\usepackage{color}
\makeatletter
\titlecontents{chapter}[-2em]
{\color{cyan}\bfseries\LARGE\addvspace{3mm}}
{\@chapapp \contentslabel{-0.25em}\hspace{2em}}
{}
{\hspace{3em}\contentspage}
\g@addto@macro{\appendix}{%
\addtocontents{toc}{\protect\renewcommand*{\protect\@chapapp}{\protect\appendixname}}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter{test}
\appendix
\chapter{asdf}
\end{document}
答案2
如果您使用titlesec
,那么您要查找的命令是\chaptertitlename
默认的\chaptername
,但它\appendixname
在附录中。