回忆录中的匿名分部采用小写字母

回忆录中的匿名分部采用小写字母

我想创建“匿名分区”——文本中没有自己的章节标题的分区。我正在使用 memoir 类,它为此提供了\plainbreak{}\fancybreak{}。但它们并没有达到我想要的效果:\plainbreak不指示开始新的分区,并\fancybreak添加了额外的文本。我想通过将前几个单词设置为小写来指示新的分区。像这样:

end of paragraph, followed by a couple of empty lines.


BEGINNING OF the new division, not indented, starting with small caps.

我在许多书中都看到过这一点,但令我惊讶的是回忆录中没有提供这一点。

可以肯定的是,我可以通过以下方式实现我想要的目标:

\plainbreak{1}

\textsc{Beginning of} the new division...

但这很尴尬,而且不是 LaTeX 的方式(如果我想在创建数十个这样的分区后更改间距和字体怎么办?)。然后我想我应该能够简单地使用 \paragraph 来:

\setparaheadstyle{\normalsize\scshape}

但这会在 \paragraph "title" 之后留下额外的水平空间:

end of paragraph, followed by a couple of empty lines.


BEGINNING OF   the new division, but with extra space.

我找到了\setafterparaskip{}命令,但我不知道如何告诉它在之后使用单词间距\paragraph{}。例如,\setafterparaskip{\spaceskip}不起作用。

搜索很困难\paragraph{},因为大多数结果讨论的是普通段落,而不是标题。

实现我想要的最好方法是什么?

编辑:当然有一种蛮力方法可以完成我想要的操作:

\renewcommand*{\paragraph}[1]{\plainbreak{1}\textsc{#1}}

有没有更好的方法?这会产生意想不到的副作用吗?

答案1

限制:它期望在输入流中找到至少两个空格。

如果你希望有某种东西可以真正替代\plainbreak,也许是这个:

\documentclass{memoir}
\renewcommand\plainbreak[1]{\par\vspace{#1\baselineskip}\Plainbreakaux}
\long\def\Plainbreakaux#1 #2 #3 {{\let\par\relax\noindent\scshape#2 #3} }
\begin{document}
\noindent end of paragraph, followed by a couple of empty lines.\plainbreak{1}


Beginning of the new division, not indented, starting with small caps.\plainbreak{2}

Also a new division\plainbreak{1}

A final division.

A regular paragraph boundary (indented).
\end{document}

在此处输入图片描述

答案2

下面的例子怎么样?我添加了 microtype 以获得小写字母的字母间距(这是可调的)。间距的大小取自这个答案:https://tex.stackexchange.com/a/229642/3929

\documentclass[a4paper]{memoir}
\usepackage{microtype}
\setparaheadstyle{\normalsize\scshape\lsstyle}
\makeatletter
\normalfont
\@tempdima=\the\fontdimen2\font
\setafterparaskip{-\@tempdima} 
\makeatother
\begin{document}

end of paragraph, followed by a couple of empty lines.


\paragraph{Beginning of} the new division, not indented, starting with
small caps.

\end{document}

在此处输入图片描述

相关内容