灵魂包中的颜色变化

灵魂包中的颜色变化

我正在为我的讲义编写一个模板,并且我想使用与突出显示的文本不同的颜色。

\usepackage{soul}
\usepackage[dvipsnames]{xcolor}    
\definecolor{delectricblue}{RGB}{93, 117, 131}
\newcommand{\hldb}[1]{\sethlcolor{delectricblue!30}\hl{#1}}

但是代码看起来不正确,好像有错误之类的。如果我不使用 !30 部分,代码会突出显示所有内容,否则它只会突出显示空格。我该怎么办?

在此处输入图片描述 在此处输入图片描述

答案1

欢迎使用 TeX.SX!您只能在宏中使用纯颜色名称\sethlcolor,而不能使用包!中已知的符号xcolor

但是,您可以使用\colorlet宏来定义先前定义的颜色的更浅版本,然后使用该颜色进行突出显示。

请注意,您还应该用另一对花括号括住宏的定义,以便仅为相关\hldb命令设置突出显示颜色。否则,更改的颜色也将用于所有后续\hl命令。

\documentclass{article}
\usepackage{soul}
\usepackage[dvipsnames]{xcolor}

\definecolor{delectricblue}{RGB}{93, 117, 131}
\colorlet{lightdelectricblue}{delectricblue!30}

\newcommand{\hldb}[1]{%
    {%
    \sethlcolor{lightdelectricblue}%
    \hl{#1}%
    }%
}

\begin{document}

\hl{Foo}

\hldb{Some random text.}

\hl{Bar}

\end{document}

在此处输入图片描述

相关内容