font-size - Knitr 和 tikzDevice 不能与文章选项一起工作

标签 font-size knitr tikz

我对 knitrtikzDevice 有问题,就像我之前的人一样。 (参见 https://tex.stackexchange.com/questions/106057/tikzdevice-is-not-getting-sizes-right-knitr/106595#106595。)他使用 dev.args 来消除这个错误,但是如果我通过 knitr 运行这段代码(使用 rstudio),字体大小仍然是乱七八糟的。 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}

最佳答案

原来是tikzDevice包的bug,已经reported long time ago (但仍未修复)。问题是用于检测点大小的正则表达式是错误的(他们应该使用 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

关于font-size - Knitr 和 tikzDevice 不能与文章选项一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15801683/

相关文章:

r - 在 rmarkdown 的 tikz 节点标签中使用项目符号列表

latex - TikZ 编码 : How to create space between polygon and the nodes it surrounds?

css - Firefox 4 字体大小变化

css - 如何在 Monaco Editor 中设置字体大小?

Rmarkdown 不在 For In 循环中生成表

graph - 如何在 latex 上绘制加权图?

Java - 调整字体大小以适应区域

font-size - 如何在summernote中设置自定义字体大小列表?

r - 如何在 R markdown 中生成没有序言的 LaTeX 文件?

r - Markdown PDF Knit - 减号 (U+2212) 错误