Konversi penurunan harga ke LaTeX dengan pembukaan kustom menggunakan Pandoc

16

Saya tahu bahwa saya bisa menggunakan perintah -Hatau --include-in-headeruntuk memasukkan mukadimah kustom dalam output yang dihasilkan. Masalahnya adalah sekarang bahwa Pandoc termasuk pembukaan saya tetapi menempatkan pembukaan lain di depannya:

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

Saya tahu bahwa ini adalah pembukaan standar LaTeX ( default.latex) yang Pandoc muat dari templatesfoldernya. Hal yang sama terjadi ketika saya menggunakan --include-after-bodydengan \end{document}.

Ini adalah perintah yang saya gunakan:

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

Jawaban:

20

Seperti yang telah Anda temukan, --include-in-headertambahkan teks ke dalam pembukaan yang ditentukan dalam template LaTeX Pandoc. Ada beberapa cara untuk melakukan apa yang ingin Anda lakukan.

  1. Jika Anda ingin mukadimah sepenuhnya kustom, Anda perlu menentukan file template menggunakan

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

    Templat dapat memiliki variabel (seperti $title$dan, yang lebih penting, $body$) dan kondisional. Jika Anda ingin beberapa inspirasi, Anda dapat memeriksa templat default menggunakan perintah

    pandoc -D latex
    
  2. Jika Anda ingin menggunakan templat baru sekali dan untuk semua, Anda dapat membuatnya, panggil default.latex, dan letakkan di direktori templat ( ~/.pandoc/templates/pada mesin unix). Dalam hal ini, Anda perlu menentukan bahwa Anda ingin menggunakan templat dengan menelepon

    pandoc -o output.tex --standalone input.txt
    
  3. Jika Anda lebih suka tidak berurusan dengan template sama sekali, Anda bisa menjalankannya

    pandoc -o output.tex input.txt
    

    dan hasilnya akan berupa dokumen LaTeX yang kosong, yaitu tanpa pembukaan, \begin{document}atau \end{document}. Kemudian Anda bisa menambahkan bukaan sendiri. Perhatikan bahwa setiap metadata (judul, penulis) akan hilang saat menggunakan metode ini.

Detail lengkap tentang cara membuat dan menggunakan template dapat ditemukan di halaman manual Pandoc .

Nathan Grigg
sumber