在包含 \includegraphics 的 PDF 图像中使用 \ref

在包含 \includegraphics 的 PDF 图像中使用 \ref

我使用绘图工具(OmniGraffle)准备图形,将其导出为 PDF,然后将\includegraphics其包含在我的 tex 文件中(使用 pdflatex 编译)。

\ref{thm:foobar}其中一些图引用了文本中的定理。如果我可以在绘图工具中直接写“定理”,然后\ref{thm:foobar}在编译过程中包含 PDF 文件时用实际数字替换,那就太好了。

这可能不太可能,但我想我还是尝试一下。

答案1

最简单的解决方案似乎就是overpic包裹。

我也查看了该pstool软件包。它允许您替换 EPS 文件中的文本,然后自动将其转换为 PDF 以供使用pdflatex。但是,这仍然很麻烦,我无法pstool使用我的 MacTeX 发行版。

答案2

如果你愿意走latex-> dvips->ps2pdf路线,图形与 [ 软件包] 结合使用,提供了一个简单的解决方案psfrag。下面的讨论不必在 Xfig 中完成。但是,使用 Xfig 最容易复制所示的概念。

假设它image.eps是在 Xfig 中生成的,如下所示:

Xfig样图

使用\psfrag{<tag>}{<LaTeX text>},您可以修改mylabel1image.eps任何 LaTeX 命令,包括引用定理(比如说):

\documentclass{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{psfrag}% http;//ctan.org/pkg/psfrag
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newtheorem{theorem}{Theorem}% \begin{theorem}...\end{theorem}
\begin{document}
\begin{figure}[t]
  \centering
  \psfrag{mylabel1}{Theorem~\ref{thm:first}}%
  \includegraphics{image}
  \caption{This is a figure}
\end{figure}
\begin{theorem}
This is the first theorem. \label{thm:first}
\end{theorem}
\end{document}

Xfig 参考文档内的标签

hyperref包裹被添加来突出显示引用。


正如评论中提到的那样。没有正式的pdffrag对应物psfrag。但是,Xfig 提供了一种解决方法,通过xfigfrag。然而,此开发已于 2009-11-28 停止。请参阅xfigfrag自述关于如何使用此工具。

目前,pdffrag存在一个实验形式pdfrack包裹。虽然我还没有在需要引用的设置(或任何设置)中使用过它。

答案3

这个问题现在可以完美地解决了Inkscape使用--export-latex选项。
图形中的文本将很好地保存在 latex 文件中,因此您可以对这些文本进行任何操作,例如添加引用。
您可能需要先在 Inkscape 中编辑图形,因为如果图形不是由 Inkscape 创建的,文本的位置可能不完美。

但是,推荐的包含导出图形的方法似乎有问题。\svgwidth我不想定义自由变量,而是想用 resizebox 包装 pdf_tex 文件,如下所示:

\begin{figure}
    \resizebox{\columnwidth}{!}{\input{testgraphic.pdf_tex}}
\end{figure}

相关内容