TikZ 3.0.0(リリース)は、XeLaTeXとスタンドアロンで使用すると奇妙な陰影を生成します。

TikZ 3.0.0(リリース)は、XeLaTeXとスタンドアロンで使用すると奇妙な陰影を生成します。

私はパッケージとXeLaTeXと一緒にTikZグラフィックでシェーディングを使用したいのですstandaloneが、何らかの理由で新しい3.0.0リリースで試してみると壊れてしまいます(ここからダウンロード)。私が試した他の組み合わせはすべてうまくいきました(たとえば、articleclass/ pdflatex// lualatex/ TikZ2.10 を使用します)。

(私は完全に更新された TeX Live 2013 を使用しています。)

ムウェ

\documentclass{standalone}
%\documentclass{article} % would work

\usepackage{tikz}
\usetikzlibrary{shadings}

\begin{document}
\tikz \draw[top color=red] (0,0) rectangle (2,1);
\end{document}

出力

出力

期待される出力

期待される出力

質問

この問題を回避するにはどうすればよいですか? また、どのパッケージ/クラスが問題の原因となっているのでしょうか?

答え1

これは回帰であり、再現できることを確認しました。

PGF 3.0.0 には、シェーディングと xelatex に関する多くの変更が含まれています。これらの変更により、pdflatex と同様に、フェード、シェーディングなどの完全な機能セットが有効になります。特定のドキュメント クラスでのみ機能するという事実は、残念なことです。


編集

PGF の開発者バージョンのバグを修正しました。次の安定バージョンの一部になります。

候補は以下からダウンロードできます。http://pgf.sourceforge.net/


以下はおそらくチケット システムの方が適していると思いますが、バグの調査を開始したので、ここでも手順を文書化できます。おそらく、低レベル ドライバーの専門家がこれに飛びつくでしょう。

\pgfsys@vertshadingこれは、より具体的には、結果として得られるPDFコードセグメントから生じるコードによって引き起こされることがわかりました。

7 0 obj 
<<
/Matrix [1 0 0 1 72 -72]
/Subtype /Form
/Length 15
/Resources 8 0 R
/FormType 1
/Type /XObject
/BBox [-72 72 28 172]
>>
stream
 0 G 0 g /Sh sh
endstream 

PGF 2.10 はさらに負の変換を生成しました (の部分1 0 0 1.. cm)。

<<
/Matrix [1 0 0 1 72 -72]
/Subtype /Form
/Length 37
/Resources 7 0 R
/FormType 1
/Type /XObject
/BBox [-72 72 28 172]
>>
stream
 0 G 0 g q 1 0 0 1 -72 72 cm /Sh sh Q
endstream 

結果のPDFを手動で修正しました。これらの負のシフトを導入すると、結果は正しいものになります。あるいは、修正し/Matrix/BBox

7 0 obj 
<<
/Matrix [1 0 0 1 0 0]
/Subtype /Form
/Length 15
/Resources 8 0 R
/FormType 1
/Type /XObject
/BBox [0 0 100 100]
>>
stream
 0 G 0 g /Sh sh
endstream 

これもうまく動作します。興味深いことに、値は100 100のサイズとして使用できます\pgfsys@vertshading。これは、システムのどこか深いところにある pgf の座標の境界ボックスです。しばらく実験してみましたが、問題を把握できませんでした。「72」がここにどのように入るのかわかりません。

pdflatex は0 0 100 100単位行列 (正しいもの) を持つ境界ボックスを として生成することに注意してください。articleクラスを使用してxelatexもこの値が生成されます。

おそらく、デバイス ドライバー開発の専門家が、この問題について説明してくれるでしょう。これは、LaTeX 固有の pgfutil の機能 ( pgfutil-latex.def) の奥深くに関係していると思います。

関連情報