XeLaTeX では EPS ファイルの切り取りはどのように行われますか?

XeLaTeX では EPS ファイルの切り取りはどのように行われますか?

トリミングしようとするとEPS図これを使用するとtrim=<left> <bottom> <right> <top>, clip, ...、奇妙な動作が発生します。 以下に MWE と結果の画像を示します。

切り抜きは上と右(または2回)のみで行われているようです。この郵便受けxetex.defこれまでの手続きを読むと、およびによって認識される EPS の境界がわかりますdvipdfmx.def

\documentclass[]{scrreprt}
\usepackage{xltxtra}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[width=\linewidth]{Beispiel.eps}
    \caption{No clipping}
\end{subfigure}
\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[trim = 100 0 0 0, clip, width=\linewidth]{Beispiel.eps}
    \caption{Trimming left}
\end{subfigure} 

\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[trim = 0 100 0 0, clip, width=\linewidth]{Beispiel.eps}
    \caption{Trimming bottom}
\end{subfigure}
\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[trim = 0 0 100 0, clip, width=\linewidth]{Beispiel.eps}
    \caption{Trimming right}
\end{subfigure} 

\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[trim = 0 0 0 100, clip, width=\linewidth]{Beispiel.eps}
    \caption{Trimming top}
\end{subfigure}
\begin{subfigure}[b]{.3\linewidth}
    \includegraphics[trim = 100 100 100 100, clip, width=\linewidth]{Beispiel.eps}
    \caption{Cropping all}
\end{subfigure} 
\end{figure}

\end{document}

出力

答え1

trimEPS ファイルの場合はxetex.def壊れています。回避策として、EPS ファイルを PDF に変換します。

  • epstopdf file.eps
  • ps2pdf -dEPSCrop file.eps

次に、画像の PDF バージョンを TeX ファイルに含めます。

答え2

バージョン 0.94 まではクリッピングが壊れていましxetex.defたが、バージョン 0.95 以降では修正されています。近々リリースされる TeX Live 2013 ではバージョンxetex.def0.97 になります。最新バージョンでは、オプションが処理される順序に関するいくつかの不具合も修正されています。

ここに例があります。

\documentclass{article}
\usepackage{fontspec}
\usepackage{graphicx}
\begin{document}
\includegraphics[clip,trim=3cm 3cm 3cm 3cm,width=.5\textwidth]{tiger.eps}

\newpage

\includegraphics[trim=3cm 3cm 3cm 3cm,width=.5\textwidth]{tiger.eps}
\end{document}

TeXライブ2013

ここに画像の説明を入力してください

TeXライブ2012

ここに画像の説明を入力してください

関連情報