我最近开始尝试使用 LaTeX 创建要发送的信件,同时我还想为这些信件生成信封。我发现这个envlab
包看起来在这方面做得很好。
我遇到的唯一问题是,这会将信封内容放在文档末尾。对于我来说,如果将信封创建为最终文档的第一页,效果会更好。这样我就可以将信封放入打印机的手动插槽中进行打印,然后打印机会从自动进纸器中抽取纸张。最后是信封,我的打印机只会将信封内容打印到从纸盘中抽出的一张普通纸上。
我是否缺少一些选项来让我重新排序输出,以便信封内容首先出现?
我正在使用 pdfTeX 3.1415926-2.4-1.40.13(TeX Live 2012/Debian)。
答案1
Boris 的建议pstops
让我发现了这个psselect
命令。这允许我使用以下命令重新排序生成的 .ps 文件中的页面:
psselect _1,1-_2 in.ps out.ps
因为该_
字符指的是从文档末尾算起的一页。
答案2
这在 TeX 级别上很难实现,但您可以在将页面发送到打印机之前重新排列它们。
如果您使用
dvips
模式(建议用于更好地与 PostScript 打印机交互),只需将-r
选项放入dvips
调用中,这意味着以相反的顺序打印页面。如果你使用
pdf
模式,你可以通过以下方式过滤文件pdftk
pdftk in.pdf cat end-1 输出 out.pdf
更新:OP 要求提供一个对 Makefile 有用的解决方案。它在这里:
export N=`pdfinfo ${PDF} | grep '^Pages' | awk '{print $$2-1}'`;\
pdftk ${PDF} cat end 1 - $$N output out${PDF}
请注意,我们使用$$
而不是,$
因为这是一个 Makefile 片段