背景 – 具有“透明”键值选项的类
我有一个用于论文类文档的自定义类,允许使用键值选项设置字体、样式、长度和橡皮长度。这是一个工作正在进行中(变成了一个小厨房水槽),但使用起来非常透明,这是我在与 LaTeX 包中的各种不透明行为斗争之后的主要目标:
\documentclass [
font-size / main = 11.5pt , % any font size
linespace / main = 1.25 , % any line spacing
linespace / caption = 1.0 , %
glue / footer = 2ex plus 0.2ex minus 0.1ex ,
glue-above / display = 2ex plus 2ex minus 1ex , % nice and stretchy
glue-below / display = 2ex plus 2ex minus 1ex ,
toc / depth = section ,
]{desert}
使用的值与用户传递的值完全一致。请注意,字体大小、行距、行距和粘合度的任何值(例如 10.775pt)都可以。
设置空间兼容性问题
设置空间做出一些选择,这些选择对于使用文章、报告和书籍的大多数文档来说效果很好,但可能会出现问题。请参阅此处的代码: https://github.com/rf-latex/setspace/blob/main/setspace.sty
我的目的不是批评原作者——我已经愉快地使用了 setspace 十年,但它与我刚刚起步的班级开始了一场争论,并且setspace 是各种包的依赖项。
集合空间奇事
displayskip
(也)将、、和nodisplayskip
的拉伸和收缩分量归零。(它对 执行相同的操作,但仅适用于非 2e LaTeX;请参阅abovedisplayskip
belodisplayskip
abovedisplayshortskip
belowdisplayshortskip
\baselineskip \baselinestretch\baselineskip
第 393 行。singlespace
、onehalfspace
和doublespace
环境、命令和选项检查 documentclass 字体选项,查找10pt
、11pt
或12pt
。- 标题和脚注中的间距显得更大(其中活动字体大小小于文档类字体大小)。
- 对于除 10、11 或 12 之外的任何字体大小,其行为都会有很大不同。
- 产生的行距似乎出乎意料。双倍行距“通常”是指在打字机上按两次回车键所得到的结果。因此,对于 10pt 字体,行距为 12pt,则得到 12pt+12pt =24pt。Setspace 会添加额外的 x 高度而不是额外的行,即 12pt+10pt =22pt)。
\begin{spacing}{2.0}
产生的间距与 不同,\begin{doublespace}
因为只有后者使用了 leading + x-height 定义。\begin{onehalfspace}
有同样的问题。正如 @Mico 指出的那样,零元开关(例如\doublespacing
)的工作方式相同。相邻间距环境之间的 Vspace 可能不正确。(最好的可能是
max{vspace-after-previous-paragraph, vspace-before-next-paragraph}
?)它通过重新定义
footins
和mpfootins
调用来修改脚注\def\baselinestretch {\setspace@singlespace}
。它对
xfloat
第 425 行我不明白。
当前的解决方法......以及更好的想法?
我取消\displayskip
并避免使用 setspace 的环境、命令和选项。对于脚注,脚杂似乎可以避免 setspace 的更改。我忽略了 #4,并假设 #6 不会造成问题。
有没有更好的方法与 setspace 的功能共存? 我的课程的主要目标是透明度,而 setspace 有一些相当不透明的行为。我不想重新发明轮子。