如何向要通过 LaTeX 导出的 Org-Mode 文件中的图形添加 `\label`?

如何向要通过 LaTeX 导出的 Org-Mode 文件中的图形添加 `\label`?

\label如何在要通过 LaTeX 导出的 Org-Mode 文件中的图形中添加?

example.org

#+CAPTION: This is the caption
#+NAME: fig:org_label
[[./figure.png]]

This is a link to the figure [[fig:org_label]], but I'd like to 
use \ref{fig:org_label} to get the figure's number.

在 Org-Mode 中我应该在哪里添加什么命令,以便将适当的\label命令插入到 TeX 输出的图形上下文中?

答案1

此示例:

* Test

  #+CAPTION: insert figure caption here
  #+NAME: fig-1
  [[./figure.png]]

  By looking at figure [[fig-1]] we can see how referencing a figure works.

在我的系统上导出到此处:

\section{Test}
\label{sec-1}

\begin{figure}[htb]
\centering
\includegraphics[width=.9\linewidth]{./figure.png}
\caption{\label{fig-1}insert figure caption here}
\end{figure}

By looking at figure \ref{fig-1} we can see how referencing a figure work.

使用 Emacs 23.4.1 和 Org mode 8.0.5。这是生成的 pdf 在此处输入图片描述:。

我想我遗漏了你所说的一个要点,但在我看来,至少在这个版本的 org 中,导出器完全符合你的要求。如果不是,那么行为应该在哪些方面有所不同?

如果你想要这种行为,并且你的系统上只安装了旧版本的 emacs,那么你可以查看本节中的 org-mode 手册http://orgmode.org/org.html#Installation获得有关如何安装更新版本的一些提示。

答案2

您的示例无法在所有设置下工作的原因是,默认情况下,org-mode 会#+NAME: fig:org_label用自动生成的标签替换您提供的(以保证唯一性);org-mode 链接(如)[[fig:org_label]]将正确导出,但\ref{fig:org_label}无法工作。如果您希望使用\ref{}命令(特别适用于获取页面引用,如\pageref{fig:org_label}),则需要设置org-latex-prefer-user-labels首选项。将其放入您的初始化文件中:

(setq org-latex-prefer-user-labels t)

相关内容