2012-06-26 27 views
7

Hace unos días, comencé a escribir en alemán R-Script. Por desgracia, el siguiente trozo de código no funciona cuando knit() el documento:knitr y codificación UTF8

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

Puede alguien ayudarme a solucionar este problema?

PD: Estoy trabajando con Linux.

Respuesta

6

Dado que está utilizando Linux, las cosas deberían ser fáciles. Probablemente sea solo un problema LaTeX; lo más importante, ¿especificó la codificación de su documento? p.ej. \usepackage[utf8]{inputenc}. Esto funciona para mí en Ubuntu.

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

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

\end{document} 

Por cierto, tal vez no es una buena idea utilizar caracteres no ASCII en los nombres de objetos R, aunque también funcionan.

+0

Sí, he especificado la codificación pero, no obstante, no funciona. Dice: "No se puede analizar el código R ..." Con respecto a los caracteres que no son ASCII en los nombres de los objetos: Acabo de usarlo como ejemplo. Más a menudo, se trata de colnames en marcos de datos que contienen un "ä" o "ö", por ejemplo. – beginneR

+0

Ya veo. Esto parece ser un problema del paquete 'analizador' (o mi error). Puede intentar 'update.packages()' y 'remove.packages (c ('parser', 'highlight'))'. Desde v0.6.3, 'knitr' ya no tiene que depender de' analizador' o 'resaltar' (https://github.com/yihui/knitr/blob/master/NEWS#L48). –

+1

Gracias. Actualicé knitr a 0.6.3 y ahora todo está bien. – beginneR