如何将 \part 标题放在页面的中心?

如何将 \part 标题放在页面的中心?

如何将\part标题居中,使其位于页面中间,而不是 的中间\textwidth(使用不均匀边距时)?我正在使用类memoir,它可以正确地放置\part在其自己的页面上,但它也将它放置在 的中心\textwidth,而不是页面的中心。

以下是 MWE:

\documentclass[twoside,11pt]{memoir}

\usepackage[outermargin=3in, innermargin=1in]{geometry}


\begin{document}

\part{Part title}

\chapter{Chapter title}

dummy text.....

\end{document}

是否有可能在不为该页面定义新几何图形的情况下修复标题?

谢谢

答案1

定义一个新的几何图形似乎是最好的方法;但你可以将其隐藏起来。

\documentclass[twoside,11pt]{memoir}

\usepackage[outermargin=3in, innermargin=1in,showframe]{geometry}
\usepackage{xpatch}

\xpretocmd{\part}{\cleardoublepage\newgeometry{innermargin=1cm,outermargin=1cm}}{}{}
\xpretocmd{\partpageend}{\clearpage\restoregeometry}{}{}

\begin{document}

\chapter{Chapter title}

dummy text.....

\part{Part title}

\chapter{Chapter title}

dummy text.....

\end{document}

在此处输入图片描述

删除showframe生产版本。

答案2

这是一个仅使用功能的答案memoir(不含任何拼写错误)。

\documentclass{memoir}
\usepackage{lipsum}
\setlrmarginsandblock{1in}{3in}{*} % unequal margins for the example
\newlength{\mylen} % a scratch length
\calccentering{\mylen} % 
\renewcommand{\beforepartskip}{\null\vfil\adjustwidth{\mylen}{-\mylen}}
\renewcommand{\afterpartskip}{\end{adjustwidth}\vfil\newpage}

\begin{document}
\chapter{Chapter title}
\lipsum[1]
\part{Part title}
\chapter{Chapter title}
\lipsum[2]
\end{document}

这使用adjustwidth环境将零件标题相对于纸张宽度居中,并使用\calccentering宏来计算适当的adjustwidth长度。请参阅手册 ( > texdoc memoir)8.5 更改文本宽度了解更多信息,以及6.4 书籍和部分标题对于\beforepartskip\afterpartskip原始定义。

相关内容