RMarkdown PDF 输出中不显示某些 Unicode 字符
Some Unicode characters not displayed in RMarkdown PDF output
我正在尝试将一些课程笔记整理成 PDF,但无法正确显示某些 Unicode 字符。
使用 xelatex 乳胶引擎是渲染文档所必需的(使用默认引擎会由于无法识别的字符而导致错误),但是,只有第一个 Unicode 字符(大写增量) ) 正确显示。
例如,当使用 rmarkdown render()
函数渲染以下 .Rmd 文件时:
---
output:
pdf_document:
latex_engine: xelatex
---
- works - Δ
- doesn't work - ⌘
生成的 PDF 仅显示第一个 unicode 字符(大写字母 delta),而不显示后面的字符(环形方块)。
我知道 different character subsets 组成了完整的 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
- pandoc 1.17.2
- XeTeX 3.14159265-2.6-0.99996
- 语言环境:en_US.UTF-8
问题可能是默认字体没有那个字符。你需要找到一个有它的字体。在 Linux 上,fc-list
列出了您计算机上可用的字体。选择一个并将其添加到您的 yaml front matter 中:
---
output:
pdf_document:
latex_engine: xelatex
mainfont: FreeMono
---
- works - Δ
- doesn't work - ⌘
在这里,我使用的是 FreeMono,这是我发现的第一个具有 ⌘ 字符的,但可能还有更好的。
我正在尝试将一些课程笔记整理成 PDF,但无法正确显示某些 Unicode 字符。
使用 xelatex 乳胶引擎是渲染文档所必需的(使用默认引擎会由于无法识别的字符而导致错误),但是,只有第一个 Unicode 字符(大写增量) ) 正确显示。
例如,当使用 rmarkdown render()
函数渲染以下 .Rmd 文件时:
---
output:
pdf_document:
latex_engine: xelatex
---
- works - Δ
- doesn't work - ⌘
生成的 PDF 仅显示第一个 unicode 字符(大写字母 delta),而不显示后面的字符(环形方块)。
我知道 different character subsets 组成了完整的 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
- pandoc 1.17.2
- XeTeX 3.14159265-2.6-0.99996
- 语言环境:en_US.UTF-8
问题可能是默认字体没有那个字符。你需要找到一个有它的字体。在 Linux 上,fc-list
列出了您计算机上可用的字体。选择一个并将其添加到您的 yaml front matter 中:
---
output:
pdf_document:
latex_engine: xelatex
mainfont: FreeMono
---
- works - Δ
- doesn't work - ⌘
在这里,我使用的是 FreeMono,这是我发现的第一个具有 ⌘ 字符的,但可能还有更好的。