这个问题已经在knitr 1.1 之后的版本中解决了。您无需更改 LyX 或 R 中的任何内容。从 CRAN 安装 knitr:
install.packages('knitr')
请忽略以下两个答案:
我终于找到了这个错误的原因(这是我见过的最深的错误)。这是因为upquote包如果在加载后声明T1编码就不起作用,例如
\documentclass{article}
\usepackage{upquote}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
但是如果我们在fontenc 之后移动upquote,它会起作用:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{upquote}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
或者只是不使用 T1 编码 -- 在首选项中取消选中字体编码之前的复选框:
Ubuntu 用户无法重现该问题的原因是,upquote.sty 来自 R 的 texmf 树,而不是 TeXLive 中的树,而 R 的 upquote 版本有效。
解决问题的另一种方法是将R的texmf树添加到Windows下的MikTeX中。
请忽略下面的答案:
由于options(show.signif.stars = FALSE) 工作,我将它作为一个可能的答案发布,但这对我来说仍然是一个非常奇怪的问题。设置show.signif.stars = FALSE 会从以下结果中删除重要代码(来自summary(mdl)):
Call:
lm(formula = gamble ~ sex + status, data = teengamb)
Residuals:
Min 1Q Median 3Q Max
-35.873 -15.755 -3.007 10.924 111.586
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 60.2233 15.1347 3.979 0.000255 ***
sex -35.7094 9.4899 -3.763 0.000493 ***
status -0.5855 0.2727 -2.147 0.037321 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 27.99 on 44 degrees of freedom
Multiple R-squared: 0.2454, Adjusted R-squared: 0.2111
F-statistic: 7.154 on 2 and 44 DF, p-value: 0.002042
错误来自Signif. codes 行,我不明白为什么这些字符中的任何一个都可能导致 LaTeX 中的错误:它们都是 ASCII 并且应该在 verbatim 环境中工作。
从上面的 cmets 中,@mrdwab 和我都无法重现该问题。我想 OP 的 LaTeX 安装一定有什么奇怪的地方。