我正在试图弄清楚如何根据 的比例调整回忆录中的\paperheight
typeblocksize \paperwidth
。
现在,我已经
\settypeblocksize{*}{\lxvchars}{1.414}
将 调整\textheight
为 值的 1.414 倍\lxvchars
(根据字体和点大小计算得出)。这对于公制纸张来说很有效,因为公制纸张的高度是宽度的 sqrt(2) 倍。
我想用基于文档类中选择的纸张尺寸的变量表达式来替换它。例如
\settypeblocksize{*}{\lxvchars}{\paperheight / \paperwidth}
但我不知道如何用表达式(内联或在其他地方计算)替换标量 1.414。
有人可以帮忙吗?
答案1
该calc
包的\ratio
命令可能会有所帮助:
\documentclass[10pt,crownvopaper,landscape]{memoir}
\usepackage{lipsum}
\usepackage{calc}
\settypeblocksize{\lxvchars*\ratio{\paperheight}{\paperwidth}}{\lxvchars}{*}
\checkandfixthelayout
\begin{document}
\lipsum
\end{document}
请注意,memoir
似乎不喜欢用作\ratio
第三个参数。
顺便说一句,我倾向于抵制这样的诱惑:让字体块具有与页面相同的形状(比例)就能获得良好的布局自动地... :)