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

Marcus Nunes marcus.nunes em gmail.com
Terça Março 24 22:41:50 BRT 2015


Oi Fernando

Obrigado pelas dicas. Tentei usar o caminho do pdfcrop no Mac OS, mas não
fui bem sucedido. Entretanto, tuas sugestões me deram ideia para pesquisar
termos diferentes e Google. Acabei descobrindo que, ao colocar as linhas

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)

no meu chunk set, meu problema se resolveu.


2015-03-24 18:23 GMT-03:00 Fernando Mayer <fernandomayer em gmail.com>:

> 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.
>>
>
>
> _______________________________________________
> 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.
>



-- 
Marcus Nunes
http://marcusnunes.me/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150324/1fc6d2e9/attachment.html>


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