
В документации пакета xcolors упоминаются три варианта цвета:http://mirrors.ctan.org/macros/latex/contrib/xcolor/xcolor.pdf. Это dvipsnames
, svgnames
, и x11names
.
Я обычно использую dvipsnames
такой вариант:
\usepackage[dvipsnames]{xcolor}
Я хочу знать, имеет ли значение, какой из этих трех вариантов я выберу. Есть ли какой-то явно предпочтительный вариант, используемый большинством сообщества LaTeX, или это просто сводится к личным предпочтениям?
Другими словами, чтобы сохранить объективность этого вопроса, я хочу узнать, есть ли какие-либо конкретные плюсы и минусы для каждого варианта, о которых нам нужно знать, прежде чем решать, какой вариант использовать с пакетом xcolor
?
решение1
Одно из отличий заключается в том, что цвета с dvipsnames
определены в CMYK, а svgnames
и x11names
определены в RGB. Таким образом, вы можете выбрать, dvipsnames
будет ли ваш конечный вывод предназначен для офсетной или цифровой печати.
Это различие приводит к потенциальной ловушке, о которой следует помнить при использовании dvipsnames
опции xcolor
.
По умолчанию pgf
затенение выводится в RGB, поэтому, если вы явно не запросите затенение CMYK, вы не получите нужные вам цвета в затенении. Это особенно заметно, когда у вас есть сплошные цвета на обоих концах затенения, что иногда может случаться в beamer
шаблонах.
Рассмотрим этот MWE, демонстрирующий проблему. ОбаСинийиЛайм-Гринопределены dvipsnames
и находятся в CMYK. Верхняя заливка имеет неправильные цвета, поскольку она в RGB. Это то, что вы получите, если явно не измените цветовую модель на CMYK (например, с помощью \usepackage[cmyk,dvipsnames]{xcolor}
).
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\begin{document}
\section*{Natural Colour model}
\begin{tikzpicture}
\fill[Blue] (0,0) rectangle (1,1);
\shade[left color=Blue, right color=LimeGreen] (1.25,0) rectangle (3.75,1);
\fill[LimeGreen] (4,0) rectangle (5,1);
\end{tikzpicture}
\section*{CMYK colour model}
\selectcolormodel{cmyk}
\begin{tikzpicture}
\fill[Blue] (0,0) rectangle (1,1);
\shade[left color=Blue, right color=LimeGreen] (1.25,0) rectangle (3.75,1);
\fill[LimeGreen] (4,0) rectangle (5,1);
\end{tikzpicture}
\end{document}