Pandocを使用したカスタムプリアンブルによるLaTeX変換へのマークダウン


16

生成された出力にカスタムプリアンブルを含めるために-Hor --include-in-headerコマンドを使用できることを知っています。問題は、Pandocに私のプリアンブルが含まれているが、その前に別のプリアンブルが置かれていることです。

\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 ...]

これは、default.latexPandocがそのtemplatesフォルダーから読み込むデフォルトのLaTeXプリアンブル()であることを知っています。で使用--include-after-bodyしているときにも同じことが起こり\end{document}ます。

これは私が使用しているコマンドです:

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

回答:


20

発見したとおり--include-in-header、PandocのLaTeXテンプレートで指定されたプリアンブルにテキストを追加します。あなたがやろうとしていることをするいくつかの方法があります。

  1. 完全にカスタムのプリアンブルが必要な場合は、次を使用してテンプレートファイルを指定する必要があります

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

    テンプレートには、変数($title$および、さらに重要なことですが$body$)や条件を含めることができます。インスピレーションが必要な場合は、コマンドを使用してデフォルトのテンプレートをチェックアウトできます

    pandoc -D latex
    
  2. 新しいテンプレートを一度だけ使用するdefault.latex場合は、テンプレートを作成し、それを呼び出して、テンプレートディレクトリ(~/.pandoc/templates/unixマシン上)に配置します。この場合、次を呼び出してテンプレートを使用することを指定する必要があります

    pandoc -o output.tex --standalone input.txt
    
  3. テンプレートをまったく扱いたくない場合は、単に実行することができます

    pandoc -o output.tex input.txt
    

    結果は、裸のLaTeXドキュメント、つまりプリアンブルなし、\begin{document}またはとなり\end{document}ます。その後、自分でプリアンブルを追加できます。このメソッドを使用すると、メタデータ(タイトル、作成者)は失われることに注意してください。

テンプレートの作成および使用方法の詳細については、Pandocの優れたマニュアルページを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.