
Eu uso o Emacs para edição de documentos R. Para compilar eu abro um terminal e dou instrução lá. Antes eu abria um terminal do linux e chamava o R dentro. Hoje já uso um shell script que facilita bem mais as coisas. Segue o shell script. Dentro tem o comentário logo no topo de como fazer o link simbólico. ## COMEÇA ARQUIVO render #!/bin/bash # Seguir as intruções aqui # https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md para criar # links simbólicos para o pandoc. No caso, tem-se que fazer # $ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc /usr/local/bin # $ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc-citeproc /usr/local/bin # para poder usar esse bash. #----------------------------------------------------------------------------- # Compilar *.Rmd para *.html com rmarkdown::render. # Walmes Zeviani #----------------------------------------------------------------------------- echo echo "=============================================================================" echo "Compilando *.Rmd para *.html com rmarkdown::render." echo " Walmes Zeviani" echo "=============================================================================" echo ##----------------------------------------------------------------------------- ## http://stackoverflow.com/questions/402377/using-getopts-in-bash-shell-script... Options=$@ Optnum=$# _usage() { #-------------------------------------------- # Shows how use. cat <<EOF render $Options $* Usage: render <[options]> file file Is a filename with extension *.Rmd. Options: -h --help Show this message -p --purl To purl the file EOF } if [ $# = 0 ]; then _usage; fi #----------------------------------------------------------------------------- # NOTE: This requires GNU getopt. On Mac OS X and FreeBSD, you have to # install this separately. TEMP=`getopt -o hp --long help,purl -n 'render' -- "$@"` if [ $? != 0 ] ; then echo "Terminating." >&2 ; exit 1 ; fi # Note the quotes around `$TEMP': they are essential! eval set -- "$TEMP" PURL= while true; do case "$1" in -h | --help ) _usage break exit 1 ;; -p | --purl ) PURL=true shift ;; -- ) shift; break ;; * ) _usage break exit 1 ;; esac done INPUT=$1 case "$INPUT" in *.Rmd ) echo; echo "Running rmarkdown::render(\"$INPUT\")."; echo Rscript -e "require(knitr); require(rmarkdown); render(\"$INPUT\")" ;; *) echo "The file $INPUT has a non supported file extension." exit 1 ;; esac if [[ "$PURL" == "true" ]] then purl -n $INPUT fi ##----------------------------------------------------------------------------- ## Para fazer em batelada. ## for file in `ls *.Rmd` ## do ## rmarkdownRender -p $file ## done ## FIM DO ARQUIVO render Esse arquivo "render" você pode deixar na sua pasta "/bin" do linux. Tem que dar permissão de execussão. Suponha que o arquivo seja criado num lugar qualquer então execute esses passos. $ ls -l render ## Lista permissões. $ chmod +x render ## Permite execução. $ ls -l render ## Lista novamente. $ sudo cp render /bin ## Copia para a pasta /bin $ render nome_do_arquivo.Rmd ## Modo de usar. Eu na verdade prefiro deixar meus shell numa pasta própria ao inves da /bin. Vamos supor que seja a /home/bashs. Você só precisa adicionar o PATH ao conjunto de paths monitorados. Se faz isso incluindo a seguinte linha dentro do seu arquivo /home/walmes/.bashrc export PATH=$PATH:/home/walmes/bashs/ À disposição. Walmes.