2013-12-16 10 views
7

При использовании knitr с классом типа apa6e фрагменты кода по умолчанию удваивают пространство, как и весь документ. Это нежелательно.knitr single space code when class defaults double space (Rnw)

Это может быть изменено обертывание:

\begin{singlespace} 
<<*>>= 
CODE 
@ 
\end{singlespace} 

Как это может быть сделано во всем мире, а не упаковка с текс отдельных космических тегах?

MWE .Rnw файл

\documentclass[leavefloats]{apa6e} 
\usepackage[american]{babel} 
\usepackage{csquotes} 
\usepackage[style=apa,backend=biber,bibencoding=latin1]{biblatex} 
\DeclareLanguageMapping{american}{american-apa} 

\begin{document} 

<<setup, include=FALSE, cache=FALSE>>= 
# set global chunk options 
opts_chunk$set(fig.path='figure/minimal-', fig.align='center', fig.show='hold') 
options(replace.assign=TRUE,width=90) 
library(ggplot2); library(xtable) 
@ 

\title{MWE} 
\shorttitle{MWE} 
\author{Tyler Rinker} 
\date{\today} 
\authornote{\dots} 
\abstract{This is an example of an abstract in APA.} 
\maketitle 


<<foo>>= 
x <- "Got me some code" 
y <- "look another line" 
paste(x, y) 
@ 

\begin{singlespace} 
<<bar>>= 
x <- "Got me some code" 
y <- "look another line" 
paste(x, y) 
@ 
\end{singlespace} 

\end{document} 

ответ

8

Вы можете переопределить knitrout (который по умолчанию пустой), чтобы поместить knitr выход в singlespace среде:

\renewenvironment{knitrout}{\begin{singlespace}}{\end{singlespace}} 
+0

отлично работает. Спасибо. –