Mostrando las entradas con la etiqueta minted in latex. Mostrar todas las entradas
Mostrando las entradas con la etiqueta minted in latex. Mostrar todas las entradas

viernes, 27 de marzo de 2015

Uso de Minted en Linux (Fedora, Ubuntu)

Para usar Minted en Linux es necesario instalar los siguientes paquetes, previamente es necesario instalar el paquete minted para texlive.

A continuación se muestran los comandos para Fedora y Ubuntu, es posible que se modifiquen un poco para otras distros Linux:

En fedora:

sudo yum -y install texlive-minted
sudo yum -y install python
sudo yum -y install python-setuptools 

En Ubuntu:
sudo apt-get -y install texlive-minted
sudo apt-get -y install python
sudo apt-get -y install python-setuptools 


Ahora la instalación de Pygments.

Instalar Pygments en fedora probar los dos para ver cual funciona.
sudo pip3 install Pygments
o usar la siguiente
sudo easy_install Pygments

Instalar Pygments en Ubuntu, probar ambos para ver cual funciona.
sudo pip3 install Pygments
o usar la siguiente
sudo easy_install Pygments

Si por alguna razón no funciona, reinicien su máquina.

Ahora es necesario configurar su editor, en mi caso, uso TexStudio.
 Ir a configuración de TexStudio, en el botón Compilar y en Configuraciones establecer lo siguiente.

Si quieren probar un ejemplo, pueden descargar el siguiente Archivo de ejemplo.:


Gracias por visitar.

viernes, 6 de marzo de 2015

Código fuente en documentos latex con minted

En mis publicaciones de http://linuxgx.blogspot.mx/2015/03/agregar-caption-mdframed-al-usar-minted.html, http://linuxgx.blogspot.mx/2015/03/entorno-minted-en-saltos-de-pagina.html y http://linuxgx.blogspot.mx/2015/03/saltos-de-linea-usando-entorno-minted.html había mencionado el uso de minted para dar un estilo de colores más llamativo de código fuente en documentos elaborados en latex, pero no había dado un ejemplo completo o de cómo compilar dicho documento.

Así que ahora, les mostraré de cómo crear un documento de este tipo usando el editor de textos latex TexStudio más información aquí.

Para iniciar es necesario instalar minted:
Aquí pueden encontrar todos los requisitos de minted https://code.google.com/p/minted/ y las dependencias que necesita.

En fedora:
sudo yum -y install phyton
sudo yum -y install yumex
La interfaz yumex yo la uso para instalar paquetes o librerías que en el paquete de instalación de software no se puede o no vienen, por ejemplo paquetes de texlive, en esta interfaz busquen el paquete minted e instalenlo. 

Instalar Pygments en fedora
sudo pip3 install Pygments
o usar la siguiente
sudo easy_install Pygments

Ahora descargar el paquete minted.sty y anexarlo al directorio en el que esté el documento de latex.

Para compilar el documento desde consola se usa la siguiente instrucción:
xelatex -shell-escape documentoPrincipal.tex

La configuración de TexStudio para compilar los archivos se muestra en las imágenes siguientes:


El archivo de prueba está aquí.


Instalación en windows visitar el siguiente link: https://cgedmundo.wordpress.com/2012/04/16/colereado-formatos-de-codigo-fuente-con-minted-en-latex/

Agregar caption a mdframed al usar minted en latex

En mi documentación técnica, los saltos de línea ya estaban solucionado, también salto en páginas también al usar mdframed, pero resulta que mdframed no soporta el caption de manera directa, el caption es el pie de código, o pie de descripción donde se agrega información de algo, en este caso la descripción del código.

Bueno, pues mdframed no lo soportó, entonces tuve que buscar una alternativa para agregarlo.

La solución es la siguiente:
Agregar las instrucciones
\renewcommand\listoflistingscaption{Lista de fragmentos de códigos}
\renewcommand\listingscaption{Código}

% Estilo de Listings
\AtBeginDocument{\renewcommand*{\thelstlisting}{\thesection.\arabic{lstlisting}}}
\captionsetup[listing]{}
%----------------- para mostrar caption de códigos en minted usando listings

Antes de la etiqueta \begin{document} y listo.

Y para agregar la descripción se usa \captionof{listings}{Texto de descripción} en lo lugar de \caption{Texto de descripción}.

EL siguiente código:
\begin{mdframed}[linecolor=black, topline=false, bottomline=false, leftline=false, rightline=false, userdefinedwidth=\textwidth]
\begin{minted}[breaklines, frame=single, tabsize=4, gobble=0]{c}

/* Autor: Ferdinand Khopper
* Fecha: 6 febrero 2015
* Descripcion: Imprime "Hola mundo desde Latex...!" N veces
*/

#include <stdio.h>
#define N 10

int main(){
    int i;
    // Linea de comentario.
    printf("Programa Hola Mundo en C, mostrado en Latex usando minted!");
    for (i = 0; i < N; i++){
        printf("LaTeX es para programadores mas sofisticados y también para los que no son tanto!");
    }
    return 0;
}
\end{minted}
\vspace{-0.6cm} %separación entre el caption y el código
\captionof{listing}{La descripción del código puede ser larga, incluso puede tener caracteres como estos \LaTeX\ o tal vez símbolos matemáticos así $x = y + 8$ o una \textbf{url} \url{http://linuxgx.blogspot.mx/}.}
\label{mdframed1}
\end{mdframed}

El ejemplo anterior genera lo siguiente:

El editor que uso para compilar los documentos es: TexStudio

Entorno minted en saltos de página

De nueva cuenta, en la redacción de documentación de código para manual de técnico, me percaté de lo siguiente, si bien es cierto, ya había podido solucionar lo del salto de línea automático del código al usar el entorno minted en latex. (Ver aquí.)

Ahora se me presentaba el siguiente problema:
El problema, básicamente era que, al incluir un fragmento de código extenso, en la siguiente página no continuaba, sino que se perdía por completo, como se muestra en la imagen de arriba.

Bueno, el problema lo solucioné usando el paquete mdframed el da un resultado como el siguiente:
Ya con eso, el código se mueve automáticamente en las páginas o saltos de nuevas páginas que sean necesario.

El código para ingresar el código fuente usando mdframed en latex, es el siguiente:

\begin{mdframed}[linecolor=black, topline=false, bottomline=false, leftline=false, rightline=false, userdefinedwidth=\textwidth]
\begin{minted}[breaklines, frame=single, tabsize=4, gobble=0]{c}

/* Autor: Ferdinand Khopper
* Fecha: 6 febrero 2015
* Descripcion: Imprime "Hola mundo desde Latex...!" N veces
*/
#include <stdio.h>
#define N 10

int main(){
    int i;
    // Linea de comentario.
    printf("Programa Hola Mundo en C, mostrado en Latex usando minted!");
    for (i = 0; i < N; i++){
        printf("LaTeX es para programadores mas sofisticados y también para los que no son tanto!");
    }
    return 0;
}
\end{minted}
\end{mdframed}


Gracias por visitar, Hasta la próxima.

Saltos de línea usando entorno minted en latex

Hace como dos semanas necesitaba hacer un manual de programador. El documento lo comencé a redactar en LaTeX usando el entorno minted para resaltar el código, eso no fuera problema si al compilar el archivo no hubiese mostrado lo siguiente:
Descargué el manual oficial de minted para ver la configuración que debía de agregarle y que el código se ajustara al contorno de su contenedor, la instrucción que se debía agregar es breaklines pero, sorpresa, no funcionó, mostrara un error de compilación que breaklines no estaba definida en dicho paquete.

Después de una horas buscando en internet sin éxito, tome el paquete minted.sty y lo agregué en la carpeta principal de mi proyecto, y resulta que al dar clic en compilar funcionó.

Ahora el resultado que se tiene es el siguiente:
Ahora el código se ve más legible y más bonito esta es una solución por ahora, habría que seguir buscando otra que no requiera tener el paquete de minted.sty dentro del directorio del documento principal.