viernes, 13 de marzo de 2015

Instalar Texlive en Windows 7

TeX Live es una manera fácil de empezar a trabajar con el sistema de producción de documentos TeX. Proporciona un sistema integral de TeX con binarios para la mayoría de los sabores de Unix, incluyendo GNU/Linux, y también Windows. Incluye todos los grandes programas relacionados con TeX, paquetes de macros y fuentes que son software libre, incluyendo soporte para muchos idiomas en todo el mundo.

La instalación completa o más preciosa pueden revisarla en la página oficial de TexLive.

Aquí mostraré la instalación básica usando internet con el archivo mirror.ctan.org/systems/texlive/tlnet/install-tl-windows.exe que consiste en descargarlo y ejecutarlo.

 Durante la instalación mostrará la siguiente ventana:

La opción más recomendable a instalar al utilizar windows, es el ISO, lo pueden descar desde su sitio oficial usando su torrent oficial pesa alrededor de 2.6GB y un poco más de 4GB instalado.

El proceso de instalación usando el ISO es, montarlo con algún gestor de discos virtuales, por ejemplo Daemons Tools o algún otro que tengan, en windows 8 o superior ya no es necesario, viene uno incluido.

Una vez montado el ISO, buscar el archivo que dice install-tl-windows.bat soble clic y mostrará la siguiente ventana:


A partir de ahí, solo dar siguiente y siguiente y esperar a que finalice.
Y en eso consiste la instalación de texlive.

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.