R Markdown编译PDF出现inputenc包Unicode字符不支持错误如何解决
R Markdown编译PDF Unicode字符报错解决方法
- 方案1:更换LaTeX编译引擎
这是最便捷的解决方案,默认的pdflatex对Unicode字符支持有限,切换为xelatex或lualatex即可直接兼容绝大多数特殊Unicode字符。只需修改Rmd文件开头的YAML配置:
--- title: "你的文档标题" output: pdf_document: latex_engine: xelatex ---
- 方案2:定位并删除异常控制字符
报错提到的U+0013是不可见的设备控制字符,通常是从其他地方复制粘贴内容时意外带入的。你可以运行以下R代码定位该字符的位置:
# 替换为你的Rmd文件路径 rmd_content <- readLines("Modelos-de-volatilidad.Rmd") # 输出包含异常字符的行号 which(grepl("\u0013", rmd_content)) # 输出包含异常字符的行内容 grep("\u0013", rmd_content, value = TRUE)
找到对应行后删除不可见的异常字符,即可用默认的pdflatex编译。
- 方案3:配置LaTeX忽略异常字符
如果不想修改引擎也找不到异常字符,可以在YAML配置中声明让LaTeX忽略该字符,不抛出报错:
--- title: "你的文档标题" output: pdf_document header-includes: - \DeclareUnicodeCharacter{0013}{} ---
内容的提问来源于stack exchange,提问作者L Roa
相关产品推荐
相关产品推荐

