我正在使用 scrbook 在 Latex 中撰写论文,需要提交印刷版和电子版。两份副本应完全相同(例如,第 147 页第 13 行在两份副本中应相同)。
印刷版是单面的,并且有一个小的装订校正(比如 10 毫米)。数字版应该居中。因此,我想添加一个装订校正,只需将所有内容向右移动(5 毫米),而不改变线宽或其他任何东西。
目前,我只是添加了选项 BCOR=10mm,但这会使我的论文增加大约 5 页(它将左边距增加约 8mm,将右边距减少 2mm,并将线宽减少 2mm)。
这是一个 MWE(注释第一行并取消注释第二行以查看更长的文档):
\documentclass[a4paper,oneside,DIV=calc]{scrbook}
%\documentclass[a4paper,oneside,BCOR=10mm,DIV=calc]{scrbook}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
理想情况下,我希望找到一种不使用几何等附加包的解决方案。
提前致谢!
答案1
由于装订校正会占用纸张宽度的一部分(在您的情况下为 1cm),如果您希望两个版本中的所有排版都相同(特别是如果您希望两个版本具有相同的页面主体大小和边距 - 当然不包括装订校正),您可以将文档“屏幕”版本的纸张宽度减少 1cm。
打印版本:
\documentclass[a4paper,oneside,BCOR=10mm,DIV=calc]{scrbook}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
屏幕版本:
\documentclass[paper=20cm:29.7cm,oneside,DIV=calc]{scrbook}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
您可以轻松验证两个版本的页面主体是否相同。具体来说,此示例文档的最后一页(打印版)如下:
屏幕版本如下(窄 1cm,但页身相同):
精度有限,问题棘手
由于舍入误差,当使用12pt
为基本字体大小时,DIV
两个版本中的参数不再以相同的方式计算(为打印版本和屏幕版本typearea
选择)。为了确保在两个版本中获得完全相同的换行符和分页符,重要的是确保和是DIV=9
DIV=10
\textwidth
\textheight
一模一样在两个版本中(这些参数定义“页面主体”)。因此,选择您喜欢DIV=9
还是DIV=10
,然后在两个版本中硬编码此参数(当然,如果您更改布局,您将重新访问它)。我们假设您选择DIV=10
。编译两个版本。
打印:
\documentclass[12pt,a4paper,oneside,BCOR=10mm,DIV=10]{scrbook}
屏幕:
\documentclass[12pt,paper=20cm:29.7cm,oneside,DIV=10]{scrbook}
现在检查两个日志文件。打印:
Package typearea Info: These are the values describing the layout:
(typearea) DIV = 10
(typearea) BCOR = 28.45274pt
(typearea) \paperwidth = 597.50793pt
(typearea) \textwidth = 398.33864pt
(typearea) DIV departure = 0%
(typearea) \evensidemargin = 41.54103pt
(typearea) \oddsidemargin = 41.54103pt
(typearea) \paperheight = 845.04694pt
(typearea) \textheight = 592.0pt
...
屏幕:
Package typearea Info: These are the values describing the layout:
(typearea) DIV = 10
(typearea) BCOR = 0.0pt
(typearea) \paperwidth = 569.05511pt
(typearea) \textwidth = 398.33861pt
(typearea) DIV departure = 0%
(typearea) \evensidemargin = 13.08826pt
(typearea) \oddsidemargin = 13.08826pt
(typearea) \paperheight = 845.04675pt
(typearea) \textheight = 592.0pt
...
如您所见,我们的DIV=10
指令得到了尊重,\textheight
在两种情况下都是相同的,但\textwidth
略有不同。在许多情况下,这不会改变任何东西,但这很危险:换行符能不同,因此分页符也不同。所以,你会看到屏幕计算的\textwidth
比打印的要小0.00003pt
(实际上,这是2sp
在 TeX 内部)。好吧,我们当然可以将屏幕纸张宽度增大0.00003pt
!在上面的日志中,你可以看到对于 TeX,屏幕\paperwidth
是569.05511pt
。只需将其放大0.00003pt
,我们就完成了。
打印:
\documentclass[12pt,a4paper,oneside,BCOR=10mm,DIV=10]{scrbook}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
屏幕:
\documentclass[12pt,paper=569.05514pt:29.7cm,oneside,DIV=10]{scrbook}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
打印版本的日志输出:
Package typearea Info: These are the values describing the layout:
(typearea) DIV = 10
(typearea) BCOR = 28.45274pt
(typearea) \paperwidth = 597.50793pt
(typearea) \textwidth = 398.33864pt
(typearea) DIV departure = 0%
(typearea) \evensidemargin = 41.54103pt
(typearea) \oddsidemargin = 41.54103pt
(typearea) \paperheight = 845.04694pt
(typearea) \textheight = 592.0pt
...
屏幕版本的日志输出:
Package typearea Info: These are the values describing the layout:
(typearea) DIV = 10
(typearea) BCOR = 0.0pt
(typearea) \paperwidth = 569.05515pt
(typearea) \textwidth = 398.33864pt
(typearea) DIV departure = 0%
(typearea) \evensidemargin = 13.08826pt
(typearea) \oddsidemargin = 13.08826pt
(typearea) \paperheight = 845.04675pt
(typearea) \textheight = 592.0pt
...
现在,\textwidth
并且\textheight
一模一样在两个版本中。