lunes, 26 de marzo de 2012

Cómo hacer una presentación con LaTeX

En la siguiente entrada, mostraré cómo hacer una presentación con LaTeX. Pero antes de nada, unos pequeños consejos sobre presentaciones.
  1. Una presentación tiene que ser sencilla y clara. Con una (o dos) figuras por transparencia. Con poco texto y letra grande, (4 o 5 líneas es ya suficiente), o mejor, con solo los puntos y palabras clave. Nada de un montón de texto pequeñito y todo apelotonado, como si fuera un libro. Recuerda que una presentación "es para que el público vea, no para que tú leas".
  2. Una presentación tiene que ser bonita y elegante. Una presentación en colores es más bonita que una en blanco y negro. Pero que se aprecie el buen gusto que tienes.
  3. También es bueno que una presentación sea corta. Tratar de meter demasiada información, solo consigue que el público se pierda, aburra y desconecte.
  4. Recuerda que tienes que practicar. "La práctica te da confianza. La confianza te da profesionalidad."
  5. El tono de voz y los gestos son también muy importantes. Un tono fijo, monótono, constante... es aburrido y hace que la gente desconecte y se duerma. Los buenos oradores, cambian la fuerza y el tono de voz. Hacen pausas, se mueven, gesticulan. Y consiguen que sus presentaciones sean dinámicos y atrayentes.
  6. Por último, sonríe, y mira al público. :-)

En cuanto a hacer la presentación en sí. Me gusta mucho LaTeX para escribir informes y documentos científicos o técnicos. Pero para presentaciones, prefiero PowerPoint. :-S Y es que con PowerPoint todo es mucho más fácil; puedes copiar texto, imágenes, agradarlas, moverlas... y todo con el ratón. A fin de cuentas, lo más importante de las presentaciones es poder editar el formato al gusto; y con LaTeX ocurre precisamente lo contrario. Pero por supuesto que con LaTeX se puede hacer presentaciones muy bonitas y profesionales. Y mientras aceptemos que el formato lo decide LaTeX (no nosotros), todo estará bien. Veamos a continuación cómo hacerlo:



  • Esqueleto de la presentación. Con LaTeX se puede hacer fácilmente una presentación usando la clase {beamer}. Cada transparencia se define entre los comandos \begin{frame} y \end{frame}.

\documentclass{beamer}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}

\begin{document}

\begin{frame}
    \frametitle{Marsupiales}
    Canguro, Koala, Wombat...
\end{frame}

\end{document}



  • Colores y formato. LaTeX tiene varios formatos y combinaciones de colores ya definidos, todos muy bonitos. Para elegir un formato, se utilizan los siguientes comandos:
    • \usetheme{Warsaw} Define el formato.
    • \usecolortheme{crane} Define la combinación de colores.
      En el siguiente enlace tienes una matriz para elegir el formato y combinación de colores que más te guste (click aquí).
    • \useoutertheme{shadow} Define el encabezado y pie de página.
      Puedes elegir entre: {infolines}, {miniframes}, {shadow}, {sidebar}, {smoothbars}, {smoothtree}, {split}, {tree}...
    • \useinnertheme{rectangles} Define el formato de los puntos.
      Puedes elegir entre: {circles}, {inmargin}, {rectangles}, {rouded}...

\usetheme{Warsaw}
\usecolortheme{crane}
\useoutertheme{shadow}
\useinnertheme{rectangles}

\begin{document}

  • Más colores y formatos. Hay mucha gente que ha desarrollado sus propios formatos y combinaciones de colores, para presentaciones con LaTeX. Quizás sea buena que eches una ojeada a alguno de ellos. En los siguientes enlaces, puedes ver algunos ejemplos (click aquí) (click aquí).




  • Título. La primera diapositiva se puede crear de manera similar a la siguiente. Primero definimos el título, subtítulo, autores, universidad o centro, y fecha, con los comandos \title, \subtitle, \author, \institute y \date. Es importante indicar entre corchetes un texto alternativo, que se usará luego en el encabezado y pie de página. Finalmente, creamos la página de inicio con el comando \titlepage.

\documentclass{beamer}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usetheme{Warsaw}
\usecolortheme{crane}
\useoutertheme{shadow}
\useinnertheme{rectangles}

\title[Animales]{Animales de todo tipo}
\subtitle{Dando nombres a los animales}
\author[Adan, Eva, Serpiente]{

A. Adán$^{1}$ \and E. Eva$^{2}$ \and S. Serpiente$^{3}$}
\institute[EDEN \& HELL]{
  $^{1-2}$
  Universidad de Edén\\
  Al lado del manzano, Paraíso
  \and
  $^{3}$
  Universidad del Infierno\\
  Inframundo, 666, Tierra
  \and
  \texttt{\{$^{1}$eva, $^{2}$adan\}@paraiso.com, $^{3}$serpiente@infierno.com}
}
\date{\today}

\begin{document}

\frame{\titlepage}

\end{document}

Nótese que con el comando "\and" dejamos un espacio en blanco.



  • Índice de secciones. LaTeX permite crear fácilmente el índice de nuestra presentación, con el comando \tableofcontents:

\begin{frame}
    \frametitle{Índice}
    \tableofcontents
\end{frame}

\section{Animales}
\subsection{Marsupiales}

\begin{frame}
    \frametitle{Marsupiales}
    Canguro, Koala, Wombat...
\end{frame}

\subsection{Marinos}
\section{Plantas}
\subsection{Flores}
\subsection{Árboles}


A mí me gusta que, cada vez que pasamos de sección y subsección, nos vuelva a aparecer el índice, marcando el punto por el que nos llevamos. Para ello, bastaría añadir el siguiente código, que hay que poner antes de \begin{document}:

\AtBeginSection{ 
\begin{frame} 
  \frametitle{Índice}
  \tableofcontents[currentsection]
\end{frame}
}

\AtBeginSubsection{ 
\begin{frame}
  \frametitle{Índice}
  \tableofcontents[currentsection,currentsubsection]
\end{frame}
}

\begin{document}



Si nuestro índice es muy largo, quizás sea mejor ponerlo en dos columnas. Para ello, necesitamos cargar el paquete {multicol}, y utilizar el código siguiente. Además, también recomiendo definir un encabezado que ocupe poco espacio, como {tree}:

\usepackage{multicol}
\useoutertheme{tree}

\AtBeginSection{
\begin{frame}
  \frametitle{Índice}
  \begin{multicols}{2}
  \tableofcontents[currentsection]
  \end{multicols}  
\end{frame}
}

\AtBeginSubsection{
\begin{frame}
  \frametitle{Índice}
  \begin{multicols}{2}
  \tableofcontents[currentsection,currentsubsection]
  \end{multicols}  
\end{frame}
}

\begin{document}

\begin{frame}
  \frametitle{Índice}
  \begin{multicols}{2}
  \tableofcontents
  \end{multicols}
\end{frame}





  • Cajas. Cuando queremos agrupar ideas o palabras clave, es muy útil el comando {block}, como en el siguiente ejemplo:

\begin{frame}
  \frametitle{Marsupiales}
  \begin{block}{Marsupiales en Australia}
  Koala, Canguro, Wombat...
  \end{block}
      
  \begin{block}{Marsupiales fuera de Australia}
  Oposum, Zarigüella...
  \end{block}
\end{frame}






  • Dos columnas. De manera similar a como hicimos con el índice, podemos dividir una transparencia en varias columnas, utilizando el siguiente código. Nótese que, con el comando \column{x}, "x" significa la anchura de cada columna.

\begin{frame}
  \frametitle{Animales}
  \begin{columns}[t]
    \column{0.5\textwidth}
    Algunos mamíferos marinos:
 
    Ballena, Narval, Cachalote...

    \column{0.5\textwidth}
    Y algunos más:
 
    Morsa, León marino, Foca...
  \end{columns}
\end{frame}




  • Animaciones 1. Si queremos que varios puntos, vayan apareciendo de manera secuencial, según vayamos haciendo click con el ratón, podemos usar el siguiente código. Donde <a-> siginfica que el texto aparecerá desde el click número "a", hasta el último.

\begin{frame}
  \frametitle{Flores}
  \begin{itemize}
  \item<1->{Rosa}
  \item<2->{Azucena}
  \item<3->{Margarita}
  \end{itemize}
\end{frame}



Por cierto, si hubiéramos puesto <a-b>, el texto correspondiente sería visible desde el click "a" hasta el "b". Y si hubiéramos puesto <a,b>, el texto sería visible en los clicks "a" y "b".




  • Animaciones 2. Otra posible animación, consiste en, cuando hagamos click con el ratón, que un cierto texto cambie de color. Pero sin que aparezca ni desaparezca nada. Para ello, utilizamos el siguiente código:

\begin{frame}
  \frametitle{Preguntas}
  \begin{itemize}
  \item \alert<1>{¿Cuáles ponen huevos?}
  \item \alert<3>{¿Cuáles tienen veneno?}
  \end{itemize}
     
  Armadillo, \alert<2,4>{Ornitorrinco}, \alert<2>{Equidna}, Pangolín, Erizo.
\end{frame}





Una última cosa. Como habrás visto, {beamer} añade una serie de iconos para pasar página, buscar una página, etc etc.


Pero la verdad es que no me gustan. Eso sí, se pueden quitar muy fácilmente añadiendo la línea siguiente antes de \begin{document}.

\setbeamertemplate{navigation symbols}{}





Por último, escribo todo el código completo para nuestra presentación:

\documentclass{beamer}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{multicol} % indice en 2 columnas

\usetheme{Warsaw}
\usecolortheme{crane}
\useoutertheme{shadow}
\useinnertheme{rectangles}

\setbeamertemplate{navigation symbols}{} % quitar simbolitos

\title[Animales]{Animales de todo tipo}
\subtitle{Dando nombres a los animales}
\author[Adan, Eva, Serpiente]
{A. Adán$^{1}$ \and E. Eva$^{2}$ \and S. Serpiente$^{3}$}
\institute[EDEN \& HELL]
{
  $^{1-2}$
  Universidad de Edén\\
  Al lado del manzano, Paraíso
  \and
  $^{3}$
  Universidad del Infierno\\
  Inframundo, 666, Tierra
  \and
  \texttt{\{$^{1}$eva, $^{2}$adan\}@paraiso.com, $^{3}$serpiente@infierno.com}
}
\date{\today}

\AtBeginSection{
\begin{frame}
  \frametitle{Índice}
  \tableofcontents[currentsection]  
\end{frame}
}

\AtBeginSubsection{
\begin{frame}
  \frametitle{Índice}
  \tableofcontents[currentsection,currentsubsection]
\end{frame}
}

\begin{document}

\frame{\titlepage}

\begin{frame}
  \frametitle{Índice}
  \tableofcontents
\end{frame}

\section{Animales}
\subsection{Marsupiales}

\begin{frame}
  \frametitle{Marsupiales}
  \begin{block}{Marsupiales en Australia}
  Koala, Canguro, Wombat...
  \end{block}
      
  \begin{block}{Marsupiales fuera de Australia}
  Oposum, Zarigüella...
  \end{block}
\end{frame}

\subsection{Marinos}

\begin{frame}
  \frametitle{Mamíferos marinos}
  \begin{columns}[t]
    \column{0.5\textwidth}
    Algunos mamíferos marinos:
  
    Ballena, Narval, Cachalote...

    \column{0.5\textwidth}
    Y algunos más:
  
    Morsa, León marino, Foca...
  \end{columns}
\end{frame}

\subsection{Preguntas}

\begin{frame}
  \frametitle{Preguntas}
  \begin{itemize}
  \item \alert<1>{¿Cuáles ponen huevos?}
  \item \alert<3>{¿Cuáles tienen veneno?}
  \end{itemize}
      
  Armadillo, \alert<2,4>{Ornitorrinco}, \alert<2>{Equidna}, Pangolín, Erizo.
\end{frame}

\section{Plantas}
\subsection{Flores}

\begin{frame}
  \frametitle{Flores}
  \begin{itemize}
  \item<1->{Rosa}
  \item<2->{Azucena}
  \item<3->{Margarita}
  \end{itemize}
\end{frame}
 
\end{document}

30 comentarios:

dasanro dijo...

Hola,

Mi duda es ¿como puedo hacer para que en la primera de todas las transparencia que es la que tiene el titulo, no aparezca arriba del todo, la barra como en el resto con el indice de las secciones?

¿como hacer tambien para que en la barra de navegacion de arriba que indica las secciones aparezcan solo la que estoy en ese momento y no todo el indice? Ya que si aparece todo el indice, pues se queda reducido mucho el espacio para la trasparencia.

Gracias

Saludos

dasanro dijo...

Con el modo tree que pones, se queda reducido en tamaño el encabezado, pero en cambio no se queda divido en dos partes como lo tienes puesto tu (y tenia yo tambien antes) que me gusta más.

Estoy con el tema Copenhagen

Luis dijo...

Hola Dasanro, ¿qué tal?

Sobre la primera pregunta. El comando "\frame{\titlepage}" te crea una primera página con formato de título, donde no está la barra superior. Mira el ejemplo que puse.

Sobre la segunda pregunta. Yo también le di muchas vueltas a eso, pero no encontré ninguna buena solución. Creo que lo más fácil es que cojas algún formato ya hecho. En el siguiente enlace, hay varios formatos muy bonitos y profesionales:

http://latex.simon04.net/

Hasta luego

dasanro dijo...

Gracias ;)

Al final he encontrado la solucion probando para el tema de las cabeceras, pues usando el tema este por defecto copenagen pues me gusta los colores pero luego hace falta pulirlo un poco con la configuracion.

Usando el comando
\useoutertheme{infolines}
Te crea la cabecera algo mas fina, y el pie lo crea en tres partes(autor+fecha+titulo)
Y la cabecera crea solo dos partes, izquiera seccion y a la derecha las subsecciones.
Ya que el documento lo tengo creado con varias secciones, subsecciones y subsbuceciones, ya que estoy haciendo un resumen y adaptacion de la memoria para hacer la presentacion.

Para la primera pagina utilizo \begin{frame}
\begin{center}
\includegraphics[height=0.2\textheight]{./img/logo.png}
%\hspace*{10cm}
\includegraphics[height=0.1\textheight]{./img/Logo2.jpg}
\end{center}
\titlepage
\end{frame}

Es por eso que aun asi me crea en el indice, pero que con la opcion del infolines, pues se ha solucionado el problema de que lo ponga.

Gracias

Saludos

Luis dijo...

Hola Dasanro, me alegro. :-)

Gracias por compartir la solución.

Hasta luego.

fabian dijo...

Gracias por las instrucciones! muy buenas..

Luis dijo...

Me alegro de que te sirviera, Fabian. :-)

Unknown dijo...

Muchas gracias por esta estupenda entrada, es muy útil para aprender.

Luis dijo...

Muchas de nadas, María. :-)

Unknown dijo...

Gracias, eres genial con estas ayudas, me ha permitido cogerle gran cariño a LaTeX. Lo necesitaba

Luis dijo...

Me alegro, Jhonathan. ^^

Rive dijo...

¡Hola!

Lo primero muchas gracias por la ayuda y las instrucciones dadas.

Mi duda es si existe la posibilidad de pese a tomar una combinación de \usetheme{} con \usecolortheme{} se puede modificar el color a uno de un gusto más personal.
Con color me refiero al del encabezado y pie de página, parte superior de tablas, . . .

Gracias,

Luis dijo...

Hola Rive,

pues la verdad es que nunca he mirado en profundidad cómo hacer presentaciones en LaTeX. No sabría ayudarte.

Tengo que reconocer, que para presentaciones, me gusta más power point. :D

Rive dijo...

LaTeX rsulta más profesional sobre todo si de introducir fórmulas se trata, es por eso que lo uso.
El problema surge a la hora de personalizar al gusto del usuario cosas como el color o la estructura, . . . pero bueno.

Luis dijo...

Hola Rive,

sí, tienes razón. Para fórmulas, no hay nada como LaTeX. Yo de hecho, las hago en LaTeX y las pego como imágenes en power point. :D

En cualquier caso, para hacer la presentación con LaTeX, puedes usar algún formato ya creado antes. Aquí hay muchos, por ejemplo:

http://latex.simon04.net/

DrawD dijo...

Muy gracioso el 'ambiente' para esta presentación ficticia. Gracias por la lista de temas del último comentario, y agrego unos temas oscuros muy elegantes, con una buena escogencia de colores y tonos (no usan cualquier negro):

http://www.ctan.org/pkg/beamerdarkthemes

¿Es posible eliminar la listica horizontal de pequeños íconos que aparece en el fondo de cada diapositiva?? (No les veo utilidad --o no me trabajan-- y me parecen visualmente fastidiosos, sobretodo sobre negro) con sólo teclado y/o mouse me defiendo.

Luis dijo...

Hola DrawD,

los simbolitos se pueden quitar con la siguiente línea:

\setbeamertemplate{navigation symbols}{}

Y muchas gracias por los nuevos temas de colores. :-)

CK7 dijo...

Hola Luis, tengo un problema con lo siguiente:

\AtBeginSection{
\begin{frame}
\tableofcontents[currentsection]
\end{frame}
}

Al compilarlo en texmaker me dice que no exite la sentencia \AtBeginSection
y que tampoco puedo pasar parámetros al comando \tableofcontents, me podrías indicar cuál es el error?

Luis dijo...

Hola CK7,

qué curioso. No sé cuál será el problema. ¿Si compilas solo el siguiente código te sigue dando problemas?

\documentclass{beamer}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}

\AtBeginSection{
\begin{frame}
\tableofcontents[currentsection]
\end{frame}
}

\begin{document}

\begin{frame}
Hola
\end{frame}

\end{document}

Si te sigue dando error, parece que hay algo mal instalado en la clase beamer. Pero si ahora ya no te da error, quizás sea alguna línea mal escrita, algún paréntesis no cerrado, o algo, en tu código.

Hasta luego

CK7 dijo...

Gracias Luis, me he estado informando y el problema es que no estoy usando una clase beamer, ¿habría alguna forma de hacer en una clase book, report o article?

Luis dijo...

Hola CK7,

para crear una presentación, tienes que usar beamer. El resultado será una presentación en pdf.

No puedes hacer una presentación con book, report o article...

Hasta luego

Unknown dijo...

Una pregunta, ¿cómo puedo hacer para que los blocks vayan apareciendo a medida que hago click?
Un saludo.

Luis dijo...

Hola Ulises,

yo lo que haría sería crear dos trasparencias (frames) distintas.

De hecho, cuando añades una animación, LaTeX te crea varias páginas en tu archivo de pdf. Una página extra por cada cambio en tu animación.

Hasta luego

RayodlNecaxa dijo...

¡Hola! Muy buen blog. Tengo una pregunta, al intentar hacer la "portada" todo me sale bien, pero quisiera poner más saltos de línea para separar los autores, porque de no hacerlo así salen muy pegados los renglones, sin embargo, al querer poner doble salto de línea me marca error. ¿Se puede hacer el doble salto de línea? o ¿cómo separo los autores? Este es el código utilizado:

\title[An\'alisis de dispersi\'on en fibras \'opticas]{An\'alisis de la dispersi\'on en fibras \'opticas no homog\'eneas usando el m\'etodo SPPS }
\subtitle{}
\author[]{{Presenta: \\Carlos Vald\'es Sol\'is}\\
{Asesoran: \\Dr. Ra\'ul Castillo P\'erez \\Dr. H\'ector Oviedo Galdeano}}

\institute[ITN]{}
\date{Octubre 23, 2015}


Así pues, quiero separar mas la parte de quien presenta y quienes asesoran. Saludos.

Luis dijo...

Hola RayodlNecaxa,

puedes poner algo así:

\author[]
{Presentan: AAAA\\ Asesoran: BBBB CCCC}

Por cierto, para los acentos, no hace falta poner \'. LaTeX debería saber hacerlo correctamente.

Hasta luego

Unknown dijo...

Hola.
¿Sabes como crear mapas conceptuales o mentales en un beamer?... pero que no sean ingresados como imagen.

Gracias

Luis dijo...

Hola Nathaly,

yo lo haría con el programa Diaw (http://dia-installer.de/index.html.en), que salva las imágenes como .eps

Pero si quieres hacerlos directamente en LaTeX, puedes usar el paquete TikZ. Un paquete especial para hacer mapas conceptuales, y que tiene cientos de posibilidades.

Hasta luego

Unknown dijo...

Hola
Alguien que me pueda decir como poner imagenes en la primera hoja de la presentación, quiero poner un escudo pero con el comando \includegraphics{}[h] me la manda a la siguiente hoja

Unknown dijo...

Hol! Muy bueno el blog, me ha servido de mucho. Yo tengo un problema, cuando la parte del índice es muy largo, las secciones (títulos) que aparecen en la caja superior de la diapositiva y que va cambiando mientras pasas de sección a sección, se hace más ancha y roba espacio haciendo que tenga menos lugar para las imágenes y texto. ¿Ésto se puede arreglar?

Saludos y muchas felicitaciones.

Unknown dijo...

Muy buen aporte. Gracias.