如何使用 Pandoc 处理双字节字符?

如何使用 Pandoc 处理双字节字符?

我正在尝试将 Markdown 文档转换为 PDF。使用以下方法可完成以下工作pandoc test.md -o test.pdf

# Test

Testing

但是这个

# Test

日本語

给了我一个错误:

! Package inputenc Error: Unicode char 日 (U+65E5)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...

l.62 日

Try running pandoc with --latex-engine=xelatex.
pandoc: Error producing PDF

使用--latex-engine=xelatex似乎没有帮助。我在 Mac OS X 上使用 pandoc 1.19.2.1。

使用 markdown-pdf 包(https://atom.io/packages/markdown-pdf) 也可以使用,但是由于其他原因我需要使用 Pandoc。

答案1

问题不在于双字节字符,而在于你需要告诉 Pandoc 它应该告诉 LaTeX 使用 CJK 字体。

对我来说,macOS 上当前的 Pandoc 版本 2.5 有效:

  1. 您现在需要使用--pdf-engine=lualatexxelatex(不再需要--latex-engine)。
  2. 您需要安装'xecjk'在您的 LaTeX 安装包中。
  3. 您需要添加-V CJKmainfont=...到您的命令行。
  4. 您需要在系统上安装适当的字体,例如《ST歌》

因此,情况如下:

pandoc \
  --pdf 引擎=lualatex \
  -V CJKmainfont="STSong" \
  -o 输出.pdf \
   测试.md

相关内容