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-bodywith를 사용할 때도 마찬가지 입니다 \end{document}.

이것이 내가 사용하는 명령입니다.

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

답변:


20

알다시피 --include-in-headerPandoc의 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.