繁体   English   中英

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

[英]Some Unicode characters not displayed in RMarkdown PDF output

我正在尝试将一些课程笔记放在一起作为PDF,并且无法正常显示某些Unicode字符。

使用xelatex latex引擎对于完全呈现文档是必要的(使用默认引擎会因无法识别的字符而导致错误),但是,只有第一个Unicode字符(大写增量)才能正确显示。

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

---
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
  • pandoc 1.17.2
  • XeTeX 3.14159265-2.6-0.99996
  • 区域设置:en_US.UTF-8

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

---
output:
  pdf_document:
    latex_engine: xelatex
mainfont: FreeMono
---

- works - Δ
- doesn't work - ⌘

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM