我修改了文档\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
对此重新定义。