由于我的论文report
风格,我希望将章节标题放在一页中。我正在使用titlesec
包。
我使用\clearpage
和\newpage
来解决这个问题,但没有用。我也使用了\titlespacing
,但对于不同大小的标题没有得到很好的结果。
\documentclass[11pt]{report}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage{calc}
\usepackage{lmodern}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\filcenter}
{{%
\filcenter\fontsize{48pt}{48pt}\usefont{T1}{phv}{m}{n}\MakeUppercase{\chaptername}
\fontsize{48pt}{48pt}\selectfont\thechapter%
}%
}
{5pt}
{\Huge\usefont{T1}{phv}{b}{n}%
\parbox{\textwidth-\widthof{\LARGE\sffamily\MakeUppercase{\chaptername}}}%
}
\begin{document}
\setcounter{chapter}{21}
\chapter{Chapter Title}
\section{Section one}
\lipsum[1]
\section{Section two}
\chapter{Another chapter}
\section{Section one}
\lipsum[2]
\end{document}
答案1
要使章节标题出现在其自己的页面上,请\clearpage
在 的最后一个可选参数中添加\titleformat
。要使标题垂直居中,请\vfill
在之前添加,然后after
标题就会排版:
\documentclass[11pt]{report}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage{calc}
\usepackage{lmodern}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\vfill\filcenter}
{{%
\filcenter\fontsize{48pt}{48pt}\usefont{T1}{phv}{m}{n}\MakeUppercase{\chaptername}
\fontsize{48pt}{48pt}\selectfont\thechapter%
}%
}
{5pt}
{\Huge\usefont{T1}{phv}{b}{n}%
\parbox{\textwidth-\widthof{\LARGE\sffamily\MakeUppercase{\chaptername}}}%
}[\vfill\clearpage]
\titlespacing*{\chapter}{0pt}{0pt}{0pt}
\begin{document}
\setcounter{chapter}{21}
\chapter{Chapter Title}
\section{Section one}
\lipsum[1]
\section{Section two}
\chapter{Another chapter}
\section{Section one}
\lipsum[2]
\end{document}
为了防止这些设置影响 ToC、LoF 和 LoT,您可能还需要使用密钥定义numberless
以应用于那些未编号的章节:
\titleformat{name=\chapter,numberless}[display]
{\filcenter}
{{%
}%
}
{5pt}
{\Huge\usefont{T1}{phv}{b}{n}%
}