我想用不同的颜色为公式的不同部分加下划线。最好的选择是什么?Soul 似乎只为每个文档提供一种颜色。
答案1
\documentclass{article}
\usepackage{xcolor}
\newsavebox\MBox
\newcommand\Cline[2][red]{{\sbox\MBox{$#2$}%
\rlap{\usebox\MBox}\color{#1}\rule[-1.2\dp\MBox]{\wd\MBox}{0.5pt}}}
\begin{document}
\[ f(x)=\int_1^\infty\Cline{x^2+\frac12\ln(x)}\mathrm{d}x
= \Cline[blue]{\int_1^\infty x^2} \mathrm{d}x
+ \Cline[cyan]{\int_1^\infty\frac12\ln(x)} \mathrm{d}x \]
\end{document}
答案2
这与 Herbert 和 Alan 提供的方法稍有不同,他们使用了 TeX 自己的鲜为人知的命令\underline
。
\documentclass{article}
\usepackage{xcolor}
\def\mathunderline#1#2{\color{#1}\underline{{\color{black}#2}}\color{black}}
\begin{document}
\[ f(x)=\int_1^\infty\mathunderline{red}{x^2+\frac12\ln(x)}\mathrm{d}x
= \mathunderline{blue}{\int_1^\infty x^2} \mathrm{d}x
+ \mathunderline{green}{\int_1^\infty\frac12\ln(x)} \mathrm{d}x \]
\end{document}
答案3
\ul
您可以使用该包轻松创建该命令的多色版本soul
。
\documentclass{article}
\usepackage{xcolor}
\usepackage{soul}
%This command takes a colour as an optional argument; the default colour is black.
\newcommand{\myul}[2][black]{\setulcolor{#1}\ul{#2}\setulcolor{black}}
\begin{document}
\myul[red]{Red underline}
\myul[blue]{blue underline}
\myul[green]{green underline}
\myul{black underline}
\end{document}
看来此解决方案不适用于数学模式下的下划线,因此 Herbert 的解决方案显然是最好的。对于常规文本,此解决方案将如宣传的那样有效。
答案4
我在使用上述任何方法时都遇到了困难beamer
,但我发现只需更改颜色、声明下划线,然后在下划线命令中将颜色改回来似乎就可以了。例如:
\newcommand{\rul}[1]{\textcolor{red}{\underline{\textcolor{black}{#1}}}}
给了我新的命令\rul{sample text}
,用红色在黑色示例文本下划线。我怀疑上述方法更复杂,但这对我来说似乎很有效,并且不需要该soul
包。