Soc*_*llo 7 r rstudio knitr r-markdown
我在RStudio中准备一份rmarkdown文档时遇到问题.
我正在导入包含变音符号"ü"的德语数据集.当将表读入RStudio时,我必须将变音符号包含在字符串中.
除了在ü之后,文本成为它应该是颜色的倒数这一事实之外,文档的产生没有任何问题.我创建了一个可以重现问题的MWE.
在MWE中,第一个块像我期望的那样呈现,但是在第二个块中,在"lücky"之后,剩余的字符串元素是黑色的.
有办法避免这种情况吗?
---
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)
我使用 pdflatex 作为 LaTeX 引擎来重现这种奇怪的效果。另外,我已将“保留用于生成 PDF 的 tex 源”选项标记为 TRUE。\n奇怪的效果很容易重现,并且在文本源中我找到了原因:
\n\nWhen 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}\nRun Code Online (Sandbox Code Playgroud)\n\n\xc3\xbc 发生标记从预期的 StringTok 更改为 NormalTok 到所有后续字符串。\n这就是格式更改的原因。
\n\n所以从我的角度来看,这与渲染引擎有关。
\n