XeLaTex com pgfplots exibe cor errada?

XeLaTex com pgfplots exibe cor errada?

Estou usando XeTex para Truetypefonts.

Parece que a saída de cores em pgfplots não está correta. Isso é um bug? Ou tenho alguma configuração incorreta?

Para outras cores além do preto (por exemplo, vermelho para a cor da linha do eixo), ele realmente funciona conforme o esperado...

Minha versão pgf: 3.0.1a

MWE:

\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}

Com XeLaTex: insira a descrição da imagem aqui Comportamento esperado (com pdflatex): insira a descrição da imagem aqui

Responder1

Gambiarra. Usar

\pgfplotsset{axis line style={color=black}}

em vez de.

Responder2

Perguntei na lista dvipdfmx e Shunsaku Hirata confirmou minha suspeita de que é uma falha do dvipdfmx. Um problema semelhante pode ser mostrado com este exemplo menor:

\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}

insira a descrição da imagem aqui

"Texto em preto" deveria ser preto, mas é vermelho. A origem do problema é que o dvipdfmx não sabe que a cor foi alterada para vermelho com o pdf:codeespecial - ele apenas acompanha as cores especiais - e então assume que a cor não mudou e que pode ignorar o color push gray 0.

O problema será resolvido em uma versão futura.

https://tug.org/pipermail/dvipdfmx/2019-August/000030.html

informação relacionada