回忆录类中章节、节和小节的对齐

回忆录类中章节、节和小节的对齐

我想知道是否有一种巧妙的方法可以对齐章节、节和小节标题memoir课堂上对齐章节、节和小节标题,使其看起来像这样:

在此处输入图片描述

(顶部最大的标题是章节等)

答案1

以下示例提供了一个长度\secnumwidth,用于固定\chapter打印节号(包括 的节号)的宽度。所有其他显示样式均已保留(包括 的垂直间距\chapter):

在此处输入图片描述

\documentclass{memoir}

\newlength{\secnumwidth}
\setlength{\secnumwidth}{3em}

\renewcommand{\printchaptername}{}% Don't print 'Chapter'
\renewcommand{\chapnumfont}{\chaptitlefont}
\renewcommand{\chapternamenum}[1]{\makebox[\secnumwidth][l]{#1}}
\renewcommand{\afterchapternum}{}% Remove (vertical) skip between chapter number and title
\makeatletter
\renewcommand{\@seccntformat}[1]{\makebox[\secnumwidth][l]{\csname the#1\endcsname}}
\makeatother

\setcounter{secnumdepth}{2}% Number up to \subsection

\begin{document}

\chapter{A chapter}

\section{A section}

\subsection{A subsection}

\end{document}

以下是在默认文档类中实现它的类似方法report。它涉及更新\@makechapterhead\@seccntformat

在此处输入图片描述

\documentclass{report}

\newlength{\secnumwidth}
\setlength{\secnumwidth}{5em}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\interlinepenalty\@M
    \parindent \z@ \raggedright \normalfont
    \huge\bfseries
    \ifnum \c@secnumdepth >\m@ne
      \makebox[\secnumwidth][l]{\thechapter}%
    \fi
     #1\par\nobreak
    \vskip 40\p@
  }}
\renewcommand{\@seccntformat}[1]{\makebox[\secnumwidth][l]{\csname the#1\endcsname}}
\makeatother

\begin{document}

\chapter{A chapter}

\section{A section}

\subsection{A subsection}

\end{document}

和以前一样,常规垂直间距\chapter被保留(但可以更改)。

相关内容