我在用 XeTeX/XeLaTeX 编译的脚本中使用了 subcaption 包。当在网格视图中使用 4 个图像的子图时,图像不居中并与中间的子标题重叠。这似乎只发生在我的 .eps 图形上。
请参见下面的 MWE 和我的问题的图片。
这是怎么回事?我做错了什么?
\documentclass[
pagesize=automedia,
headsepline=true,
mpinclude=false,
parskip=half,
DIV=12,
BCOR=12mm,
ngerman
]{scrreprt}
\usepackage{xltxtra}
\usepackage[]{babel}
\makeatletter
\g@addto@macro\@floatboxreset\centering
\makeatother
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}
%
\begin{subfigure}[b]{.49\linewidth}
\includegraphics[width=\linewidth]{Beispiel.eps}
\caption{Quadrat 1}\label{fig:Q1}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\linewidth}
\includegraphics[width=\linewidth]{Beispiel.eps}
\caption{Quadrat 2}\label{fig:Q2}
\end{subfigure}
\begin{subfigure}[b]{.49\linewidth}
\includegraphics[width=\linewidth]{Beispiel.eps}
\caption{Quadrat 3}\label{fig:Q3}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\linewidth}
\includegraphics[width=\linewidth]{Beispiel.eps}
\caption{Quadrat 4}\label{fig:Q4}
\end{subfigure}
%
\caption{4 Quadrate}\label{fig:Qs}
\end{figure}
\end{document}
\par
如果我使用而不是子图 2 和 3 之间的空白线,也会出现问题。使用\par\medskip
或\par\bigskip
我可以校正垂直距离,但不能校正居中不良的图片。
在这里找到 eps:EPS上传
答案1
2013 年,文件中的配置dvipdfmx.cfg
(也用于 XeTeX 的xdvipdfmx
)被更改为添加-dEPSCrop
EPS 到 PDF 的转换。此后,TeX 读取 PostScript BoundingBox,但驱动程序将 PDF 嵌入到几乎从 (0,0) 开始的不同 BoundingBox 中。
也xetex.def
(和dvipdfmx.def
等等) 进行了更改以处理新设置。但如果更改不同步,问题仍然存在。
由于您有新的xetex.def
,我会检查dvipdfmx.cfg
是否-dEPSCrop
存在于 PostScript 文件的转换中,例如(TeX Live):
D "rungs -q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile='%o' '%i' -c quit"
如果您的版本 ( miktex/dvipdfm/config/dvipdfmx.cfg
) 包含-sPAPERSIZE=a0
,则尝试将其替换为-dEPSCrop
。
答案2
尝试运行latex
+ dvipdfm
+viewpdf
而不是 latex
+ dvi2ps
+ ps2pdf
+ viewpdf
。它对我有用。