2015-08-15 6 views
1

В BEAMER презентации с использованием knit2pdf() и LaTeX, я иногда найти этот код в кусках получает завернуты, хотя я поставил tidy=FALSE во всем мире. Например, этот фрагмент:knitr: код на куски получает завернуты неожиданно

\item Fit this using \func{glm}: 
<<berk-logit2, size='footnotesize'>>= 
berkeley <- as.data.frame(UCBAdmissions) 
berk.logit2 <- glm(Admit == "Admitted" ~ Dept + Gender, 
        data = berkeley, weights = Freq, family = "binomial") 
@ 

Появляется так:

enter image description here

Обратите внимание, что все три линии обернуты, как в режиме пункта. Строка с отступом в куске кода использует пробелы, а не вкладки.

Когда я смотрю на файл .tex, ничего странного, это строки, указанные alltt. ОК.

\item Fit this using \func{glm}: 
\begin{knitrout}\footnotesize 
\definecolor{shadecolor}{rgb}{1, 0.961, 0.933}\color{fgcolor}\begin{kframe} 
\begin{alltt} 
\hlstd{berkeley} \hlkwb{<-} \hlkwd{as.data.frame}\hlstd{(UCBAdmissions)} 
    \hlstd{berk.logit2} \hlkwb{<-} \hlkwd{glm}\hlstd{(Admit} \hlopt{==} \hlstr{"Admitted"} \hlopt{~} \hlstd{Dept} \hlopt{+} \hlstd{Gender,} 
         \hlkwc{data} \hlstd{= berkeley,} \hlkwc{weights} \hlstd{= Freq,} \hlkwc{family} \hlstd{=} \hlstr{"binomial"}\hlstd{)} 
\end{alltt} 
\end{kframe} 
\end{knitrout} 

Большинство других кусков производят правильно отформатированный выход. НАПРИМЕР,

<<mice-tab, size='footnotesize' >>= 
data(Mice, package="vcdExtra") 
mice.tab <- xtabs(Freq ~ litter + treatment + deaths, data=Mice) 
ftable(litter + treatment ~ deaths, data=mice.tab) 
@ 

дает: enter image description here

Что может быть причиной этого? Моя настройка сложная, поэтому у меня нет MWE, но было бы полезно, если бы я знал, что искать.

ответ

1

Возможно, вы используете опцию кадра fragile на слайдах, где обертывание работает так, как ожидалось.

Установка \begin{frame}[fragile] производит правильный результат, который вы показали на mice-tab порции:

\documentclass{beamer} 
\begin{document} 

<<echo = FALSE>>= 
library(knitr) 
opts_chunk$set(size = "footnotesize", 
       eval = FALSE, 
       tidy = FALSE) 
@ 

\begin{frame}[fragile] 
With fragile: 
<<berk-logit2-fragile>>= 
    berkeley <- as.data.frame(UCBAdmissions) 
    berk.logit2 <- glm(Admit == "Admitted" ~ Dept + Gender, 
        data = berkeley, weights = Freq, 
        family = "binomial") 
@ 

<<mice-tab-fragile>>= 
data(Mice, package="vcdExtra") 
mice.tab <- xtabs(Freq ~ litter + treatment + deaths, data=Mice) 
ftable(litter + treatment ~ deaths, data=mice.tab) 
@ 
\end{frame} 

\begin{frame} 
Not fragile: 
<<berk-logit2>>= 
    berkeley <- as.data.frame(UCBAdmissions) 
    berk.logit2 <- glm(Admit == "Admitted" ~ Dept + Gender, 
        data = berkeley, weights = Freq, 
        family = "binomial") 
@ 

<<mice-tab>>= 
data(Mice, package="vcdExtra") 
mice.tab <- xtabs(Freq ~ litter + treatment + deaths, data=Mice) 
ftable(litter + treatment ~ deaths, data=mice.tab) 
@ 
\end{frame} 
\end{document} 

With "fragile"

Without "fragile"

+0

Именно это! Я привык иметь фрейм с кодом, но без '[хрупкого]' выдает ошибку, и я пропустил это. – user101089

 Смежные вопросы

  • Нет связанных вопросов^_^