【问题标题】:utf8 in plot labels using knitr使用knitr的绘图标签中的utf8
【发布时间】:2012-10-02 17:15:58
【问题描述】:

无法使用knitr将以下Rnw文档编译成pdf

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

<<>>=
hist(rnorm(100),main="Гистограмма")
@

\end{document}

有英文标签一切正常。


编辑 1: 现在我有两个版本的pdf。在the first one 中,字母被替换为点。

the second one 中,所有字母都重叠。第二个是使用附加代码块生成的

<<>>=
pdf.options(encoding = "CP1251")
@

我使用的是 Ubuntu 12.04 + R 2.14 + Texlive。


编辑 2:

目前我找到了以下部分解决方案:

<<>>=
cairo_pdf("figure.pdf")
hist(rnorm(100),main="Гистограмма")
dev.off()
@
\includegraphics{figure.pdf}

编辑 3:

使用以下代码:

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

<<dev='cairo_pdf'>>=
hist(rnorm(100),main="Гистограмма")
@

\end{document}

我得到一个正确的直方图,带有lot of WARNINGS。如何避免或至少抑制它们?


终于!乌拉!

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

<<dev='cairo_pdf',warning=FALSE>>=
hist(rnorm(100),main="Гистограмма")
@

\end{document}

我可以避免警告吗?有人可以用编码和警告向我解释所有这些东西吗?

【问题讨论】:

  • 会发生什么而不是 pdf 编译?您收到错误还是只是挂起?
  • 哦,可怕的本地化。昨天我和它发生了口角,我想我失去了很大一部分头发。
  • sebastian-c,我添加了两个指向生成的 pdf 的链接
  • 您可以简单地使用&lt;&lt;dev='cairo_pdf'&gt;&gt;= 作为第二种解决方案;见yihui.name/en/2012/06/enjoyable-reproducible-research
  • 要禁止警告,请使用块选项warning=FALSE

标签: r plot knitr


【解决方案1】:

您可能需要设置pdf.options(encoding = 'your_encoding');请参阅https://github.com/yihui/knitr/issues/172 我不完全确定这里的编码到底应该是什么。

【讨论】:

  • 我试过pdf.options(encoding = 'CP1251')。它使所有字母重叠。
猜你喜欢
  • 2023-03-30
  • 2013-02-06
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多