我正在使用fncychap
包来自定义章节标题。我想将章节标题放在单独页面的中央(垂直)。
\documentclass{report}
\usepackage[Bjornstrup]{fncychap}
\begin{document}
\chapter{Bjornstrup}%how to put it in the center of the page
\newpage
somecontent....
\end{document}
答案1
使用宏\chaptervc
来开始您的章节。如您所见,它只需要一个参数,就像常规\chapter
命令一样。
它的工作原理是将原始\chapter
命令输出置于垂直中心,使用两个\vfill
s,一个在前,一个在后。然后它使用 a\clearpage
来获取新页面,因为您希望将章节标题放在独立的页面中。(虽然 a\newpage
在这里也应该很好,因为此时不太可能保留任何未处理的浮点数。)
\documentclass{report}
\usepackage[Bjornstrup]{fncychap}
\usepackage{lipsum}
\long\def\chaptervc#1{\vfill\chapter{#1}\vfill\clearpage}
\begin{document}
\chaptervc{Bjornstrup}%how to put it in the center of the page
\lipsum[1]
\chaptervc{Another Chapter}
\lipsum[2]
\lipsum[3]
\lipsum[4]
\chaptervc{And Another}
\lipsum[5]
\end{document}
答案2
添加\vfill
before 和 after\chapter{#1}
似乎无法将章节标题移到页面中间。MMA 的答案无论有没有它们看起来都一样。问题是\chapter
问题 a\clearpage
和第一个\vfill
最终出现在上一页的底部。此外,\chaptervc
没有可选参数和星号形式的定义限制了它的使用。
必须进入\chapter
命令定义,并在章节标题开始之前和之后放置一些内容。在fncychap
包中,章节标题由命令开始,并以或\DOCH
结束。在下面,我在 之前和之后添加了垂直空间。还添加了负空间,取消了在其他地方添加的正空间。没有放在后面,因为 里面包含:\DOTI
\DOTIS
\vfil
\DOCH
\clearpage
\DOTI
\DOTIS
\vfil
\DOTI
\vfil
\clearpage
\documentclass{report}
\usepackage[Bjornstrup]{fncychap}
\usepackage{lipsum}
% internal changes to chapter headings:
\let\oldDOCH\DOCH
\let\oldDOTI\DOTI
\let\oldDOTIS\DOTIS
\renewcommand\DOCH{\vspace{-50pt}\vfil\oldDOCH}
\renewcommand\DOTI [1]{\oldDOTI {#1}\vspace{-40pt}\clearpage}
\renewcommand\DOTIS[1]{\oldDOTIS{#1}\vspace{-40pt}\clearpage}
\begin{document}
\chapter{Bjornstrup}
\lipsum[1]
\chapter{Another Chapter}
\lipsum[2]
\lipsum[3]
\lipsum[4]
\chapter{And Another}
\lipsum[5]
\end{document}