Я использую XeTex для шрифтов Truetype.
Кажется, что вывод цвета в pgfplots неверный. Это ошибка? Или у меня какая-то неправильная конфигурация?
Для других цветов, кроме черного (например, красного для цвета осевой линии), это на самом деле работает так, как и ожидалось...
Моя pgfверсия: 3.0.1a
МВЭ:
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{axis line style=black}
\color{green}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x*x};
\end{axis}
\end{tikzpicture}
\end{document}
решение1
Обходной путь. Использовать
\pgfplotsset{axis line style={color=black}}
вместо.
решение2
Я спросил в списке dvipdfmx, и Шунсаку Хирата подтвердил мои подозрения, что это ошибка dvipdfmx. Похожую проблему можно продемонстрировать на этом небольшом примере:
\documentclass{article}
\begin{document}
\special{pdf:bcolor [0]}
\special{pdf:code q 1 0 0 rg 1 0 0 RG}
text in red
\special{color push gray 0} %switch back to black
Text in black.
\special{color pop}
\special{pdf:code Q}
\special{pdf:ecolor}
\end{document}
"Текст черным" должен быть черным, но он красный. Источник проблемы в том, что dvipdfmx не знает, что цвет был изменен на красный с помощью специального pdf:code
— он отслеживает только специальные цвета — и поэтому предполагает, что цвет не изменился и что он может игнорировать color push gray 0
.
Проблема будет решена в будущей версии.