Single-spaced comments in changes package with double-spaced document
Quite likely you want all of your margin notes to be single spaced.
\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}
Explanation: \@marginparreset
is the hook that the LaTeX kernel provides for doing initializations before starting to typeset a margin paragraph (internally used by the changes
package).
Using this answer I tried
\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}
which seems to work. If you decide this is the way to go, then obviously one may make it more automatic and safer by patching this into \comment
. You could just look up its definition from changes.sty
and redefine it as follows:
\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}