ps2pdf でアンチエイリアシングを無効にする

ps2pdf でアンチエイリアシングを無効にする

EPS ファイルは自分で生成しました。EPS ファイルではオプションを設定しました\interpolate false。それらを TikZ 内の LaTeX ソースに含めますincludegraphics(複数のファイルを互いに近くに配置したいためです)。

次に、標準的な一連の手順を実行します。

latex src.tex
dvips -Ppdf src.dvi
ps2pdf src.ps

テキスト エディターで、PostScript ソース ファイルが EPS ファイル テキスト全体を保存しているのがわかります。コメントも (当然のことですが) そのままです。したがって、行も\interpolate falseそのままです。PostScript ソースを Evince (GNOME pdf ビューアー) で開くと、確かに補間はありません。念のため、エディターで設定し\interpolate trueて PostScript ファイルを再度開き、Evince が確かに画像を補間していることを確認しました。これは、少なくとも Evince がこのオプションを理解していることを示しています。

しかし、ps2pdf から出力されたファイルを開くとsrc.pdf、出力はいずれにしても補間 (アンチエイリアス) されていることがわかります。また、テキスト エディターで PDF ファイルを開いたところ、EPS イメージの最も基本的なパラメーター (幅や高さなど) のみが残っていることがわかりました。\interpolate false削除されていました。

上記の結果から、問題はincludegraphicsLaTeX の手順や PDF ビューアにないことがわかります。問題は ps2pdf にあります。

そのドキュメンテーション、および があるように見えますがAntiAliasColorImages、次の部分では次のように書かれています。AntiAliasGrayImagesAntiAliasMonoImages

(note 0) This parameter can be set and queried, but currently has no effect. 

したがって、次のコマンドを実行しても違いはありません。

ps2pdf -dAntiAliasGrayImages=false -dAntiAliasMonoImages=false src.ps

この問題を解決する方法があるかどうか知りたかったのです。PDF ファイルでアンチエイリアシングが発生しないことが私にとって非常に重要です。

答え1

/InterpolatePDFファイルの画像辞書のキーのデフォルト値は ですfalsePDF仕様、 セクション8.9.5.3 画像補間したがって、追加する/Interpolate falseとデフォルトが明示的になります。おそらく、アンチエイリアスは PDF ビューアによって実行されるため、そこでオフにする必要があります。

以下の説明に付属する注記にも注意してください/Interpolate:

準拠するリーダーは、PDF のこの機能を実装しないことを選択したり、希望する補間の特定の実装を使用したりすることができます。

テストの/Interpolate

pdftex.defパッケージのドライバはgraphicsブールキー をサポートしておりinterpolate、その設定を画像辞書のキーにマッピングします/Interpolate。デフォルト (false) と有効なキーは、この場合に期待される結果を示します。画像AR9 または xpdf 3.03 または evince 3.4.0 の場合:

\documentclass{article}        
\pagestyle{empty}
\usepackage{graphicx}
\begin{document}
\centering
\includegraphics[width=.48\linewidth]{uJ9k7.png}\hfill
\includegraphics[width=.48\linewidth, interpolate]{uJ9k7.png}
\end{document}

結果

関連情報