xelatex 中的 hsb 颜色系列颜色错误

xelatex 中的 hsb 颜色系列颜色错误

我尝试xcolor在以下代码中使用包提供的 hsb 颜色系列:

\documentclass{standalone}
\usepackage[table]{xcolor}
\begin{document}
% example one
\definecolorseries{test}{hsb}{step}{blue}[hsb]{.041667,0,0}% 1/24
\resetcolorseries[12]{test}%
\rowcolors[\hline]{1}{test!!+}{test!!+}
\begin{tabular}{c}
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\end{tabular}
% example two
\definecolorseries{test}{hsb}{step}{blue}[hsb]{.0416667,0,0}% 1/24
\resetcolorseries[12]{test}%
\rowcolors[\hline]{1}{test!!+}{test!!+}
\begin{tabular}{c}
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\end{tabular}
\end{document}

但是用 编译的时候xelatex,发现第二个例子中的第 9 个颜色是错误的。用 编译时没有问题pdflatex。这两个例子唯一的区别就是步长。这里面有什么问题吗?

在此处输入图片描述

答案1

在你的序言中添加以下行

\substitutecolormodel{hsb}{rgb}

从有关用法的xcolor文档中:\substitutecolormodel

示例:假设实际驱动程序的实现不正确,hsbrgb看起来不错。 那么\substitutecolormodel{hsb}{rgb}可能是一个不错的选择,因为从那时起,它将算法hsb对颜色 的所有定义转换为规范,而无需触及其他模型。xcolorrgb

还请查看手册的第 5.4 节“关于准确性的评论”。

梅威瑟:

\documentclass{standalone}
\usepackage[table]{xcolor}
\substitutecolormodel{hsb}{rgb}
\begin{document}
% example one
\definecolorseries{test}{hsb}{step}{blue}[hsb]{.041667,0,0}%
\resetcolorseries[12]{test}%
\rowcolors[\hline]{1}{test!!+}{test!!+}
\begin{tabular}{c}
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\end{tabular}
% example two
\definecolorseries{test}{hsb}{step}{blue}[hsb]{.0416667,0,0}%
\resetcolorseries[12]{test}%
\rowcolors[\hline]{1}{test!!+}{test!!+}
\begin{tabular}{c}
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\number\rownum\\ \number\rownum\\ \number\rownum\\ \number\rownum\\
\end{tabular}
\end{document} 

输出:

在此处输入图片描述

相关内容