RStudio knitr markdown,德语变音符号导致文本在代码块中变为绿色

Soc*_*llo 7 r rstudio knitr r-markdown

我在RStudio中准备一份rmarkdown文档时遇到问题.
我正在导入包含变音符号"ü"的德语数据集.当将表读入RStudio时,我必须将变音符号包含在字符串中.

除了在ü之后,文本成为它应该是颜色的倒数这一事实之外,文档的产生没有任何问题.我创建了一个可以重现问题的MWE.
在MWE中,第一个块像我期望的那样呈现,但是在第二个块中,在"lücky"之后,剩余的字符串元素是黑色的.

有办法避免这种情况吗?

MWE输出

---
output: pdf_document
---

## MWE
When I use a normal 'u' in lucky everything looks fine
```{r }
a <- c('dog', 'cat', 'rabbit', 'lucky', 'pig', 'sheep', 'goat')
```

When I use a German 'ü' in lucky, the green text is the inverse of as it should be
```{r }
a <- c('dog', 'cat', 'rabbit', 'lücky', 'pig', 'sheep', 'goat')
```
Run Code Online (Sandbox Code Playgroud)

与更新sessionInfo()options('encoding'):

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.5.1  backports_1.1.2 magrittr_1.5    rprojroot_1.3-2 htmltools_0.3.6
 [6] tools_3.5.1     yaml_2.2.0      Rcpp_0.12.18    stringi_1.2.4   rmarkdown_1.10 
[11] knitr_1.20      stringr_1.3.1   digest_0.6.16   evaluate_0.11

> options('encoding')
$`encoding`
[1] "native.enc"
Run Code Online (Sandbox Code Playgroud)

squ*_*r44 0

我使用 pdflatex 作为 LaTeX 引擎来重现这种奇怪的效果。另外,我已将“保留用于生成 PDF 的 tex 源”选项标记为 TRUE。\n奇怪的效果很容易重现,并且在文本源中我找到了原因:

\n\n
When I use a normal `u' in lucky everything looks fine\n\n\\begin{Shaded}\n\\begin{Highlighting}[]\n\\NormalTok{a <-}\\StringTok{ }\\KeywordTok{c}\\NormalTok{(}\\StringTok{'dog'}\\NormalTok{, }\\StringTok{'cat'}\\NormalTok{, }\\StringTok{'rabbit'}\\NormalTok{, }\\StringTok{'lucky'}\\NormalTok{, }\\StringTok{'pig'}\\NormalTok{, }\\StringTok{'sheep'}\\NormalTok{, }\\StringTok{'goat'}\\NormalTok{)}\n\\end{Highlighting}\n\\end{Shaded}\n\nWhen I use a German `\xc3\xbc' in lucky, the green text is the inverse of as it\nshould be\n\n\\begin{Shaded}\n\\begin{Highlighting}[]\n\\NormalTok{a <-}\\StringTok{ }\\KeywordTok{c}\\NormalTok{(}\\StringTok{'d\xc3\xbcg', '}\\NormalTok{cat}\\StringTok{', '}\\NormalTok{rabbit}\\StringTok{', '}\\NormalTok{l\xc3\xb6cky}\\StringTok{', '}\\NormalTok{p\xc3\xb6g}\\StringTok{', '}\\NormalTok{sheep}\\StringTok{', '}\\NormalTok{goat}\\StringTok{')}\n\\end{Highlighting}\n\\end{Shaded}\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc3\xbc 发生标记从预期的 StringTok 更改为 NormalTok 到所有后续字符串。\n这就是格式更改的原因。

\n\n

所以从我的角度来看,这与渲染引擎有关。

\n