Abschrift auf LaTeX-Konvertierung mit einer benutzerdefinierten Präambel unter Verwendung von Pandoc

16

Ich weiß, dass ich mit den Befehlen -Hoder --include-in-headereine benutzerdefinierte Präambel in die generierte Ausgabe einfügen kann. Das Problem ist nun, dass Pandoc meine Präambel enthält, aber eine andere Präambel davor stellt:

\documentclass{article}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifxetex
  \usepackage{fontspec,xltxtra,xunicode}
  \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\else
  \ifluatex
    \usepackage{fontspec}
    \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
  \else
    \usepackage[utf8]{inputenc}
  \fi
\fi
\ifxetex
  \usepackage[setpagesize=false, % page size defined by xetex
              unicode=false, % unicode breaks when used with xetex
              xetex]{hyperref}
\else
  \usepackage[unicode=true]{hyperref}
\fi
\hypersetup{breaklinks=true, pdfborder={0 0 0}}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setlength{\emergencystretch}{3em}  % prevent overfull lines
\setcounter{secnumdepth}{0}

[... my preamble ...]

Ich weiß, dass dies die Standard-LaTeX-Präambel ( default.latex) ist, die Pandoc aus seinem templatesOrdner lädt . Das gleiche passiert , wenn ich verwende --include-after-bodymit \end{document}.

Dies ist der Befehl, den ich benutze:

pandoc -o output.tex input.txt --include-before-body=header.tex --include-after-body=footer.tex
John
quelle

Antworten:

20

Wie Sie festgestellt haben, wird --include-in-headerder in der LaTeX-Vorlage von Pandoc angegebenen Präambel Text hinzugefügt. Es gibt einige Möglichkeiten, das zu tun, was Sie versuchen.

  1. Wenn Sie eine vollständig benutzerdefinierte Präambel wünschen, müssen Sie mithilfe von eine Vorlagendatei angeben

    pandoc -o output.tex --template=FILE input.txt
    

    Die Vorlage kann Variablen (wie $title$und, was noch wichtiger ist $body$) und Bedingungen enthalten. Wenn Sie sich inspirieren lassen möchten, können Sie die Standardvorlage mit dem Befehl auschecken

    pandoc -D latex
    
  2. Wenn Sie eine neue Vorlage ein für alle Mal verwenden möchten, können Sie eine Vorlage erstellen, sie aufrufen default.latexund in das Vorlagenverzeichnis ( ~/.pandoc/templates/auf einem Unix-Computer) stellen. In diesem Fall müssen Sie angeben, dass Sie eine Vorlage verwenden möchten, indem Sie aufrufen

    pandoc -o output.tex --standalone input.txt
    
  3. Wenn Sie sich lieber überhaupt nicht mit Vorlagen beschäftigen möchten, können Sie einfach ausführen

    pandoc -o output.tex input.txt
    

    und das Ergebnis ist ein nacktes LaTeX-Dokument, dh ohne Präambel, \begin{document}oder \end{document}. Dann können Sie selbst eine Präambel hinzufügen. Beachten Sie, dass bei dieser Methode alle Metadaten (Titel, Autor) verloren gehen.

Ausführliche Informationen zum Erstellen und Verwenden von Vorlagen finden Sie auf der exzellenten Manpage von Pandoc .

Nathan Grigg
quelle