You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下用tinytex渲染含中文的R Markdown PDF报错求助

解决TinyTeX无法识别SimHei字体的问题

1. 确认字体的正确内部名称

Windows系统中字体的内部名称可能和文件名存在差异,你可以通过以下方式确认SimHei的正确名称:

  • 打开命令提示符,执行命令 fc-list(若TinyTeX的bin目录未加入系统PATH,需指定完整路径,比如 C:\Users\<你的用户名>\AppData\Roaming\TinyTeX\bin\win32\fc-list)
  • 在输出结果中搜索“SimHei”或“黑体”,找到类似 SimHei:style=Regular 的条目,这就是字体的正确调用名称。

2. 优化CTeX配置自动调用系统字体

无需手动引入基础CTeX包,直接让CTeX自动适配Windows系统字体:
修改你的R Markdown文件头部配置为:

---
header-includes:
- \usepackage[fontset=windows]{ctex}
output:
  pdf_document:
    latex_engine: xelatex
---

fontset=windows 参数会让CTeX自动加载Windows系统中的中文字体集,避免手动指定字体时的识别问题。

3. 刷新TinyTeX的字体缓存

若仍无法识别,刷新TinyTeX的字体数据库:
打开R控制台,执行以下代码:

tinytex::tlmgr_reinstall("fontspec")
tinytex::tlmgr_run("fc-cache -fv")

这会重新安装fontspec包并强制刷新字体缓存,确保TinyTeX读取到系统已安装的字体。

4. 手动指定字体路径(备选方案)

如果以上方法均无效,直接指定SimHei字体的本地路径:
修改R Markdown头部配置为:

---
header-includes:
- \usepackage{fontspec}
- \setCJKmainfont[Path=C:/Windows/Fonts/]{simhei.ttf}
output:
  pdf_document:
    latex_engine: xelatex
---

注意路径使用正斜杠,字体文件simhei.ttf默认位于C:\Windows\Fonts目录下。

内容的提问来源于stack exchange,提问作者Phil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:15:30