由 cfr 编辑

由 cfr 编辑

.大家好,tex.se 社区,
当我将一个图片放在 overpic 环境中时,我遇到了一个问题\frame。框架的顶部边框与图片重叠。

这是错误还是命令使用错误\frame?我在互联网或 tex.se 上找不到任何信息。

我只是想在图像周围添加一个框架。

以下是 mwe:

\documentclass{article}
\usepackage{graphicx}
\usepackage{overpic}

\begin{document}
\begin{figure}
    \centering
    \frame{\includegraphics[width=0.7\textwidth]{foo}}
    \caption{framed figure include with \emph{includegraphics}.}
\end{figure}
\begin{figure}
    \centering
    \frame{\begin{overpic}[width=0.7\textwidth]{foo}
        \put(50,20){foo}
    \end{overpic}}
    \caption{framed figure include with \emph{overpic}.}
\end{figure}
\end{document}

编辑1

问题似乎不是出在查看器和细边框渲染上。请查看使用 xpdf 和 evince 渲染 pdf 的屏幕截图。在本例中,图像是一个灰色方块,横跨框架的右边框。 截屏

由 cfr 编辑

下面的图片可以用来重现该问题:

图片.png

改编的MWE:

\documentclass{article}
\usepackage{graphicx}
\usepackage{overpic}

\begin{document}
  \begin{figure}
    \centering
    \frame{\includegraphics[width=0.7\textwidth]{img}}
    \caption{framed figure include with \emph{includegraphics}.}
  \end{figure}
  \begin{figure}
    \centering
    \frame{\begin{overpic}[width=0.7\textwidth]{img}
        \put(50,10){foo}
      \end{overpic}}
    \caption{framed figure include with \emph{overpic}.}
  \end{figure}
\end{document}

影响:

框架太小

答案1

部分解决方案

[使用 overpic 包 v0.53 2010/09/13]

可能的解释

overpic 包对图像的尺寸进行操作,以适应用于定位重叠对象的局部基础。这些操作中似乎存在一些近似值,导致局部基础上的图像尺寸错误。由于图像相对于左下角放置,因此它会越过右侧或顶部的图片框。

解决方案

看起来,当使用选项 或 加载包时,图像尺寸的近似值会有所不同percentpermilabs
的例子中,permil选项似乎没有引入任何错误,并且具有正确的框架图像。

比较

错误修复?

我查看了 overpic.sty 文件,但我根本不是 TeX 专家。
如果有人能证实我的想法,我们可以解决这个问题。
它只有一百行文件。

答案2

这是您的查看器的一个产物,但您可以避免这个问题。

我懂了

在此处输入图片描述

正如你所见,两者都失去了一些边缘,但放大后发现

在此处输入图片描述

显示所有边缘。

但是,你可以在图像后绘制框架,使其位于顶部,从而使 pdf 不那么精致:

第 2 页在所有缩放级别下显示如下:

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx}
\usepackage{overpic}

\begin{document}
\begin{figure}
    \centering
    \frame{\includegraphics[width=0.5\textwidth]{house}}
    \caption{framed figure include with \emph{includegraphics}.}
\end{figure}
\begin{figure}
    \centering
    \frame{\begin{overpic}[width=0.5\textwidth]{house}
        \put(50,20){foo}
    \end{overpic}}
    \caption{framed figure include with \emph{overpic}.}
\end{figure}

\clearpage


\begin{figure}
    \centering
    \sbox0{\includegraphics[width=0.5\textwidth]{house}}%
    \usebox{0}%
    \kern-\wd0\frame{\phantom{\usebox0}}
    \caption{framed figure include with \emph{includegraphics}.}
\end{figure}
\begin{figure}
    \centering
    \sbox0{\begin{overpic}[width=0.5\textwidth]{house}
        \put(50,20){foo}
    \end{overpic}}%
    \usebox{0}%
    \kern-\wd0\frame{\phantom{\usebox0}}
    \caption{framed figure include with \emph{overpic}.}
\end{figure}

\end{document}

相关内容