viernes, 11 de mayo de 2012

Cómo añadir al inicio de la tesis, una lista con nuestros artículos publicados

Cuando estamos escribiendo nuestra tesis, suele ser normal, añadir al inicio una lista con nuestros artículos de revistas y congresos, que hayamos realizado a raiz de la tesis (y que seguro que nos costaron horrores). Para ello, podemos usar el paquete {bibentry}, como muestro en esta entrada. En primer lugar, nuestro archivo con la bibliografía "biblio.bib", contiene los siguientes artículos:

@ARTICLE{Amy3003,
  author = {Amy Wong},
  title = {Magnetic Fields},
  journal = {Applied Physics},
  year = {3003},
  volume = {54},
  pages = {77-85}
}

@CONFERENCE{Amy3002,
  author = {Amy Wong},
  title = {Unlimited Energy},
  booktitle = {Renewable Energy},
  year = {3002},
  owner = {Admin}
}

A continuación, nuestro archivo .tex, será parecido al siguiente. Donde vamos añadiendo de uno en uno, los artículos que queramos, mediante el comando "\bibentry{}". Además, es importante añadir la instrucción "\nobibliography*".

\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{bibentry}

\nobibliography*

\begin{document}

\chapter{Publicaciones ligadas a la tesis}
 
\textbf{Revistas:}
\begin{itemize}
\item \bibentry{Amy3003}
\end{itemize}

\textbf{Congresos:}
\begin{itemize}
\item \bibentry{Amy3002}
\end{itemize}

\chapter{Introduccion}
Como se puede leer en \cite{Amy3002, Amy3003}...

\bibliographystyle{acm}
\bibliography{biblio}

\end{document}


Cómo poner al final de cada capítulo, la bibliografía correspondiente a dicho capítulo

Hay veces que queremos añadir la bibliografía correspondiente, al final de cada capítulo. Con LaTeX, esto se puede hacer utilizando el paquete {chapterbib}. Eso sí, la manera de hacerlo es bastante retorcida. En la siguiente entrada, monstraré los pasos que hay que seguir. Lo haré para el editor TeXnicCenter, si utilizas otro programa, supongo que el mecanismo sea parecido.

Para empezar, supongamos que tenemos el siguiente archivo "biblio.bib", con los siguientes artículos:

@ARTICLE{Amy3003,
  author = {Amy Wong},
  title = {Magnetic Fields},
  journal = {Applied Physics},
  year = {3003},
  volume = {54},
  pages = {77-85},
}

@CONFERENCE{Amy3002,
  author = {Amy Wong},
  title = {Unlimited Energy},
  booktitle = {Renewable Energy},
  year = {3002},
}

A continuación, lo mejor es dividir nuestro archivo de LaTeX, por capítulos. Cada capítulo, en un archivo .tex. En este ejemplo, tenemos tres capítulos: introducción, nudo y desenlace. Además, tenemos un cuarto archivo, "texto.tex", que es el principal y el que llama por orden a los demás archivos. Nuestro archivo "texto.tex" será:

\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{chapterbib}

\begin{document}

\include{introduccion}
\include{nudo}
\include{desenlace}

\end{document}

Nuestro archivo "introduccion.tex" será:

\chapter{Introducción}
Empecemos con \cite{Amy3002}.

\CitationPrefix{\thechapter.}
\bibliographystyle{acm}
\bibliography{biblio}

Nuestro archivo "nudo.tex" será:

\chapter{Nudo}
Sigamos con \cite{Amy3003}.

\CitationPrefix{\thechapter.}
\bibliographystyle{acm}
\bibliography{biblio}

Y nuestro archivo "desenlace.tex" será:

\chapter{Desenlace}
Terminemos con \cite{Amy3002,Amy3003}.

\CitationPrefix{\thechapter.}
\bibliographystyle{acm}
\bibliography{biblio}

La línea "CitationPrefix{\thechapter.}" se utiliza para que en las numeración de la bibliografía, se añada el número del capítulo. Es decir, que ponga [1.1], [1.2], etc... Es necesaria porque nuestro formato de la bibliografía (acm), es numérico. No sería necesaria si realizáramos la numeración por el nombre del autor.

Ahora, para compilar nuestro documento, seguimos los pasos siguientes:

1) Abrimos todos los archivos .tex. El archivo padre y todos capítulos.


2) Seleccionamos la solapa con el archivo padre ("texto.tex" en este ejemplo), y compilamos.

3) Seleccionamos una por una la solapa de cada uno de los capítulos ("introduccion.tex", "nudo.tex", "desenlace.tex"), y vamos generando cada bibliografía. Para generar la bibliografía, hacemos click en "Build / Current File / BibTeX".


4) Volvemos al archivo padre ("texto.tex"), y volvemos a compilar un par de veces nuestro documento.
 

Y ya está. ¿Funcionó?

lunes, 7 de mayo de 2012

Cómo cambiar el color de una palabra en LaTeX

Cuando queremos poner de un color determinado una cierta palabra, podemos usar el paquete {color}, que incorpora funciones para definir el color del texto ("\textcolor"), el color del fondo ("\colorbox") y el color del fondo más el borde ("\fcolorbox"). Como se muestra a continuación.

\documentclass[a4paper,12pt]{article}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage[usenames]{color}

\begin{document}

\textcolor{LimeGreen}{Hola}
\colorbox{LimeGreen}{Hola}
\fcolorbox{LimeGreen}{White}{Hola}
\fcolorbox{Black}{LimeGreen}{Hola}

\end{document}


Existen muchos colores predefinidos, cuyos nombres podemos ver a continuación:


Pero también podemos definir nuestros propios colores, como se muestra a continuación. Para ello, podemos usar uno de los siguientes protocolos:
  • RGB = mezcla de red, green, blue. Cada uno con un valor entre 0 y 255.
  • rgb = mezcla de red, green, blue. Cada uno con un valor entre 0 y 1.
  • cmyk = mezcla de cyan, magenta, yellow, black. Cada uno con un valor entre 0 y 1.
  • gray = escala de gris. Entre 0 (negro) y 1 (blanco).

\definecolor{Micolor1}{RGB}{193,124,250}
\textcolor{Micolor1}{Hola}

\definecolor{Micolor2}{rgb}{0,0.5,1}
\textcolor{Micolor2}{Hola}

\definecolor{Micolor3}{cmyk}{0.5,1,0,0.1}
\textcolor{Micolor3}{Hola}

\definecolor{Micolor4}{gray}{0.3}
\textcolor{Micolor4}{Hola}

jueves, 3 de mayo de 2012

Cómo continuar la numeración entre dos enumeraciones distintas

Por defecto, en LaTeX, cada vez que creamos una enumeración, se reinicia la cuenta en 1. Si en vez de esto, queremos que la cuenta siga desde el último valor de la enumeración anterior, podemos utilizar uno de los dos métodos siguientes:



La forma más fácil es utilizando el paquete {enumitem}, que es específico para esto. Si queremos que la segunda enumeración siga la cuenta, ponemos "[resume]". Si queremos que reinicie la cuenta en 1, no ponemos nada.

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{enumitem} % enumerados

\begin{document}

Primera lista de la compra:

\begin{enumerate}
    \item Manzanas.
    \item Plátanos.
    \item Fresas.
\end{enumerate}

Segunda lista de la compra:

\begin{enumerate}[resume]
    \item Limones.
    \item Naranjas.
    \item Pomelos.
\end{enumerate}

\end{document}




El método anterior tiene un problema. No podemos editar el formato de la enumeración. Si queremos hacerlo, podemos usar el paquete {enumerate} más un contador, como se muestra a continuación. Por ejemplo, en este caso, queremos que la enumeración sea con letras mayúsculas encerradas entre paréntesis (y que lo indicamos como "[(A)]"):

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{enumerate} % enumerados

\begin{document}

\newcounter{nx} % creamos un contador con el nombre "nx".

Primera lista de la compra:

\begin{enumerate}[(A)]
    \item Manzanas.
    \item Plátanos.
    \item Fresas.
\setcounter{nx}{\value{enumi}} % le damos al contador el valor de la enumeración.
\end{enumerate}

Segunda lista de la compra:

\begin{enumerate}[(A)]
\setcounter{enumi}{\value{nx}} % reiniciamos la enumeración con el valor del contador.
    \item Limones.
    \item Naranjas.
    \item Pomelos.
\end{enumerate}

\end{document}