[R-br] Reduzir a distância entre código e output no knitr

Fernando Mayer fernandomayer em gmail.com
Terça Março 24 18:23:21 BRT 2015


Uma opção, especialmente útil para slides, é remover automaticamente o
espaço em branco ao redor (das bordas externas) da figura em PDF. Você pode
setar isso com par(mar = ...). Mas uma ferramenta mais "bruta" e rápida
para fazer isso, se você usa Linux, é usar o pdfcrop (precisa ser instalado
a parte).

Basta colocar isso no seu chunk setup:

knit_hooks$set(pdfcrop = hook_pdfcrop)

e nos chunks com figura coloque pdfcrop=TRUE (ou coloque globalmente) para
reduzir automaticamente a area do PDF ao compilar com o knitr. Por exemplo:

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

Até onde eu lembro ainda não havia uma solução para esse problema do espaço
dentro do knitr, e essa era uma opção recomendada.


---
Fernando de Pol Mayer
Laboratório de Estatística Ambiental - LEA
Instituto de Matemática, Estatística e Física - IMEF
Universidade Federal do Rio Grande - FURG
URL: http://fernandomayer.github.io
e-mail: fernando.mayer [@] {gmail.com, furg.br}

2015-03-24 16:43 GMT-03:00 Marcus Nunes <marcus.nunes em gmail.com>:

> Olá
>
> Fiz esta pergunta há alguns minutos no StackExchange, mas ainda não obtive
> resposta. (aliás, se alguém quiser ler ela no contexto original e responder
> por lá ou, quem sabe, vê-la identada corretamente etc, o link é
> http://stackoverflow.com/questions/29240036/adjust-the-distance-between-code-and-figure-output-in-knitr
> )
>
> Estou escrevendo uma série de slides sobre as funcionalidades gráficas do
> R. Um dos meus slides é assim:
>
> ---
>
> \begin{frame}[fragile]
>
> \frametitle{A Região Gráfica}
>
> <<RegiaoGrafica01>>=
> plot(0:10, 0:10)
> @
>
> \end{frame}
> ---
>
> O problema é que meu slide compilado fica da seguinte forma:
>
> http://i.stack.imgur.com/3Ozdd.jpg
>
> Meu gráfico está muito distante do código. Eu gostaria de saber se existe
> alguma opção no knitr que diminua esta distância. Já procurei no manual e
> não consegui encontrar nada do gênero.
>
> Segue meu CMR (i.e., meu arquivo .rnw):
>
> ---
> \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}
> ---
>
> Obrigado,
> --
> Marcus Nunes
> http://marcusnunes.me/
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150324/deed86c1/attachment.html>


Mais detalhes sobre a lista de discussão R-br