2012-11-17 32 views
7

Đây là mã MWE của tôi.Mã chunk nằm trong khung Beamer

\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

Tôi đang đấu tranh để giữ mã R đoạn trong khung Beamer. Tôi tự hỏi cách hiệu quả để quản lý các mã chunk R như vậy mà họ ở bên trong khung Beamer là gì. Cảm ơn

+1

Việc sử dụng một cái gì đó như 'tidy.source' từ gói định dạngR có phải là một tùy chọn không? – Dason

+0

'knitr' sử dụng' tidy.source' theo mặc định và chiều rộng được xác định bởi 'getOption ('width')' –

Trả lời

5

Cách tiếp cận tốt nhất là tắt tùy chọn tidy bằng cách tidy=FALSE và ngắt thủ công các đường của bạn.

<<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) 
@ 

Điều này sẽ luôn hoạt động. Cách khác là đặt width nhỏ hơn trong options() (knitr FAQ 8) và bạn có thể cần phải thử một vài lần cho một lý tưởng width. Trong trường hợp của bạn, 60 dường như là quá lớn.

+2

Nó cũng có thể giúp giảm lề văn bản một chút, ví dụ: đặt '\ setbeamersize {text margin left = 16pt, text margin right = 16pt}' trong phần mở đầu của bạn, như [trong câu trả lời này] (http://tex.stackexchange.com/a/204205/21118). –

Các vấn đề liên quan