网上有很多关于Pandoc生成中文文档的方法,其中包括一种最简单的利用ctex包的方法。但是在使用网上教程种方法时,遇到了一个没有相关资料的坑,分享给大家。
Latex中生成中文pdf
为使用latex了生成中文pdf文档,网上大概有两类做法:
- 使用xelatex引擎
- 使用pdflatex+ctex包
对于第二类做法,最简单直接的就是用ctexart document class. 在latex中用pdflatex运行下列代码
\documentclass[UTF8]{ctexart}
\begin{document}
这是一个CTEX的utf-8编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示}。
\end{document}
得到
正常显示中文
Pandoc+Markdown+ctexart
为了让markdown文件生成pdf文件,我们需要pandoc。为了正确的输出中文pdf,我们需要latex以及ctex。创建如下markdown文件
---
title: "test"
date: March 16, 2020
toc: true
documentclass: "ctexart"
---
哈哈哈
使用命令行
pandoc --pdf-engine pdflatex test.md -o temp.pdf
结果显示错误,中文输出为乱码。原因是pandoc在编译tex文件时没有用utf8编码进行。将上述文件改为
---
title: "test"
date: March 16, 2020
toc: true
documentclass: "ctexart"
classoption: "UTF8"
---
哈哈哈
正常输出中文pdf文档
这个坑好像网上没有人说过,分享给大家
网友评论