【已解决】PyLaTeX 编译中文出现乱码

最近在使用PyLaTeX编辑文档时,由于是第一次在Python中编写中文的LaTeX文档,所以遇到了以下的问题:

  1. PyLaTeX无法编译中文;
  2. 产生的.pdf文件中,中文显示为乱码。

解决步骤:
在使用PyLaTeX创建文档时,引用ctex中文宏包。代码为:

# Use ctex package
doc.packages.add(Package('ctex'))

这个时候,虽然可以创建带有中文的.tex文件了,但是在创建的.pdf文件中,中文是以乱码的形式出现的。因此,解决方法为在generate_pdf()中使用XeLaTeX编译器。代码为:

doc.generate_pdf('testPylatex5',compiler='xelatex', clean_tex=False)

其中,testPylatex5为文件名。

注意:
对于xelatex解决方案要注意的重要一点是,这需要安装latexmk,因此强烈建议安装latexmk,因为它可以根据需要编译latexbiblatex和其他文件。

在安装latexmk之前,需要先安装perl.exe,建议安装strawberry perl。然后在MikTex Consolepackage里下载安装latexmk。在安装完成后,重启计算机。

部分创建文档的代码:

if __name__ == '__main__':# Document with `\maketitle` command activateddoc = Document()doc.packages.add(Package('ctex'))doc.preamble.append(Command('title', '已解决PyLaTeX中文编译问题!!'))doc.preamble.append(Command('author', 'XXX'))doc.preamble.append(Command('date', NoEscape(r'\today')))doc.append(NoEscape(r'\maketitle'))# Add stuff to the documentwith doc.create(Section('First section')):doc.append('Some text.')with doc.create(Figure(position='h!')) as kitten_pic: kitten_pic.add_image('kitten.jpg', width='8cm') kitten_pic.add_caption('小猫') doc.generate_pdf('testPylatex5',compiler='xelatex', clean_tex=False)tex = doc.dumps() # The document as string in LaTeX syntax

创建成功的.pdf文件:

如果在交叉引用时,发生错误,可参考我的另一个文章:https://blog.csdn.net/qq_39560620/article/details/105356869

参考链接:
Github上的参考issue: https://github.com/JelteF/PyLaTeX/issues/128
generate_pdf()的官方介绍
使用miktex中使用latexmk
Strawberry perl 官方下载地址

【已解决】PyLaTeX 编译中文出现乱码相关推荐

  1. linux vlc乱码,一劳永逸解决VLC播放中文字幕乱码问题

    VLC对于Mac/Ubuntu用户来说算得上是必备软件.其相当于PC机上的"暴风影音",但Mac/Ubuntu的新手使用VLC播放avi时都会碰 到字幕乱码的问题.avi字幕的格式 ...

  2. QT学习笔记(四):Qt5+MSVC编译 中文字符显示乱码问题解决

    QT学习笔记(四):Qt5+MSVC编译 中文字符显示乱码问题解决 问题: 1.解决方法一: 2.解决方法二: 3.解决方法三: 4.解决方法四: 结果显示: Qt5+MSVC编译 中文字符显示乱码. ...

  3. 如何解决python 图表中文显示乱码问题(matlplotlib 包)

    如何解决python 图表中文显示乱码问题(matlplotlib 包) 参考文章: (1)如何解决python 图表中文显示乱码问题(matlplotlib 包) (2)https://www.cn ...

  4. python打开中文文件名_解决python打开中文文件名乱码的问题

    解决python打开中文文件名乱码的问题 发布时间:2020-07-27 11:20:22 来源:亿速云 阅读:162 作者:清晨 小编给大家分享一下解决python打开中文文件名乱码的问题,相信大部 ...

  5. 解决cv保存图片中文名称乱码 cv2.imwrite cv2.imencode

    解决opencv保存图片中文名称乱码 寮犱笁 代码 import cv2cv2.imwrite('张三.jpg') 解决办法 import cv2output_path = '张三.jpg' cv2. ...

  6. 网页突然乱码_如何解决HTML网页中文显示乱码的方法

    "无忧主机解决php网页中文显示乱码问号( ? ? ? )的一些意见"这是我在上篇中介绍的关于如何解决网页显示乱码的问题,这是在动态网站下发生的.在纯html网页下,会不会也存在的 ...

  7. 解决 Centos7 下中文显示乱码

    解决 Centos7 下中文显示乱码 博主博客 https://blog.uso6.com https://blog.csdn.net/dxk539687357 首先查看当前系统默认采用的字符集 命令 ...

  8. 如何解决HTML网页中文显示乱码

    定义网页显示编码 刚才在vim终端上随便写了段html的代码,在Google Chrome上打开中文无法被识别,造成显示出来的网页是乱码. 后来发现乱码是因为未定义网页编码,导致在浏览网页的时候,系统 ...

  9. 解决docker容器中文字符乱码问题

    在命令行中,输入中文出现乱码或者键入错误的情况: 这里我想输入:"中文",但是出现乱码. 并且,我在之前已经创建好镜像,通过镜像生成了容器. 1.使用locale查看当前容器的系统 ...

最新文章

  1. 网络波动服务器维护中,官方回应《王者荣耀》游戏无法登录:网络波动导致,已修复...
  2. UNILEVER STUDENT PROJECTS EVENT
  3. js特效 在服务器显示变形,使一行文字变形产生弯曲弧度特效的jQuery插件 - Arctext.js...
  4. wxWidgets:弹出 wxWidgets 示例
  5. .NET Windows服务应用程序
  6. sql server 高可用故障转移(6)
  7. [设计模式] javascript 之 策略模式
  8. 计算机网络安全重要性
  9. 怎么使用PDF编辑器在PDF中插入图片?PDF插入图片的教程
  10. delphi调用https
  11. global mapper将cad格式数据框选范围导出高质量图片
  12. BP神经网络公式推导
  13. 回调函数Callback
  14. 模式识别、机器学习的区别和联系
  15. win10更新失败导致电脑不能开机怎么办
  16. FrameExit:Conditional Early Exiting for Efficient Video Recognition
  17. 英雄联盟出现game_error_directx的解决办法
  18. 抖音微信消息推送情侣告白浪漫(简易版)
  19. JVM 之 JDK安装与配置
  20. numpy中的ndarray方法和属性

热门文章

  1. CAD关闭图层快捷键,隐藏显示的CAD图层
  2. 发光二极管限流电阻(学习笔记)
  3. 【嵌入式--伺服电机】(11)MIT无刷电机FOC硬件电路分析
  4. 三八节买什么数码好物?三八女神节实用不吃灰的数码好物推荐
  5. 夜神模拟器之burp抓包
  6. 【转贴】关于开发数学软件的想法
  7. 点击修改用户图像php类,php修改图像
  8. Loj #3124. 「CTS2019 | CTSC2019」氪金手游
  9. 在线字典学习(Online dictionary learning for sparse coding)-机器学习
  10. 爱奇艺财报解读:连续两个季度盈利 会员同比增收7%