如何在 XeLaTeX 中裁剪 EPS 文件?

如何在 XeLaTeX 中裁剪 EPS 文件?

当尝试裁剪EPS 图使用trim=<left> <bottom> <right> <top>, clip, ...它会导致奇怪的行为。请查看下面的 MWE 和结果图像。

看起来好像只裁剪了顶部和右侧(或两次)。在这个帖子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

trim无法处理EPS 文件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 Live 2013

在此处输入图片描述

TeX Live 2012

在此处输入图片描述

相关内容