jueves, 25 de octubre de 2012

Cómo poner los encabezados en minúsculas

Cuando trabajamos con el formato "book", los encabezados que se crean siguen el siguiente estilo. En las páginas impares, el nombre del capítulo en mayúsculas. En las páginas pares, el nombre de la sección en mayúsculas.


Personalmente, no me gusta mucho este formato. Si queremos que el encabezado de las secciones lo ponga en minúscula, podemos usar el paquete "scrpage2", y añadir las líneas siguientes. Además, he puesto la instruccíon "\markboth..." para que el encabezado del capítulo sí que lo siga poniendo en mayúsculas.

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

\usepackage[nouppercase]{scrpage2} % encabezados

\pagestyle{scrheadings} %encabezados
\setlength{\headheight}{1.1\baselineskip} %encabezados

\begin{document}

\chapter{Animales fantásticos}\label{ch:animales}
\markboth{CAPÍTULO \ref{ch:animales}. ANIMALES FANTÁSTICOS}{}

\section{Dragones de Agua}

\end{document}




Otra forma más completa de hacerlo, es editando completamente los encabezados y pies de páginas. Como explico en detalle en otra entrada (click aquí).

martes, 23 de octubre de 2012

Pseudocódigo con LaTeX

En LaTeX podemos escribir pequeños algoritmos en pseudocódigo, con el paquete "algpseudocode". A continuación un ejemplo con una sentencia if-else:

\usepackage{algpseudocode}

\begin{algorithmic}
\If{you love me}
    \State{kiss me!}
\ElsIf{you like me}
    \State{kiss me!}
\Else
    \State{kiss me?}
\EndIf
\end{algorithmic}


LaTeX se encarga de poner la negrita, los tabuladores y los "then". Los bucles for y while se pueden hacer también muy fácil, como muestro a continuación. Además, si quieres numerar las líneas, bastaría con poner "[x]" al inicio del algoritmo. Las filas se van numerando de "x" en "x".

\begin{algorithmic}[1]
\For {1000 veces}
    \State{¿Hemos llegado ya?}
\EndFor
\end{algorithmic}


\begin{algorithmic}
\While {te apetezca \textbf{and} tengas tiempo}
    \State{ven a verme}
\EndWhile
\end{algorithmic}




Si quieres meter el código dentro de un cuadro, puedes usar por ejemplo, la función {minipage}, como muestro a continuación:

\noindent\fbox{
\begin{minipage}{0.5\textwidth}
\begin{algorithmic}[1]
\For {1:100}
    \State{kiss me}
\EndFor
\end{algorithmic}
\end{minipage}
}




Otra forma más sencilla de escribir código de programación es usando el paquete {verbatim}. Todo lo que escribamos entre "\begin{verbatim}" y "\end{verbatim}" se mostrará tal cual. Es decir, si ponemos un intro o varios espacios, aparecerán igual en nuestro archivo final. Además, el estilo de la letra es como de máquina de escribir.

\usepackage{verbatim}

\begin{verbatim}
x = 0
FOR i=1:1000
  x = x + i; 
END
\end{verbatim}