首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些Unicode字符未显示在RMarkdown PDF输出中

某些Unicode字符未显示在RMarkdown PDF输出中
EN

Stack Overflow用户
提问于 2016-08-29 12:21:40
回答 1查看 3.8K关注 0票数 6

我正在尝试将一些课程笔记作为PDF格式,并且在正确显示某些Unicode字符时遇到了困难。

使用[医]木贼 latex引擎是文档完全呈现所必需的(使用默认引擎会导致由于无法识别的字符而导致错误),但是,只有第一个Unicode字符(大写的增量)被正确显示。

例如,当使用rmarkdown render()函数呈现以下.Rmd文件时:

代码语言:javascript
复制
---
output:
  pdf_document:
    latex_engine: xelatex
---

- works - Δ
- doesn't work - ⌘

得到的PDF只显示第一个unicode字符(大写增量),而不显示后一个字符(圆环方格)。

我知道不同字符集构成了完整的UTF-8字符编码,所以似乎只支持更基本的子集。

为了确定,我使用iconv -f UTF-8 your_file -o /dev/null [1]检查了文件的编码,它确实是一个有效的UTF-8文档。

最后,使用默认选项将文档呈现为HTML格式,因此这个问题是针对PDF输出的。

有什么想法,如何使第二个字符渲染成PDF?

系统信息

  • Linux 64位
  • R 3.3.1
  • rmarkdown 1.0
  • 潘多克1.17.2
  • XeTeX 3.14159265-2.6-0.99996
  • 地点:en_en.US.UTF 8
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-29 13:18:21

问题可能是默认字体没有该字符。你需要找到一个有它的字体。在Linux上,fc-list列出计算机上可用的字体。选择一个,并把它添加到你的yaml前端:

代码语言:javascript
复制
---
output:
  pdf_document:
    latex_engine: xelatex
mainfont: FreeMono
---

- works - Δ
- doesn't work - ⌘

在这里,我使用的是FreeMono,这是我发现的第一个具有⌘字符的,但是可能有一个更好的字符。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39206241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档