我使用 soul 包来突出显示文档中的某些更改以供审阅。但是我无法让它与方程式(或其他环境)一起工作。
基本上,我创建了一个用我的颜色突出显示的命令:
\newcommand{\MA}[1]{{\sethlcolor{cyan}\hl{#1}}} %highlighting
然后我想像下面的 MWE 中那样使用它。我知道在 \protect
前面放一个命令\begin{equation}
,但问题是我必须手动执行。有没有办法在定义中保护方程式\newcommand
。
此外,保护方法似乎编译得很好,但只突出显示直到第一个受保护的方程式,其后的所有内容都没有颜色。
平均能量损失
\documentclass[12pt]{article}
\usepackage{xcolor} % Colors
\usepackage{soul} % Highlighting and strikeout
\newcommand{\MA}[1]{{\sethlcolor{cyan}\hl{#1}}} %highlighting
\begin{document}
This is not highlighted. \MA{But this is.}
\MA{
this equation
\begin{equation}
a+b=c
\end{equation}
will not work.
}
\end{document}
答案1
使用 lualatex 和新的 lua-ul 包,您的示例如下所示:
\documentclass[12pt]{article}
\usepackage{luacolor} % Colors
\usepackage{lua-ul} % Highlighting and strikeout
\newcommand{\MA}[1]{\highLight[cyan]{#1}} %highlighting
\begin{document}
This is not highlighted. \MA{But this is.}
\MA{
this equation
\begin{equation}
a+b=c
\end{equation}
will not work.
}
\end{document}
答案2
您可以使用包获得相同的结果empheq
(在这种情况下无需加载amsmath
):
\documentclass[12pt]{article}
\usepackage{empheq}
\usepackage{xcolor} % Colors
\usepackage{soul} % Highlighting and strikeout
\newcommand{\MA}[1]{{\sethlcolor{cyan}\hl{#1}}} %highlighting
\newcommand*\hlbox[1]{%
\colorbox{cyan!30!}{\quad#1\quad}}
\begin{document}
This is not highlighted. \MA{But this is.}
This equation
\begin{empheq}[box =\hlbox ]{gather}
a+b=c \\
a^2 + b^2 = c^2
\end{empheq}
works with \texttt{empheq}.
\end{document}