在 org-mode 中,為什麼 org-latex-create-formula-image-program 會提供額外的資訊?

在 org-mode 中,為什麼 org-latex-create-formula-image-program 會提供額外的資訊?

在我的 .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 中。您可以透過以下方式執行此操作:

  1. Mx 自訂變數 RET org-latex-default-packages-alist RET

  2. 然後進入包的“選項”字段hyperref並寫入linktoc = all, ...

  3. 最後點擊「套用並儲存」按鈕並重新啟動

這是通用方法,不適用於單一檔案。我測試此過程以隱藏連結(hidelinks選項)。

答案2

#+LATEX_HEADER: \hypersetup{...}當您的 org 文件中有一行時,就會發生這種情況。當 org 產生 Latex 片段時,它會產生一個小的 Latex 文件,其中包含公式以及完整的 Latex 標頭。但它不包括 中的所有預設包org-latex-default-packages-alist,僅包括帶有t.並且hyperref是預設不包含的內容之一。然後我猜乳膠出於某種原因將 hypersetup 內容解釋為文件的一部分。

除了這裡的其他答案之外,我還找到了一些解決方法。

  1. 從您的 org 檔案中刪除 hypersetup 行並改為org-latex-hyperref-template設定~/.emacs.d/init.el

    (setq org-latex-hyperref-template "\\hypersetup{linktoc=all,colorlinks=true,urlcolor=blue,linkcolor=blue}")

    (如果您不介意對所有組織文件使用相同的選項。)

  2. 將 hypersetup 行保留在您的 org 檔案中,但添加明確#+LATEX_HEADER: \usepackage{hyperref}行,以便即使在生成片段時也會載入它。

  3. 修改org-latex-default-packages-alist為 hyperref 標記為t並將在生成片段時包含在內。

相關內容