marginpar 仅剩

marginpar 仅剩

我希望边距只出现在文档的一侧,比如说左侧;与 中的两侧选项documentclass或 等样式无关amsartbook我试图通过修改 Knuth 书中的示例 14.28 来做到这一点,但命令效果不太好。有时当我插入/删除新命令(如 )时,段落中会出现微小的垂直线条抖动。\doMarginLeft{note text}此练习的目的不是需要在打印文档中的边距文件上进行实际注释,而是希望在处理文档时能够做一些临时笔记。类似于我自己的行间注释。所以,既然人们确实是从左到右阅读的,那么我想在屏幕上看到标记严格位于左侧或中间。这可能吗?

附录。这是一个对我有用的示例。

\def\DoMarginLeft#1{\strut\vadjust{\raisebox{2.5ex}[0mm][0mm]{% \fontsize{5pt}{0mm}\usefont{T2A}{cmr}{m}{ui}{#1}}}}

这是 Knuth 的 Ex. 14.28 的一个简化版本

\def\strutdepth{\dp\strutbox} \def\marginalstar{\strut\vadjust{\kern-\strutdepth\specialstar}} \def\specialstar{\vtop to \strutdepth{ \baselineskip\strutdepth \vss\llap{* }\null}}

Knuth 在这里只是在左侧插入了一个星号,而我的命令执行了类似的任务,只是任意的小字体文本行被放置在当前行和段落左侧(严格来说!)的行之间。正如我上面指出的那样,这种构造并不可靠。根据情况,当我删除命令\DoMarginLeft{...}(或 Knuth 的命令)时,当前段落的某些行可能会垂直移动;这对我来说并不好。我希望获得相同的效果,而无需在视觉上移动线条。这应该独立于类选项、双面选项或其他 LaTeX 设置。

接下来,我更愿意使用轻量级命令,但使用额外的包并不可取。难道真的没有办法使用内部 LaTex 方法来解决这种小问题吗?

相关内容