[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