Warum liefert org-latex-create-formula-image-program im Org-Modus zusätzliche Informationen?

Warum liefert org-latex-create-formula-image-program im Org-Modus zusätzliche Informationen?

In meiner .emacs habe ich (setq org-latex-create-formula-image-program 'imagemagick)

Es funktioniert, also bekomme ich eine Vorschau der Formel, c-c c-x c-l aber ich bekomme auch eine unerwünschte Informationlinktoc = all, colorlinks = true, urlcolor = DodgerBlue4, citecolor = PaleGreen1, linkcolor = black

Dies ist der Inhalt \hypersetup{linktoc = all, colorlinks = true, urlcolor = DodgerBlue4, citecolor = PaleGreen1, linkcolor = black}einer Tex-Datei in\temp

Wie kann ich nur die Formel erhalten?

Mein Betriebssystem ist Linux Ubuntu

Antwort1

Ich habe das gleiche Problem. Eine Option ist, linktoc = all, ...der Variable org-latex-default-packages-alist => hyperref hinzuzufügen. Sie können dies tun über:

  1. Mx Anpassen-Variable RET org-latex-default-packages-alist RET

  2. Gehen Sie dann in das Feld „Option“ des Pakets hyperrefund schreiben Sielinktoc = all, ...

  3. Klicken Sie abschließend auf die Schaltfläche "Übernehmen und Speichern" und starten Sie neu

Dies ist ein allgemeiner Ansatz, nicht für eine einzelne Datei. Ich teste dieses Verfahren, um die Links auszublenden ( hidelinksOption).

Antwort2

Es sieht so aus, als ob dies passiert, wenn Sie eine #+LATEX_HEADER: \hypersetup{...}Zeile in Ihrer Org-Datei haben. Wenn Org Latex-Fragmente generiert, generiert es eine kleine Latex-Datei mit der Formel zusammen mit Ihrem vollständigen Latex-Header. Es enthält jedoch nicht alle Standardpakete in org-latex-default-packages-alist, sondern nur die mit einem t. Und hyperrefist eines der Pakete, die standardmäßig nicht enthalten sind. Dann vermute ich, dass Latex den Hypersetup-Inhalt aus irgendeinem Grund als Teil des Dokuments interpretiert.

Ich habe zusätzlich zu der anderen Antwort hier ein paar Workarounds gefunden.

  1. Entfernen Sie die Zeile „Hypersetup“ aus Ihrer Org-Datei und fügen Sie stattdessen Folgendes org-latex-hyperref-templateein ~/.emacs.d/init.el:

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

    (Wenn es Ihnen nichts ausmacht, für alle Org-Dateien dieselben Optionen zu verwenden.)

  2. Behalten Sie die Hypersetup-Zeile in Ihrer Org-Datei, fügen Sie jedoch eine explizite #+LATEX_HEADER: \usepackage{hyperref}Zeile hinzu, damit sie auch beim Generieren von Fragmenten geladen wird.

  3. Ändern Sie org-latex-default-packages-alistes so, dass Hyperref mit markiert ist tund beim Generieren von Fragmenten einbezogen wird.

verwandte Informationen