更改 marginpar 中的 baselineskip

更改 marginpar 中的 baselineskip

我在边注段落中添加了对定义的解释。我有一个如下所示的宏(简化):

\newcommand*\define[2]{%
  \marginpar{{\sffamily\footnotesize\textbf{#1}: #2}}}

这可以正常工作,但不幸的是,它使用了来自主文本的基线跳过,这对于脚注大小的字体来说当然太大了。

因此,我尝试更改行间距,但无济于事。以下是我尝试过的两种替代方案:

  1. 使用\fontsize而不是\footnotesize

    \marginpar{{\sffamily\fontsize{8}{8}\selectfont\textbf{#1}: #2}}
    
  2. 环境\baselineskip

    \marginpar{{%
      \sffamily\footnotesize%
      \setlength\baselineskip{1ex}%
      \textbf{#1}: #2}}
    

两种方法都不起作用(我尝试了其他值:行间距不会改变)。所以我的问题是:

如何重新指定边距段落的基线跳过?

答案1

\par在 后添加#2。 (不,我不知道为什么这样做有效。)

编辑:或者简单地省略宏定义中的额外括号。

\documentclass{article}

\newcommand*\defineA[2]{%
  \marginpar{{\sffamily\footnotesize\textbf{#1}: #2}}}

\newcommand*\defineB[2]{%
  \marginpar{{\sffamily\footnotesize\textbf{#1}: #2\par}}}

\newcommand*\defineC[2]{%
  \marginpar{\sffamily\footnotesize\textbf{#1}: #2}}

\usepackage{blindtext}

\begin{document}

Some text.\defineA{foo}{\blindtext} \blindtext

\clearpage

Some text.\defineB{foo}{\blindtext} \blindtext

\clearpage

Some text.\defineC{foo}{\blindtext} \blindtext

\end{document}

相关内容