我在一个 org-mode 文件中放了一些 LaTeX,它包装了一个 Ruby 代码片段并提供了漂亮的颜色格式,看起来有点像这样:
#+LATEX_HEADER: \usepackage[dvipsnames]{xcolor}
#+LATEX_HEADER: \usepackage{listings}
#+LATEX_HEADER: \lstloadlanguages{Ruby}
#+LATEX_HEADER: \lstset{%
#+LATEX_HEADER: basicstyle=\ttfamily\color{black},
#+LATEX_HEADER: commentstyle = \ttfamily\color{red},
#+LATEX_HEADER: keywordstyle=\ttfamily\color{blue},
#+LATEX_HEADER: stringstyle=\color{orange}}
\begin{lstlisting}[language=Ruby]
pairs_list.each {|pair|
if (pair[0]-pair[1]).magnitude < min_dist
min_dist = (pair[0]-pair[1]).magnitude
best_pair = pair
end
}
\end{lstlisting}
除了数组寻址中的方括号被错误地识别为 org 脚注外,所有这些都正常工作。我尝试autofn:nil
在选项中设置,尝试添加#+STARTUP: nofninline, noautofn
和刷新,但没有任何效果。org-mode 尝试导出不存在的脚注并产生一堆垃圾。
针对每个文件关闭此功能的最简单方法是什么?
编辑:您之所以要这样做而不是 #+BEGIN_SRC #+END_SRC 是因为该格式更丑陋并且不包含颜色(尽管这可能暗示了解决问题的方法)。
答案1
据报道此邮件列表,阻止 org-mode 尝试解析 LaTeX 块的方法是#+BEGIN_LATEX
#+END_LATEX
在其周围放置包装器。这将使您获得正确的 (LaTeX) 导出行为,同时确保它仅被解释为 LaTeX。