我尝试在 RStudio 中使用 knitr、tikz 和 xelatex。最小示例:
%-*- program: xelatex -*-
% !Rnw weave = knitr
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{fontspec}
\usepackage{tikz}
\begin{document}
<<test, dev='tikz'>>=
plot(1)
@
Add some text äöüäöü
\end{document}
如果我按原样编译,我会收到“错误:无法将 figure/test-1.tikz 编译为 PDF”。
如果我删除 fontspec,它可以正常编译但不会显示öäüöäü。
如果我删除 R 代码,它可以与öäüöäü 一起正常编译。
sessionInfo()
## R version 3.3.1 (2016-06-21)
## Platform: x86_64-apple-darwin13.4.0 (64-bit)
## Running under: OS X 10.11.6 (El Capitan)
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] knitr_1.14
##
## loaded via a namespace (and not attached):
## [1] magrittr_1.5 formatR_1.4 tools_3.3.1
## [5] filehash_2.3 stringi_1.1.1 grid_3.3.1
## [9] evaluate_0.9
谢谢你的帮助。
答案1
好的,我找到了解决方案:
添加线条
<<pre_load>>=
options(tikzDefaultEngine='xetex')
@
紧接着
\begin{document}
并确保它没有被缓存。为什么只有 fontspec 才需要这个,我不明白。