当€在标题中时,pandoc转换为pdf失败

时间:2017-05-17 18:37:14

标签: pandoc xelatex miktex euro tex-live

LaTeX中的Windows 10 \ euro

我有MiKTeX 2.9.6300 64-bitxelatex eurosym其中eurosym.tex包含以下LaTeX代码:

\documentclass{article}

\usepackage{eurosym}

\begin{document}

\section{2\euro{}}    % (this line fails if eurosym package isn't called)

2€    % (this € symbol is lost if compiled with pdflatex instead of xelatex)

\end{document}

- 输出符合预期:

Pandoc on Win10 eurosym呼叫失败

我的pandoc-templates/default.latex本地副本正确包含了这个电话:

$if(euro)$
  \usepackage{eurosym}
$endif$

我已经安装了pandoc v1.19.2.1,因此当pandoc eurosym.md -o eurosym.pdf --latex-engine=xelatex包含以下内容时,我希望eurosym.md可以正常工作:

# 2€
2€

- 但实际上我得到了:

! Improper alphabetic constant.
<to be read again>
                   \euro
l.70 \section{2\euro{}}

pandoc.exe: Error producing PDF

- 为什么命令\euro{}在Pandoc失败?

与Arch Linux上的Pandoc相同

pandoc 1.19.2.1-90,致电texlive-bin 2016.41290-12,并使用jgm's default.latex我得到:

! Improper alphabetic constant.
<to be read again>
                   \euro
l.35 \section{2\euro{}}

pandoc: Error producing PDF

但是我可以通过评论第76行\usepackage[unicode=true]{hyperref}(然后是第80-98行和第253行,两个\hypersetup{...}子句,并按预期工作 第99行,\urlstyle{same}需要hyperref)jgm&#39; default.latex

发现there is a more current default.latex,我尝试了那个,而Pandoc再次失败了\euro

结论似乎是以某种方式欧元和&amp; hyperref在Pandoc

中互不兼容

所以我创建了一个新问题:eurosym in Pandoc seems to be incompatible with hyperref #3801

1 个答案:

答案 0 :(得分:1)

您必须仅使用pdflatex \usepackage{eurosym}。 XeLaTeX具有unicode感知功能,您可以直接使用欧元符号。

默认的pandoc模板因此包装在一个&#34;如果是pdftex&#34;,您在修改模板时可能错过了:

\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex

...

$if(euro)$
  \usepackage{eurosym}
$endif$
...

\fi