Joh*_*ohn 16 latex conversion pandoc
我知道我可以使用-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 ...]
Run Code Online (Sandbox Code Playgroud)
我知道这是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
Run Code Online (Sandbox Code Playgroud)
Nat*_*igg 22
正如您所发现的,--include-in-header将文本添加到 Pandoc 的 LaTeX 模板中指定的序言中。有几种方法可以做你想做的事。
如果您想要完全自定义的前导码,则需要使用指定模板文件
pandoc -o output.tex --template=FILE input.txt
Run Code Online (Sandbox Code Playgroud)
模板可以有变量(例如$title$和,更重要的是,$body$)和条件。如果你想要一些灵感,你可以使用命令查看默认模板
pandoc -D latex
Run Code Online (Sandbox Code Playgroud)如果你想一劳永逸地使用一个新模板,你可以制作一个,调用它default.latex,然后把它放在 templates 目录(~/.pandoc/templates/在 unix 机器上)。在这种情况下,您需要通过调用来指定要使用模板
pandoc -o output.tex --standalone input.txt
Run Code Online (Sandbox Code Playgroud)如果您根本不想处理模板,则可以运行
pandoc -o output.tex input.txt
Run Code Online (Sandbox Code Playgroud)
结果将是一个裸露的 LaTeX 文档,即没有序言,\begin{document}或者\end{document}. 然后你可以自己添加一个序言。请注意,使用此方法时,任何元数据(标题、作者)都将丢失。
关于如何制作和使用模板的完整细节可以在Pandoc 的优秀手册页中找到。
| 归档时间: |
|
| 查看次数: |
17401 次 |
| 最近记录: |