使用带有方程式的灵魂包

使用带有方程式的灵魂包

我使用 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} 

在此处输入图片描述

相关内容