通过回忆录利用现有风格创造新风格

通过回忆录利用现有风格创造新风格

当我尝试根据回忆录中现有的另一种风格创造一种新风格时,我遇到了一些问题。

在查阅了关于此问题的其他一些帖子后,像这样或者这个,我尝试使用 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}

相关内容