考虑以下使用 Xelatex 编译的代码:
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{pstricks,psvectorian}
\usepackage{scalefnt}
\usepackage{xcolor}
\begin{document}
\thispagestyle{empty}
\begin{pspicture}(-3,-3)(3,3)%
\renewcommand*{\psvectorianDefaultColor}{red}%
\psframe[fillcolor=Beige,fillstyle=solid](-3,-3)(3,3)
\psframe[linecolor=red](-3,-3)(3,3)
\rput[tl](-3,3){\psvectorian[width=3cm]{63}}
\rput[tr](3,3){\psvectorian[width=3cm,mirror]{63}}
\rput[bl](-3,-3){\psvectorian[width=3cm,flip]{63}}
\rput[br](3,-3){\psvectorian[width=3cm,flip,mirror]{63}}
\rput(0,0.35){\scalefont{1.0}{\textbf{Is this Beige}}}
\rput(0,-.35){\scalefont{1.0}{\textbf{Tinted red?}}}
\end{pspicture}
\begin{pspicture}(-3,-3)(3,3)%
\renewcommand*{\psvectorianDefaultColor}{purple}%
\psframe[fillcolor=Beige,fillstyle=solid](-3,-3)(3,3)
\psframe[linecolor=purple](-3,-3)(3,3)
\rput[tl](-3,3){\psvectorian[width=3cm]{63}}
\rput[tr](3,3){\psvectorian[width=3cm,mirror]{63}}
\rput[bl](-3,-3){\psvectorian[width=3cm,flip]{63}}
\rput[br](3,-3){\psvectorian[width=3cm,flip,mirror]{63}}
\rput(0,.35){\scalefont{1.0}{\textbf{Is this Beige}}}
\rput(0,-.35){\scalefont{1.0}{\textbf{Tinted purple?}}}
\end{pspicture}
\end{document}
生成两个 pspictures:
问题:fillcolor
这两张图片中的米色都是米色;然而,在我看来,左边图片中的米色略带红色;而右边图片中的米色则略带紫色。我的观察正确吗?或者这可能是某种视觉错觉?如果不是错觉,那么是什么导致了这种现象?有没有办法防止这种视觉现象发生?
谢谢。
答案1
您必须控制预定义颜色的颜色定义。RGB 米色是不是与 CMYK 米色相同。xcolor
如果没有定义,PSTricks 本身默认使用 rgb。
尝试
\usepackage[usenames,dvipsnames,svgnames,table,cmyk]{xcolor}
然后所有颜色在使用前都转换为 cmyk。
但是,要比较颜色,您只能使用两种颜色,并且不能使用边框!
\documentclass[border=12pt]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage{pstricks,psvectorian}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)%
\psframe*[linecolor=Beige](-3,-3)(3,3)
\end{pspicture}%
\begin{pspicture}(-3,-3)(3,3)%
\psframe*[linecolor=Beige](-3,-3)(3,3)
\end{pspicture}
\end{document}
然后你会发现没有什么区别: