在我的 .emacs 中我有 (setq org-latex-create-formula-image-program 'imagemagick)
它正在工作,所以我可以预览公式,c-c c-x c-l
但我也得到了不需要的信息linktoc = all, colorlinks = true, urlcolor = DodgerBlue4, citecolor = PaleGreen1, linkcolor = black
\hypersetup{linktoc = all, colorlinks = true, urlcolor = DodgerBlue4, citecolor = PaleGreen1, linkcolor = black}
这是tex 文件中的内容
\temp
如何才能得到公式?
我的操作系统是 Linux Ubuntu
答案1
我有同样的问题。一个选项是添加linktoc = all, ...
到变量 org-latex-default-packages-alist => hyperref。您可以通过以下方式执行此操作:
Mx 自定义变量 RET org-latex-default-packages-alist RET
然后进入包的“选项”字段
hyperref
并写入linktoc = all, ...
最后点击“应用并保存”按钮并重新启动
这是一种通用方法,不适用于单个文件。我测试了此过程以隐藏链接(hidelinks
选项)。
答案2
看起来,当#+LATEX_HEADER: \hypersetup{...}
您的 org 文件中有一行时,就会发生这种情况。当 org 生成 latex 片段时,它会生成一个小型 latex 文件,其中包含公式以及完整的 latex 标头。但它不包括 中的所有默认包org-latex-default-packages-alist
,只包括带有 的包t
。并且hyperref
是默认不包含的包之一。然后我猜 latex 出于某种原因将 hypersetup 内容解释为文档的一部分。
除了这里的其他答案外,我还找到了一些解决方法。
从你的 org 文件中删除 hypersetup 行并改为
org-latex-hyperref-template
设置~/.emacs.d/init.el
:(setq org-latex-hyperref-template "\\hypersetup{linktoc=all,colorlinks=true,urlcolor=blue,linkcolor=blue}")
(如果您不介意对所有 org 文件使用相同的选项。)
将 hypersetup 行保留在您的 org 文件中,但添加一行明确的
#+LATEX_HEADER: \usepackage{hyperref}
行,以便即使在生成片段时也会加载它。进行修改
org-latex-default-packages-alist
,使得 hyperref 被标记为 ,t
并且在生成片段时被包含在内。