答案1
您很可能希望所有边注均为单倍行距。
\documentclass{article}
\usepackage{changes,etoolbox}
\usepackage{lipsum}
\makeatletter
\preto\@marginparreset{\linespread{1}}
\makeatother
\linespread{2}
\begin{document}
\lipsum[1-1][1-3]\comment{I would like this comment to be single-spaced.}
\lipsum[1-1][4-6]
\end{document}
解释:\@marginparreset
是 LaTeX 内核提供的钩子,用于在开始排版边距段落之前进行初始化(由changes
包内部使用)。
答案2
使用这个答案我试过
\documentclass{article}
\usepackage{changes}
\usepackage{lipsum}
\linespread{2}
\begin{document}
\lipsum[1-1][1-3]\renewcommand*{\baselinestretch}{1}\comment{\selectfont
I would like this comment to be single-spaced.}
\lipsum[1-1][4-6]
\end{document}
这似乎有效。如果你决定采用这种方法,那么显然可以通过将其修补到 中使其更加自动化和更安全\comment
。你可以从 中查找其定义changes.sty
并重新定义它,如下所示:
\documentclass{article}
\usepackage{changes}
\usepackage{lipsum}
\linespread{2}
\makeatletter
\renewcommand*{\comment}[2][\@empty]{%
\edef\oldbaselinestretch{\baselinestretch}%
\typeout{\oldbaselinestretch}%
\renewcommand*{\baselinestretch}{1}%
\setkeys{Changes@comment}{#1}%
\Changes@output%
{comment}%
{\Changes@comment@id}%
{}%
{}%
{\selectfont #2}%
{\changescommentname}%
{\selectfont #2}%
\renewcommand*{\baselinestretch}{\oldbaselinestretch}%
}
\makeatother
\begin{document}
\lipsum[1-1][1-3]\comment{I would like this comment to be single-spaced.}
\lipsum[1-1][4-6]
\selectfont
\lipsum[1-1]
\end{document}