两个连续的边注相互重叠打印

两个连续的边注相互重叠打印

当使用 marginnote 包并直接在两个 \marginnote{text} 字段之后写入时,两个节点会相互冲突。MWE:

\documentclass{memoir}
\usepackage{marginnote}
\begin{document}
\marginnote{first}
\marginnote{second test}
\end{document}

结果是: 输出示例

可以修复这个问题吗,以便第二个边注自动垂直移动 - 也就是说,无需使用可选参数手动移动它?

我实际上正在尝试基于 alphabetic-style-cite-command 创建一个自定义引用命令。我希望引用将标签放在文本中,并添加一个边注,其中包含有关引用对象的更多书目信息。当引用多个对象时,即在 中,就会出现上述问题\cite{label1,label2}。然后,这会为每个引用的对象生成上述边注。我认为实际的 DeclareCiteCommand 细节在这里并不重要,所以我只添加了上述 MWE(如果需要,我当然也可以提供更多细节)。

答案1

对我来说,您的 MWE 给出了您所显示的结果,就像您用 替换的测试一样\marginnote\marginpar但是,如果在带有两个边注的行上有任何文本,它们将垂直分开。

你试过了吗:

\documentclass{memoir}
% \setmarginnotes{7pt}{128pt}{5pt}
\begin{document}
Text \marginpar{first} \marginpar{second}
\end{document}

对我来说,这给出了不重叠的边注。

memoir\setmarginnotes{sep}{width}{push}设置注释的布局\marginpar,其中sep是文本块和注释之间的空间,width是注释文本的宽度,push是注释之间的最小垂直空间(该push值可以通过标准 LaTeX\marginparpush长度设置)请参阅memoir手册中的第 2.6 节。sepwidth方面可以通过 LaTeX 长度\marginparsep和单独设置\marginparwidth;这些都是适用于任何标准文档类的基本 LaTeX 长度。我在注释掉的\setmarginnotes宏中显示的值是 LaTeX 使用的默认值。

基本上只需使用\marginpar,并在必要时根据您的需要调整其布局。

如果必须\marginpar在一行中放置两个或更多个且没有其他文本,那么也许\setlength{\marginparsep}{\baselineskip}可以满足您的需求。

答案2

来自文档marginnotes

注意:边注将放置在当前垂直行。这意味着,如果您\marginnote在同一行使用两个命令,它们将放置在同一个位置。这不是错误,而是一项功能!

如果要在同一行放置更多边注,请使用\marginpar

相关内容