Відмітка до перетворення LaTeX за допомогою спеціальної преамбули за допомогою Pandoc


16

Я знаю, що я можу використовувати команди -Hабо --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 ...]

Я знаю, що це преамбула LaTeX за замовчуванням ( default.latex), яку Pandoc завантажує зі своєї templatesпапки. Те ж саме відбувається , коли я використовую --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додає текст до преамбули, визначеної у шаблоні LaTeX Pandoc. Є кілька способів зробити те, що ви намагаєтеся зробити.

  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 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.