单页几何,redux

单页几何,redux

我很遗憾问题已关闭。我想知道如何做原帖者想要做的事情。所以我再次提问。

以下是 MWE:

\documentclass{article}
\usepackage{lipsum}
\usepackage[margin=1.5in]{geometry}

\begin{document}
\newgeometry{top=2in}
\lipsum[1-7]
\restoregeometry
\lipsum[1-5]

\end{document}

但瞧,太可悲了!我想要的是只有第一页有奇怪的 2 英寸上边距,并且,无论这个页距结束在哪里,我们都会转到其他有 1.5 英寸上边距的页面。

因此,当然,我们可以尝试vspace*{0.5in}在顶部添加一个。你看,这个 hack 没什么问题,但它 (a) 实际上并没有实现我所要求的功能(第一页的边距实际上没有任何不同;只是有一些额外的空间使它们看起来像是不同的)并且 (b) 不适用于 documentclass letter,因为没有地方可以放置vspace*{0.5in}命令来让它放下日期。MWE 就是这样的:

\documentclass{letter}
\usepackage{lipsum}
\usepackage[margin=1.5in]{geometry}
\begin{document}

\vspace*{0.5in}

\begin{letter}{
Department of Stuff \\
California Institute of Things \\
Pasadena, CA 91125}

\opening{Hiya!}

\lipsum[1-7]
\lipsum[1-5]

\end{letter}

\end{document}

它(奇怪地)只是在事情开始时抛出一个额外的空白页。不,我其实想要为第一页提供不同的边距,而后续页面均不提供,但允许段落跨越变化。

当然,有人可能也会对字母类别进行破解。这很棒!但难道不应该有一些统一的解决方案吗?我想会有一些类别,其中“\vspace*”和尚未确定的字母类别破解都不起作用......

答案1

第一部分沃纳的回答如果还指定了发件人的地址(带有声明\address),则不起作用。在我看来,修补命令更为可靠\opening

\documentclass[a4paper]{letter} % To avoid confusion, let me explicitly declare 
                                % the paper size.
\usepackage[T1]{fontenc}    % Unrelated to the question, but I like it.
\usepackage[
        margin=1.5in,
        showframe   % For this example only.
    ]{geometry}
\usepackage{etoolbox}
\usepackage{lipsum}

\address{Revinu Jitis Drofnats\\
    Department of Farm Ecology\\
    University of St.~Anford\\
    Haga Alto, CA~94321}
\date{\today}

% The patch:
\pretocmd{\opening}{\vspace*{0.5in}}{}{}



\begin{document}

\begin{letter}{
Department of Stuff \\
California Institute of Things \\
Pasadena, CA 91125}

\opening{Hiya!}

\lipsum[1-12]

\end{letter}

\end{document}

这是输出的第一页:

代码生成的第一个页面

答案2

我的假设是您想使用已经在纸上的一些信头......

如果你真的想要你所追求的东西坚持使用该类时letter,您必须使用 hack。要复制您的输出第一页的顶部边距比其他部分大 0.5 英寸,\vspace*{0.5in}作为新声明的一部分添加\date……即使您可以使用\today

在此处输入图片描述

\documentclass{letter}
\usepackage{lipsum}
\usepackage[margin=1.5in,showframe]{geometry}
\date{\vspace*{0.5in}\today}
\begin{document}

\begin{letter}{
Department of Stuff \\
California Institute of Things \\
Pasadena, CA 91125}

\opening{Hiya!}

\lipsum[1-12]

\end{letter}

\end{document}

您可以轻松重新创建当前设置没有使用letter类。代码也自然地遵循输出,使得奇怪的letter特定构造/宏变得多余。

以下是类似的输出article

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}
\usepackage[margin=1.5in,showframe]{geometry}

\setlength{\parindent}{0pt}

\begin{document}

\thispagestyle{empty}
\vspace*{0.5in}

\mbox{}\hfill\today

\bigskip
\begin{tabular}{@{}l}
  Department of Stuff \\
  California Institute of Things \\
  Pasadena, CA 91125
\end{tabular}

\bigskip

Hiya!

\medskip

\lipsum[1-12]

\end{document}

答案3

flowfram软件包在页面之间更改边距没有问题。另一方面,它仅定义文本区域。

\documentclass{article}
\usepackage{lipsum}
\usepackage[margin=1.5in,showframe]{geometry}
\usepackage{flowfram}

\newflowframe[1]{\textwidth}{\dimexpr \textheight-0.5in}{0pt}{0pt}
\begin{document}
\lipsum[1-7]

\end{document}

相关内容