我想将章节*标题与回忆录中的章节标题对齐,如下所示
+---------------------------------+---------------------------------+
| | |
| | |
| | |
| | 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
。