pdfpages 包和 layoutsize (几何包)

pdfpages 包和 layoutsize (几何包)

我尝试使用该pdfpages包包含一个 PDF 页面 — — 这对于标准情况很有效,fe(t.pdfPGF 手册):

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{papersize={155mm,220mm}}
\usepackage{pdfpages}
\usepackage{lipsum}

\begin{document}
\lipsum[1-2]
\includepdf{t.pdf}
\end{document}

此代码产生以下输出:

第一个 MWE 的输出

就我而言,由于我使用全页图像,因此我的打印机需要额外的裁切边。对于所有其他出版物(无需包含其他 PDF 文件),我layoutsize结合使用非常舒适的选项和papersize软件包geometry。不幸的是,如果我使用此选项,软件包pdfpages会忽略它(故意夸大):

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{papersize={200mm,300mm}, layoutsize={155mm,220mm}}
\usepackage{pdfpages}
\usepackage{lipsum}

\begin{document}
\lipsum[1-2]
\includepdf{t.pdf}
\end{document}

这将产生以下输出:

第二个 MWE 的输出

如您所见,文本内容的布局未受影响,但包含的 PDF 会缩放至纸张大小,而不是布局大小。是否有可能在遵循包提供的布局大小的同时包含 PDF 文件geometry

提前谢谢你的帮助。

编辑: 我忘记在问题中考虑包layoutoffset的选项了。解决方案不仅应考虑给定的布局大小,还应考虑其偏移量规范。geometry

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{papersize={200mm,300mm}, layoutsize={155mm,220mm}, layoutoffset={10mm,5mm}}
\usepackage{pdfpages}
\usepackage{lipsum}

\begin{document}
\lipsum[1-2]
\includepdf{t.pdf}
\end{document}

答案1

您可以传递布局的宽度和高度(当然您可以使用您知道的数字,但这与它们无关):

\makeatletter
\includepdf[
  pages=1,
  width=\Gm@layoutwidth,
  height=\Gm@layoutheight,
  offset={\dimexpr(\Gm@layoutwidth-\paperwidth)/2\relax}
         {\dimexpr(\paperheight-\Gm@layoutheight)/2\relax},
  keepaspectratio
  ]{pgfmanual.pdf}
\makeatother

当然,除非布局尺寸的比例与您所包含的 PDF 的比例相同,否则它不会是完美的。

答案2

pdfpages 手册

在内部,该命令\includepdf使用\includegraphics 来自graphicx(实际上是图形)包的命令。因此也可以使用 的所有选项\includegraphics。 未被解释的选项\includepdf将直接传递给 \includegraphics

因此,您可以直接设置宽度和高度。

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{papersize={200mm,300mm}, layoutsize={155mm,220mm}}
\usepackage{pdfpages}
\usepackage{lipsum}
\begin{document}
\lipsum[1-2]
\includepdf[width=155mm,height=220mm]{pgfmanual.pdf}
\end{document}

您可能需要查看offset更改插入的 pdf 页面位置的选项。

几何包使用以 开头的宏存储页面尺寸\Gm@,因此layoutheight存储在\Gm@layoutheight等中。使用这些的最简单方法可能是创建自定义宏。

\makeatletter
\newcommand\myincludepdf[1]{\includepdf[width=\Gm@layoutwidth,height\Gm@layoutheight{#1}}
\makeatother

...

\myincludepdf{pgfmanual.pdf}

如果您想要以不同的方式定位包含的页面,您可以对布局偏移量geometryoffset选项做类似的事情\includepdf

相关内容