在knitr中调整代码和图形输出之间的距离

时间:2015-03-24 18:19:34

标签: r knitr

我正在使用knitr编写一些关于R图形的幻灯片。我的.rnw文件中有以下代码:

\begin{frame}[fragile]

\frametitle{A Região Gráfica}

<<RegiaoGrafica01>>=
plot(0:10, 0:10)
@

\end{frame}

我的输出是

slide 02

但是,我认为情节与我的代码相差太远。我想把图表放在幻灯片上更高,而不使用像

这样的东西
\vspace{-10mm}
两个代码块之间的

(其中一个代码为eval = FALSE,另一个代码为echo = FALSE)。我搜索了knitr文档,但我找不到一个可以帮助我的选项。

我的最小可重复性示例如下:

\documentclass[10pt, compress, usetitleprogressbar]{beamer}

\usetheme{m}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}
\usepackage{minted}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[portuges]{babel}
\usepackage{bm}
\usepackage{icomma}
\usepackage[retainorgcmds]{IEEEtrantools}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{natbib}
\usepackage{shadow}
\usepackage{subfigure}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows}
\usepackage{verbatim}
\usepackage{xcolor}

\usepgfplotslibrary{dateplot}

\usemintedstyle{trac}

%%% Identification

\title{O Subsistema Gráfico}
\subtitle{EST0091 - Introdução ao R}
\date{26 de março de 2015}
\author{Marcus Nunes}
\institute{Universidade Federal do Rio Grande do Norte}

%%% New colors

\definecolor{mDarkBrown}{HTML}{604c38}
\definecolor{mDarkTeal}{HTML}{23373b}

\definecolor{mLightBrown}{HTML}{EB811B}
\definecolor{mMediumBrown}{HTML}{C87A2F}

\definecolor{mLightRed}{HTML}{EB331B}
\definecolor{mLightGreen}{HTML}{14B03D}
\definecolor{mLightTeal}{HTML}{137D91}

\begin{document}


% new commands

\newcommand{\R}{\mathbb{R}}
\newcommand{\Xb}{\bm{X}}
\newcommand{\Yb}{\bm{Y}}

%%%%%%%%%%%%%%%%%%%%%%

% knitr options

<<setup, include=FALSE>>=
library(knitr)
opts_chunk$set(fig.path='figure/beamer-',fig.align='center',fig.show='hold',size='footnotesize')
@

<<options, cache=FALSE, echo=FALSE, eval=TRUE, tidy=TRUE, dpi=144>>=
options(width=60)
#par(cex=2)
par(mar=c(0, 0, 0, 0))
opts_knit$set(out.format = "latex")
opts_chunk$set(prompt=TRUE, tidy.opts=list(width.cutoff=40), tidy=FALSE, fig.width=6, fig.height=4.5)
knit_theme$set("print2")
@

%%%%%%%%%%%%%%%%%%%%%%


\maketitle

%%%%%%%%%%%%%
%%% SLIDE %%%

\plain{A Região Gráfica}

%%%%%%%%%%%%%


%%%%%%%%%%%%%
%%% SLIDE %%%

\begin{frame}[fragile]

\frametitle{A Região Gráfica}

<<RegiaoGrafica01>>=
plot(0:10, 0:10)
@

\end{frame}

%%%%%%%%%%%%%

\maketitle

\end{document}

1 个答案:

答案 0 :(得分:3)

我无法使数字更接近我的代码,但我添加了行

knit_hooks$set(small.mar = function(before, options, envir) {
    if (before) par(mar = c(14, 4, 0, 4)) 
})
opts_chunk$set(fig.path='figure/beamer-',fig.align='center',fig.show='hold',size='footnotesize', small.mar=TRUE)

根据knitr manual。因此,我的问题解决了,不是因为数字更接近命令,而是因为它的边距变小了。