我希望每个无编号“章节”页面的标题都有不同的样式。请参阅:
\documentclass{book}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\Large\filcenter\sffamily}
{\titlerule[1pt]%
\vspace{1pt}%
\titlerule
\vspace{1pc}%
\LARGE\MakeUppercase{\chaptertitlename} \thechapter}
{1pc}
{\titlerule
\vspace{1pc}%
\Huge}
\titleformat{name=\chapter,numberless}[display]
{\normalfont\Large\filcenter\sffamily}
{\titlerule[1pt]%
\vspace{1pt}%
\titlerule
\vspace{1pc}%
\LARGE{something for index only}}
{1pc}
{\titlerule
\vspace{1pc}%
\Huge}
\begin{document}
\tableofcontents
\chapter{My first chapter}
dummy text
\chapter{My second chapter}
ciao
\end{document}
使用之前的代码我有:
- 普通章节页的标题样式
- 标题样式全部无数的章节页:索引页、参考书目页等。
我想要多个无编号样式,一个用于索引页,一个用于参考书目页等。如何添加两种以上的样式?
答案1
您可以将\titleformat
指令放置在任何地方,并且格式声明将适用于所有后续章节,直到\titleformat
出现新指令。
最好的办法可能是在序言中定义所有格式,并将它们隐藏在宏中。例如
\newcommand{\tocformat}{%
\titleformat{name=\chapter,numberless}[display]
{\normalfont\Large\filcenter\sffamily}
{\titlerule[1pt]%
\vspace{1pt}%
\titlerule
\vspace{1pc}%
\LARGE something for TOC only}%%%% <---- \LARGE doesn't take an argument
{1pc}
{\titlerule
\vspace{1pc}%
\Huge}%
}
\newcommand{\bibliographyformat}{%
\titleformat{name=\chapter,numberless}[display]
{\normalfont\Large\filcenter\sffamily}
{\titlerule[1pt]%
\vspace{1pt}%
\titlerule
\vspace{1pc}%
\LARGE something for bibliography only}
{1pc}
{\titlerule
\vspace{1pc}%
\Huge}%
}
\tocformat
并\bibliographyformat
在文档中的适当位置发布。这样,您便拥有一个“集中”位置来设置所有文档。
\...format
通过将命令合并到相关命令(例如\tableofcontents
via \pretocmd
ofetoolbox
或类似的修补宏)中,也可以实现样式自动化。