Knitr и tikzDevice не работают вместе с параметрами статьи

Knitr и tikzDevice не работают вместе с параметрами статьи

У меня проблема с knitrиtikzDevice , как у кого-то до меня. (См.tikzDevice не получает правильные размеры (knitr).) Он избавлялся dev.argsот этой ошибки, но если я запускаю этот код через knitrrstudio), размер шрифта все равно портится. dev.args=list(pointsize=12)у меня не работает. Единственное, что работает, это удалить a4paper,12pt. Есть идеи, что я сделал не так?

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

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

\end{document}

решение1

Ихуэй ответил на вопрос:

Это оказывается ошибкойtikzDevice , которая быласообщалось давно(но все еще не исправлено). Проблема в том, что регулярное выражение, используемое для определения размера точки, было неправильным (они должны были использовать ptвместо [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))
    }
}

Есть несколько способов исправить эту проблему. Лучший способ — это исправить ее в tikzDevice, конечно. Прежде чем это произойдет, вы можете воспользоваться этим простым трюком:

\documentclass[12pt,a4paper]{scrartcl}

То есть, переключитесь 12ptна a4paperтак, чтобы 12вместо 4можно было обнаружить.

Связанный контент