我正在向一家期刊(医学物理学)提交一份修订稿,该期刊要求突出显示修订稿中所做的更改。我一直尝试使用 soul 包和 \hl 命令,但似乎存在一个已知错误,无法突出显示引用。(您会收到编译错误。)我发现了一些解决方法,但它们似乎不适用于像这样的多重引用:\cite{rockafellar1997convex,rudin1992nonlinear}。此外,这些解决方法看起来很丑陋,我不想提交一个被丑陋的黑客所污染的乳胶文件,因为编辑们不会理解这些黑客的突出显示。
人们如何处理这个问题?这肯定是一个常见问题。
我是否应该使用 Adobe Acrobat 突出显示 PDF,然后连同我的 latex 文件一起提交突出显示版本的 PDF?我不确定期刊是否会接受 - 他们可能只想收到一份内置突出显示的稿件,而不是一份稿件和一份单独的带有突出显示的 PDF。
这是一个最小的工作示例:
\documentclass[aapm,graphicx,preprint,showkeys]{revtex4-1}
\usepackage{amsmath,amssymb,enumitem,mathtools}
\usepackage{xcolor}
\usepackage{soul}
\begin{document}
\hl{This text is highlighted}.
Here's a citation \cite{rockafellar1997convex,rudin1992nonlinear}.
%\hl{ Highlighting a citation causes a compilation error \cite{rockafellar1997convex,rudin1992nonlinear}. }
\begin{thebibliography}{10}
\bibitem{rockafellar1997convex}
R.T. Rockafellar.
\newblock {\em Convex analysis}.
\newblock Number~28. Princeton university press, 1997.
\bibitem{rudin1992nonlinear}
L.~Rudin, S.~Osher, and E.~Fatemi.
\newblock Nonlinear total variation based noise removal algorithms.
\newblock {\em Physica D: Nonlinear Phenomena}, 60(1):259--268, 1992.
\end{thebibliography}
\end{document}
答案1
我不知道您使用该soul
软件包的其他原因,但该xcolor
软件包还不够吗?此外,如果我正确理解了作者的说明,您还可以选择仅使用不同的文本颜色。
以下是一些突出显示的可能性。更改背景颜色通常需要一些限制,例如不换行的框或对突出显示区域内可放置内容的限制;但引用适用于所有方法。
\documentclass[aapm,graphicx,preprint,showkeys]{revtex4-1}
\usepackage{amsmath,amssymb,enumitem,mathtools}
\usepackage{xcolor}
\newcommand\hl[1]{\colorbox{yellow}{\textcolor{red}{#1}}}
\newcommand\hlbreakable[1]{\textcolor{red}{#1}}
\usepackage[most]{tcolorbox}
\newtcolorbox{highlighted}{colback=yellow,coltext=red,breakable}
\usepackage{lipsum}
\begin{document}
\hl{This text is highlighted.}
\hl{Highlighting a citation causes no compilation error \cite{rockafellar1997convex,rudin1992nonlinear}.}
\hlbreakable{Highlighting a citation causes no compilation error \cite{rockafellar1997convex,rudin1992nonlinear}.
\lipsum}
\begin{highlighted}
Highlighting a citation causes no compilation error \cite{rockafellar1997convex,rudin1992nonlinear}.
\lipsum
\end{highlighted}
\begin{thebibliography}{10}
\bibitem{rockafellar1997convex}
R.T. Rockafellar.
\newblock {\em Convex analysis}.
\newblock Number~28. Princeton university press, 1997.
\bibitem{rudin1992nonlinear}
L.~Rudin, S.~Osher, and E.~Fatemi.
\newblock Nonlinear total variation based noise removal algorithms.
\newblock {\em Physica D: Nonlinear Phenomena}, 60(1):259--268, 1992.
\end{thebibliography}
\end{document}
编辑:\hlbreakable
将命令定义为环境可能更方便,因为\begin
-\end
对比括号对更容易追踪。
\newenvironment{hlbreakable}%
{\color{red}}%
{}
...
\begin{hlbreakable}
Highlighting a citation causes no compilation error \cite{rockafellar1997convex,rudin1992nonlinear}.
\lipsum
\end{hlbreakable}
答案2
您只需要“soul”和“color”包即可实现此功能。在“\hl{...}”命令中,不要只输入“\cite{...}”,而是输入“\mbox{\cite{...}}”。这样就可以了。
如果没有 color/xcolor,它只会添加下划线而不是添加黄色背景。
答案3
一个务实的解决方案是使用其他一些干扰较少的突出显示实现。在下面,我定义了命令\hl
以将文本颜色切换为红色(略带色调以提高可读性):
\documentclass{article}
\usepackage{amsmath,amssymb,enumitem,mathtools}
\usepackage{xcolor}
\newcommand\hl[1]{%
\bgroup
\hskip0pt\color{red!80!black}%
#1%
\egroup
}
\begin{document}
\hl{This text is highlighted}.
Here's a citation \cite{rockafellar1997convex,rudin1992nonlinear}.
\hl{ Highlighting a citation does no longer cause a compilation error and even works across line breaks \cite{rockafellar1997convex,rudin1992nonlinear}.}
\begin{thebibliography}{10}
\bibitem{rockafellar1997convex}
R.T. Rockafellar.
\newblock {\em Convex analysis}.
\newblock Number~28. Princeton university press, 1997.
\bibitem{rudin1992nonlinear}
L.~Rudin, S.~Osher, and E.~Fatemi.
\newblock Nonlinear total variation based noise removal algorithms.
\newblock {\em Physica D: Nonlinear Phenomena}, 60(1):259--268, 1992.
\end{thebibliography}
\end{document}
这种简单的方法看起来不那么花哨,但却有很多优点:它适用于大多数内容(标题、表格、公式……),更适合打印,并且——从审阅者的角度来看——对审阅者的眼睛更加友好。