在 xcolor 中创建新颜色以用于列表

在 xcolor 中创建新颜色以用于列表

我正在尝试使用 来包含一些代码\usepackage{listings}。但是默认外观不太漂亮,所以我想对其进行一些自定义。我读过一些关于更改代码布局的其他帖子,所以我尝试了以下方法:

    \usepackage{listings}
    \usepackage[rgb]{xcolor}
    \lstset{%
    language=C++,%
    backgroundcolor=\color{yellow!20},% sets backgroundcolor
    basicstyle=%
    \scriptsize \color{black},% basic font setting
    commentstyle=%
    \color{OliveGreen}
    }

但是 OliveGreen 是未定义的。绿色一点也不好看,所以我想知道如何混合/创建自己的颜色?或者也许使用其他包含更多标准颜色的包。

答案1

颜色OliveGreen在中定义dvipsnam.def,因此您可以使用

\usepackage[rgb,dvipsnames]{xcolor}

或者,您可以通过以下方式定义它

\definecolor{OliveGreen}{rgb}{0,0.6,0}

在您的文档序言中。在这两种情况下,您都可以在需要的地方按名称使用颜色。

使用此dvipsnames选项,OliveGreen颜色在 CMYK 模型中定义为

\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}

但同一个xcolor包会将其转换为rgb上述规范。

这是我从以下测试文档中获得的信息:

\documentclass{article}
\usepackage[rgb,dvipsnames]{xcolor}

\definecolor{OliveGreenCMYK}{cmyk}{0.64,0,0.95,0.40}
\definecolor{OliveGreenRGB}{rgb}{0,0.6,0}

\begin{document}

\colorbox{OliveGreenCMYK}{\rule{0pt}{1cm}\hspace{1cm}}\quad
\colorbox{OliveGreenRGB}{\rule{0pt}{1cm}\hspace{1cm}}\quad
\colorbox{OliveGreen}{\rule{0pt}{1cm}\hspace{1cm}}

\end{document}

这表明三种颜色调用方式的结果相同。然而,根据打印机和打印机驱动程序的不同,最终的打印输出可能会有所不同。

在此处输入图片描述

相关内容