在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')
```
使用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"
答案 0 :(得分:0)
我使用pdflatex作为LaTeX引擎来重现这种奇怪的效果。此外,我已将选项Keep tex source用于生成PDF标记为TRUE。 奇怪的效果很容易重现,并且在文本源中发现了原因:
When I use a normal `u' in lucky everything looks fine
\begin{Shaded}
\begin{Highlighting}[]
\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{)}
\end{Highlighting}
\end{Shaded}
When I use a German `ü' in lucky, the green text is the inverse of as it
should be
\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{a <-}\StringTok{ }\KeywordTok{c}\NormalTok{(}\StringTok{'düg', '}\NormalTok{cat}\StringTok{', '}\NormalTok{rabbit}\StringTok{', '}\NormalTok{löcky}\StringTok{', '}\NormalTok{pög}\StringTok{', '}\NormalTok{sheep}\StringTok{', '}\NormalTok{goat}\StringTok{')}
\end{Highlighting}
\end{Shaded}
ü发生标签从预期的StringTok变为NormalTok,然后变为所有后续字符串。 这就是格式更改的原因。
因此,从我的角度来看,它与渲染引擎有关。