Paquete vhistory en español para latex

Latex es una de las herramientas más poderosas que existen para la generación de documentación, así mismo, la cantidad de paquetes adicionales que pueden ser agregados con simples comandos aumentan su flexibilidad para poder realizar casi que cualquier opción que al usuario se le ocurra.

Hace poco se me presentó una duda mientras elaboraba un manual en latex ¿existe alguna forma de colocar el histórico del documento de forma semiautomatizada? En tanto mi documento no está bajo un sistema de versionado como git o svn, no podía acceder a un git log e incluirlo en el cuerpo del documento usando, por ejemplo, latex-git log [1] o latex-diff [2]. Así mismo, semiuatomatizado para mí es que en tanto soy el único autor conozco qué cambios he introducido en cada versión.

Buscando encontré el paquete vhistory el cual cumplía con todos mis requerimientos excepto uno: los mensajes que colocaba estaban en inglés, francés y alemán lo cual me animó a realizar la traducción del mismo al español, cosa que no me tomó más de 10 minutos entre ubicar el archivo .sty, entender el funcionamiento del mismo y colocar los nuevos bloques de mensaje; como resultado obtuve mi control de histórico en el documento con mensajes en español.

El archivo lo pueden conseguir en https://github.com/e1th0r/translations junto con las instrucciones corespondientes a su uso.

Espero les sea útil como lo fue para mí.

[1] https://www.ctan.org/pkg/latex-git-log?lang=en

[2] http://www.ctan.org/tex-archive/support/latexdiff/

Latex Beamer Referencias de figura sin números

Generando unas diapositivas en Latex Beamer para el postgrado, me encontré con un detalle bastante extraño: al insertar una figura no se generaba la referencia respectiva:

Referencia sin número

Investigando un poco [1] conseguí que este error se debe a que me faltaba incluir la opción setbeamertemplate{caption}[numbered] en el encabezado del documento y con eso ya podemos tener nuestras figuras perfectamente referenciadas en Latex Beamer:
Referencia con número
Disfruten la ayuda!

[1] http://tex.stackexchange.com/questions/127145/beamer-presentation-figure-has-no-number

 

Tex, ambiente de trabajo completo, parte II

En esta segunda entrega integraremos un plugin a vim para realizar las compilaciones respectivas para generar los archivos .dvi y .pdf desde un archivo latex y, poderlo visualizar.

Primeramente, instalaremos el paquete adecuado

root@cachama:/tmp/foo# aptitude install vim-latexsuite
Se instalarán los siguiente paquetes NUEVOS:     
libruby1.8{a} ruby{a} ruby1.8{a} vim-addon-manager{a} vim-latexsuite 

A continuación activamos el plugin, desde nuestra cuenta de usuario, para este paso no es necesario ser root.

hector@cachama:/tmp/foo$ vim-addons install latex-suite
Info: installing removed addon 'latex-suite' to /home/hector/.vim
Info: Rebuilding tags since documentation has been modified ...
Processing /home/hector/.vim/doc/
Info: done.
hector@cachama:/tmp/foo$ 

Seguidamente, requeriremos configurar algunos parámetros para que vim pueda usar el plugin, para ello crearemos un archivo en nuestro directorio /home de nombre .vimrc con el siguiente contenido:

"Aplica plugins segun tipo de fichero
filetype plugin on
" OPTIONAL: This enables automatic indentation as you type.
filetype indent on
"Latex-Suite
" IMPORTANTE: grep a veces se saltará el mostrado del 
" nombre de archivo si buscas en un único fichero. 
" Esto confundirá a Latex-Suite. Configura tu programa grep
" para generar siempre un nombre de archivo.
set grepprg=grep -nH $*
" OPCIONAL: Arrancando con Vim 7, el tipo de fichero 
" de ficheros .tex vacíos es por defecto 'plaintex' en vez 
" de 'tex', esto resulta en que vim-latex no sea cargado.
" Lo siguiente cambia el tipo de fichero por defecto a 'tex':
let g:tex_flavor='latex'
"Con esta línea obligamos a vim para que use evince como 
" visor predeterminado de los archivos que sean compilados
let g:Tex_ViewRule_pdf='evince'
"Con esta línea le decimos a vim que deseamos generar 
" archivos pdf por defecto cuando realizemos compilaciones
let g:Tex_DefaultTargetFormat='pdf'

Asi mismo, será necesario crear otro archivo en nuestro directorio /home de nombre  ~.vim/ftplugin/tex.vim y colocarle el siguiente contenido:

set sw=2
" TIP: Si escribes tus label's como label{fig:something}, entonces si
" escribes
" " en ref{fig: y presionas <C-n> podrás seleccionar automáticamente todas
" las etiquetas
" " de figuras. Muy útil!
set iskeyword+=:
imap <buffer> <leader>it <Plug>Tex_InsertItemOnThisLine

Con esto en mano, ya podemos empezar a compilar nuestros archivos text para ello:

a) Para compilar el archivo, lo editamos, luego oprimimos la tecla “escape” (Esc) para dejar el modo de edición en vim. después usamos la tecla y, finalmente, dos veces la tecla l, lo cual sería la siguiente secuencia: Esc+ll

El log de esta compilación dará como reusltado algo parecido a esto:

This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
restricted write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo))
(/usr/share/texmf-texlive/tex/generic/babel/babel.sty
(/usr/share/texmf-texlive/tex/generic/babel/spanish.ldf
(/usr/share/texmf-texlive/tex/generic/babel/babel.def)
Package babel Warning: No hyphenation patterns were loaded for(babel)the language `Spanish'
(babel)                I will use the patterns loaded for language=0 instead.)) 
(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
(/usr/share/texmf-texlive/tex/latex/base/utf8.def
(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu)
(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu)
(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) (./test.aux) [1{/var/lib
/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux) )</usr/share/texmf-tex
live/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-texlive/fonts/t
ype1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-texlive/fonts/type1/public/
amsfonts/cm/cmr17.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/
cmr7.pfb>
Output written on test.pdf (1 page, 43148 bytes).
Transcript written on test.log.
Pulse INTRO o escriba una orden para continuar

b) Ahora visualizaremos el archivo resultante, para ello, utilizaremos la combinación de teclas Esc+lv lo cual hará que evince sea invocado con el archivo que generamos en el paso anterior como argumento

Si el archivo no tiene ningún error de sintaxis, la compilación no deberá presentar ningçun problema y nos ahorraremos una gran cantidad de tiempo

TIPS:
* Es importante que el archivo finalice con la extensión .tex
* Seleccionando la opción F5, podremos obtener lo que se llama “ambientes” los cuales permiten agilizar tareas que podrían parecer tediosas en vim tales como insertar ecuaciones o ambientes personalizados tales como item y otros:

Este es mi primer documento en LaTeX{}.
Ya podemos acentuar directamente las vocales: á, é í, ó, ú
y generar la letra ñ
end{document}
~                                                                            
~                                                                               
~                                                                               
~                                                                               
~                                                                               
Choose which environment to insert:
(1) eqnarray*   (2) eqnarray
(3) equation    (4) equation*
(5) [          (6) $$
(7) align       (8) align*
Enter name or number of environment :item

Lo que nos genera:

maketitle
begin{item}
end{item}<++>
Este es mi primer documento en LaTeX{}.
Ya podemos acentuar directamente las vocales: á, é í, ó, ú
y generar la letra ñ
end{document}

Más adelante estaremos colocando más tips de uso de este fabuloso plugin, mientras, disfruten la ayuda.