instalar - Configuración de R para recoger texlive en lugar de miktex en Windows
miktex texmaker (2)
En Windows, ¿cómo podría indicarle a R que llame a TeXlive en lugar de MikTeX?
Tengo R configurado en mis máquinas Linux y Windows. En mis máquinas con Windows, tengo a la vez MikTeX y TeXlive disponibles. Por razones que no voy a entrar me gustaría que R llame a TeXlive. En este momento, R está recogiendo MikTeX en su lugar.
Supongo que necesitaría establecer TEXINPUTS dentro de mi archivo Renviron, o algo similar. Pero no he podido encontrar instrucciones precisas en línea. Se agradecerá la ayuda.
ACTUALIZACIÓN: Aquí hay varias cosas que probé: cambiar el orden de TeXlive y MikTeX en el PATH. Eliminando MikTeX de la ruta. Ninguno de los dos funcionó, MikTeX todavía está siendo recogido.
No pude encontrar la documentación relevante para R, pero sí encontré algunos consejos en la documentación de RStudio, así que intenté resolver el problema dentro de RStudio. Definí con éxito la variable de entorno RSTUDIO_PDFLATEX:
Sys.getenv(''RSTUDIO_PDFLATEX'')
[1] "C:/texlive/2012/bin/win32"
[Referencia: http://www.rstudio.com/ide/docs/authoring/latex_program?version=0.97.312&mode=desktop]
pero MikTeX todavía es llamado.
Sys.which("pdflatex")
pdflatex
"C://PROGRA~2//MIKTEX~1.9//miktex//bin//pdflatex.exe"
ACTUALIZACIÓN 2: Otra cosa que he intentado: mientras texlive ya está en mi RUTA, en caso de que lo haya agregado desde dentro de R.
Sys.setenv("PATH" = paste(Sys.getenv("PATH"),"C:/texlive/2012/bin/win32",sep=":"))
También intenté establecer la ruta a pdflatex como la devolvió Sys.which ("pdflatex") con lo siguiente:
Sys.setenv(pdflatex="C:/texlive/2012/bin/win32")
así como variantes con PDFLATEX o "PDFLATEX", pero eso no ayuda. También he eliminado todo de la ruta, excepto la ruta a texlive:
Sys.setenv("PATH" = "C:/texlive/2012/bin/win32")
Eso me da el camino deseado.
Sys.which("pdflatex")
pdflatex
"C://texlive//2012//bin//win32//pdflatex.exe"
Sin embargo, la ejecución de texi2dvi falla:
tools::texi2pdf(Out)
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet, :
pdflatex is not available
Estoy bastante seguro de que necesita agregar rutas aquí en sus variables de entorno global. Consulte: http://statmath.wu.ac.at/software/R/qfin/ y http://www.howtogeek.com/51807/how-to-create-and-use-global-system-environment-variables/
Me enfrenté al mismo problema en un proyecto similar y dediqué un tiempo a comprender los trucos. El hecho de que MikTeX salga seleccionado, incluso si limpiaste los resultados de la ruta del hecho un tanto exasperante (especialmente para los desarrolladores orientados a * nix como yo y otros) que al instalar MikTeX, se establece un número bastante grande de entradas de registro de Windows. La distribución portátil MikTeX (solo para win32) es la única excepción a esto. Así que si necesitas MikTeX a bordo, mi consejo es que hagas lo que hice:
- desinstale su distro MikTeX actual
- limpiar el registro (ccleaner funcionó bien)
- Instalar la distra MikTeX win32 portátil
Ahora verifique que su ruta incluya nuevamente la ruta del directorio de su contenedor TeXlive.
Si usa pandoc para crear archivos pdf desde Rmarkdown u otros lenguajes de reducción, una forma conveniente de solucionar los problemas de ruta es especificar la opción --latex-engine
y agregar la ruta de archivo completa como un argumento. A continuación se muestra una posible línea de comando, adaptada del IDE RStudio:
path/to/pandoc.exe -V papersize=A4 +RTS -K512m -RTS file.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output file.pdf --template path/to/default.tex --highlight-style tango --latex-engine /path/to/pdflatex.exe --variable geometry:margin=1in