我正在尝试使用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}