feed icon Ambos idiomas / Both languages
(es|en)

Como incluir bibliografia en documentos LaTeX
En este post voy a explicar como referenciar automáticamente bibliografia en un documento LaTeX.

Primero definimos la bibliografia usada en una sección de este tipo:
\begin{thebibliography}[ cantidad máxima de elementos ]
\bibitem[ ETIQUETA_1 ]{ referencia1 } Autor1, ... \emph{Título1}, ...
\bibitem[ ETIQUETA_2 ]{ referencia2 } Autor2, ... \emph{Título2}, ...
...
\bibitem[ ETIQUETA_N ]{ referenciaN } AutorN, ... \emph{TítuloN}, ...
\end{thebibliography}

Si no se especifica la etiqueta para identificación, automáticamente LaTeX genera números de la forma [1], [2], [3], etc.

Luego, al escribir se hace referencia de forma similar a como se usa \ref y \label.

Por ejemplo se pone:
\cite[pág.184]{referencia1}
y luego al generarse el documento automáticamente se reemplaza por:
[ETIQUETA_1, pág.184]

si no ponemos los corchetes:
[ETIQUETA_1]

o si no definimos etiquetas, simplemente queda:
[NumeroCorrespondiente]

Una alternativa a esto es el uso de BibTeX, que principalmente consiste en almacenar toda la bibliografía en un archivo de texto plano, separandola de esta forma de la "presentación" de la misma. Usa el mismo principio de separación del contenido y presentación/estilo que por ejemplo CSS (hojas de estilo).

Ejemplos de entradas de un archivo .bib:
@Article{referencia,
author = "",
title = "",
OPTcrossref = "",
OPTkey = "",
OPTjournal = "",
OPTyear = "",
OPTvolume = "",
OPTnumber = "",
OPTpages = "",
OPTmonth = "",
OPTnote = "",
OPTannote = ""
}
 
@Book{referencia,
author = "",
title = "",
publisher = "",
year = ,
address = "",
edition = "",
isbn = ""
}

y luego en el documento LaTeX se usa de forma similar a la opción presentada anteriormente:
\cite{referencia}

Para que aparezcan detalladas las referencias en el documento, antes del "\end{document}" se pone algo como:
bibliography{references}
bibliographystyle{plain}

Una ventaja de esta última opción es que en sitios como "Scientific Literature Digital Library" o "The Collection of Computer Science Bibliographies" proporcionan las entradas BibTeX de los papers y publicaciones que ofrecen o archivan. También, programas para manejar colecciones de libros (como por ejemplo Tellico) pueden exportar sus bases de datos a formato BibTeX o importar entradas desde archivos de este tipo.
Tech Tags:


[ 1 comment ] ( 259 views )   |  [ 0 trackbacks ]   |  permalink
Esquema básico que uso para un domento en LaTeX
Generalmente uso esto como "template".

Básicamente:
  • Tamaño y margenes personalizados.
  • Caracteres especiales para idioma castellano (acentos y eñes) y codificación.
  • Algunas definiciones especiales, tipo funciones.
  • Manejo de gráficos en 2d, imágenes y figuras.
  • Definiciones extendidas para matemáticas.

documentclass[a4paper,10pt]{article} %artículo tamaño A4
 
usepackage{graphicx} % para agregar figuras/imágenes
 
usepackage{anysize} % Soporte para el comando \marginsize
marginsize{2cm}{2cm}{1cm}{1cm} % \marginsize{izq}{dch}{sup}{inf}
 
usepackage[spanish]{babel} % varias definiciones para el español
% (por ejemplo usa ''Índice'' en lugar de ''Contents'')
% \usepackage[latin1]{inputenc} % caracteres especiales (acentos, eñes)
 
usepackage{ucs}
usepackage[utf8x]{inputenc} % UTF8
 
% \usepackage{mathaccent} % para cosas como esta: x_{continua}
usepackage{amsmath} % más cosas para matemática
 
% gráficos xy
usepackage{xy}
input xy
xyoption{all}
 
% Definición de comandos que me son útiles:
newcommand{expon}{ {rm e} }
 
% inicio
title{}
author{}
%\date{2005-04-08}
date{} % fecha nula (sin fecha)
 
begin{document}
 
maketitle
 
setcounter{page}{1} % las páginas empiezan a contar a partir de aca
 
tableofcontents % índice
 
newpage
 
begin{flushleft} % general para todo el documento
 
section{}
 
subsection{}
 
%blablabla
 
end{flushleft}
 
end{document}
Para editar el código generalmente uso Kile (un entorno de desarrollo para LaTeX) que me encanta, sino Kate o Vim.

[ add comment ]   |  [ 0 trackbacks ]   |  permalink
Comentando código en vi
Cada día que pasa uso más vi (en realidad vim) como editor. Me resulta muy útil para modificar archivos de configuración desde una consola y también para hacer cambios en código fuente (en máquinas remotas por ejemplo). Además es muy potente, y se pueden hacer mil cosas que todavía me faltan aprender :-). Aunque su uso se hace un poco críptico al principio, cuando uno se acostumbra es muy práctico y rápido.

Algo que estrañaba de otros editores era el comentado/descomentado de una o más líneas de código de forma rápida ("ctrl + d" en Kate o KDevelop por ejemplo). Vi (jeje) que hay varias formas de agregar esta funcionalidad, una simple y sencilla es la que encontré en este link y consite en agregar estas líneas en el archivo de configuración (~/.vimrc) de vi.
    map ,# :s/^/#/<CR>
map ,/ :s/^/\/\//<CR>
map ,> :s/^/> /<CR>
map ," :s/^/\"/<CR>
map ,% :s/^/%/<CR>
map ,! :s/^/!/<CR>
map ,; :s/^/;/<CR>
map ,- :s/^/--/<CR>
map ,c :s/^\/\/\\|^--\\|^> \\|^[#"%!;]//<CR>

Hay otras soluciones un poco mejores y más potentes, pero esta es muy sencilla y por ahora me alcanza para lo que necesito. Lo que suelo hacer es seleccionar las líneas con "v" y luego comentar por ejemplo si es Bash con ", + #" o en C/C++ con ", + /" y para descomentar ", + c" (todo esto en modo "normal")

La lista es:
    ,#    Bash, Perl, etc
,/ C/C++
,> email quote
," vim
,% LaTeX, Matlab, Prolog
,! algún assembly?
,; assembly 8051, scheme
,- LUA
,c remueve los comentarios

y para comentarios "envueltos" (no se como se los suele llamar en castellano):
    ,*      C/C++
,( Standard ML
,< HTML
,d remueve los comentarios envueltos


[ add comment ]   |  [ 0 trackbacks ]   |  permalink
Ahora también tengo syntax highlight y LaTeX!
Gracias a la ayuda de Fu Hongbo que utiliza el mismo sistema de blog que yo (link), es decir sphpblog, logré hacer los cambios necesarios en el código de este blog para poder incorporar el resaltado de sintaxis del código fuente con GeSHi. Me dijo que luego iba a hacer un tutorial en inglés, asi que me ofrecí a traducirlo al castellano.

Gracias!

Update: Teniendo como guía este post, también instalé un render para ecuaciones LaTeX llamado MimeTex.

Una prueba:

y[n]=\frac{x[n]+x[n-1]}{2}


[ add comment ]   |  [ 0 trackbacks ]   |  permalink  |  related link

| 1 | 2 | 3 | 4 | 5 | 6 | 7 |