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

使用TinyTeX编译含西里尔字符的.Rmd文件为PDF时出现显示问题

解决Rmd编译PDF西里尔字符显示异常问题

方法一:指定系统支持西里尔的字体(推荐)

Ubuntu默认自带DejaVu Sans等支持西里尔字符的字体,直接在Rmd的YAML配置中指定即可:

修改你的Rmd文件头部为:

---
title: "test"
output:
  pdf_document: 
    latex_engine: xelatex
    mainfont: DejaVu Sans
  html_document: default
---

Това е тест

编译后西里尔字符应该能正常显示。如果DejaVu Sans不行,也可以尝试其他系统字体,比如Noto Sans、Arial(需提前安装)等。

方法二:通过TinyTeX安装西里尔语言包

如果想使用LaTeX原生的西里尔字体包,可通过TinyTeX的包管理器安装:

  1. 在R中运行以下命令安装语言包:
tinytex::tlmgr_install("texlive-lang-cyrillic")

或者在终端执行(需确保TinyTeX已加入系统PATH):

tlmgr install texlive-lang-cyrillic
  1. 安装完成后,创建preamble.tex文件,内容为:
\usepackage[T2A]{fontenc}
\usepackage[bulgarian]{babel}
\usepackage{cmap} % 确保PDF文本可复制

然后在Rmd的YAML中引用该前置文件:

---
title: "test"
output:
  pdf_document: 
    latex_engine: xelatex
    includes:
      in_header: preamble.tex
  html_document: default
---

Това е тест

注意事项

  • 确保你的Rmd文件保存为UTF-8编码(RStudio默认是UTF-8,可在「文件->保存编码」中确认)。
  • xelatex引擎依赖系统字体或LaTeX字体包,方法一操作更简单,适合大多数场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:15:40