Ошибка с функцией R при использовании Knitr в Lyx

Я получаю сообщение об ошибке при использовании функции summary() с использованием Knitr в Lyx. Функции, предшествующие этому, работают.

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

Я ввожу этот код через Insert Tex Code в Lyx. Я только что проверил, я могу запустить резюме (teengamb), но не резюме (MDL). Оба кода работают в RStudio.

Ошибка "Неопределенная последовательность управления" с описанием "\end{verbatim} ..."

1 ответ

Эта проблема была решена в knitr после версии 1.1. Вам не нужно ничего менять в LyX или R. На данный момент вы можете установить версию для разработки из:

install.packages('knitr', repos = 'http://www.rforge.net/')

Пожалуйста, игнорируйте оба ответа ниже:


Я наконец выяснил причину этой ошибки (это самая глубокая ошибка, которую я когда-либо видел). Это потому что upquote пакет не работает, если T1 кодировка объявляется после загрузки, например

\documentclass{article}
\usepackage{upquote}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}

Но если мы переедем upquote после fontenc, оно работает:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{upquote}
\begin{document}
\begin{verbatim}
'
\end{verbatim}
\end{document}

Или просто не используйте кодировку T1 - снимите флажок перед кодировкой шрифта в настройках:

Причина, по которой пользователи Ubuntu не смогли воспроизвести проблему, заключалась в том, что upquote.sty был из дерева texmf R вместо того, что в TeXLive, и версия R upquote работает.

Другой способ решить эту проблему - добавить текстовое дерево R в MikTeX под Windows.

Пожалуйста, игнорируйте ответ ниже:


поскольку 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 среда.

Из приведенных выше комментариев ни @mrdwab, ни я не смогли воспроизвести проблему. Я предполагаю, что в установке OP LaTeX должно быть что-то странное.

Другие вопросы по тегам