在Lyx中使用Knitr的R函数出错

Sab*_* CN 5 latex r lyx knitr

在Lyx中使用带有Knitr的summary()函数时出错.它之前的功能有效.

<<>>=
library(faraway)
head(teengamb)
mdl <- lm(gamble ~ sex + status, data=teengamb) 
summary(mdl)
@
Run Code Online (Sandbox Code Playgroud)

我通过Lyx中的Insert Tex Code输入此代码.我刚刚测试过我可以运行摘要(teengamb)而不是摘要(mdl).这两个代码都适用于RStudio.

错误是"未定义的控制序列",描述为"\ end {verbatim} ..."

Yih*_*Xie 6

此问题已在knitr1.1版之后解决.您无需在LyX或R中更改任何内容.现在,您可以从以下位置安装开发版本:

install.packages('knitr', repos = 'http://www.rforge.net/')
Run Code Online (Sandbox Code Playgroud)

请忽略以下两个答案:


我终于找到了这个错误的原因(这是我见过的最深的错误).这是因为upquote如果在T1加载后声明编码,则包不起作用,例如

\documentclass{article}
\usepackage{upquote}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
Run Code Online (Sandbox Code Playgroud)

但是,如果我们移动upquotefontenc,它的工作原理:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{upquote}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}
Run Code Online (Sandbox Code Playgroud)

或者只是不使用T1编码 - 取消选中首选项中字体编码前的复选框:

Ubuntu用户无法重现问题的原因是因为upquote.sty来自R的texmf树而不是TeXLive中的那个,以及R的版本upquote.

解决问题的另一种方法是在Windows下将R的texmf树添加到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 
Run Code Online (Sandbox Code Playgroud)

该错误来自该行Signif. codes,我不明白为什么这些字符中的任何一个都可能导致LaTeX中的错误:所有这些都是ASCII并且应该在verbatim环境中工作.

从上面的评论来看,@ mrdwab和我都无法重现这个问题.我想OP的LaTeX安装一定有些奇怪.