Używam knitr 1.1. w wersji 3.0.0 iw środowisku WinEdt (RWinEdt 2.0). Mam problem z dzianiną rozpoznającą szwedzkie postacie (ä, ö, å). To nie jest problem z R; znaki te są nawet rozpoznawane w nazwach plików, nazwach katalogów, obiektach itp. W Sweave nie stanowiło to problemu.Non-angielskie znaki specjalne w knitr
Mam już \usepackage[utf8]{inputenc}
w moim dokumencie, ale knitr nie wydaje się w stanie obsłużyć znaków specjalnych. Po uruchomieniu programu knitr pojawia się następujący komunikat:
Warning in remind_sweave(if (in.file) input) :
It seems you are using the Sweave-specific syntax; you may need Sweave2knitr("deskriptiv 130409.Rnw") to convert it to knitr
processing file: deskriptiv 130409.Rnw
(*) NOTE: I saw chunk options "label=läser_in_data"
please go to http://yihui.name/knitr/options (it is likely that you forgot to
quote "character" options)
Error in parse(text = str_c("alist(", quote_label(params), ")"), srcfile = NULL) :
1:15: unexpected input
1: alist(label=lä
^
Calls: knit ... parse_params -> withCallingHandlers -> eval -> parse
Execution halted
Szczególną etykietą, na którą się skarży, jest label = läser. Zmiana etykiety nie wystarczy, ponieważ knitr nawet narzeka, że obiekty R używają äåö.
Użyłem Sweave2knitr(), ponieważ plik pierwotnie został stworzony dla Sweave, ale wynik nie był lepszy: teraz wszystkie äåö zostały przekształcone na äpÃ, ¶, zarówno w fragmentach R, jak iw tekście lateksu, a knitr nadal wyświetla komunikat o błędzie.
informacji Sesja:
R version 3.0.0 (2013-04-03)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Swedish_Sweden.1252 LC_CTYPE=Swedish_Sweden.1252 LC_MONETARY=Swedish_Sweden.1252
[4] LC_NUMERIC=C LC_TIME=Swedish_Sweden.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_1.1
loaded via a namespace (and not attached):
[1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 stringr_0.6.2 tools_3.0.0
Jak wspomniałem są nazwy plików i przedmiotów z postaciami szwedzkich (ponieważ nie było problemu wcześniej), a także tekst musi być w języku szwedzkim.
Dziękuję za pomoc w zdobyciu dzianin do pracy poza angielskim.
Dzięki. Przynajmniej teraz jestem w stanie uruchomić knitr() na moim pliku, ale specjalne znaki nadal stanowią problem. Poprawiłem części Sweave zgodnie z knitr(). Tekst latexowy działa poprawnie, określając (w tej kolejności):
'\ usepackage [utf8] {inputenc}' '\ usepackage [T1] {fontenc}'. – user2266041
@ user2266041 Jeśli masz pewność, że używasz UTF-8, odpowiedź Gilberta powinna działać. –