在目录中添加章节条目时,我想将其作为其他章节,即大写……例如,添加此行
\addcontentsline{toc}{chapter}{Test}
在 ClassicThesis.tex 的这两行之间(在我的版本中大约是第 213 行):
\cleardoublepage\part{Some Kind of Manual}
\include{Chapters/Chapter01}
它尝试修改 classicthesis.sty,但没有成功,方法是更改(大约 570 行
\newcommand\ChapS[1]{\oldchap*{#1}}%
到
\newcommand\ChapS[1]{%
\ifpdf\oldchap*{\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}}%
\else\oldchap*{\spacedlowsmallcaps{#1}}%
\fi%
}
任何帮助都将不胜感激...谢谢!:)
答案1
该classicthesis
软件包使用titlesec
来处理其标题格式。titlesec
强烈反对使用带星号的版本。相反(如文档中所述titlesec
),它建议为未编号的章节或章节创建环境。以下是一个解决您的问题的示例。
\documentclass[oneside,letterpaper]{scrbook}
\usepackage{classicthesis}
\usepackage{lipsum} % for dummy text
\newenvironment{unnumbered}%
{\setcounter{secnumdepth}{-1}}
{\setcounter{secnumdepth}{2}}
\begin{document}
\tableofcontents
\chapter{A regular chapter}
\lipsum
\begin{unnumbered}
\chapter{An unnumbered chapter}
\lipsum
\end{unnumbered}
\end{document}
答案2
请勿修改classicthesis.sty
:如果软件包更新,您将丢失对软件包的修改或改进。
您可以在文档的序言中写入以下内容,从而自动插入未编号的章节
\makeatletter
\g@addto@macro\tableofcontents{
\renewcommand{\ChapS}[1]{\cleardoublepage
\phantomsection\oldchap*{#1}
\addcontentsline{toc}{chapter}
{\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}}}
}
\makeatother
和不是必需的,\makeatletter
如果加载了 babel 则可以用 代替。\makeatother
\g@addto@macro
\addto
但是这也会将表格列表和图片列表放入目录中;如果你不想要这样,只需将代码
\renewcommand{\ChapS}[1]{\cleardoublepage
\phantomsection\oldchap*{#1}
\addcontentsline{toc}{chapter}
{\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}}}
在\listof...
命令之后。
人们也可以避免在目录中自动插入未编号的章节,而是手动执行该操作,例如介绍:
\cleardoublepage\phantomsection
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{%
\texorpdfstring{\spacedlowsmallcaps{Introduction}}{Introduction}%
}