[R-br] Render {rmarkdown} não funciona em emacs

Fernando Antonio de souza nandodesouza em gmail.com
Sábado Fevereiro 13 21:00:26 BRST 2016


Caro Walmes, Há algum tempo atrás, postei um dúvida sobre a função render
do pacote Rmarkdown. Você me passou um bash script para poder fazer a
compilação via terminal. Eu estou tendo um problem com este script. Eu não
possuo em meu sistema a função "purl" utilizada no código. Já  procurei na
internet e não sei como obtê-la. Você poderia me ajudar?

Att.

Em 16 de março de 2015 14:28, walmes . <walmeszeviani em gmail.com> escreveu:

> 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-to-get-long-and-short-command-line-options
>
> 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.
>
> _______________________________________________
> 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.
>



-- 
=======================================================================
Fernando Souza
Zootecnista, DSc. Produção Animal
e-mail:nandodesouza em gmail.com
https://producaoanimalcomr.wordpress.com/
========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160213/e7709e54/attachment.html>


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