7

Here is my MWE code.

\documentclass{beamer}
\begin{document}

<<setup, include=FALSE>>=
# smaller font size for chunks
opts_chunk$set(size = 'footnotesize')
options(width=60)
@


\begin{frame}[fragile]
\frametitle{Test1}

<<boring-random>>=
y <- c(5, 7, 15, 17, 17, 19)
Trt <- gl(n = 3, k = 2, length = 3 * 2, labels = paste("Trt",
1:3, sep = ""), ordered = FALSE)
Data <- data.frame(Trt, y)
Fit1 <- aov(formula = y ~ Trt, data = Data, contrasts = list(Trt = "contr.sum"))
ANOVA1 <- anova(Fit1)
Coeffs1 <- coefficients(Fit1)
@
\end{frame}

\end{document}

enter image description here

I'm struggling to keep the R chunk code within the Beamer frame. I wonder what is the efficient way to manage the R chunk codes such that they stay inside the Beamer frame. Thanks

MYaseen208
  • 22,666
  • 37
  • 165
  • 309

1 Answers1

5

The best approach is to turn off the tidy option by tidy=FALSE, and manually break your lines.

<<boring-random, tidy=FALSE>>=
y <- c(5, 7, 15, 17, 17, 19)
Trt <- gl(n = 3, k = 2, length = 3 * 2, labels = paste("Trt",
  1:3, sep = ""), ordered = FALSE)
Data <- data.frame(Trt, y)
Fit1 <- aov(formula = y ~ Trt, data = Data,
  contrasts = list(Trt = "contr.sum"))
ANOVA1 <- anova(Fit1)
Coeffs1 <- coefficients(Fit1)
@

This will always work. The other way is to set smaller width in options() (knitr FAQ 8), and you probably need to try a few times for an ideal width. In your case, 60 is apparently too big.

Yihui Xie
  • 28,913
  • 23
  • 193
  • 419
  • 2
    It can also help to decrease the text margins slightly, e.g. put `\setbeamersize{text margin left = 16pt, text margin right = 16pt}` in your preamble, as [in this answer](http://tex.stackexchange.com/a/204205/21118). – Heather Turner Apr 29 '15 at 10:12