A4 文档的 MWE

A4 文档的 MWE

我正在创建一份 A4 尺寸的文档,但实际上应该将其打印在 A3 尺寸的纸张上。

一些信息:

  • 主文档将设置为 a4、垂直/正常方向。

  • 通过pdfpages得到的文档应该是a3,也就是a4页面并排的。

  • 虽然我不确定这是否相关,但我创建的 A4 文档很可能有相同数量的页数。

=> 是否可以使用某种变量或逻辑表达式来寻址最后一页之前的页面?如果是,则该代码可以通用,而不必写出实际(离散)的寻呼机数量。

因此,相对于下面“a3”-MWE 中的代码,3可能是那个变量或表达式。(pages={last,1-3},

A4 文档的 MWE

\documentclass[
11pt,
a4paper,
]
{scrartcl}

\usepackage{
lmodern,
blindtext
}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{multicol}

\listfiles
\begin{document}
\begin{center}
This document has 4 pages.
\end{center}
\begin{multicols*}{2}
\blinddocument
\blindtext[7]
\end{multicols*}
\end{document}

a3 文档的 MWE

\documentclass[
11pt,
a3paper,
landscape,
]
{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{pdfpages}

\listfiles
\begin{document}
\includepdf[pages={last,1-3},nup=2x1]{problem-pdpfages-second-last-page.pdf} %THIS IS JUST MY DOCUMENT NAME FOR THIS PROBLEM, please choose any document name how you see fit :)
\end{document}

答案1

我想您正在寻找选项signature

\includepdf[pages=-, signature=4]{file.pdf}

有些人对每隔一页的方向感到困扰。好吧,以前这样打印更容易。但现在这应该不是问题了。如果您希望将页面旋转回来,请使用:

\usepackage{atbegshi}
\makeatletter
%%% luatex:
\AtBeginShipout{\ifodd\c@page\pdfvariable pageattr{/Rotate 180}\fi}
%%% xetex:
% \AtBeginShipoutFirst{\ifodd\c@page\special{pdf: put @thispage <</Rotate 180>>}\fi}
%%% pdftex:
% \AtBeginShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatletter

注意:在不久的将来,使用 pdfmanagement 代码来旋转页面将会很有利,即 \pdfmanagement_add:nnn{ThisPage}{Rotate}{180}

答案2

您可以使用获取外部 PDF 的页数确定所包含的 PDF 中的总页数,然后从那里计算倒数前一页:

\documentclass[
  11pt,
  a3paper,
  landscape,
]
{scrartcl}

\usepackage{pdfpages}

% Read in PDF to be included
\pdfximage{temp.pdf}
% Extract total number of pages and store it
\edef\includePDFpages{\the\pdflastximagepages}

\begin{document}

% \number\numexpr\includePDFpages-1 yields the page before last
\includepdf[pages={last,1-\number\numexpr\includePDFpages-1},nup=2x1]{temp.pdf}

\end{document}

相关内容