组织模式下的标签和参考LaTeX方程


15

这类似于Org导出到乳胶和HTML参考,但用于方程式。

我喜欢在组织文件中使用LaTeX数学片段,如下所示:

* The Quadratic Equation
The roots of $ax^2 + bx + c$ are given by
\begin{equation}
\label{eq:1}
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
\end{equation}

According to Equation \ref{eq:1}, ...

当我导出到LaTeX时,\ref{eq:1}正确地变成了方程的超链接。但我想实现以下其他行为:

  1. 在org文件中,我可以单击文本\ref{eq:1}(文本不必是\ref{eq:1},我只需要一个超链接),然后转到等式。标头具有此功能,因为[[The Quadratic Equation]]在组织模式下可以单击。

  2. 导出为HTML时,我希望保留引用(实际上,标签(1)甚至没有出现在HTML导出中)。

有没有办法做到这一点?


从技术上讲,将等式包装到#+begin_src latex...中#+end_src,然后,如果放置#+name: eq:1#+label: eq:1,则应该能够以所需的方式引用此块,即使用link [[eq:1][first equation]],但由于某些原因,它对我不起作用(但是这可能是由于我所做的更改)。
wvxvw

@wvxvw如果advice仅通过s 更改了行为,则可以通过进行测试,而无需进行更改emacs -Q。当然,如果您直接更改源,这将无济于事。
Tobias

@Tobias不,我记得打补丁过Org代码,特别是与\label{}逐字环境中插入的Org代码相关的东西,但是我需要挖掘我的更改以确保这是我的错。但是,如果有人可以确认#+nameetc 的建议方法有效,那将对我有帮助。
wvxvw

@wvxvw在html-export时,会得到<pre>/- 环境</pre>标签equation。因此,firefox显示源而不是方程式。
Tobias

@Tobias,对,我完全忘记了,您还需要by-backend这里的宏:orgmode.org/worg/org-contrib/babel/languages/…–
wvxvw

Answers:


15

我必须运行一些测试,但是我设法运行了一个可以正确导出到乳胶和HTML的小文件,我仅在组织8.2.10中进行了测试,但它应该在其他版本上也可以使用。

答案实际上与将组织导出到乳胶和HTML参考中的答案相同

这里有一个小例子

*  This is a latex experiment
so with the text...
#+NAME: code:1
#+BEGIN_SRC shell-script
echo hello world 
#+END_SRC
[[code:1]] is a reference to src block

#+NAME: eqn:1
\begin{equation}
    f(x) =  \sum\limits_0^\infty(f^{(n)}(x)|_{x=0} \cdot x)
\end{equation}

And this is an equation [[eqn:1]]

好的,这对我来说很有效。
Tobias

这在LaTeX中对我也适用,但不适用于HTML中的“开箱即用”,因为等式甚至没有数字(可能未设置某些Mathjax选项)。现在,如果只有RefTeX支持这一点,那是另一个问题。我会再等几天,然后再接受,看看是否有人会鸣响:)
凯文(Kevin)

我接受了,但是在下面看到了我自己的答案(较新版本的Org已支持)。
凯文

我在LaTeX中得到“未定义的引用”;不为我使用Emacs 24.5.1(组织模式8.2.10)工作
Reb.Cabin

1
可以以某种方式将其扩展到多行AMS环境(例如align和)subequations,其中标签特定于方程的各个部分吗?
kdb

5

实际上,似乎Org模式8.3.1内置了对问题的支持。labelref工作开箱。

这需要通过包管理器来更新组织模式。然后,将其粘贴(package-initialize)在初始化文件的顶部附近。

编辑。这不允许您单击\ref{...}并转到标签。为此,请参见上面接受的答案,或使用org-ref


1
但是您不必单击\ ref {。}转到\ label {。},对吗?
rvf0068 2015年

不,我不能。为此,您必须使用以上Joafigue的答案,或在上方查看我对github.com/jkitchin/org-ref的评论。我将编辑我的答案以反映这一点。
凯文(Kevin)

1

内部链接中所述

您可以使用<<id>>设置目标ID,然后使用[[id]][[id][description]](可以使用C-c C-l它插入)来找到目标。

在导出为HTML时,这对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.