回忆录中 \part 样式的修改

回忆录中 \part 样式的修改

我修改了文档\part中的命令样式memoir,如下面的最小示例所示:

\documentclass[b5paper,10pt,twoside,openright,final,english]{memoir}
\usepackage{lipsum}
\usepackage[english]{babel}

\makepagestyle{part}
\makeevenfoot{part}{}{}{}
\makeoddfoot{part}{}{}{}
\makeevenhead{part}{}{}{}
\makeoddhead{part}{}{}{}

\renewcommand*{\beforepartskip}{\null\vskip 0pt plus -0.3fil}
\renewcommand*{\midpartskip}{\par\vskip 0pt plus 1.0fil}
\renewcommand{\printpartname}{\partnamefont\raggedleft Part} 
\renewcommand*{\cftpartname}{Parte\space}
\renewcommand{\printpartnum}{\partnamefont\thepart \\ \vspace{-15pt} \hrulefill} 

\begin{document}
\tableofcontents

\chapter{Introduction}
\lipsum

\part{Basics}

\chapter{A Chapter}
\lipsum

\appendix
\renewcommand*{\beforepartskip}{\null\vspace{.5\textheight}}
\renewcommand*{\midpartskip}{\par\vspace 2\onelineskip}
\renewcommand*{\printpartname}{\reggedleft\partname}
\part*{Appendix}
\chapter{An Appendix}
\lipsum

\end{document}

为什么在空白页中相对于\part*命令的标题“附录”不是右对齐的?换句话说,我想更改样式,\part使appendix空白页中的标题“附录”右对齐(在页面中间)。如何做到这一点?

答案1

一种简单的方法是附加\raggedleft到零件标题(和名称)字体,例如:

\renewcommand*{\parttitlefont}{\normalfont\Huge\bfseries\raggedleft}
\renewcommand*{\partnamefont}{\normalfont\Huge\bfseries\raggedleft}

或者如果你保持不变,其他字体更简单

\let\partnamefont\parttitlefont

正如您在这些定义中看到的,这是有效的memoir.cls

\newcommand{\printpartname}{\partnamefont \partname}
\newcommand{\printparttitle}[1]{\parttitlefont #1}

关于你的尝试:

  • \reggedleft是未知的,我猜这是一个错误,你的意思是\raggedleft

  • \printpartname用于编号部分,因此不用于标有星号的部分\part*。您可以\printparttitle对此重新定义。

相关内容