Mostrando entradas con la etiqueta LaTeX. Mostrar todas las entradas
Mostrando entradas con la etiqueta LaTeX. Mostrar todas las entradas

LaTeX: multiples imágenes juntas

En el anterior post sobre LaTeX hablamos sobre la colocación de imágenes flotantes integradas con el texto. En éste hablaremos sobre las posibilidades de tener una única figura, pero con varias imágenes dentro y sin realizarla con gimp previamente, con las ventajas de modificación que ello implica ;-)
La idea es tener una figura (Figura 1), con varias sub-imágenes dentro, a las que también podríamos referenciar. Tal como se muestra en la siguiente imagen, existe la figura 1, y luego la figura 1.a, la 1.b y la 1.c. Aunque parezca complicado de hacer, es sencillo desde LaTeX.
Para conseguir este resultado, primeramente hay que realizar uso del paquete subfig y luego dentro del entorno \begin{figure}...\end{figure} incluir cada una de las imágenes que queramos, colocándole un \label{} si nos interesa referirnos a ellas en alguna parte del texto. Luego para la imagen global, también podremos colocarle un \label{} y un \caption{}, para indicar algo sobre la figura global, por ejemplo, para el índice de figuras. A continuación se muestra el código que genera la imagen previa.
\usepackage{subfig}
... 
\begin{figure}
 \centering
  \subfloat[Gatito]{
   \label{f:gato}
    \includegraphics[width=0.3\textwidth]{gato.png}}
  \subfloat[Tigre]{
   \label{f:tigre}
    \includegraphics[width=0.3\textwidth]{tigre.png}}
  \subfloat[Conejo]{
   \label{f:conejo}
    \includegraphics[width=0.3\textwidth]{conejo.png}}
 \caption{Múltiples imágenes}
 \label{f:animales}
\end{figure}
Leer más

LaTeX: problemas con el anexos


En documentación formal u oficial, generalmente hay una parte final del documento, llamada anexo o apéndice sobre la que se coloca una parte del documento que es importante para comprenderlo, pero no esencial en él.
Para realizar esto, LaTeX tiene ya predefinido un tipo de formalismo que permite realizarlo de forma simple y concisa. Únicamente hay que referenciarlo con appendix, cargando previamente el paquete appendix. Una vez incluido, únicamente hay que seguir escribiendo los capítulos como se haría normalmente.
\usepackage{appendix}
% Documento...
\appendix
\chapter{Anexo I: Ejemplo de hoja técnica}
% Contenido del anexo I
\chapter{Anexo II: Hoja de soluciones}
% Contenido del anexo II
Si hacemos esto, ya tendremos creada la hoja de anexos y posteriormente el resto de anexos, sin embargo, usándolo he descubierto un par de fallos, o más que fallos, un par de detalles que podrían ser corregidos al escribir en cualquier idioma diferente del inglés y que quedarían mejor. El primero, el idioma, que me interesa que aparezca Anexos y no Appendices, tal como está por defecto. El segundo, la separación en el índice de contenidos de la parte de anexos respecto del resto del documento.
Para solucionar el problema con el idioma, simplemente habrá que realizar un renewcommand y especificarle el nombre que realmente nos interese. En este caso Anexos. A continuación se da el código necesario para realizarlo.
\renewcommand{\appendixname}{Anexos}
\renewcommand{\appendixtocname}{Anexos}
\renewcommand{\appendixpagename}{Anexos}
Para comprender mejor el otro problema a solucionar mejorar, mejor lo vemos sobre una imagen del resultado. A continuación se muestra un anexo típico de LaTeX por defecto.

Como se puede observar, en el índice del documento, en ningún lugar se nos indica que esto es un Anexo, sino que hay que especificarlo en el propio capítulo. Lo que nos interesa por lo tanto, es tener una hoja introductoria a los anexos, que nos permita saber que a partir de ese punto vendrán los anexos y también que en el propio índice aparezca así reflejado, tal y como se muestra en la siguiente imagen.

Conseguir esto es muy simple y bastará con poner estas líneas después del appendix.
\appendix
\clearpage
\addappheadtotoc
\appendixpage
Leer más

Error: File 'floatflt.sty' not found

Si estás trabajando con LaTeX y al intentar usar la librería floatflt te da el siguiente error, este post te puede ayudar.

Problem:
LaTeX Error: File `floatflt.sty' not found
Para solucionarlo, la forma más simple que encontré es volver a instalar el paquete floatflt. Para hacerlo, habrá que seguir los siguientes pasos:
  1. Creamos el directorio del paquete, si no existe
    shell> mkdir -p /usr/share/texmf-texlive/tex/latex/floatflt
    
  2. Borramos el contenido del mismo, por si existía
    shell> cd /usr/share/texmf-texlive/tex/latex/floatflt
    shell> rm -f floatflt.* float*.tex
    
  3. Descargamos los archivos necesarios
    shell> wget http://mirror.ctan.org/macros/latex/contrib/floatflt/floatflt.ins
    shell> wget http://mirror.ctan.org/macros/latex/contrib/floatflt/floatflt.dtx
    
  4. Instalamos con LaTeX
    shell> latex floatflt.ins
    shell> texhash /usr/share/texmf-texlive
    
Ya podemos usar nuevamente el paquete floatflt.





Leer más

LaTeX: pifont, enumeraciones

LaTeX permite realizar enumeraciones como cualquier otro editor de textos, pero también permite definir el marcador que pondrá según nuestro interés de entre todos los disponibles. Un gran número de ellos están el el paquete pifont, concretamente todos los que se muestran en la imagen de la izquierda.
Por defecto LaTeX emplea los básicos de siempre ·, -, *, sin embargo éstos se pueden cambiar con el comando \renewcommand{}{} por el que más nos guste. Este comando permite alterar los puntos según los niveles de profundidad hasta 4 niveles.
\renewcommand{\labelitemi}{\ding{42}}
pondrá la mano que está en la columna del 40, fila del 2. Si por ejemplo nos interesase poner un corazón, habría que usar el 164.
Para obtener la salida anterior, el código escrito fue el siguiente.
\usepackage{pifont}
....
\renewcommand{\labelitemi}{\ding{230}}
\renewcommand{\labelitemii}{\ding{47}}
\begin{itemize}
  \item Requirements
  \begin{itemize}
    \item Hardware requirements
    \item Supported Platforms
    \item Software Requirements
  \end{itemize}
  \item Components
  \begin{itemize}
    \item Zabbix Server
    \item Zabbix Proxy
  \end{itemize}
  \item Installation from Source
  \begin{itemize}
    \item Software requirements
    \item Structure of Zabbix distribution
  \end{itemize}
  \item Upgrading
  \renewcommand{\labelitemii}{\ding{118}}
  \begin{itemize}
    \item Change level releases
  \end{itemize}
\end{itemize}
Leer más

LaTeX: mezclar texto e imágenes

En LaTeX una de las cosas más complicadas que hay es el manejo de tablas e imágenes, especialmente la segunda. Aunque incluir una imagen puede ser algo muy fácil, colocar una imagen en el punto exacto que deseemos puede ya no ser tan trivial. En este post, vamos a explicar cómo realizar dicha tarea. La idea es obtener una imagen integrada en el texto y no separada del mismo, como se muestra en la siguiente captura, donde se ve una imagen a la derecha del texto y éste a la izquierda del mismo. Esto es lo que se conoce como una caja flotante.

Para realizar esto, es necesario usar el paquete wrapfig, que nos permite usar la sentencia wrapfigure e introducir ahí la imagen y decirle hacia dónde queremos orientarla, alignment, derecha (r) o izquierda (l), así como definir el ancho, width. La fucnión:
\begin{wrapfigure}{alignment}{width}

Un ejemplo del código necesario para conseguir la captura anteriormente mostrada es el siguiente:
\usepackage{wrapfig} %preámbulo
...
\chapter{¿Qué es Ruby?}
\begin{wrapfigure}{c}{0.5cm}
  \scalebox{0.5}{
    \includegraphics{./imagen/ruby_logo.png}
    %\caption{Descripción si se desea}
  }
\end{wrapfigure}
Ruby es un lenguaje de programación...

Leer más

LaTeX: acrónimos

En documentos largos y formales, especialmente textos técnicos y cietíficos, se suele dar el caso de que sea necesario usar acrónimos y LaTeX, como era de esperar, tiene un paquete que facilita dicha tarea, acronym. Un acrónimo no es más término acortado de una palabra real, que se especifica por su claridad y también para ahorrar espacio en texto. Así mismo, si la palabra empleada es compleja, el uso de acrónimos suele ser una práctica muy recomendada, ya que evita posibles faltas a la hora de escribirla. Se escribirá una vez y luego al compilarla, LaTeX hará las sustituciones pertinentes. Esta es una buena práctica que se puede usar un muchos casos, una acrónimos para simplificar la escritura.
A continuación, se mostrarán los diferentes usos que se le pueden dar a los acrónimos y por lo tanto, las diferentes utilidades del paquete acronym.
Primero, hay que definir los acrónimos que se usarán en el documento. Para ello importamos el paquete acronym y luego definimos los acrónimos que deseemos con acrodef{acrónimo}{Texto descriptivo}.
\usepackage{acronym}

\acrodef{VB}{Visula Basic}
\acrodef{FP}{Formación Profesional}
\acrodef{SIDA}{Síndrome de Inmunodeficiencia Adquirida}

Para referenciar cualquier acrónimo definido, únicamente hay que referenciarlo con ac{acrónimo}. La primera vez que se use, aparecerá el texto descriptivo primero y entre paréntesis el acrónimo (texto corto). Las siguientes veces, aparecerá el acrónimo directamente.
En la educación actual la \ac{FP} es uno de los pilares básicos....

El paquete acronym aparte de las funciones acrodef{}{} y ac{}, también define otra función de interés, como es acf{} que hace que siempre aparezca el texto completo del acrónimo correspondiente. Ésta puede resultar muy útil a la hora de escribir palabras o texto repetitivo, ya que simplifica la forma de escribirlo.

Otras funciones que incluye el paquete son:
  • acp{}, incluye el plural del acrónimo (por defecto añade una s al final del acrónimo).
  • acs{}, hace que aparezca la versión córta del acrónimo.
  • acresetall{}, resetea todos los acrónimos de forma que se establecen como "no usados".
  • acused{}, marca el acrónimo como "usado".
Leer más

LaTeX, notas de advertencia

Para finalizar el tema de los estilos en LaTeX y antes de profundizar algo más en como se hizo la plantilla, que eso será en otro post, a continuación se va a mostrar el código necesario para crear el estilo de advertencia. Como es lógico suponer, se empleará en aquellos casos que se desee destacar algo o algún error. La imagen empleada es la que va a continuación (error.png) y el código LaTeX necesario para crear dicho estilo es el que sigue.
warning error
error.png
\newenvironment{advertencia} [1] {
\tikzstyle{mybox} = [draw=red!75, fill=blue!35, very thick,
   rectangle, rounded corners, inner sep=15pt, inner ysep=15pt]
\tikzstyle{fancytitle} = [fill=red, text=white]
\begin{center}
\begin{tikzpicture}
\node [mybox] (box){%
   \begin{minipage}[c]{0.2cm}
   \centering
\ 
   \end{minipage}
   \begin{minipage}[c]{12cm}
#1
   \end{minipage}
};
\node[fancytitle, left=20pt, rounded corners] at (box.north east) {\ \ Advertencia\ \ };
\node[fancytitle, rounded corners] at (box.west) {\includegraphics[width=0.8cm]{./imagen/error.png}};
\end{tikzpicture}%

\end{center}
}
Y la forma de usar este nuevo estilo, al igual que en el empleo de las notas,
\begin{advertencia}
   {Nota de advertencia}
\end{advertencia}
El resultado final es el que se puede ver a continuación.
LaTeX, nota de advertencia

Relacionado:
Leer más

LaTeX, notas

Hoy ya comenzamos con las partes más complicadas del tema de notaciones en LaTeX. Vamos a crear un estilo ya más personalizado y útil, con un fondo y una imagen que enmarquen un texto. Este estilo se empleó para marcar aquellas notas importantes durante el transcurso de la documentación y que clarificaban partes o puntos un poco más confusos. Como su propio nombre indican, es una nota destacada.
Este post y el siguiente muestran todo el potencial de LaTeX en comparación con Office u OpenOffice. Como podéis ir observando, el código necesario para generar esto es muy poco y una vez escrito su reutilización se hace inmediata. Crear esto en Office puede ser muy costoso, en caso de que se de hecho.
El empleo de un nuevo entorno, hace su posterior uso muy simple.
knotes.png
\newenvironment{nota} [1] {
\tikzstyle{mybox} = [draw=red!75, fill=yellow!5, very thick,
    rectangle, rounded corners, inner sep=15pt, inner ysep=15pt]
\tikzstyle{fancytitle} =[fill=red, text=white]
\begin{center}
\begin{tikzpicture}
\node [mybox] (box){%
     \begin{minipage}[c]{0.2cm}
 \centering
\
     \end{minipage}
    \begin{minipage}[c]{12cm}
#1
    \end{minipage}
};
\node[fancytitle, left=20pt, rounded corners] at (box.north east) {\ \ Nota\ \ };
\node[fancytitle, rounded corners] at (box.west) {\includegraphics[width=0.8cm]{./imagen/knotes.png}};
\end{tikzpicture}%
\end{center}
}
Y como veis, para poder emplearlo nos llega con,
\begin{nota}
     {Nota destacada}
\end{nota}
El resultado final,
LaTeX, nota destacada
Relacionado:
Leer más

LaTeX, configuración destacada

En la serie de post sobre código LaTex, hoy os dejo ya disponible el código LaTeX que genera el estilo que se usó para las partes importantes de configuración de los servicios de Puppet.



\lstdefinestyle{no_fileconf} {
    numbers=none,
    xleftmargin=\parindent,
    xrightmargin=\parindent,
    aboveskip=3mm,
    belowskip=0.01mm,
    basicstyle=\footnotesize\ttfamily,
    backgroundcolor=\color{blue!9},
}
Su forma de uso, al igual que las anteriores es simple, tal como se describe a continuación:
\begin{lstlisting}[style=no_fileconf]
[main]
    autosign = false
\end{lstlisting}
\begin{center}
  \vspace{-0.35cm}
  {\scriptsize\sffamily Ejemplo de dato importante}
\end{center}
Relacionado:
Leer más

LaTeX, comandos del sistema

Continuando con el orden marcado, hoy queda ya disponible el código necesario para enmarcar los comandos del sistema, es decir, las líneas en bash que se ejecutan. Espero que os pueda ser de utilidad.


\lstdefinestyle{consola} {
    numbers=none,
    xleftmargin=\parindent,
    xrightmargin=\parindent,
    aboveskip=3mm,
    belowskip=0.01mm,
    basicstyle=\scriptsize\bf\ttfamily,
    backgroundcolor=\color{black!30},
}
Nuevamente para emplearlo, tal que así,
\begin{lstlisting}[style=consola]
root@xenserver:~/$ cat /etc/mailname
\end{lstlisting}
\begin{center}
  \vspace{-0.35cm}
  {\scriptsize\sffamily Ejemplo de ejecución en consola}
\end{center}
Relacionado:
Leer más

LaTeX, source code

Puesto que lo prometido es deuda, en una serie de post os voy a ir dejando todo el material necesario para que veáis cómo crear los diferentes estilos en LaTeX que empleé en la documentación de mi PFC. Aunque lógicamente cada uno tendrá que adaptarlo a lo suyo, espero sea una buena base para comenzar.
Hoy, vamos a ver el código que define el marco que engloba un trozo de código fuente. Una de las partes más importantes a la hora de mostrar un trozo de código fuente es sin duda la numeración de las líneas, por si tenéis que hacer referencia a una parte concreta.
\lstdefinestyle{fileconf} {
   xleftmargin=\parindent,
   xrightmargin=\parindent,
   aboveskip=3mm,
   belowskip=0.01mm,
   basicstyle=\footnotesize\ttfamily,
   backgroundcolor=\color{black!6},
}
A la hora de usarlo, únicamente,
\begin{lstlisting}[style=fileconf]
#include 
int main(int argc, char* argv[]) {
   puts("Hola mundo!");
}
\end{lstlisting}
\begin{center}
  \vspace{-0.35cm}
  {\scriptsize\sffamily Ejemplo de código fuente}
\end{center}
Relacionado:
Leer más

LaTeX, documentando un PFC

En mi proyecto fin de carrera de la Ingeniería Técnica Informática hice un amplio estudio sobre lo que por aquellas era una tecnología emergente y que prometía, la virtualización. Y más concretamente sobre Xen.
Por aquel entonces, por los apuros con la documentación y estar cursando en paralelo la superior, opté por realizarla en OpenOffice y, aunque desde mi punto de vista para documentos pequeños va genial, para documentos grandes quizás se queda algo corto. Con corto me refiero a que manejar un documento de 150 páginas, con texto e imágenes todo se movía muy lento y tuve muchos problemas para conseguir un resultado final bueno.
Para el PFC de la Superior decidí no cometer el mismo error, así que opté por emplear LaTeX como lenguaje de documentación. Durante toda la documentación sobre Puppet, estuve aprendiendo también en paralelo una gran cantidad de cosas de LaTeX y la verdad, la calidad de la documentación fue inigualable. Gracias a ello, conseguí una mención especial del tribunal sobre dicha documentación.
Puesto que iba a emplear LaTeX, una de las cosas que más me interesaba era tener el mismo aspecto en todos los lugares de la documentación. Por suerte, LaTeX soporta estilos, por lo que eso facilitó enormemente la labor de crear documentación. No tanto el trabajo de hacerlos. Los estilos más destacados los comento a continuación,
En posteriores entradas iré mostrando el código necesario para crearlos y que si os hace falta podréis modificar a vuestro gusto. El capítulo iniciar de la documentación, el que hace referencia a las notaciones empleadas, tiene la siguiente pinta.
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios