汉森风格的章节标题

汉森风格的章节标题

我只是想问一下这种章节样式是如何完成的。我知道这是memoir带有hansen样式章节标题的类的某种排列,但是数字似乎是无衬线的,文本是 CMU 衬线的,文档的字体与我通常在模板上看到的字体不同hansen。如果有人能帮我复制这个,我将不胜感激。

在此处输入图片描述

答案1

您没有指定您使用的 TeX 格式。我向您展示了如何在 OpTeX 中执行此操作。将章节编号打印到正确的位置是基于 TeX 原始\lower和通用宏的\rlap,因此这个想法也可以在其他 TeX 格式(例如 LaTeX)中使用。

OpTeX 通过宏打印章节标题\_printchap,因此我们可以从 OpTeX 源中复制此宏并对其进行修改。我们添加了以 开头的行\_lower20pt,其他行只是源的副本。打印以 开头\_noindent,因此我们处于水平模式,没有段落缩进。使用\_lower20pt\_rlap我们将\_rlap框(即其宽度为零,其内容向右移动)向下移动 20pt。框包括\_printrefnum[@]在 OpTeX 中打印章节编号并创建超链接的目标。此数字以缩放和彩色无衬线字体打印\LightGrey\_kern3pt将章节编号稍微向右移动。

\fontfam[lm]

\_def\_printchap #1{\_vfill\_supereject \_prevdepth=0pt
   \_vglue\_medskipamount % shifted by topkip+\medskipamount
   {\_chapfont \_noindent
    \_lower20pt\_rlap{\LightGrey\_setfontsize{at70pt}\sans\_bf \_kern3pt \_printrefnum[@]}
    \_raggedright #1\_nbpar}\_mark{}%
   \_nobreak \_belowtitle{\_vskip2\_bigskipamount}%
   \_firstnoindent
}

\chap First Test

\lorem[1]

\chap Vector Bundles

\lorem[2]

\bye

答案2

你走对了路!图片上的例子与第 38 页的 Hansen 风格非常相似这个文件作为班级的展示memoir。向 Lars Madsen 致敬,因为他是该特定设置的原始版本提供者!

无论如何,这里有一个代码可以满足您的需要。

\documentclass{memoir}
\usepackage{xcolor}

\definecolor{NColor}{gray}{0.8}                 % Number color
\font\THICC=cmbx30 scaled 3500                  % New font definition

\makechapterstyle{hansen}{%                     % New chapter style
  \renewcommand\printchaptername{}              % Delete the “Chapter” prefix
  \renewcommand\printchapternum{%               % Setup the number format
    \raisebox{-1.6cm}[0pt][0pt]{%               % Align the number vertically
      \kern10pt                                 % Horizontal whitespace
      \color{NColor}                            % Text color
      \THICC                                    % Font type
      \thechapter%                              % Chapter number
    }%
  }
  \setlength\midchapskip{0pt}                   % Reset the chapter skip
  \setlength{\beforechapskip}{2\baselineskip}   % Define preceding skip
  \setlength{\afterchapskip}{\baselineskip}     % Define following skip
  \renewcommand\chaptitlefont{%                 % Setup the title format
    \normalfont                                 % Normal font face
    \HUGE                                       % “Huge” size
    \bfseries                                   % Bold face
    \raggedright                                % Flushed to the right
  }
  \renewcommand\printchaptertitle[1]{%          % Setup the printing
    \parbox[t][60pt]{\textwidth}{%              % Create the text box
      \chaptitlefont ##1}%                      % Use the title format
  }
}

\chapterstyle{hansen}                           % Use the new chapter format

\begin{document}

\let\clearforchapter\par % Consecutive chapters, not needed

\chapter{My First Chapter!}
Good news, everyone! There's a report on TV with some very bad news! Yep, I remember. They came in last at the Olympics, then retired to promote alcoholic beverages! I'm just glad my fat, ugly mama isn't alive to see this day.

This opera's as lousy as it is brilliant! Your lyrics lack subtlety. You can't just have your characters announce how they feel. That makes me feel angry! Man, I'm sore all over. I feel like I just went ten rounds with mighty Thor.

\chapter{Vector Bunbles}
They learn that this topic is incredibly difficult! I have no idea what a “tangent bundle” is! All I know is that this test text contains some big sounding words that I can only dream to one day understand. Oh well, here is a subtitle because why not.

\section{Vector Bundles and Basic Notions}
Here is some math!

\[ \xi = (E(\xi),\pi,B,\oplus,\bigodot) \]

\end{document}

输出应如下所示。

输出1

代码及其注释应该是不言自明的,但为了以防万一,有几件事需要解释一下。

该类memoir已加载多个包,并且有许多内置函数在其他类中不起作用。可以在 memoir 之外执行此操作,但由于问题指向 memoir,所以我认为这是必需的。

唯一需要的额外包是xcolor,它的作用只是使章节号变灰。使用普通的 也可以实现这一点graphicx,因此这不是必需的。

第 5 行使用 TeX 基元来定义“新字体”,这是一种可靠的增加章节号大小的方法,无需依赖其他软件包。“ scaled 3500”表示文本从使用的字体基础放大 3.5 倍。字体系列“ cmbx”代表 Computer Modern Roman Bold。如果您需要 Computer Modern Sans,您可以将其更改为“ cmss”。TeX 内置字体的完整列表可在 Knuth 的 TeXBook 第 350 页找到。这一页也起到很好的参考作用。

第 8 行是必需的,因为默认情况下,每个章节名称都包含“章节”作为序言,这只是将其删除。

第 10 行允许将编号与章节名称对齐,只需修改“-1.6cm”即可根据需要进行调整。第 11 行定义了 10pt 的水平缩进,如果需要,只需将编号向左推一点即可,否则您可以更改它或直接删除它。

第 27 行的值在已经定义的基线跳过的垂直方向上提供了一些额外的空间。

第 36 行只是为了在一页中显示两个章节。删除它将恢复为每页仅打印一个章节。

不用说,这是可行的,因为文档的字体大小是默认的。如果您需要修改它或使用其他字体(不是 TeX 原版fontspec或类似字体),您可能需要根据需要调整数字以适合章节标题,但经过一些尝试和错误,这应该不会太难。

希望这对你有帮助!

相关内容