单倍行距多行边注

单倍行距多行边注

在撰写论文时,我喜欢记录文档中的笔记、想法和待办事项。

我很想有彩色多行小边注。到目前为止,我用过类似

\newcommand{\mymarginnote}[1]{\marginpar{\begin{spacing}{0.8}\textcolor{red}{\scriptsize{#1}}\end{spacing}}}

有红色的边注,但单倍行距不起作用。我怎样才能让这个边注变成单倍行距(或更小)?是否可以让文本带有黄色背景?该\colorbox{}命令似乎无法换行。

我还对您如何在文档中跟踪笔记和想法感兴趣......

谢谢!

答案1

您可以在里面使用\setstretch和。这是一个示例,使用更小的拉伸值来使效果更加明显:\parbox\colorbox

\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[svgnames]{xcolor}
\usepackage[doublespacing]{setspace}
\newcommand{\mymarginnote}[1]{%
  \marginpar{\colorbox{yellow}{\parbox{\marginparwidth}{%
  \setstretch{0.5}\textcolor{red}{\scriptsize{#1}}}}}}
\begin{document}
\blindtext
\mymarginnote{Some text in the margin spanning several lines}
\blindtext
\end{document}

输出如下所示:

替代文本

答案2

我觉得真实的问题是这样的。

错误的间距:

\newcommand{\mymarginnote}[1]{\marginpar{\textcolor{red}{\scriptsize #1}}}

右间距:

\newcommand{\mymarginnote}[1]{\marginpar{\scriptsize\textcolor{red}{#1}}}

解释:在第二个版本中,\scriptsize段落结束时 仍然有效。这是 Latex 选择段落行距的点。

无需使用任何额外的调整,例如“间距”环境。

答案3

您是否考虑过使用\linespread,例如,

\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{%
  {\linespread{0.85}\normalfont\scriptsize%
   \oldmarginpar[\vspace{-1.5ex}\raggedright\scriptsize\color{red}\textsf{#1}]%
                {\vspace{-1.5ex}\raggedright\scriptsize\color{green}\textsf{#1}}%
  }%
}

当然,只需调整\linespread因子即可收紧(请注意,它隐藏在新{...}组中)。为了让事情变得有趣,我重新定义了它,\marginpar以显示您可以在twoside文档中以不同的方式格式化每一侧。在此过程中,我将边注的垂直位置向上调整了一个档次,以更好地将其基线与它相关的正文对齐。我省略了\colorbox您感兴趣的命令,因为 Stefan 的回答清楚地说明了它的用法。

相关内容