Knitr и кодировка UTF8

Несколько дней назад я начал писать на немецком R-Script. К сожалению, следующий фрагмент кода не работает, когда я knit() документ:

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

Может ли кто-нибудь помочь мне решить эту проблему?

PS: я работаю с линуксом.


person beginneR    schedule 26.06.2012    source источник


Ответы (1)


Поскольку вы используете Linux, все должно быть легко. Вероятно, это просто проблема LaTeX; самое главное, вы указали кодировку вашего документа? например \usepackage[utf8]{inputenc}. Это работает для меня под Ubuntu.

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

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

\end{document}

Кстати, возможно, не рекомендуется использовать символы, отличные от ASCII, в именах объектов R, хотя они тоже работают.

person Yihui Xie    schedule 27.06.2012
comment
Да, кодировку указал, но все равно не работает. Пишет: Невозможно разобрать R-код... Что касается не-ASCII-символов в именах объектов: я просто использовал это в качестве примера. Чаще это касается имен столбцов во фреймах данных, содержащих, например, ä или ö. - person beginneR; 27.06.2012
comment
Я понимаю. Похоже, это проблема пакета parser (или моя ошибка). Вы можете попробовать update.packages() и remove.packages(c('parser', 'highlight')). Начиная с версии 0.6.3, knitr больше не должен зависеть от parser или highlight (github. com/yihui/knitr/blob/master/NEWS#L48). - person Yihui Xie; 27.06.2012
comment
Спасибо. Я обновил Knitr до 0.6.3 и теперь все в порядке. - person beginneR; 27.06.2012