中間の「.ps」ファイルを使用すると、

中間の「.ps」ファイルを使用すると、

私は Inkscape を使用してグラフィックを作成し、それを PDF にエクスポートして LaTeX ドキュメントに組み込みます (\includegraphics および pdflatex を使用)。Mac OS X で図が正しく表示されないと誰かに言われるまで、何か問題があることに気づきませんでした。不透明度が 100% 未満のボックスや円などの基本的なグラフィック パーツはまったく表示されません。

inkscape からエクスポートした PDF だけは Mac 上では問題なく表示されるので、問題は pdflatex にあるようです。私は Linux を使っていて、時々 Windows も使っているので、問題があることにすら気づきませんでした。

何が問題の原因なのか考えてみたところ、

\includegraphics PDF、色の問題 そして Inkscape → PDF → includegraphics → XeLaTeX → 色を変更

しかし、これでは私の問題は解決しませんでした。

同様の質問が埋め込まれた PDF 図で不透明から透明へのグラデーションが失われるしかし今、答えは本当に与えられました。

エクスポートした PDF を PS に変換してから PDF に戻すと問題は解決しますが、その後のグラフィック品質はかなり悪くなります。

何を見逃したのでしょうか? ご提案があればよろしくお願いします。

以下は最小限の動作例です。

\documentclass[a4paper]{article}
\usepackage[pdftex]{color,graphicx}

\begin{document}

\begin{figure}[htb]
 \begin{center}
  \includegraphics[width=\columnwidth]{test_diagram}
  \caption{Block diagram created with Inkscape 0.48}
 \end{center}
\end{figure}

\end{document}

付属のグラフィックはここからダウンロードできます:https://www.dropbox.com/s/mrtj0c3u0ng6a39/test_diagram.pdf

Inkscape: 0.48.3.1 r9886
pdfTeX、バージョン 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian)

答え1

Inkscape イメージが PDFKit ベースのビューア経由で埋め込まれ、表示される場合にも、この問題が発生することがありますpdflatex。(PDFKit は OS X に組み込まれている PDF レンダリング エンジンで、Skim、Preview、その他多くのプログラムで使用されています)。

どうやら、Inkscape には透明度を指定する「珍しい」方法があり、これは による埋め込みでは保持されませんpdflatex

私にとって確実に機能する唯一の回避策は、透明部分をフラット化して PDF を「サニタイズ」することです。この目的のために、私はスイッチps2pdfwr付きの ghostscript (スクリプト経由)を使用します。dHaveTransparencies=false

ps2pdfwr -dCompatibilityLevel=1.4 -dHaveTransparency=false test_diagram.pdf sanitized.pdf

欠点は、これがイメージのラスタライズにつながることです。デフォルトの解像度は 720 dpi で、ほとんどの使用例ではこれで十分でしょう。ただし、より高い (またはより低い) 品質が必要な場合は、解像度も指定できます。

ps2pdfwr -dCompatibilityLevel=1.4 -r1200 -dHaveTransparency=false test_diagram.pdf sanitized.pdf

1200dpiでは、約5KiBの画像はラスタライズ版では約78KiBに増加します。しかし、PDFの透明部分は、多くの出力デバイスに関しては奇妙な問題が発生することがあります。Inkscape で作成された場合だけではありません。たとえば、次のようになります。 TikZで不透明度を使用すると、印刷時にページ全体が「粗く」なりますしたがって、私はこれを支払うべき代償だと考えています。

答え2

ここでは機能しているようです。一般的な不透明度よりもアルファ不透明度を微調整します。

http://www.inkscapeforum.com/viewtopic.php?f=28&t=15739&p=65180#p65180

私はpdftexとInkscape 0.91を使用しています

答え3

Inkscape/Mac OS/LaTeX でも同じ問題がありました。画像の問題部分のみをラスタライズし、残りはベクター化したままにすることで、この問題に対処できました。これを行うには、SVG ファイルを開き、Inkscape で問題のオブジェクトを選択して、[編集] -> [ビットマップ コピーを作成] を実行し、PDF として保存しました。Inkscape 0.91 ではこの問題をまったく解決できませんでしたが、Inkscape 0.48 ではうまくいきました。

答え4

中間の「.ps」ファイルを使用すると、

RalfB と同様に、最初に PS に変換してから PDF に変換すると、LaTeX がうまく動作することがわかりました。このスクリプトを使用すると、次のことが実現しました。

inkscape foo.svg --export-ps=foo.ps
pstopdf foo.ps -o foo.pdf

その後、LaTeX ファイルを通常どおりコンパイルします。

Daniel が述べたように、inkscape の .pdf への変換は .ps への変換と比べて何か問題を引き起こしているに違いありません。

結果

以下は、PS を通過して望ましい透明度が実現されていることを示す、前後の写真です。

以前 (svg -> pdf)

中級レベル前

後 (svg -> ps -> pdf)

中級PS後

関連情報