Mostrando entradas con la etiqueta primeros pasos. Mostrar todas las entradas
Mostrando entradas con la etiqueta primeros pasos. Mostrar todas las entradas

lunes, 10 de febrero de 2014

Errores con TeXnicCenter

En esta entrada pondré algunos errores que me han salido con TeXnicCenter. Quizás alguno te haya pasado a ti.

1) Errores con símbolos no anglosajones, el paquete {inputenc}.

El paquete {inputenc} se usa para poder escribir símbolos no anglosajones (á, ü, ñ, ¡! ¿?...) directamente, sin necesidad de usar ningún código especial. Para hacer esto, hay varios tipos de codificación (latin1, utf8, cp1252, etc...). Y dependiendo del editor de LaTeX que usemos, su versión, el sistema operativo, etc., deberíamos usar una opción u otra.

Por ejemplo, si escribimos un fichero tan sencillo como este, puede que nos de error:

\usepackage[latin1]{inputenc}

\begin{document}

¿Qué tal?

\end{document}
  
Lo malo es que la ayuda que nos da TeXnicCenter es muy consufa:

! Missing $ inserted.

O puede que compile sin errores, pero el resultado se vea mal.


Si te da error con [latin1], quizás te funcione correctametne con [utf8].

\usepackage[utf8]{inputenc}




2) Rizando el rizo, el problema de los tipos de codificación del punto anterior, también puede ocurrir con las tabulaciones. Si tienes un mensaje de error como el siguiente, puede que te esté pasando eso mismo.

Unicode char \u8:â€% not set up for use with LaTeX

Una tabulación no es algo estándar. Dependiendo del programa usado, una tabulación puede ser un espacio, tres espacios, cuatro... Y aquí viene el problema. Puede que copies una linea de texto de un programa (con una tabulación) y la pegues en LaTeX. Si LaTeX está usando un tipo de codificación distinta para las tabulaciones, no entienda qué es eso. Y te aparezca ese error.

También puede pasar algo parecido, si copias un texto con unas comillas, unas llaves, unos corchetes, el símbolo de grado (º), y muchos otros. El mensaje de error puede ser parecido al siguiente:

Keyboard character used is undefined: â€æ

A pesar de ser difícil de detectar, es fácil de solucionar. En ambos casos, basta con que borres la tabulación, las comillas o el símbolo externo, y lo vuelvas a escribir desde LaTeX. (Para el símbolito de grado, usa $^{\circ}$.)



3) ¿Te ha pasado alguna vez algunos de los siguientes errores?
  • Que se abra Adobe, pero no el pdf.
  • Que salga una ventana de error con el texto:
    "Cannot execute the command."
  • Que salga una ventana de error con el texto:
    "[DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]"
Parece ser que este error se debe a la versión de Adobe y su configuración en TeXnicCenter. Para editar esta configuración, ve a "Build / Define Output Profiles" (Alt+F7), y en la ventana emergente, a la izquierda (en Profiles), selecciona "LaTeX => PS => PDF".

(Ya que estamos aquí, en la solapa "LaTeX", puedes sustituir "%bm", por "%tm". Que creo que soluciona un problema distinto, relacionado con el índice de palabras.)

En la solapa "Viewer", en Server, hay que poner el nombre de la versión de Adobe, de la siguiente forma:
"acroview" + {A o R} + {número de versión}. 
"A" si estás usando Adobe Acrobat.
"R" si estás usando Adobe Acrobat Reader.
Por ejemplo:
  • Si tienes "Adobe Acrobat X", hay que poner "acroviewA10".
  • Si tienes "Adobe Reader XI", hay que poner"acroviewR11".
  • Si tienes "Adobe Acrobat Reader DC", pon "acroviewR15".
A continuación, te muestro la configuración que yo tengo. Pero esto es algo que dependerá de cada caso. No hay una solución universal. (En la versión antigua que tenía, me funcionaba sencillamente con Server="acroview".)

En la instalación de Windows 7, la configuración que tengo es:

 

Mientras que en Windows 8, la configuración que tengo es:

 
 
 

Si te sigue sin funcionar, quizás podrías probar con algún otro programa para visualizar pdf, en vez de Adobe. Por ejemplo, Sumatra pdf (click aquí).



4) Recuerda que el formato de las figuras que usemos, depende de la forma de compilar. Si compilamos como "LaTeX-> PDF", nuestras figuras pueden ser .jpg, .npg, etc. Mientras que si compilamos como "LaTeX-> PS -> PDF", nuestras figuras deben de ser .eps.
Si, por ejemplo, compilamos "LaTeX-> PDF" pero nuestra figura está en .eps, LaTeX no encontrará la figura, y nos dará el siguiente error: "LaTeX Error: File `...' not found."



5) Seguramente ya lo sepas, pero no está de más repetirlo. Muchas veces, un error se soluciona compilando una segunda o tercera vez. Y también hay veces que un error se soluciona si borras todos los archivos auxiliares que crea TeXnicCenter, y vuelves a compilar de nuevo.

martes, 7 de enero de 2014

Primeros pasos con LaTeX

En esta entrada, trato de dar una pequeña guía para cuando vamos a empezar a trabajar con LaTeX. Antes de nada, decir que LaTeX es un programa especializado en generar textos científicos y técnicos. La idea es que el usuario se esfuerce en escribir el contenido, no en hacer el formato. El formato lo hará LaTeX. Esto tiene ventajas pero también desventajas. Con LaTeX se nos facilitará mucho la vida cuando hacemos ecuaciones, referencias, citamos artículos o hacemos los índices. Pero también perdemos capacidad de decisión en el formato. Aunque podemos decir a LaTeX cómo queremos hacerlo, al final, lo hará él. Y muchas veces tendremos que ceder en algo. No olvides eso. Si quieres tener control absoluto del formato, mejor entonces que uses otra herramienta distinta.

1) Instalación.

En primer lugar, tenemos que instalar LaTeX. En el siguiente enlace explico cómo instalar TeXnicCenter en Windows, que es el editor de LaTeX que yo utilizo (click aquí), pero hay muchos otros editores.

Un problema común al trabajar con TeXnicCenter es que al compilar, el programa se quede esperando eternamente sin hacer nada. Esto puede ser porque TeXnicCenter quiere instalar un paquete, y MikTeX (la distribución de LaTeX para Windows) pide una solicitud (que no le llega) para su instalación. Para solucionarlo, en "Inicio / Todos los programas / MikTeX / Maintenance (Admin) / Settings (Admin) / General", en "Install missing packages on-the-fly", tenemos que poner "Yes".

El archivo de LaTeX en el que vamos a trabajar, es un archivo de texto con la extensión ".tex". Además, si usamos TeXnicCenter, podemos trabajar con un proyecto, que nos genera una estructura de árbol con nuestros elementos y es bastante cómodo. Esta información se almacena en un archivo con la extensión ".tcp". Al hacer click en el archivo ".tcp" se nos abrirá TeXnicCenter, y el archivo ".tex". Cuando compilamos en LaTeX, se generan muchos archivos. Y que son utilizados por LaTeX para hacer las referencias, la numeración, etc. No hay que preocuparse por esos otros archivos.

2) Para crear un proyecto en TeXnicCenter.

Primero creamos una carpeta de trabajo. Luego hacemos "File/New Project...", seleccionamos "General/Empty Project", le damos un nombre en "Project name", indicamos la dirección de la carpeta de trabajo en "Project path", ponemos ticks en "Uses BibTeX" y "Uses MakeIndex", y finalmente pinchamos OK.

3) Esqueleto del archivo ".tex".

TeXnicCenter nos abre el archivo ".tex", y escribimos lo siguiente.

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

\begin{document}

Hola

\end{document}

En la primera línea hemos dicho el tipo de documento {book} en este caso. También podría haber sido {article}, {report}, {beamer} (que es para hacer presentaciones), etc. También hemos indicado el tamaño del papel (a4paper), que los capítulos empiecen en páginas impares (openright), y el tamaño del texto (10pt).

A continuación  hemos indicado que vamos a trabajar en español, con [spanish]{babel}. Para inglés, hubierámos puesto [english]{babel}.

El paquete [latin1]{inputenc} sirve para poder trabajar con símbolos no anglosajones: ¿ ¡ á ü ñ... (Ver el siguiente punto).

Será entre \begin{document} y \end{document} donde escribiremos el texto nuestro documento.

Seleccionamos LaTeX->PS->PDF, compilamos con el botón flechitas, y por último, vemos el resultado con el botón de la lupa.


Y ya está. ¿Funcionó?

Como verás, en nuestra carpeta de trabajo ahora habrá muchos archivos. Los importantes son el ".tcp" y ".tex" con la información de nuestro trabajo y el resultado, con la extensión ".pdf".

Por cierto, normalmente hay que compilar un par de veces. En la primera, LaTeX calcula las referencias cruzadas, citas, número de páginas, etc. y en la segunda compilación, LaTeX pone correctamente dichas variables.

4) El paquete {inputenc}

Cuando trabajamos con símbolos no anglosajones (á ü ñ...), el paquete {inputenc} debería ser capaz de poder soportarlos, y para ello, dicho paquete puede utilizar distintas formas de codificación. El elegir una u otra depende de muchas cosas, del editor de LaTeX que usemos, de la versión de ese editor, de nuestro sistema operativo, etc...

Para ver qué codificación soporta nuestro editor, te sugiero lo siguiente. Escribe una palabra con acentos, y compila el archivo tex. Si te funciona con la opción [latin1], perfecto. Si no, prueba con la opción [utf8].

\usepackage[latin1]{inputenc}
Hola, ¿qué tal?

\usepackage[utf8]{inputenc}
Hola, ¿qué tal?

5) Funciones y paquetes de LaTeX.

Hay muchas funciones de LaTeX y muchos paquetes con funciones. No hay que saber el nombre de todas funciones, pero sí saber buscarlas en internet.

Por ejemplo, si queremos poner una carita. Para eso existe la función "\smiley", que está en el paquete {wasysym}, que tenemos que cargar. Si ese paquete no está en nuestro ordenador, TeXnicCenter se encargará de instalarlo por nosotros, la primera vez que lo usemos. Esa primera vez, la compilación puede tardar un poquito más que las siguientes veces.

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

\begin{document}

Hola \smiley

\end{document}

Al final, el aprender LaTeX es básicamente saber qué paquete necesitamos cargar, para hacer lo que queremos hacer.

6) Espacios en blanco.

A LaTeX le da igual si entre dos palabras pones uno o más espacios. LaTeX siempre pone uno. Lo cuál ayuda a evitar esos pequeños errores de doble espacio entre palabras.

El símbolo de la carita que pusimos, tiene un problema. LaTeX no sabe si tiene que dejar o no espacio después de él. Y de hecho, no lo deja. Si queremos dejar un espacio, no lo podemos hacer con espacios, ya que como dije antes, LaTeX es inmune a eso. Para eso, usamos sencillamente el comando "\ ".

Hola \smiley        mundo.


 Hola \smiley \ mundo.


7) Símbolos especiales. 

Igual que en "\smiley", todas las funciones en LaTeX empiezan con "\". Además, hay otros símbolos especiales que se usan en LaTeX, como {}, &, $, %...

El símbolo % sirve para poner comentarios en el código. El resto de símbolos ya los irás viendo más adelante.

Para poder escribir estos símbolos en el documento final, hay que hacerlo con un código especial, como sigue:

% simbolos especiales
\{  \} \$ $\backslash$ \& \%


8) Ecuaciones.

Las ecuaciones se escriben dentro de \begin{equation} \end{equation}. Pero si quieres meter una ecuación o una variable dentro de un párrrafo de texto, se escribe entre $ $. Como se ve a continuación:

En la siguiente ecuación se calcula $x_1$.

\begin{equation}
x_1 = y^2
\end{equation}

 

Fíjate que LaTeX pone las variables en cursiva, y que ha numerado automáticamente la ecuación. Además, fíjate cómo se ponen subíndices y superíndices en las funciones. Para aprender más sobre ecuaciones matemáticas, mira la siguiente entrada (click aquí).

9) Referencias.

Con LaTeX es muy fácil trabajar con referencias cruzadas. Se pueden hacer referencias a capítulos, secciones, páginas, figuras, tablas... todo lo que quieras. Hacerlo es muy sencillo. Primero pones una etiqueta donde quieras con "\label{xxx}", y luego haces la referencia con "\ref{xxx}". Donde xxx es el nombre que tú quieras.

En la ecuación \ref{ec:x1}, se calcula $x_1$.

\begin{equation}\label{ec:x1}
x_1 = y^2
\end{equation}


A cada etiqueta le das el nombre que quieras. Al final, si tienes muchas referencias, es un poco lío. Lo que yo hago es, en el nombre de las etiquetas, poner un par de letras para indicar si el objeto es una ecuación, una tabla, un capítulo, una sección, etc. (Por ejemplo, {ec:....}, {ta:....}, {ca:...}, {se:...}.) Esto luego facilita mucho cuando estamos escribiendo.

En el siguiente enlace puedes ver más cosas sobre referencias cruzadas (click aquí).

10) Capítulos y secciones.

Un documento está divido en capítulos, secciones, subsecciones... (Por cierto, los capítulos no funcionan para documentos de tipo artículo.) Esto se hace muy fácilmente con los comandos siguientes. Además, para crear un índice de contenidos, basta con escribir "\tableofcontents".

\tableofcontents

\chapter{Animales terrestres}
\section{Unicornios}
\section{Quimeras}

\chapter{Animales voladores}
\section{Dragones}
\section{Pegasos}


Tienes más información sobre todo esto en el siguiente enlace (click aquí).

11) Dividir un documentos en varios archivos.

Si estamos haciendo un documento grande, una buena idea es dividir el archivo ".tex" en varios. Por ejemplo, un archivo ".tex" para cada capítulo. Más un archivo ".tex" padre, con la información del orden de los capítulos, los paquetes usados, etc.

Para ser ordenados, recomiendo crear una carpeta (dentro de la carpeta de nuestro proyecto) donde guardar los archivos ".tex" (excepto el padre). Y la llamo, por ejemplo, "capitulos".

Con "File/New File", creamos dos nuevos archivos ".tex", y los salvamos dentro de la carpeta recién creada. En este caso, los dos archivos que he creado son "terrestres.tex" y "voladores.tex".



Por último, tenemos el archivo ".tex" padre, que se encarga de llamar al reto de capítulos con la función "\include". El archivo ".tex" padre está en la carpeta del proyecto (no en la carpeta "capitulos").  Por cierto, los paquetes (\usepackage...) solo se escriben en el archivo padre. Nuestro archivo ".tex" padre es:

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

\begin{document}

\tableofcontents

\include{./capitulos/terrestres}
\include{./capitulos/voladores}

\end{document}


El archivo "terrestres.tex" es:

\chapter{Animales terrestres}
\section{Unicornios}
\section{Quimeras}

Y el archivo "voladores.tex" es:

\chapter{Animales voladores}
\section{Dragones}
\section{Pegasos}

El capítulo padre es el que tenemos que compilar. Al  compilarlo, llamará a los demás archivos. Todo funciona igual que si solo tuviéramos un único archivo ".tex", pero ahora todo está más ordenadito y es más fácil de encontrar las cosas. Además, si un día queremos compilar un solo capítulo, basta con poner un % delante de los "\include" del resto de capítulos, para que pasen a ser comentarios.
12) Bibliografía, figuras, tablas...

Ya tienes aquí las ideas más importantes para trabajar con LaTeX. Al final, no era tan díficil, ¿no crees? Claro que me faltó explicar muchas cosas. Pero lo básico ya lo sabes. Si quieres mirar cómo se añade la bibliografía, puedes ver la siguiente entrada (click aquí). Para incluir figuras, puedes ver la siguiente entrada (click aquí). Y para incluir tablas, puedes mirar esta otra (click aquí). Por último, el formato (negrita, tamaño del texto, etc.) lo explico en esta otra (click aquí).

jueves, 1 de marzo de 2012

Cómo instalar LaTeX en Windows

LaTeX, para un principiante, resulta bastante rudo. En primer lugar, su instalación es bien difícil, y necesitas instalar un montón de programas. Para tratar de ayudar un poquito, en esta entrada mostraré cómo instalar LaTeX en Windows.

Los programas que necesitamos son los siguientes:
  • MikTeX. Digamos que es el LaTeX en sí.
  • Un editor de LaTeX. Es decir, el programa que usaremos para escribir con LaTeX. El que yo utilizo se llama TexnicCenter. Pero hay muchos otros.
  • Un programa para visualizar archivos pdf. Por ejemplo, Adobe Reader, y que seguramente ya tengas instalado.

Además, otros programas que no son indispensables, pero si recomendables, son:
  • Gimp2. Programa de dibujo, que entre otras cosas, nos permite transformar cualquier imagen, a formato eps, que es el que utiliza LaTeX.
  • Diaw.exe. Programita muy sencillo para realizar imagenes directamente en eps.
  • JabRef. Un programa muy sencillito e intuitivo, y muy cómodo para editar nuestro fichero con la bibliografía.
  • GPL Ghostscript y GSview. Aunque el formato final de nuestro archivo es pdf, en el proceso, LaTeX crea otros tipos de archivo, como por ejemplo, de tipo ps. Para poder visualizar los archivos ps, necesitamos estos programas.
(Un último comentario antes de empezar. Para instalar todos estos programas, depende de si tu ordenador es de 32 bits (x86) o de 64 bits (x64). Sobra decir que puedes ver el tipo de tu sistema en "Panel de Control / Sistema"...)
 
Empecemos...
 

 
1.
Para visualizar documentos de pdf, el programa más popular es Adobe Reader, y que seguramente ya tengas instalado. Pero si no lo tienes, descárgalo e instálalo. (click aquí) Otra posibilidad, sería usar Sumatra pdf, que he leído que también está muy bien (click aquí). Para el resto de la explicación, asumo que usas Adobe.
 
2.
Descarga e instala MikTeX. (click aquí)

(En mi caso, descargo el instalador "Basic MiKTeX 2.9 Installer".)

Aquí una cosa muy importante, cuando estés instalando MikTeX, y pregunte "Install missing packages on-the-fly", hay que poner "Yes". ¡Muy importante!


 

Si ya tienes instalado MikTeX, puedes encontrar esta opción en Inicio / Todos los programas / MikTeX / Maintenance (Admin) / Settings (Admin) / General.
 


3.
Descarga e instala TexnicCenter. (click aquí)

Pincho en download, y a continuación en la última versión ("TeXnicCenter 1 RC 1 Installer", en mi caso).

Durante la instalación nos preguntará dónde tenemos LaTeX (es decir, el ejecutable de Miktex). Si usas Windows7, la carpeta es ...miktex\bin\x64.

E
s decir, será algo similar a: "C:\Archivos de programa\miktex29\miktex\bin" (Pero que dependerá de dónde lo hayas instalado tú...)


 
A continuación, nos preguntará dónde tenemos nuestro visor de pdf. Si usas Adobe Reader, tenemos que darle la dirección del archivo "AcroRd32.exe".

Será algo similar a lo siguiente:
"C:\Archivos de programa\Adobe\Reader 10.0\Reader\AcroRd32.exe" (Pero que dependerá de dónde lo hayas instalado tú...)(Si usas Sumatra pdf, tenemos que dar la dirección del archivo "SumatraPDF.exe".)



Una vez instalado TexnicCenter, siempre puedes cambiar todo esto en "Build / Define Output Profiles" (Alt+F7).

En este punto, ya tenemos instalado todo lo que se necesita. En los puntos siguiente (4-8), solo se instalan algunos programas auxiliares, que aunque pueden ser útiles, no son obligatorios. (Por lo tanto, si LaTeX te da algún error, no es por culpa de haber (o no) instalado los siguientes programas.) Si quieres, puedes pasar directamente a la parte donde se crea un ejemplo con LaTeX.
 


4. Descarga e instala Gimp2. (click aquí)
 
5.Descarga e instala Diaw.exe. (click aquí)

En el siguiente enlace puedes ver un vídeo tutorial de este programa (
click aquí), realizado por el grupo CAChemE.org.
 
6. Descarga e instala JabRef. (click aquí)
 
7. Descarga e instala GPL Ghostcript. (click aquí)

Pincho en la última versión (en mi caso "GPL Ghostscript 9.02"), y a continuación en el instalador (en mi caso "gs902w32.exe", ya que tengo 32 bits).
 
8. Descarga e instala GSview. (click aquí) (Misma página que GPL Ghostcript.)

Pincho en la última versión (en mi caso GSview 5.0), y a continuación en el instalador (en mi caso "gsv50w32.exe", ya que tengo 32 bits).
 
Una última cosa, con Miktex, se nos instaló un segundo editor de LaTeX, TexWorks. Que es bastante limitado, pero que por defecto se nos habrá configurado como el editor de archivos tex. Mi recomendación es poner TexnicCenter como el editor por defecto. (Ya sabes, segundo botón sobre un archivo .tex / Abrir con / Elegir programa... / (Buscar TexnicCenter) / Y poner un tick en "Utilizar siempre el programa seleccionado...")



Vamos a hacer ahora nuestro primer documento de LaTeX.

  • En TexnicCenter, pinchamos en File/New Project... Seleccionamos General/Empty Project.

    Le damos un nombre en "Project name", un directorio en "Project path", ponemos un tick en "Uses BibTeX" y "Uses MakeIndex", y finalmente pinchamos OK. (Los proyectos son una cosa particular de TexnicCenter, pero que resultan muy cómodos. Crean una estructura en árbol a la izquierda, para que navegues entre las secciones, ecuaciones, referencias... de tu archivo.)
  • A continuación, escribimos nuestro documento. Por ejemplo:

    \documentclass[a4paper,openright,10pt]{report}
    \usepackage[spanish]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{wasysym}

    \begin{document}

    Hola mundo \smiley

    \end{document}
     
  • Seleccionamos que la salida sea "LaTeX=> PS=> PDF". Compilamos un par de veces (Ctrl+F7), y vemos el resultado (F5).

    Si estamos usando un paquete, que aún no tenemos en nuestro ordenador, TexnicCenter lo descargará de internet. Como en este caso, el paquete {wasysym}. Puede parecer que TexnicCenter está tardando en compilar, pero solo está descargando el paquete. La siguiente vez que compilemos, todo será más rápido.

Y ya está. ¿Funcionó? :-)



Por último, en la siguiente entrada he puesto algunos errores típicos que me pasaron a mí. Quizás alguno te pueda servir de ayuda (click aquí).

lunes, 4 de abril de 2011

Referencias cruzadas en LaTeX

Con LaTeX, podemos hacer fácilmente referencias a capítulos, secciones, etc., figuras, tablas, ecuaciones, y a páginas de nuestro documento. El mecanismo es muy fácil, ponemos una etiqueta con el comando \label{x}, y hacemos la referencia con el comando \ref{x}, donde "x" será el nombre que hayamos querido dar. A continuación, un ejemplo:

\section{Juguetes}\label{sec:juguetes}

La sección \ref{sec:juguetes} trata de juguetes. De aquellos de la tabla \ref{t:jug}, sin duda alguna, mi favorito son los Lego.

\begin{table}[htb]
\label{t:jug}
\centering
\begin{tabular}{|l|l|}
\hline
Juguete & Origen \\
\hline \hline
Lego & Dinamarca \\ \hline
Clicks (Playmobil) & Alemania \\ \hline
Tente & España \\ \hline
Meccano & Inglaterra \\ \hline
\end{tabular}
\caption{Tabla con juguetes.}
\end{table}


Para las ecuaciones, podemos usar también el mismo comando \ref{}. Sin embargo, yo suelo usar el comando \eqref{}, que ya te pone el número de la ecuación entre paréntesis. Para usar este comando, hay que cargar el paquete {amsmath}.

\usepackage{amsmath}

¿Estará aceptada en todo el universo la ecuación \eqref{eqsuma}?

\begin{equation}\label{eqsuma}
1 + 1 = 2
\end{equation}


Cuando queremos hacer una referencia a una palabra o frase de una cierta página, ponemos la etiqueta detrás exactamente de dicha palabra (sin espacios), e indicamos la referencia con el comando \pageref{}, como muestro a continuación:

El Conde de Montecristo\label{mont} está basado en una historia real que llegó a oídos de Alejandro Dumas.

Como ya se dijo en la página \pageref{mont}...


El comando \pageref{} sirve también para indicar la página de una referencia normal. Por ejemplo, podríamos haber puesto lo siguiente: (Nótese que se usa la misma etiqueta para ambas referencias.):

¿Estará aceptada en todo el universo la ecuación \eqref{eqsuma} de la página \pageref{eqsuma}?

Si queremos poner el número total de páginas, podemos poner una etiqueta al final del documento, y luego referenciarla con \pageref. O mejor, podemos usar el paquete {lastpage}, que ya nos crea automáticamente dicha etiqueta, con el nombre {LastPage}, como muestro a continuación:

\usepackage{lastpage}

Este documento tiene \pageref{LastPage} páginas.

miércoles, 23 de marzo de 2011

Bibliografía en LaTeX

En la siguiente entrada mostraré algunos ejemplos sobre cómo utilizar la bibliografía con LaTeX. En primer lugar, supongamos que tenemos cuatro artículos a los que queremos hacer referencia en nuestro documento. Primero, tenemos que crear el archivo "biblio.bib" con las referencias. Existen programas específicos para hacer eso, como por ejemplo, JabRef, que es el que yo uso.

Los artículos ejemplos son:

@ARTICLE{Alfonso2010a,
author = {M. Alfonso and B. Bernardo and C. Carlos and D. Domingo},
title = {El problema de los gatos y los perros},
journal = {Mascotas},
year = {2010},
volume = {50},
pages = {112-115}
}

@ARTICLE{Alfonso2010b,
author = {M. Alfonso and M. Marta and N. Nuria},
title = {Mi viaje a {EEUU}},
journal = {Revista de viajes},
year = {2010},
volume = {14},
pages = {50-56}
}

@ARTICLE{Patricio2011,
author = {A. Patricio},
title = {Una estrella rosa en el fondo del mar},
journal = {El mar},
year = {2011},
volume = {3},
pages = {1071-1090}
}

@ARTICLE{Zacarias2009,
author = {R. Zacarias and G. Graciela},
title = {¿{C}uál te gusta más?},
journal = {Flores},
year = {2009},
volume = {5},
pages = {45-49}
}

Para indicar a LaTeX qué artículo queremos, caracterizamos cada uno con una etiqueta (en este caso: Alfonso2010a, Alfonso2010b, Patricio2011 y Zacarias2009). A mí me gusta poner el nombre del primer autor más el año. Si el autor publicó más de un artículo ese año, pongo una letra después del año.

Además, es muy importante tener en cuenta lo siguiente:
  • Los autores hay que separarlos con "and".
  • Si en el título hay siglas que tienen que estar siempre en mayúsculas (por ejemplo, EEUU), hay que escribir la palabra en cuestión entre llaves. (De no hacer esto, LaTeX lo escribiría en minúsculas.)
Existen muchos formatos posibles para escribir la bibliografía (cuya extensión es .bst). Algunos formatos .bst ya vienen por defecto en el compilador de LaTeX, pero si el que queremos usar no viniera, bastaría con descargarlo de internet y copiarlo en la misma carpeta donde tengamos el documento que estemos creando. En el siguiente link encontrarás muchos formatos posibles (click aquí).

A continuación muestro los formatos que más me gustan a mí.



1) Artículos ordenados alfabéticamente y referencias con números.

Para ello podemos usar el estilo "acm.bst". Nuestro archivo de LaTeX debería de ser algo similar a lo siguiente. Es importante cargar el paquete "cite" para que LaTeX compacte las referencias (es decir, que ponga [1-4] en vez de [1][2][3][4]).

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}

\usepackage{cite} % para contraer referencias

\begin{document}

Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Patricio2011, Zacarias2009, Alfonso2010b, Alfonso2010a}.

\bibliographystyle{acm}
\bibliography{biblio}
\end{document}



También podríamos haber usado el estilo "IEEEannot.bst". Es parecido al estilo anterior, pero este no pone los autores en mayúsculas. Este estilo no viene por defecto, así que lo tenemos que descargar (click aquí) y salvar en nuestra carpeta de trabajo (donde tenemos nuestro archivo .tex).

\usepackage{cite} % para contraer referencias

\begin{document}

Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Patricio2011, Zacarias2009, Alfonso2010b, Alfonso2010a}.

\bibliographystyle{IEEEannot}
\bibliography{biblio}
\end{document}






2) Artículos ordenados por orden de aparición y referencias con números.

En este caso, podemos utilizar el estilo de bibliografía "unsrt.bst", como sigue:

\usepackage{cite} % para contraer referencias

\begin{document}

Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Patricio2011, Zacarias2009, Alfonso2010b, Alfonso2010a}.

\bibliographystyle{unsrt}
\bibliography{biblio}

\end{document}






3) Artículos ordenados por orden alfabético y referencias por nombre y año.

En ese caso, podemos utilizar el estilo "jtbnew.bst". Este estilo no viene por defecto, así que lo tenemos que descargar (click aquí) y salvar en nuestra carpeta de trabajo. Para contraer correctamente las referencias (y que las escriba más bonitas), en vez de cargar el paquete "cite", hay que cargar el paquete natbib.

\usepackage[sort&compress]{natbib} % para contraer referencias de texto

\begin{document}

Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Patricio2011, Zacarias2009, Alfonso2010b, Alfonso2010a}.

\bibliographystyle{jtbnew}
\bibliography{biblio}

\end{document}



En el caso de referencias con nombre y año, creo que es mejor hacer las llamadas a cada referencia por separado (excepto cuando dos o más son del mismo autor). Es decir

Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Zacarias2009}, \cite{Alfonso2010b, Alfonso2010a} y \cite{Patricio2011}.


Otra posibilidad es utilizar el paquete "apalike.bst". También es necesario descargarlo (click aquí) y salvarlo en nuestra carpeta de trabajo.

\usepackage[sort&compress]{natbib} % para contraer referencias de texto

\begin{document}
Puedes verlo en \cite{Patricio2011}. Te recomiendo leer \cite{Zacarias2009}, \cite{Alfonso2010b, Alfonso2010a} y \cite{Patricio2011}.
 

\bibliographystyle{apalike}
\bibliography{biblio}

\end{document}





Algunos últimos comentarios:

Cuando un artículo posee más de dos autores, LaTeX lo contrae utilizando la locución latina "et al." (et alii = "y otros"), mientras que si un artículo tiene exactamente dos autores, los separa por "&" o "and" (dependiendo del formato). Pero si estamos escribiendo en español, esto queda bastante mal. Dos autores deberían ir separdos por "y". En otra entrada, explico cómo solucionar este problema (click aquí).

Otro posible fallo ocurre cuando los apellidos de los autores, tienen acentos, diéresis, eñes, o algún otro símbolo no estándar. En nuestro texto, podemos escribirlos sin ningún problema, pero a veces falla si ese símbolo aparece en la bibliografía. Esto se debe a que hay varios métodos de codificación (latin1, utf8, cp1252...). Si nuestro documetno de LaTeX usa uno, y JabRef otro distinto, no va a funcionar. Si ocurre este problema, en la bibliografía, es mejor poner estos símbolos con código:

\'a \'e \'i \'o \'u \"u
\'A \'E \'I \'O \'U \"U
\~n \~N
?` ?  !` !


Hay veces que queremos que nos aparezca en la lista bibliográfica una cierta referencia, pero sin que la hayamos citado en ningún momento en el texto. Esto lo podemos hacer con el comando "\nocite{}".

Otras veces lo que queremos es añadir una pequeña lista de referencias, independiente de la lista final de bibliografía. Por ejemplo, una lista con los artículos que nosotros hayamos escrito. Tengo otra entrada donde explico cómo hacerlo (click aquí).

Por último, hay veces que queremos añadir algún comentario extra en alguna de las referencias. Esto lo podemos indicar con \note={"texto que queramos"}. Por ejemplo:

@ARTICLE{Zacarias2009,
author = {R. Zacarias and G. Graciela},
title = {¿{C}uál te gusta más?},
journal = {Flores},
year = {2009},
volume = {5},
pages = {45-49},
note = {Premio 2009}
}


jueves, 3 de marzo de 2011

Dar formato en LaTeX

A continuación, se muestran algunos comandos comunes para dar formato en LaTeX. Lo primero sería crear un archivo .tex con la siguiente estructura, donde se cargan las librerías más importantes. Además, también se carga el paquete soul, para poder realizar tachados.

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{soul} % para tachar palabras



  • Para escribir en negrita, cursiva, mayúsculas, subrayado, etc., podemos usar los comandos siguientes:

Con LaTeX se puede escribir fácilmente \textbf{en negrita}, \textit{en cursiva}, \textsc{En Mayúsculas}, \emph{enfatizado}, \underline{subrayado}, \texttt{como máquina de escribir}, \textsl{inclinada (no cursiva)}...


Nótese que en este caso, el enfatizado ha puesto la palabra en cursiva. Pero eso no siempre es así. Dependiendo del paquete o tipo de documento, el enfatizado será en cursiva, en rojo, en negrita, etc.



  • Para tachar una palabra, tenemos varias opciones. Podemos cargar el paquete {soul}, y usar el comando \textst:

\usepackage{soul}

Hoy es un día \textst{normal} único. En \emph{tus manos} está que así sea.


Otra opción es cargar el paquete {ulem}, y usar el comando \sout. Es importante tener en cuenta, que al cargar este paquete, las palabras enfatizadas, ahora se ponen subrayadas.

\usepackage{ulem}

Hoy es un día \sout{normal}único. En \emph{tus manos} está que así sea.


El paquete {ulem}, además, tiene varias otras opciones, como muestro a continuación:

\usepackage{ulem}

Este paquete también permite \uuline{hacer doble subrayado}, \uwave{subrayar con curva ondulada} y \xout{tachar con ganas}.




  • El tamaño del texto se puede fijar con los comandos siguentes (de menor a mayor tamaño):
    • \tiny
    • \scriptsize
    • \footnotesize
    • \small
    • \normalsize
    • \large
    • \Large
    • \LARGE
    • \huge
    • \Huge
Estos comandos, cambian el tamaño de todo el texto, desde donde están hasta el final. De esta forma, cuando queramos volver al tamaño normal, habrá que escribir \normalsize:

bla bla bla \huge bla bla bla \normalsize bla bla \\

Otra posibilidad, sería encerrar estos comandos dentro de un bloque \begin{}... \end{}:

bla bla bla \begin{huge}bla bla bla \end{huge}bla bla \\

En ambos casos, el resultado sería el mismo:




  • Cómo separar por sílabas correctamente una palabra.
LaTeX sabe cómo separar las palabras por sílabas, pero hay veces que hay una palabra (un nombre propio, por ejemplo), que lo hace mal. Para decirle a LaTeX cómo hacerlo correctamente, basta con separar las sílabas con "\-" como se muestra a continuación:

Mi agradecimiento a Ya\-rosh\-chuk.



  • Cómo evitar que LaTeX corte las palabras, al final de una línea.
Si no quieres que LaTeX corte ninguna palabra en sílabas, al final de una línea, puedes usar el paquete {hyphenat}:

\usepackage[none]{hyphenat}



  • Cómo mantener una o varias palabras juntas, siempre en la misma línea.
Podemos hacerlo de dos formas, con \mbox{} o con ~. Como muestro a continuación:

Hoy la temperatura no bajará de \mbox{20 °C} durante la noche.
Hoy la temperatura no bajará de 20~°C durante la noche.

Hay una diferencia entre ambos comandos. Con \mbox{}, las palabras estarán siempre en la misma línea. Ninguna de las palabras será cortada ni separada con un guión, y movida al renglón siguiente. Mientras que con ~, sí que una de las dos palabras se puede romper si no cabe en la línea, pero el salto de línea nunca será en ~. Esto puede ser útil, cuando hacemos referencias a tablas, figuras o secciónes. Es decir, con:

En la sección~\ref{se:intro} se resumen...

al final de la línea podremos tener:
 pero nunca: