对上述链接中分享的问题已经进行了足够的讨论。
我的新问题:上述链接给出 2 张 A4 纸上 8 张 A6 纸 [2 张 8 纸合 2 本书,@AndrewStacey 的答案被接受]。对于一本 240 页的 A6 书,我们最终得到 30 个 A6 尺寸的书帖,每个书帖包含 8 页。每个书帖只有 2 张双面纸 [A6 尺寸]。因此,要制作一本完整的书,需要将 30 个书帖装订在一起。
是否可以减少书帖数量,例如将 16 张 A6 纸放在 4 张 A4 纸上 [4 本书上 16 张]?或者更好的是,将 24 张 A6 纸放在 6 张 A4 纸上 [6 本书上 24 张]?这样装订过程会更简单。
我不确定我的要求是否太多,但我想减少装订过程中所涉及的劳动力,因为 A6 尺寸的书比 A5/A4 尺寸的书在空间方面面临更多挑战。
答案1
如果有比剪切粘贴更好的方法来创建布局,那就太好了,但是一旦定义了布局,定义的长度就可以很容易地隐藏在样式文件中。 pgfmorepages
建立在用于其键处理的pgfpages
用途xkeyval
上,据我所知,xkeyval
不允许以某种方式将键分组为单一样式,pgfkeys
这将使这更容易。
无论如何,我认为这是24 on 6
你想要的布局。我定义了一个元页面样式可确定逻辑页面应位于哪个物理页面上、应位于何处以及旋转方式。这会读取签名中的物理页面和逻辑页面的数量,因此要将其更改为,8 on 4
只需更改设置布局的物理页面和逻辑页面的行(当然,我也会更改名称)。
\documentclass{article}
%\url{https://tex.stackexchange.com/q/660686/86}
%Adapted from \url{https://tex.stackexchange.com/q/638802/86}
%Adapted from \url{http://tex.stackexchange.com/q/279042/86}
\usepackage{pgfmorepages}
\makeatletter
\newcommand\setsignaturepage[1]{%
% Figure out which page it is on
\pgfmathtruncatemacro\signaturepage{%
2*((\pgf@physicalpages-1)/2 - abs(floor( (#1-1)/4) - (\pgf@physicalpages-1)/2))
+
1.5 - abs(mod(#1-1,4) - 1.5)
+
1
}%
% Figure out the rotation angle
\pgfmathtruncatemacro\signatureangle{%
90*(mod(#1+1,4) - mod(#1+1,2))
}%
% Figure out which side of the page it's on
\pgfmathsetmacro\signaturex{%
#1 > (\pgf@logicalpages/2) ? .25 : .75
}%
% Figure out whether it is at the top or bottom of the page
\pgfmathsetmacro\signaturey{%
.25 + .25*(mod(#1+1,4) - mod(#1+1,2))
}%
% Put all that together into a single page definition
\edef\signatureonpage{%
\noexpand\pgfpagesphysicalpage{\signaturepage}{}%
\noexpand\pgfpageslogicalpageoptions{#1}{%
rotation=\signatureangle,%
center=\noexpand\pgfpoint{\signaturex\noexpand\pgfphysicalwidth}{\signaturey\noexpand\pgfphysicalheight}%
}%
}%
\signatureonpage
}
\pgfpagesdeclarelayout{24 on 6, book format}
{%
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\def\pgfpageoptionborder{0pt}
\def\pgfpageoptionfirstshipout{1}
}%
{%
\pgfpagesphysicalpageoptions
{%
logical pages=24,%
physical pages=6,%
physical height=\pgfpageoptionheight,%
physical width=\pgfpageoptionwidth,%
current logical shipout=\pgfpageoptionfirstshipout%
}
\pgfpagessetdefaults{%
border shrink=\noexpand\pgfpageoptionborder,%
resized width=.5\noexpand\pgfphysicalwidth,%
resized height=.5\noexpand\pgfphysicalheight,%
}
\newcount\pgf@mp@pg
\pgf@mp@pg=0
\loop
\advance\pgf@mp@pg by 1
\setsignaturepage{\the\pgf@mp@pg}
\ifnum\pgf@mp@pg < \pgf@logicalpages \repeat
}
\makeatother
\pgfpagesuselayout{24 on 6, book format}
\newcommand\dopage{%
\noindent\resizebox{.99\linewidth}{!}{Page \thepage}
\newpage}
\begin{document}
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\dopage\dopage
\end{document}