将章节*标题与回忆录中的章节标题对齐

将章节*标题与回忆录中的章节标题对齐

我想将章​​节*标题与回忆录中的章节标题对齐,如下所示

+---------------------------------+---------------------------------+
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |  Chapter 1                      |
|  -----------------------------  |  -----------------------------  |
|  Test One                       |  Test Two                       |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
|                                 |                                 |
+---------------------------------+---------------------------------+

我知道我应该使用\makechapterstyle但我不知道如何使用:

\documentclass[oneside]{memoir}

\makechapterstyle{stack}
{
  \renewcommand{\afterchapternum}{}
  \def\chapterheadstart{\vspace*{\beforechapskip}}
  \renewcommand{\printchaptertitle}{\hrule\vspace{0.6\midchapskip}\chaptitlefont}
  \renewcommand{\printchapternonum}{\par\vspace{\midchapskip}}
}
\chapterstyle{stack}

\begin{document}

\chapter*{Test One}

\chapter{Test Two}

\end{document}

答案1

最好的方法是将 a 放在\strut没有文本的地方(特别是\printchapternonum)。为了完整起见,实际上最简单的方法是将这个 - a - 添加到和\strut的所有定义中:\chapnamefont\chaptitlefont

\documentclass[oneside]{memoir}

\makechapterstyle{stack}
{
  \renewcommand{\afterchapternum}{}
  \def\chapterheadstart{\vspace*{\beforechapskip}}
  \addtodef{\chapnamefont}{}{\strut}
  \addtodef{\chaptitlefont}{}{\strut}
  \renewcommand{\printchaptertitle}[1]{\hrule \par\chaptitlefont ##1\par}
  \renewcommand{\printchapternonum}{\chapnamefont\par}
}
\chapterstyle{stack}

\begin{document}

\chapter*{Test One}

\chapter{Test Two}

\end{document}

\addtodef{<macro>}{<before>}{<after>}由提供memoir作为常规内核的扩展\g@addto@macro

相关内容