是 fandol 字体缺字,Ubuntu 下 ctex 默认使用 fandol,所以出现了这个问题。Ubuntu 和 Windows的字体都是可以的:
---
documentclass: ctexart
classoption:
# - fontset=windows
- fontset=ubuntu
output:
rticles::ctex:
keep_tex: yes
---
下面二字显示不出来:皞觍
> sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.10
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=zh_CN.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.0.3 htmltools_0.5.1.1 tools_4.0.3 rticles_0.18 yaml_2.2.1 rmarkdown_2.7 knitr_1.31
[8] xfun_0.21 digest_0.6.27 rlang_0.4.10 evaluate_0.14
如果真的遇到了 Windows 字体才有的字,可以把所有 Windows 字体复制到 Ubuntu,然后使用 fontset=windows
选项。