我的论文是用 A5 格式撰写的,这是最终的出版格式,但为了审阅,我需要用 A4 打印。这是一个常见问题,我在这里见过很多次。但是,我有一些特殊问题,我以前找不到任何答案。
不仅在 A4 上打印(字体太大),也不将 A5 内容放在 A4 页面上居中(像这儿,字体调小)是选项。我更喜欢将整个文档内容放大因子,这是字体大小(A5)和(A4 所需)1.324 = 1324/1000 = 1000/755
之间的缩放因子。9pt
12pt
我找到了一个使用\geometry
和参数的解决方案paper
,layout
它mag
给了我我想要的确切构图,但打印机看到的输出纸张尺寸并不正确 - 并且根据我使用“pdflatex”(首选)还是进行编译而出人意料地不同lualatex
。
我们称这个解决方案为情况1:
\geometry{paper=a4paper, layout=a5paper, mag=755, layouthoffset=7.0135mm, layoutvoffset=9.4651mm}
- 构图如您所愿
\layout
显示158.6mm x 224.3mm
的是使用 缩小的 A4 尺寸1.324
,不应该缩小,但我实际上并不关心- 如果使用 lualatex 编译,PDF 属性中的尺寸也会
158.6mm x 224.3mm
- 如果使用 pdflatex 进行编译,则 PDF 属性中的尺寸为
119.7mm x 169.3mm
,即使用 缩小的 A5 尺寸1.324
。这里我需要修复,因为它应该是210mm x 297mm
我在手册中读到了关于truedimen
选项的信息geometry
,所以我们称之为案例 2:
\geometry{paper=a4paper, layout=a5paper, mag=1324, layouthoffset=7.0135mm, layoutvoffset=9.4651mm, truedimen}
- 我需要的倒数
mag
,这似乎更合乎逻辑 - 的输出
\layout
是158.6mm x 224.3mm
,因此仍然是错误的(不重要) - 如果使用 lualatex 编译,PDF 属性中的尺寸也是如此
158.6mm x 224.3mm
,因此它们仍然同意\layout
并且仍然是错误的。 - 如果使用 pdflatex 编译,PDF 属性中的尺寸是
210mm x 297mm
,是的,这是正确的。 - 但是。内容大小是正确的,但只有偶数页的边距完全乱了。我怎样才能解决这个问题?
我还读到hyperref
应该在之前加载geometry
,但这肯定会造成更多问题。设置pdftex
或luatex
选项geometry
似乎没有任何效果。
概括:我想要一个 pdflatex 解决方案,具有正确的组成和 pdf 属性中正确的 A4 纸张尺寸,这样我就不会遇到任何与印刷店有关的麻烦,如果一切都正确的话,那就太好了。
我很高兴你能帮助我,提前谢谢你。
完整 MWE
\PassOptionsToPackage{usegeometry, paper=a5, pagesize, BCOR = 12mm, DIV = 16}{typearea}
\documentclass[fontsize=9pt, twoside=true]{scrbook}
\usepackage{etoolbox}
\usepackage{blindtext}
% Translate to A4 - Scale content according to fontsize
% 9pt -> 12pt => Factor 1.324142 => mag = 755 => layoutvoffset = (a4-a5*Faktor) / 2 = 9.4651mm
% => layouthoffset = (a4-a5*Faktor) / 2 = 7.0135mm
\usepackage{geometry}
\geometry{paper=a4paper, layout=a5paper, mag=755, layouthoffset=7.0135mm, layoutvoffset=9.4651mm} % Case 1
%\geometry{paper=a4paper, layout=a5paper, mag=1324, layouthoffset=7.0135mm, layoutvoffset=9.4651mm, truedimen} % Case 2
\usepackage{layout}
\makeatletter
\renewcommand*{\lay@value}[2]{\strip@pt\dimexpr0.351459\dimexpr\csname#2\endcsname\relax\relax mm}
\makeatother
\AtEndPreamble{\usepackage{hyperref}}
\begin{document}
\layout
\blindmathpaper
\end{document}
答案1
您可以尝试将其放大 1.4142 倍,然后使用该包crop
。
\mag=1414
a 对应的尺寸比率为A4/A5 =2
(或者如果您愿意,可以使用您自己的因子 = 1324)
A5 格式(原来的)
A4 格式 (A5 文件放大并裁剪)
这是 A4 的代码
% !TeX TS-program = pdflatex
\mag=1414 % added <<<<<
\PassOptionsToPackage{usegeometry, paper=a5, pagesize, BCOR = 12mm, DIV = 16}{typearea}
\documentclass[fontsize=9pt, twoside=true]{scrbook}
\usepackage{etoolbox}
\usepackage{blindtext}
\usepackage{layout}
\makeatletter
\renewcommand*{\lay@value}[2]{\strip@pt\dimexpr0.351459\dimexpr\csname#2\endcsname\relax\relax mm}
\makeatother
\usepackage[cross, a4,center,noinfo,horigin=-1in, vorigin=-1in]{crop} % <<<<<<<<< added
% \usepackage{geometry}
% \geometry{paper=a4paper, layout=a4paper, layouthoffset=7.0135mm, layoutvoffset=9.4651mm} % Case 1
%\AtEndPreamble{\usepackage{hyperref}}
\usepackage{hyperref}
\begin{document}
\layout
\blindmathpaper
\end{document
使用包装pgfpages
和插入可以获得类似的结果
\pgfpagesuselayout{resize to}[a4paper]
后\begin{document}
。
不相关的:
通过使用\AtEndPreamble{\usepackage{hyperref}}
你得到(日志文件)
Class scrbook Warning: seems someone has broken package `auxhook'.
(scrbook) Usually this happens, if `auxhook' is loaded or used
(scrbook) implicitly or explicitly by patching \document
(scrbook) or via etoolbox command \AtEndPreamble.
(scrbook) Trying an emergency workaround.
(scrbook) You can avoid this warning adding:
(scrbook) \usepackage{auxhook}
(scrbook) before \begin{document} on input line 23.
为什么不是就\usepackage{hyperref}
在之前\begin{document}
?
答案2
如果仅需打印 A4 文档(并且不需要链接),则可以使用包pdfpages
来缩放原始文档:
\documentclass{scrbook}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,noautoscale,scale=1.324142]{a5document.pdf}
\end{document}
答案3
使用 pdflatex 您只需在 \begin{document} 之后设置 pdf 页面大小(然后所有其他在这里乱搞的软件包将不再干扰。由于 pdflatex 显然在这里考虑了 mag,因此您需要将页面设置得比计划的更小。
luatex mag 不受支持,如 luatex 文档中所述:
放大(\mag)仅在 dvi 输出模式下受支持。
\PassOptionsToPackage{usegeometry, paper=a5, pagesize, BCOR = 12mm, DIV = 16}{typearea}
\documentclass[fontsize=9pt, twoside=true]{scrbook}
\usepackage{etoolbox}
\usepackage{blindtext}
% Translate to A4 - Scale content according to fontsize
% 9pt -> 12pt => Factor 1.324142 => mag = 755 => layoutvoffset = (a4-a5*Faktor) / 2 = 9.4651mm
% => layouthoffset = (a4-a5*Faktor) / 2 = 7.0135mm
\usepackage{geometry}
\geometry{paper=a4paper,
layout=a5paper, mag=1324, layouthoffset=7.0135mm, layoutvoffset=9.4651mm}
\usepackage{layout}
\makeatletter
\renewcommand*{\lay@value}[2]{\strip@pt\dimexpr0.351459\dimexpr\csname#2\endcsname\relax\relax mm}
\makeatother
\usepackage{hyperref}
\usepackage{xfp}
\begin{document}
\pdfpagewidth=\fpeval{210*755/1000}mm \pdfpageheight=\fpeval{297*755/1000}mm
\layout
\blindmathpaper
\end{document}