scrlttr2 附件分页符

scrlttr2 附件分页符

我正在使用 scrlttr2 写信,特别是在\encl{}封口处添加信封中提供的附件。

但是,由于我在闭包中添加了许多条目encl{},因此它需要在另一页上继续。

不幸的是,此关闭并没有起到这样的作用,从而导致了条目丢失。

据我了解,scrlttr2 是基于字母和后者的文献根据第 13 页提供允许分页的选项,其中说明

在 \closing 之后,你可以放入任意的东西,这些东西用零 \parindent 排版,而且没有分页符 [...]
\ps 唯一需要做的就是调用 \startbreaks,这样就可以再次进行分页
。219\newcommand*\ps{\par\startbreaks

我的 MWE 看起来像

\documentclass[%
    version=last,%
    parskip=half-,%
    subject=untitled,%
    pagenumber=off,%
    footsepline=off]%
{scrlttr2}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\begin{document}
    \renewcommand*\ps{\par\startbreaks}
    \setkomavar*{enclseparator}{Anlagen}
    \begin{letter}    {%
        Max Mustermann\\
        Vor dem Berg 1\\
        12345 Musterhausen}
        \opening{Dear Mr.,}
        please find attached the discussed documents.
        \closing{Kind regards,}
        \encl{%
            \lipsum[1-1]
            \newpage
            \lipsum[2-2]
        }
    \end{letter}
\end{document}

答案1

您的前提有几个错误。首先,letter类文档不适用于scrlttr2,因为scrlttr2有很大不同,并且与 共享的代码较少letter。因此建议改为参考scrlttr2文档。此外,如果您不使用,那么重新定义它将毫无意义。此外, KOMA-Script 中\ps的原始定义已经包含。重新定义不会启用。它只会消除 KOMA-Script 使用的额外代码并改变命令的记录行为。\ps\startbreaks\ps\startbreaks

但主要错误是由于 的含义和实现都\ps不同于。类的 版本已经使用 定义。 LaTeX 使用垂直 TeX 框(例如、或)来创建。 这意味着 内不可能有分页符。 因此,该类目前不支持 参数内的分页符。 测试这个很容易:\enclletter\encl\parbox\vbox\vcenter\vtop\parbox\parboxletter\encl

\documentclass{letter}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}% Note: No longer needed since LaTeX 2018-04-01.
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\begin{document}
    \renewcommand*\ps{\par\startbreaks}% Note: Does not do anything in the example
    \begin{letter}    {%
        Max Mustermann\\
        Vor dem Berg 1\\
        12345 Musterhausen}
        \opening{Dear Mr.,}
        please find attached the discussed documents.
        \closing{Kind regards,}
        \encl{%
            \lipsum
        }
    \end{letter}
\end{document}

事实上,在这方面,scrltt2与 类非常相似letter。 类在 中scrlttr2打印参数。 因此,它也不允许在参数内进行分页。 唯一可能的操作是在 之前插入,以便在打印参数之前进行分页。\encl\parbox\encl\startbreaks\encl

另一种选择是放弃使用\encl附件而选择使用列表:

\documentclass[%
    version=last,%
    parskip=half-,%
    subject=untitled,%
    pagenumber=off,%
    footsepline=off]%
{scrlttr2}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}% Note: Not needed since LaTeX 2018-04-01.
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\begin{document}
    \begin{letter}    {%
        Max Mustermann\\
        Vor dem Berg 1\\
        12345 Musterhausen}
        \opening{Dear Mr.,}
        please find attached the discussed documents.
        \closing{Kind regards,}
        \startbreaks
        \begin{labeling}{\enclname:}
          \item[\enclname:] 
            \lipsum[1-1]
            \newpage
            \lipsum[2-2]
        \end{labeling}
    \end{letter}
\end{document}

不过,我建议不要使用这么长的附件。我也不建议在附件中使用多个段落。

顺便说一句:如果第一页缺少几行,另一种方法是使用选项使用没有页脚的字母firstfoot=false,并使用选项放大第一页enlargefirstpage

相关内容