博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pandoc PDF 中文
阅读量:4637 次
发布时间:2019-06-09

本文共 1621 字,大约阅读时间需要 5 分钟。

最近终于又决定(^_^)使用reStructuredText写文档了,输出PDF时的中文问题必须要解决下。

安装环境

sudo apt install texlive texlive-latex-extra texlive-latex-recommended texlive-xetex pandoc

非Debian或Windows请自行google之

LaTeX中文

这个PDF的中文问题,其实就是LaTeX的中文问题,因为所有的PDF生成方式,都是先生成TeX和LaTeX文件的。

在XeTeX问世之前,在TeX里搞中文是一件比较费劲的事,好在XeTeX已经存在很多年了,XeTeX解决了Unicode和字体问题,但是排出来的中文断行,标点处理上还不太好,于是国人就写了这个宏包,概括一下,XeTeX+xeCJK之后,TeX中写中文就和写英文差不多友好了。

在linux-wiki.cn上有一篇写的文章,略微有一点老,不过大意是没有变化,我把那的代码粘贴到这里

\documentclass[11pt]{article}\usepackage[BoldFont,SlantFont,CJKsetspaces,CJKchecksingle]{xeCJK}\setCJKmainfont[BoldFont=SimHei]{SimSun}\setCJKmonofont{SimSun}% 设置缺省中文字体\parindent 2em   %段首缩进 \begin{document}\section{举例}\begin{verbatim}标点。\end{verbatim} 汉字Chinese数学$x=y$空格\end{document}

根据,我认为以上的代码需要改成现在这个形式,如果文档是正确的话

\documentclass[11pt]{article}\usepackage[AutoFakeBold=true,AutoFakeSlant=true,CJKspace=true,CheckSingle=true,PunctStyle=kaiming]{xeCJK}\setCJKmainfont[BoldFont=SimHei]{SimSun}\setCJKmonofont{SimSun}% 设置缺省中文字体\parindent 2em   %段首缩进 \begin{document}\section{举例}\begin{verbatim}标点。\end{verbatim} 汉字Chinese数学$x=y$空格\end{document}

注:xeCJK现在是CTeX-kit中的一员,在

Pandoc的LaTeX

pandoc可以转换很多格式,其中就包含reST,使用xelatex转换为PDF的命令行,基本格式为

pandoc -t latex --latex-engine=xelatex -s -o xxx.pdf xxx.rst

直接执行这条命令,当然是不好使的,因为没有使用xeCJK,也未指定中文字体。

pandoc在转换latex的时候,会使用一个默认的模板文件,这个模板文件可以使用如下命令查看

pandoc -D latex

我们当然可以使用自己的模板,具体参考,不过我发现如果要求不高,默认的模板也是可以输出中文的,需要定义两个variable,我们这里直接使用命令行的方式传递变量值

pandoc -t latex --latex-engine=xelatex -s -VCJKoptions=BoldFont="SimHei" -VCJKmainfont="SimSun" -o xxx.pdf xxx.rst

今天就到这里,后面继续研究使用rst2pdf和sphinx来将reST文档转换为PDF

 

转载于:https://www.cnblogs.com/windtail/p/8260193.html

你可能感兴趣的文章
LOJ 2537 「PKUWC2018」Minimax
查看>>
使用java中replaceAll方法替换字符串中的反斜杠
查看>>
Android初学第36天
查看>>
Some configure
查看>>
json_encode时中文编码转正常状态
查看>>
流量调整和限流技术 【转载】
查看>>
Axure 全局辅助线(转)
查看>>
正由另一进程使用,因此该进程无法访问此文件。
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
MyEclipse安装Freemarker插件
查看>>
计算多项式的值
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
TMS320F28335项目开发记录2_CCS与JTAG仿真器连接问题汇总
查看>>
最强的篮球队和马尔可夫模型
查看>>
hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
查看>>
cocos2d-x 音效中断问题
查看>>
子分类账知识学习(汇总网上比较有用的资料)
查看>>
pyQt 每日一练习 -- 登录框
查看>>