我习惯\uwave{Some text here}
在文本下方添加波浪形强调效果。是否可以只更改波浪的颜色,而让文本保持黑色?
答案1
强烈建议您发布一个最小示例。可以通过重新定义命令\uwave
或创建\redwave
您喜欢的新命令来仅对波形部分进行着色。
\documentclass[11pt]{article}
\usepackage{xcolor}
\usepackage{ulem}
\makeatletter
\def\uwave{\bgroup \markoverwith{\lower3.5\p@\hbox{\sixly \textcolor{red}{\char58}}}\ULon}
\font\sixly=lasy6 % does not re-load if already loaded, so no memory problem.
\makeatother
\begin{document}
\uwave{This is a long test}
\end{document}
该ulem
包装使用了 6-pt lasy 字体的摆动,我们只是用textcolor
它着色。
可以扩展上述代码,使其具有更语义化的名称(如 TH 所建议的),还可以提供可选的颜色。下面的 MWE\colorwave
为此目的定义了一个命令。
\documentclass[11pt]{article}
\usepackage{xcolor}
\usepackage{ulem}
\usepackage{lipsum}
\makeatletter
\newcommand\colorwave[1][blue]{\bgroup \markoverwith{\lower3.5\p@\hbox{\sixly \textcolor{#1}{\char58}}}\ULon}
\font\sixly=lasy6 % does not re-load if already loaded, so no memory problem.
\makeatother
\begin{document}
\colorwave[red]{This is a long test} \lipsum*[1].\par
\colorwave[green]{This is a long test} \lipsum*[1]
\end{document}
答案2
我认为这个答案更简单:
\documentclass{article}
\usepackage{ulem}
\usepackage{color}
\newcommand{\coloredwave}[2]{
\textcolor{#1}{\uwave{\textcolor{black}{#2}}}
}
\begin{document}
\coloredwave{red}{This text will be underlined with a red wavy line.}
\end{document}