Pandoc kullanarak özel bir önsöz ile LaTeX dönüşümüne geçiş


16

Oluşturulan çıktı özel bir giriş eklemek için -Hveya --include-in-headerkomutları kullanabilirsiniz biliyorum . Sorun şu ki Pandoc önsözümü içeriyor ancak önüne başka bir önsöz koyuyor:

\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'un templatesklasöründen yüklediği varsayılan LaTeX girişini ( ) olduğunu biliyorum . Aynı şey --include-after-bodybirlikte kullandığımda da olur \end{document}.

Kullandığım komut bu:

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

Yanıtlar:


20

Keşfettiğiniz gibi, --include-in-headerPandoc'un LaTeX şablonunda belirtilen giriş bölümüne metin ekler. Yapmaya çalıştığınız şeyi yapmanın birkaç yolu vardır.

  1. Tamamen özel bir başlangıç ​​eki istiyorsanız, aşağıdakileri kullanarak bir şablon dosyası belirtmeniz gerekir

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

    Şablon değişkenlere ( $title$ve daha da önemlisi $body$) ve koşullara sahip olabilir. İlham almak isterseniz, komutunu kullanarak varsayılan şablonu kontrol edebilirsiniz.

    pandoc -D latex
    
  2. Yeni bir şablonu bir kez ve herkes için kullanmak isterseniz, bir şablon oluşturabilir, arayabilir default.latexve şablonlar dizinine ( ~/.pandoc/templates/bir unix makinesinde) koyabilirsiniz . Bu durumda, arayarak bir şablon kullanmak istediğinizi belirtmeniz gerekir.

    pandoc -o output.tex --standalone input.txt
    
  3. Şablonlarla hiç ilgilenmemeyi tercih ederseniz,

    pandoc -o output.tex input.txt
    

    ve sonuç çıplak bir LaTeX belgesi, yani bir giriş eksi olmadan \begin{document}veya \end{document}. Sonra kendiniz bir önsöz ekleyebilirsiniz. Bu yöntem kullanıldığında tüm meta verilerin (başlık, yazar) kaybolacağını unutmayın.

Şablon oluşturma ve kullanma ile ilgili tüm ayrıntılar Pandoc'un mükemmel kılavuz sayfasında bulunabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.