PDF 中文本的不同背景颜色

PDF 中文本的不同背景颜色

我想定义三种不同的浅色背景颜色。我想在序言中定义它们,并希望在运行代码中使用它们。

我的代码:

\usepackage[dvipsnames]{xcolor}
\colorlet{r1}{ForestGreen}
\colorlet{r2}{RubineRed}
\colorlet{r3}{RoyalPurple}

 \textcolor{r1}{Forestgreen}. \textcolor{r2}{RubineRed}
 It successfully changes the text color to my defined colors. 
 But this is not what I wanted. I want to change the text background color. 

答案1

我很乐意删除它,但也许这至少可以帮助澄清问题。这定义了一个命令,\Hl它接受一个可选参数。如果留空,则使用以前的高亮颜色,否则将使用新颜色。当然,可以根据需要进行更改。

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

\colorlet{r1}{ForestGreen}
\colorlet{r2}{RubineRed}
\colorlet{r3}{RoyalPurple}

\newcommand{\Hl}[2][\empty]{%
  \ifx#1\empty
  \else
    \colorlet{myhlcolor}{#1}%
    \sethlcolor{myhlcolor}%
  \fi
  \hl{#2}}

\begin{document}
\Hl{Quack} \Hl[r1!20]{Blub} \Hl[r2!50]{Pft} \Hl{Meow} \Hl[r3!30]{Pffft}
\end{document}

在此处输入图片描述

答案2

您可以使用 soul 包进行高亮显示。但它不太好用,而且许多命令不允许在参数中使用。我建议使用 lualatex 和新的 lua-ul 包:

\documentclass{scrreprt}
\usepackage[dvipsnames]{xcolor}
\usepackage{luacolor,lua-ul}
\colorlet{r1}{ForestGreen}
\colorlet{r2}{RubineRed}
\colorlet{r3}{RoyalPurple}
\LuaULSetHighLightColor{r1}
\begin{document}
 \highLight{Forestgreen}, \highLight[r2]{RubineRed}
 It successfully changes the text color to my defined colors.
 \highLight[r3]{But this is not what I wanted}. I want to change the text background color.

\end{document}

在此处输入图片描述

答案3

使用\colorbox{}{}

\documentclass{...}
...
\usepackage{xcolor}
...
\begin{document}
    ...
    \colorbox{r1}{ForestGreen}. \colorbox{r2}{RubineRed}
    It successfully changes the highlight color to my defined colors.
    ...
\end{document}

相关内容