2012-06-26 28 views
7

Kilka dni temu zacząłem pisać na niemieckim R-Script. Niestety, kod następujący fragment nie działa kiedy knit() dokumentu:Kodowanie knitr i UTF8

@  
<<>>= 
äö <- ordered(c(1,3,2,2)) 
@ 

Może ktoś mi pomóc rozwiązać ten problem?

PS: Pracuję z Linuksem.

Odpowiedz

6

Ponieważ używasz Linuksa, rzeczy powinny być łatwe. To prawdopodobnie tylko problem z LaTeX; co najważniejsze, czy określiłeś kodowanie swojego dokumentu? na przykład \usepackage[utf8]{inputenc}. Działa to dla mnie pod Ubuntu.

\documentclass[ngerman]{article} 
\usepackage[utf8]{inputenc} 
\begin{document} 

<<>>= 
äö <- ordered(c(1,3,2,2)) 
@ 

\end{document} 

BTW, być może nie jest dobrym pomysłem użycie znaków spoza ASCII w nazwach obiektów R, chociaż one również działają.

+0

Tak, określiłem kodowanie, ale mimo to nie działa. Jest napisane: "Nie można zanalizować kodu R ..." Odnośnie znaków spoza ASCII w nazwach obiektów: użyłem go jako przykładu. Częściej dotyczy to nazw kolumn w ramkach danych zawierających na przykład "ä" lub "ö". – beginneR

+0

Rozumiem. To wydaje się być problemem pakietu 'parser' (lub mojego błędu). Możesz spróbować 'update.packages()' i 'remove.packages (c ('parser', 'highlight'))'. Od wersji 0.6.3 'knitr' nie musi już zależeć od' parser' lub 'highlight '(https://github.com/yihui/knitr/blob/master/NEWS#L48). –

+1

Dziękuję. Zaktualizowałem knitr do 0.6.3 i teraz wszystko jest w porządku. – beginneR