我一直在突出显示文本的某些部分,以便于我更轻松地搜索长文档以查找需要扩展的部分或某些工作尚待完成的部分;但是,我在突出显示方程式时遇到了问题。我有一些解决方法(感谢这个答案)。每次都插入这个似乎有点麻烦,所以我在寻找可以无缝执行下面预期操作的东西。
平均能量损失
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{soul}
\newcommand{\hll}[1]{\colorbox{yellow}{$\displaystyle #1$}}
\begin{document}
{\color{red}\hl{Here is some text, and now we make the observation}
\[ \hll{\lim_{n\to\infty}\frac{1}{n}=0.} \]}
\end{document}
我曾经尝试使用\colorbox
,但只尝试过一次,因为它没有按照我期望的方式换行(事实上,在那种情况下,根本没有发生换行)。
更新:Gonzalo Medina 给出了一个很棒的答案,尽管我不确定我上面是否完全清楚。这个问题的理想答案是只需要声明一次,就像字体的颜色只需声明一次就可以穿过数学模式、引理、定理、注释等其他环境,而无需结束并再次声明。
答案1
我想建议你\tcbhighmath
使用tcolorbox
包;其与empheq
将使您能够轻松地突出显示amsmath
环境中的表达式;一个小例子:
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{soul}
\usepackage{empheq}
\usepackage[many]{tcolorbox}
\newcommand{\hll}[1]{\colorbox{yellow}{$\displaystyle #1$}}
\tcbset{
highlight math style={
colback=yellow,
arc=0pt,
outer arc=0pt,
boxrule=0pt,
top=2pt,
bottom=2pt,
left=2pt,
right=2pt,
}
}
\begin{document}
\hl{Here is some text, and now we make the observation}
\[
\tcbhighmath{\lim_{n\to\infty}\frac{1}{n}=0.}
\]
\hl{Here is some text, and now we make the observation}
\begin{empheq}[box=\tcbhighmath]{align}
a&=\sin(z)\\
E&=mc^2 + \int_a^b x\, dx
\end{empheq}
\end{document}
如果您想要突出显示较长的元素,例如可能带有分页符的长段落和表达式,那么您可以使用可拆分的元素tcolorbox
。 一个小例子,在前面的解决方案中添加了一个可拆分元素tcolorbox
,现在您可以突出显示单个文本或公式以及较长的材料:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{soul}
\usepackage{empheq}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}% just to generate filler text
\newcommand{\hll}[1]{\colorbox{yellow}{$\displaystyle #1$}}
\tcbset{
myhlight/.style={
colback=yellow,
arc=0pt,
outer arc=0pt,
boxrule=0pt,
top=2pt,
bottom=2pt,
left=2pt,
right=2pt,
},
highlight math style={myhlight}
}
\newtcolorbox{myhl}{
breakable,
myhlight
}
\begin{document}
\hl{Here is some text, and now we make the observation}
\[
\tcbhighmath{\lim_{n\to\infty}\frac{1}{n}=0.}
\]
\hl{Here is some text, and now we make the observation}
\begin{empheq}[box=\tcbhighmath]{align}
a&=\sin(z)\\
E&=mc^2 + \int_a^b x\, dx
\end{empheq}
\begin{myhl}
\lipsum[1-4]
\begin{align}
a&=\sin(z)\\
E&=mc^2 + \int_a^b x\, dx
\end{align}
\lipsum[3]
\end{myhl}
\end{document}
结果: