我最近不再使用letter
文档类来写求职信,因为我想在格式方面有更多创作自由,也想在 LaTeX 格式方面做些小练习。我的模板快完成了,但我有两个小问题。
- 有没有办法隐藏单页文档的页码,但如果我的信件延伸到第二页,则允许显示页码(无需手动编译和检查)?还有,
有没有办法将顶部的返回地址最右边与主体最右边的部分对齐?我通常会在编译后手动执行此操作,但由于我喜欢在其中输入日期,因此长度会不断变化。如果这有点模糊,这里有一个 MWE(使用表格,这是我得到的最接近的):
\documentclass{article} \begin{document} \begin{minipage}{\textwidth} \hfill\begin{tabular}{l} a) Return address\\ b) Here's a short line\\ c) Here's a slightly longer line \end{tabular}\\ \end{minipage}\ \noindent Here's a really long bit of text, to show where the line breaks are normally, and to show that at the moment, they don't line up. The end of the line labelled c) should align with the line breaks in this body of texts, and the start of line a) and b) should align with the start of line c). \end{document}
答案1
由于您的文档看起来相当简单(不包含
figure
s 或table
s 等浮动环境),您可以使用lastpage
包裹获取文档最后一页的值。refcount
是另一个包,它提供将引用(包括页面引用)转换为计数器的方法,以便人们可以检查其值或条件。具体来说,我会在您的文档序言中使用以下内容:
\usepackage{lastpage,refcount}% http://ctan.org/pkg/{lastpage,refcount} \newcounter{lastpage} \AtBeginDocument{% \setcounterpageref{lastpage}{LastPage}% \ifnum\value{lastpage}=1\thispagestyle{empty}\fi% }
该
lastpage
包定义了页引用LastPage
。这是使用 提取的refcount
,\setcounterpageref
并存储在新创建的计数器 中lastpage
。然后,\AtBeginDocument
我们检查 的值是否lastpage
为 1,并相应地设置页面样式。否则使用默认页面样式(plain
在本例中)。我们需要设置并检查
lastpage
\AtBeginDocument
,因为只在前导码末尾读取.aux
带有引用的文件,在此之前未定义。LastPage
LastPage
使用此方法需要您至少编译文档两次。第一次将正确的页面引用写入文件
.aux
,第二次从中读取更新值。A
tabular
必然会在列周围插入一些间距。这是由长度\tabcolsep
(6pt
单位为article
,在其他文档类中可能会有所不同)。您可以使用列规范来覆盖右侧列分隔l@{}
。具体来说,你的
tabular
定义可能如下所示:\begin{tabular}{l@{}} %... \end{tabular}
以下最小示例强调了上述两点。
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{lastpage,refcount}% http://ctan.org/pkg/{lastpage,refcount}
\newcounter{lastpage}
\AtBeginDocument{%
\setcounterpageref{lastpage}{LastPage}%
\ifnum\value{lastpage}=1\thispagestyle{empty}\fi%
}
\begin{document}
\null\hfill\begin{tabular}{l@{}}
a) Return address\\
b) Here's a short line\\
c) Here's a slightly longer line
\end{tabular}
\bigskip
\lipsum[1-4]
\end{document}
上面的例子中,使用\lipsum[1-9]
来查看页面样式变化的效果。记得编译两次。
这lipsum
包裹仅提供虚拟文本,乱数风格。