如何获取单页中的章节标题 - titlesec

如何获取单页中的章节标题 - titlesec

由于我的论文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}%
}

相关内容