![变更包中的注释为单倍行距,文档为双倍行距](https://linux22.com/image/477915/%E5%8F%98%E6%9B%B4%E5%8C%85%E4%B8%AD%E7%9A%84%E6%B3%A8%E9%87%8A%E4%B8%BA%E5%8D%95%E5%80%8D%E8%A1%8C%E8%B7%9D%EF%BC%8C%E6%96%87%E6%A1%A3%E4%B8%BA%E5%8F%8C%E5%80%8D%E8%A1%8C%E8%B7%9D.png)
答案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}