lpic 包错误:未找到图像文件,尽管 includegraphics 毫无问题地找到了它

lpic 包错误:未找到图像文件,尽管 includegraphics 毫无问题地找到了它

我正在尝试使用lpic 软件包在图像上叠加文本(使得使用正确的字体大小进行标记更容易),但找不到我的图像文件。

我看到过很多关于\includegraphics找不到图像文件和必须刷新文件数据库的问题,但\includegraphics找到相同的图像却没问题。我尝试移动图像文件,因为我认为 lpic 可能在我的图像子文件夹中遇到了问题,但这也无济于事。

为什么 lpic 找不到我的图片?我在 Mac 上使用 TeXlive。

梅威瑟:

\documentclass[a4paper]{article}

%for images
\usepackage{graphicx}
\usepackage{lpic}          %LaTeX text on pictures 

\begin{document}
    Some text
        \begin{figure}[t]
            \centering
            \includegraphics[width=.8\linewidth]{fig.png} %works fine

            \caption{Caption text.}
        \end{figure}

        Some more text ...

        \begin{figure}[t]
            \centering
            \begin{lpic}[l(0mm),r(0mm),t(0mm),b(0mm),draft]{fig.png} %does not work
                \lbl[l,W]{20,50;Label text at 20,50 position}
            \end{lpic}
        \end{figure}

\end{document}

答案1

由于非常奇怪的原因,lpic使用了已弃用的和过时的语法epsfig,这是一个永远不应该在新文档中使用的包,仅用于向后兼容。

修复使用错误语法的命令:

\documentclass[a4paper]{article}

%for images
\usepackage{graphicx}
\usepackage{lpic}          %LaTeX text on pictures
\usepackage{etoolbox}

%% Fix \lp@dimens to use \includegraphics rather than \epsfig
\makeatletter
\patchcmd{\lp@dimens}
  {\epsfig{figure=\lp@epsfile}}
  {\includegraphics{\lp@epsfile}}
  {}{}
\patchcmd{\lp@dimens}
  {\epsfig{figure=\lp@epsfile, width=\lp@tmpx, height=\lp@tmpy}}
  {\includegraphics[width=\lp@tmpx,height=\lp@tmpy]{\lp@epsfile}}
  {}{}
\makeatother

\begin{document}

Some text

\begin{figure}[t]
  \centering
  \includegraphics[width=.8\linewidth]{osum.png} %works fine
  \caption{Caption text.}
\end{figure}

Some more text ...

\begin{figure}[t]
  \centering
  \begin{lpic}[l(0mm),r(0mm),t(0mm),b(0mm),draft]{osum.png} %does not work
  \lbl[l,W]{20,50;Label text at 20,50 position}
  \end{lpic}
\end{figure}

\end{document}

在此处输入图片描述

相关内容