看起来应该很容易,看看这个kao.sty
文件是如何附带的......
% Set the default page layout
\RequirePackage[
a4paper,
bottom=27.4mm,
inner=24.8mm,
textwidth=107mm,
marginparsep=8.2mm,
marginparwidth=49.4mm,
includemp
]{geometry}
...但如果我将其更改a4paper
为c5paper
(这正是我感兴趣的),整个页面几何形状不会相应缩放,因此大多数边距注释都会被截断,因为页面现在太小而无法容纳它们。更改此处列出的任何边距似乎也有不没有任何效果,除了随机放错原始未修改模板的某些章节中已经存在的部分边注。
我做错什么了吗?我甚至不想以这种方式更改纸张尺寸——我希望有一个选项可以根据新尺寸自动放大或缩小所有内容(有点像twoside=true
或twoside=false
,只需修改 main.tex 文件中的一个单词即可更改);但我在任何地方都找不到这样的东西,所以我不得不手动完成……而且它不起作用。
答案1
更新
模板的最新版本支持类选项来更改纸张大小。例如,要使用 B5 格式,请使用“b5paper”选项加载类,如下所示:\documentclass[b5paper]{kaobook}
。
原始答案
除了纸张尺寸之外,您还应该更改bottom
、inner
、textwidth
、marginparsep
和marginparwidth
。此外,您不仅应该在\RequirePackage
块中更改它们,还\newgeometry
应该在 中找到的每个后续命令中更改它们kao.sty
。
构建页面布局有几个或多或少启发式的规则(例如,参见http://ctan.mirror.garr.it/mirrors/CTAN/macros/latex/contrib/koma-script/doc/scrguien.pdf),其中一些已经使用了几个世纪。然而,在 kaobook 中,作者没有使用任何算法规则,而是手动调整数字,直到找到他喜欢的布局。因此,对于其他纸张尺寸,也应重复相同的过程。
最简单的方法可能是保持原始布局的比例。例如,A4 纸为 210x297mm,而 C5 纸为 162x229mm;这意味着,为了保持相同的比例从 A4 转换为 C5,垂直尺寸应按 229:297(= 约 0.7710)的比例缩放,而水平尺寸应按 162:210(= 约 0.7714)的比例缩放。因此,在实践中,如果将每个原始长度乘以 0.771,您应该会得到一个相当不错的布局。我不知道使用这种方法的结果是否总是美观,但至少边距不会被切断。
如果您从 GitHub 下载最新版本的模板(https://github.com/fmarotta/kaobook/),您会发现我定义了两个长度,即\hpll
和\vpll
,它们应该代表页面的比例;默认情况下,它们都是 1 毫米,适用于 A4 纸;我引入它们只是为了避免逐个更改所有数字,而只需更改水平(hpll
)和垂直(vpll
)比例即可。例如,在您的例子中,您必须更改此
\setlength{\hpll}{1mm}
\setlength{\vpll}{1mm}
% Set the default page layout
\RequirePackage[
a4paper,
top=\vpll*\real{27.4},
bottom=\vpll*\real{27.4},
inner=\hpll*\real{24.8},
textwidth=\hpll*\real{107},
marginparsep=\hpll*\real{8.2},
marginparwidth=\hpll*\real{49.4},
includemp
]{geometry}
进入这个
\setlength{\hpll}{0.7714mm}
\setlength{\vpll}{0.7710mm}
% Set the default page layout
\RequirePackage[
c5paper,
top=\vpll*\real{27.4},
bottom=\vpll*\real{27.4},
inner=\hpll*\real{24.8},
textwidth=\hpll*\real{107},
marginparsep=\hpll*\real{8.2},
marginparwidth=\hpll*\real{49.4},
includemp
]{geometry}
无需修改\newgeometry
命令。但是,使用旧版本的模板,您需要手动更改所有数字,包括\newgeometry
命令中的数字。
答案2
来得晚了,但我想要一个非标准尺寸的页面。我进入 kao.sty 并添加了一张新纸。添加缩放功能使这变得非常容易。
我的目标是制作一张 8 1/2 英寸 x 8 1/2 英寸的简单方形页面,因此我添加了
\@ifclasswith{\@baseclass}{squarepaper}{\setlength{\hscale}{1.028mm}\setlength{\vscale}{0.727mm}}{}
看起来运行良好。我可能需要更改顶部边距,以便打印在顶部而不是居中,但目前一切正常。