按照书本折叠顺序在一张双面 A4 纸上打印八页 A6 页面

按照书本折叠顺序在一张双面 A4 纸上打印八页 A6 页面

我试图实现的目标可能有点过头了。不过我必须承认 TeX 从未让我失望过,所以我想,让我们在这里试一试。

我有一份这样的文件:

\documentclass[9pt,twoside]{article}
\usepackage[dutch]{babel}
\usepackage[a6paper]{geometry}
\begin{document}
% my document
\end{document}

效果非常好,可以生成多张 A6 页面。现在,我想要的是:我想在一张 A4 纵向页面上打印八张 A6 页面(即在一张 A4 面上打印四张 A6 页面)。

现在,最难的部分是:当这些 A4 纸打印出来后,我要把它们切成两半。然后,我要把 A4 纸的上半部分和下半部分叠在一起,垂直折叠,这样我就得到了一本 A6 的小书。

我认为下面的 ASCII 艺术有助于理解我想要做的事情。最后,我希望我的打印机打印以下内容:

A4 sheet #1 - back   A4 sheet #1 - front   A4 sheet #2 - back  A4 sheet #2 - front
+--------|--------+  +--------|--------+  +--------|--------+  +--------|--------+
|        |        |  |        |        |  |        |        |  |        |        |
|        |        |  |        |        |  |        |        |  |        |        |
| page 8 | page 1 |  | page 2 | page 7 |  | page 6 | page 3 |  | page 4 | page 5 |
|        |        |  |        |        |  |        |        |  |        |        |
+--------|--------+  +--------|--------+  +--------|--------+  +--------|--------+
|        |        |  |        |        |  |        |        |  |        |        |
| page 8 | page 1 |  | page 2 | page 7 |  | page 6 | page 3 |  | page 4 | page 5 |
|        |        |  |        |        |  |        |        |  |        |        |
|        |        |  |        |        |  |        |        |  |        |        |
+--------|--------+  +--------|--------+  +--------|--------+  +--------|--------+

简而言之:我怎样才能让它发挥作用?

答案1

首先,我使用 cfr 中的辅助文档创建一个示例 8 页 A6 文档:

\documentclass[a6paper,twoside]{article}
\usepackage{geometry}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\centering
\scalebox{30}{1}\newpage
\scalebox{30}{2}\newpage
\scalebox{30}{3}\newpage
\scalebox{30}{4}\newpage
\scalebox{30}{5}\newpage
\scalebox{30}{6}\newpage
\scalebox{30}{7}\newpage
\scalebox{30}{8}
\end{document}

编译后,将得到一个名为 的文件a6.pdf,其中包含 8 页,每页有 8 个大数字。

要按要求组装页面,您可以使用raster的库tcolorbox。没有太多拳击任何类型的,但只需几行代码您就可以获得文档:

\documentclass[a4paper]{article}
\usepackage[margin=0pt]{geometry}
\usepackage[skins,raster]{tcolorbox}
\pagestyle{empty}
\begin{document}
\begin{tcbraster}[raster height=\textheight,raster equal skip=0pt,blank,
    graphics pages={8,1,8,1,  2,7,2,7,  6,3,6,3,  4,5,4,5}]
  \tcbincludepdf{a6.pdf}% <-- The A6 document with 8 pages
\end{tcbraster}
\end{document}

结果是一份有 4 页的 A4 文档:

在此处输入图片描述

答案2

将多页内容排列在一张纸上的过程称为征收,对于印刷店来说这是一项很常见的任务,因此有专门的软件来实现这一目标。

虽然我确信这可以用 LaTeX 实现(而且比我更有经验的人很快就会想出一个好的解决方案 ;-),但我建议一种替代方法。您可以使用一个名为多价

  1. 您需要在计算机上安装 Java。
  2. 从以下位置下载文件 multivalent.jar源码并将其放置在任何地方。
  3. 通过LaTeX创建一个8页的普通A6 pdf文档,并将其移动到同一目录。
  4. 多价是一个命令行工具,因此请在此目录中打开命令行。
  5. 类型(所有内容都在一行中)

    java tool.pdf.Impose -paper A4 -dim 2x2 -page 8,1,8,1,2,7,2,7,6,3,6,3,4,5,4,5
    nameofyoursourcedocument.pdf
    

    有关此处发生的详细信息,请查看文档多价

  6. 在同一目录中找到结果 - 一个名为 nameofyoursourcedocument-im.pdf 的 pdf 文件

  7. 使用打印机双面打印选项中的“长边”设置打印结果。

希望这能有所帮助。不幸的是,我现在无法亲自测试。所以如果它不起作用,请报告。

答案3

首先创建 A6 页面(您已经完成):

\documentclass[a6paper,twoside]{article}
\usepackage{geometry}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\centering
\scalebox{30}{1}\newpage
\scalebox{30}{2}\newpage
\scalebox{30}{3}\newpage
\scalebox{30}{4}\newpage
\scalebox{30}{5}\newpage
\scalebox{30}{6}\newpage
\scalebox{30}{7}\newpage
\scalebox{30}{8}
\end{document}

A6 页面

假设生成的 PDF 是a6.pdf

然后创建 A5 小册子:

\documentclass[a5paper,twoside]{article}
\usepackage{pdfpages,geometry}
\begin{document}
\includepdf[pages=-,nup=1x2,landscape,signature=8]{a6}
\end{document}

A5 小册子

然后您就可以创建最终版本了。假设 A5 页面为a5.pdf

\documentclass[a4paper,twoside]{article}
\usepackage{pdfpages,geometry}
\begin{document}
\includepdf[pages=-,nup=1x2,landscape,doublepagestwist*,turn=false]{a5}
\end{document}

A4双面小册子

答案4

TUG 文章解释了如何将 A6 页面拼版到 A4 纸张上,然后将其折叠起来形成一本书,请参阅https://tug.org/pracjourn/2006-3/venugopal-pocketbook/venugopal-pocketbook.pdf

逻辑如下,如果你有一本 A4 大小的 book.pdf,那么

\documentclass[a4paper]{article}
\usepackage[final]{pdfpages}
\begin{document}
\includepdf[pages=-,nup=1x2,landscape,signature=48]{book.pdf}
\end{document}

将使其可折叠一半,即使用 A4 纸折叠成 A5 再进行两次迭代将使其可按所需尺寸折叠。

我不知道如何将所有这些循环起来,但这是一种快捷的方法。

相关内容