我想使用相同的命令在文本段落和方程式中为字符(单词、句子或数学变量)的背景着色。该命令\colorbox{color}{some text}
无法完成这项工作,因为它无法换行,并且无法用于数学内容。
然后我尝试使用soul
给定的包这里。这与我想要的非常接近,只是它在数学环境中不起作用。
这是一个 MWE(有问题的部分已在图像上用红点标记):
\documentclass{article}
\usepackage{xcolor}
\usepackage{soul}
\sethlcolor{gray}
\begin{document}
This is a long text without highlighting. \hl{This is a long text with highlighting over the line break.} This is a long text without highlighting.
This is an equation with highlighted variable:
$
1+x^2+ %\hl{x^3}
$
\end{document}
感谢您的帮助。
答案1
请不要这样。;-)
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{soul}
\sethlcolor{gray}
\DeclareRobustCommand{\mhl}[1]{%
\text{\hl{$#1$}}%
}
\begin{document}
This is a long text without highlighting. \hl{This is a long
text $x^3$ with highlighting over the line break.} This is a long
text without highlighting.
This is an equation with highlighted variable:
$
1+x_{\mhl{zz}}^2+\mhl{x^3}
$
\end{document}
有人可能会考虑制作一个在文本和数学中都有效的命令:
\DeclareRobustCommand{\mhl}[1]{%
\ifmmode\text{\hl{$#1$}}\else\hl{#1}\fi
}
该示例表明,在标准版本中,灰色背景也没有完全覆盖指数,因此这是一个soul
问题。