Benutzerdefinierte Datei mit Org-Modus in den Header einbinden

Benutzerdefinierte Datei mit Org-Modus in den Header einbinden

Ich habe eine LaTeX-Datei mit einigen Anweisungen für meine TeX-Dokumente ( \usepackageund solche Dinge). Jetzt möchte ich diese Datei in verschiedenen Org-Mode-Dateien wiederverwenden. Ich weiß, dass ich Dateien mit einbinden kann #+include: 'path/to/some/file.tex', aber dadurch wird der Inhalt der Datei nach eingefügt \begin{document}.

Kann ich irgendwie eine Datei in den Header einbinden?

Wie vorgeschlagen, hier ein Beispiel:

AVorlage.texDatei, die den Header enthält:

\documentclass[a4paper]{customClass}
\usepackage{etex}
\title{Some Title}
\supervisor{Someone}

Wie hier auch gezeigt, wird dabei eine benutzerdefinierte Dokumentklasse verwendet. Dies ist einer der Gründe, warum ich sie einfach einbinden möchten.

Dann habe ich eine Datei, die den gesamten Inhalt enthält (content.org):

#+INCLUDE: template.tex

* Chapter 1
** Subchapter 1
   Some content
** Subchapter 2
   More content

Welches gibt derzeit aus (Inhalt.tex):

\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
% a lot more org-mode standard header stuff
% ...

\begin{document}

\maketitle

\setcounter{tocdepth}{3}
\tableofcontents
\vspace*{1cm}

% my template.tex file
% not where I wanted it
\documentclass[a4paper]{customClass}
\usepackage{etex}
\title{Some Title}
\supervisor{Someone}


\section{Chapter 1}
% rest of the document
% ...

\end{document}

Kurz gesagt: Ich möchte meine template.texDatei in einigen Organisationsdokumenten wiederverwenden, um eine einheitliche Formatierung zu gewährleisten. Ist das möglich?

Antwort1

Obwohl ich keine Möglichkeit kenne, dies mit einer LaTeX-Datei zu tun, können Sie #+SETUPFILE: file(http://orgmode.org/manual/In_002dbuffer-settings.html), um eine externe Org-Datei in den Export einzubeziehen. Anschließend können Sie #+LaTeX_HEADER:die externe Org-Datei verwenden.

Beispielsweise mit folgendem in content.org:

#+SETUPFILE: template.org

und mit folgendem in template.org:

#+LaTeX_CLASS: customClass
#+LaTeX_CLASS_OPTIONS: [a4paper]
#+LaTeX_HEADER: \usepackage{etex}
#+LaTeX_HEADER: \title{Some Title}
#+LaTeX_HEADER: \supervisor{Someone}

Wenn Sie exportieren content.org, werden sie als Teil der Präambel von eingeschlossen content.tex.

Antwort2

Der Latex-Header, den org für den Export verwendet, ist in gespeichert org-format-latex-headerund kann nach Belieben geändert werden. Laut Hilfe:

Dieser Header muss unbedingt sicherstellen, dass auf der Seite keine Seitenzahl erscheint. Die in der Variable org-latex-default-packages-alist' andorg-latex-packages-alist' definierten Pakete ersetzen in diesem Header entweder den Platzhalter "[PACKAGES]" oder werden angehängt.

Antwort3

Sie können in Ihrer Org-Datei eine lokale Dateivariable erstellen, um den Standardheader zu deaktivieren. Dann gibt es keine eigenen Header-Ausgaben, die den gewünschten Latex-Code durcheinanderbringen.

# Local Variables:
# org-latex-default-packages-alist: nil
# org-latex-with-hyperref: nil
# org-latex-packages-alist: nil
# End:

verwandte Informationen