LyX y pythontex

Cómo usar pythontex con LyX

Normalmente uso LyX para escribir mis documentos/apuntes. Hace unos años descubrí un paquete de LaTeX muy interesante ya que permite introducir código Python en mis documentos elaborados con LyX/LaTeX, se trata de pythontex.

En este primer artículo sobre el tema solo voy a explicar (entendiendo que se está trabajando con Linux/Ubuntu y que se tienen los paquetes necesarios instalados, en concreto tanto LyX como los paquetes texlive-extra-utils, texlive-lang-spanish y python3-pygments) la forma de poder usarlo directamente desde LyX sin tener que hacer el proceso que se explica en la documentación del paquete para compilar un documento desde la línea de comandos.

Para ello vamos a usar pythontex-wrapper, que se puede descargar de

https://github.com/mghansen256/pythontex-wrapper

El fichero que necesitamos es

pythontex-wrapper.sh

Una vez descargado lo ponemos en

~/bin

y le damos permisos de ejecución (se puede hacer como se comenta abajo o en modo gráfico):

cd bin
chmod +x pythontex-wrapper.sh

En mi caso he tenido que modificarlo (para que no me dé la lata con otros paquetes que uso) en las líneas:

#cambio
latexcommand="pdflatex --shell-escape"
#latexcommand="pdflatex"
#pythontexcommand="pythontex3"
pythontexcommand="pythontex --interpreter python:python3"

En LyX, debemos cambiar el convertidor usado para compilar usando pdflatex. Lo podemos hacer en modo gráfico desde el menú:

Herramientas  \(\triangleleft\)\(\triangleright\) Preferencias  \(\triangleleft\)\(\triangleright\) Gestión de Archivos  \(\triangleleft\)\(\triangleright\) Convertidores

image

el texto a escribir en el campo convertidor es (adecuando la entrada a tu $HOME de usuario):

/home/tu_nombre/bin/pythontex-wrapper.sh $$i

pulsamos sobre el botón Modificar y finalmente sobre el botón Aceptar.

Ya tenemos nuestro LyX preparado, hagamos una primera prueba de que todo funciona bien, creamos un archivo nuevo e introducimos en el preámbulo (Documento  \(\triangleleft\)   \(\triangleright\) Configuración  \(\triangleleft\)   \(\triangleright\)  Preámbulo LaTeX

\usepackage{pythontex}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

optamos también, en ese mismo apartado de configuración, por seleccionar como Idioma

image1

Esa configuración la podemos establecer como predeterminada.

Añadamos (con Control+L) o desde el botón correspondiente un recuadro de LaTeX con el texto:

\begin{pycode}
print("Hola Mundo")
\end{pycode}

y compilemos nuestro documento. Debemos un obtener un pdf que de salida nos muestre el texto:

Hola mundo

En la próxima entrega veremos qué su potencial es enorme con algún ejercicio de matemáticas más interesante.