当我尝试根据回忆录中现有的另一种风格创造一种新风格时,我遇到了一些问题。
在查阅了关于此问题的其他一些帖子后,像这样或者这个,我尝试使用 MWE 执行以下代码:
\documentclass{memoir}
\makechapterstyle{test}{%
\chapterstyle{bianchi}
\renewcommand*{\chapnumfont}{%
\normalfont\small\bfseries\flushright}
\renewcommand*{\chaptitlefont}{%
\normalfont\large\bfseries\flushright}
\renewcommand*{\printchapternum}{\flushright\chapnumfont \thechapter}%
}
\chapterstyle{test}
\usepackage{lipsum}
\begin{document}
\chapter{blablabla}
\lipsum[1-2]
\end{document}
我怎样才能章节和章节号一起右对齐?另外,我可以这样做吗这对所有章节标题进行此操作而不是在本地进行?
答案1
这似乎有效。
您应该\raggedleft
在此处使用,而不是,\flushright
因为\flushright
实际上是环境的开始,所以这里需要的内容比您需要的更多。将前两个替换\flushright
为\raggedleft
并删除最后一个,因为您已经在字体设置中设置了它。要减少上面的间距,请使用\setlength{\beforechapskip}{some value}
或重新定义\chapterheadstart
以不执行任何操作。请注意,您只更改了\chapnumfont
,您可能还想更改\chapternamefont
\documentclass{memoir}
\makechapterstyle{test}{%
\chapterstyle{bianchi}
\renewcommand*{\chapnumfont}{%
\normalfont\small\bfseries\raggedleft}
\renewcommand*{\chapnamefont}{%
\normalfont\small\bfseries}
\renewcommand*{\chaptitlefont}{%
\normalfont\large\bfseries\raggedleft}
\renewcommand*{\printchapternum}{\chapnumfont \thechapter}%
\setlength\beforechapskip{0pt} % not the same as no space above
% because of \vspace* internally
}
\chapterstyle{test}
\usepackage{lipsum}
% note to show where the text block is
%\aliaspagestyle{chapter}{showlocs}
\begin{document}
\chapter{blablabla}
\lipsum[1-2]
\end{document}