Knitr y tikzDevice no funcionan junto con las opciones del artículo

Knitr y tikzDevice no funcionan junto con las opciones del artículo

Tengo un problema con knitry tikzDevice, como alguien antes que yo. (VertikzDevice no obtiene los tamaños correctos (knitr).) Solía dev.args​​​​deshacerse de este error, pero si ejecuto este código knitr(con rstudio), el tamaño de fuente todavía está en mal estado. dev.args=list(pointsize=12)no me funciona. Lo único que funciona es eliminar a4paper,12pt. ¿Alguna idea sobre lo que hice mal?

\documentclass[a4paper,12pt]{scrartcl}
\begin{document}

\begin{figure}
<<dev='tikz', dev.args=list(pointsize=12)>>=
x<-1
plot(x)
@
\end{figure}

\end{document}

Respuesta1

Yihui respondió la pregunta:

Esto resulta ser un error del tikzDevicepaquete, que ha sidoreportado hace mucho tiempo(pero aún no solucionado). El problema es que la expresión regular utilizada para detectar el tamaño del punto era incorrecta (deberían haberla usado pten lugar de [pt]):

> tikzDevice:::getDocumentPointsize
function (docString) 
{
    psLocation <- regexpr("\\d+[pt]", docString, ignore.case = T, 
        perl = T)
    if (psLocation == -1) {
        return(NA)
    }
    else {
        pointsize <- substr(docString, psLocation, psLocation + 
            attr(psLocation, "match.length") - 2)
        return(as.numeric(pointsize))
    }
}

Hay varias formas de solucionar este problema. La mejor manera es arreglarlo tikzDevice, por supuesto. Antes de que eso suceda, puedes utilizar este sencillo truco:

\documentclass[12pt,a4paper]{scrartcl}

Es decir, cambie 12ptcon a4paperpara que se pueda detectar 12en lugar de .4

información relacionada