在回忆录文档类中使用字母环境

在回忆录文档类中使用字母环境

我正在排版一本包含人物之间通信的小说。对于整本书,我使用的是 documentclass memoir。但是,为了排版通信,我想使用 letter 环境(或等效环境),因为有内置宏,例如\address\signature。但 letter 环境似乎没有在 letter 文档类之外定义。除了重新定义 letter 环境之外,有没有推荐的方法来排版这些通信?

非常感谢您提供的任何帮助。

答案1

想想您在这本小说中可能要排版的所有类型的信件……它们可能非常多样化。因此……

我一直热衷于避免结构化letter环境(同样,默认的letter文档类) 用于排版字母。这样做的原因是,其中的设置letter通常非常严格:您需要定义某些命令,否则编译会失败,并且间距是固定的。如果您正在编写单个信件,那么您可以根据需要调整这些内容,但是当您编译多个信件时,您可能需要一些随时可用的灵活性,而无需大惊小怪。举一个小例子,更直观的写法是(比如说)

\begin{letter}
% OPENING
To whom it may concern: \par\medskip

% BODY
The body of the letter goes here.

% CLOSING
Sincerely, \par
Random Randofsky
\end{letter}

而不是使用提供的宏

\begin{letter}{}    
\opening{To whom it may concern:}

The body of the letter goes here. 

\closing{Yours sincerely,}
\end{letter}

因为您确切地知道格式和间距发生了什么(如果需要,可以通过注释提供指定)。此外,您是否知道命令的顺序可以更改\opening\closing但输出相同(因为整个字母实际上是在letter环境的末尾设置的)。

所以我建议定义你自己的letter环境,并且可能(取决于你的信件的范围)定义一些格式化命令一致性。它允许您完全控制信件内容的设置。即使它很简单

\newenvironment{letter}{\quote\itshape}{\endquote}

相关内容