summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/articleingud
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/articleingud
Initial commit
Diffstat (limited to 'macros/latex/contrib/articleingud')
-rw-r--r--macros/latex/contrib/articleingud/README44
-rw-r--r--macros/latex/contrib/articleingud/articleingud.dtx3809
-rw-r--r--macros/latex/contrib/articleingud/articleingud.ins163
-rw-r--r--macros/latex/contrib/articleingud/articleingud.pdfbin0 -> 474034 bytes
4 files changed, 4016 insertions, 0 deletions
diff --git a/macros/latex/contrib/articleingud/README b/macros/latex/contrib/articleingud/README
new file mode 100644
index 0000000000..029760ed4d
--- /dev/null
+++ b/macros/latex/contrib/articleingud/README
@@ -0,0 +1,44 @@
+INFORMATION
+===========
+
+"articleingud" is a LaTeX class for scientific articles
+published by INGENIERIA review
+(http://revistas.udistrital.edu.co/ojs/index.php/reving),
+Universidad Distrital Francisco Jose de Caldas
+(http://www.udistrital.edu.co/)
+
+"articleingud" is based on the standard LaTeX class "article".
+
+This folder contains the following files:
+ -- articleingud.pdf (documentation)
+ -- articleingud.dtx (documented LaTeX file)
+ -- articleingud.ins (installer)
+ -- articleingud.cls (class file)
+ -- template.tex (a template in English)
+ -- plantilla.tex (a template in Spanish)
+ -- readme (this file)
+
+VERSION
+=======
+0.3
+
+LICENSE
+=======
+
+This work is licensed under the conditions of the
+LaTeX Project Public License, either version 1.2 of
+this license or (at your option) any later version.
+The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+CURRENT MAINTAINER
+==================
+
+Omar Salazar
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence (LAMIC)
+Engineering Department
+Universidad Distrital Francisco Jose de Caldas
+Bogota, Colombia \ No newline at end of file
diff --git a/macros/latex/contrib/articleingud/articleingud.dtx b/macros/latex/contrib/articleingud/articleingud.dtx
new file mode 100644
index 0000000000..21e12e35ac
--- /dev/null
+++ b/macros/latex/contrib/articleingud/articleingud.dtx
@@ -0,0 +1,3809 @@
+%
+% \iffalse meta-comment
+%
+% -------------------------------------------------------------------
+% LICENSE
+% -------------------------------------------------------------------
+%
+% This is a generated file.
+%
+% Copyright (C) 2012-2015 by Omar Salazar
+% osalazarm@correo.udistrital.edu.co
+% Laboratory for Automation and Computational Intelligence (LAMIC)
+% Engineering Department
+% Universidad Distrital Francisco Jose de Caldas
+% Bogota, Colombia
+% http://www.udistrital.edu.co/
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.2 of this license or (at your option) any later
+% version. The latest version of this license is in:
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of
+% LaTeX version 1999/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Omar Salazar.
+%
+% This work consists of the source files:
+% - articleingud.dtx (documented LaTeX file)
+% - articleingud.ins (installer)
+%
+% -------------------------------------------------------------------
+% LICENCIA
+% -------------------------------------------------------------------
+%
+% Este es un archivo generado.
+%
+% Derechos de autor (C) 2012-2015 por Omar Salazar
+% osalazarm@correo.udistrital.edu.co
+% Laboratorio de Automatica e Inteligencia Computacional (LAMIC)
+% Facultad de Ingenieria
+% Universidad Distrital Francisco Jose de Caldas
+% Bogota, Colombia.
+% http://www.udistrital.edu.co/
+%
+% Este archivo puede ser redistribuido y/o modificado
+% bajo las condiciones de la Licencia Publica del Proyecto LaTeX,
+% version 1.2 o cualquier version superior (a su opcion).
+% La ultima version de esta licencia se encuentra en
+% http://www.latex-project.org/lppl.txt
+% y la version 1.2 o superior es parte de todas las distribuciones
+% de LaTeX version 1999/12/01 o superior.
+%
+% Este trabajo tiene el estado LPPL de `mantenido'.
+%
+% El responsable del mantenimiento de este trabajo es Omar Salazar.
+%
+% Este trabajo consiste de los archivos fuente:
+% - articleingud.dtx (archivo LaTeX documentado)
+% - articleingud.ins (instalador)
+%
+% \fi
+%
+% \iffalse
+%
+%<*drv>
+% \begin{macrocode}
+\documentclass{ltxdoc}
+\usepackage[latin1]{inputenc}
+\usepackage{hyperref}
+\newcommand{\filename}[1]{\texttt{#1}}
+% \end{macrocode}
+%
+% La siguiente lista de |\DoNotIndex| es todo lo que
+% no debe aparecer en el índice de la documentación.
+%
+% \begin{macrocode}
+\DoNotIndex{}
+% \end{macrocode}
+% \begin{macrocode}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{articleingud.dtx}
+\end{document}
+%</drv>
+%
+% \fi
+%
+% \CheckSum{1350}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \changes{v0.1}{2012/04/24}{Versión inicial}
+% \changes{v0.2}{2012/11/10}{Revisión sobre tamaño de papel usado por INGENIERIA
+% y corrección de algunos errores de la clase.
+% Actualizada la documentación.}
+% \changes{v0.3}{2015/10/10}{Actualización a un nuevo formato.
+% Los cambios no son compatibles con las versiones
+% v0.1 y v0.2}
+%
+% \StopEventually{\PrintChanges}
+%
+% \title{Clase de documento \textsf{articleingud}\thanks{Este documento
+% corresponde a la versión~v0.3, 2015/10/10.}}
+% \author{Omar Salazar\\
+% Laboratorio de Automática e
+% Inteligencia Computacional\\
+% Universidad Distrital Francisco José de Caldas\\
+% Facultad de Ingeniería\\
+% Bogot\'a, Colombia\\
+% \texttt{osalazarm@correo.udistrital.edu.co}\\
+% \texttt{http://www.udistrital.edu.co}}
+% \date{Octubre 10, 2015}
+%
+% \maketitle
+%
+% \renewcommand{\abstractname}{Resumen}
+%
+% \begin{abstract}
+% \noindent
+% Este documento muestra la implementación y documentación
+% \LaTeX{} de la clase de documento \textsf{articleingud}.
+% Esta clase está destinada
+% a la revista INGENIERIA de la Facultad de Ingeniería
+% de la Universidad Distrital ``Francisco José de Caldas''.
+% Los cambios hechos en la versión v0.3 son significativos
+% y no son compatibles con las anteriores versiones v0.1 y v0.2.
+% Esta clase está basada en la clase estándar \textsf{article}.
+% La mayoría de los comandos estándar
+% funcionan en \textsf{articleingud}.
+% \end{abstract}
+%
+% \renewcommand{\contentsname}{Contenido}
+%
+% \tableofcontents
+%
+% \pagestyle{headings}
+%
+% \section{Introducción}
+%
+% La revista INGENIER\'IA es una publicación periódica
+% de la Facultad de Ingeniería de la Universidad Distrital
+% ``Francisco José de Caldas''\footnote{Para mayor información visitar
+% \texttt{http://revistas.udistrital.edu.co/ojs/index.php/reving}}.
+% Tiene como propósito principal
+% divulgar el trabajo académico y científico
+% tanto dentro como fuera del país. Por tal motivo,
+% los artículos que se publican en la revista deben tener
+% relación con el trabajo en ingeniería.
+%
+% La clase de documento \textsf{articleingud}
+% se ha creado para que los autores familiarizados
+% con el paquete de macros \LaTeXe{} puedan
+% escribir sus artículos, obteniendo como beneficio
+% la calidad tipográfica de \TeX{} e incluyendo
+% el manejo adecuado de ecuaciones, típicas en
+% artículos de caracter científico.
+% En las próximas secciones se describirán las características
+% de la clase, así como su implementación \LaTeX.
+%
+% \section{Módulos \textsf{Docstrip}}
+%
+% Esta clase ha sido desarrollada usando los estándares
+% de documentación de código \LaTeX{} por medio de
+% \textsf{Docstrip}.
+% Los siguientes módulos se implementaron para generar los
+% diferentes archivos de la clase.
+%
+% \vskip10pt
+% \begin{tabular}{ll}
+% \textbf{Opción}&\textbf{Resultado}\\
+% \hline
+% cls & Genera el archivo de la clase (|*.cls|)\\
+% drv & Genera el archivo maestro de documentación
+% \LaTeX{} (|*.drv|)\\
+% tmpls & Genera un archivo plantilla para artículos en español (|*.tex|)\\
+% tmple & Genera un archivo plantilla para artículos en inglés (|*.tex|)\\
+% \end{tabular}
+%
+% \section{Cómo usar}
+%
+% \DescribeMacro{\documentclass}
+% Esta clase se usa de la forma usual.
+% Dentro del comando estándar |\documentclass|
+% se indica la clase de documento \textsf{articleingud}
+% en la siguiente forma
+% \begin{verbatim}
+% \documentclass[<opciones>]{articleingud}
+% \end{verbatim}
+% Las |<opciones>| posibles en esta clase de
+% documento se presentan en la siguiente sección.
+%
+% \section{Opciones}
+%
+% \subsection{Tamaño de papel}
+%
+% \DescribeMacro{a4paper}
+% (Opción estándar)
+% Establece el tamaño del papel en A4 (297~mm x 210~mm).\\
+% \DescribeMacro{a5paper}
+% (Opción estándar)
+% Establece el tamaño del papel en A5 (210~mm x 148~mm).\\
+% \DescribeMacro{b5paper}
+% (Opción estándar)
+% Establece el tamaño del papel en B5 (250~mm x 176~mm).\\
+% \DescribeMacro{letterpaper}
+% (Opción estándar por defecto).
+% Establece el tamaño del papel en
+% carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\
+% \DescribeMacro{legalpaper}
+% (Opción estándar)
+% Establece el tamaño del papel en
+% oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\
+% \DescribeMacro{executivepaper}
+% (Opción estándar)
+% Establece el tamaño del papel en
+% ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm).
+%
+% \subsection{Orientación del papel}
+%
+% \DescribeMacro{landscape}
+% (Opción estándar)
+% Invierte la orientación del papel a horizontal.\\
+% \DescribeMacro{portrait}
+% (Opción estándar por defecto).
+% Invierte la orientación del papel a vertical.
+%
+% \subsection{Tamaño de letra}
+%
+% \DescribeMacro{10pt}
+% (Opción estándar por defecto).
+% Establece el tamaño de letra en 10~pt.\\
+% \DescribeMacro{11pt}
+% (Opción estándar)
+% Establece el tamaño de letra en 11~pt.\\
+% \DescribeMacro{12pt}
+% (Opción estándar)
+% Establece el tamaño de letra en 12~pt.
+%
+% \subsection{Impresión por una o ambas caras}
+%
+% \DescribeMacro{oneside}
+% (Opción estándar defecto).
+% Establece la impresión del artículo
+% por una cara de la hoja de papel.\\
+% \DescribeMacro{twoside}
+% (Opción estándar)
+% Establece la impresión del artículo
+% por ambas caras de la hoja de papel.
+%
+% \subsection{Versión final o borrador del artículo}
+%
+% \DescribeMacro{draft}
+% (Opción estándar)
+% Establece el artículo como una versión en borrador.\\
+% \DescribeMacro{final}
+% (Opción estándar por defecto).
+% Establece el artículo como la versión final.
+%
+% \subsection{Impresión a una y dos columnas}
+%
+% \DescribeMacro{onecolumn}
+% (Opción estándar por defecto)
+% Establece el artículo en modo de una columna.\\
+% \DescribeMacro{twocolumn}
+% (Opción estándar)
+% Establece el artículo en modo de dos columnas.
+%
+% \subsection{Numeración de ecuaciones}
+%
+% \DescribeMacro{leqno}
+% (Opción estándar)
+% Establece la numeración de las ecuaciones con el número
+% a la izquierda. La numeración con el número a la derecha es la
+% opción por defecto.
+%
+% \subsection{Justificación de ecuaciones}
+%
+% \DescribeMacro{fleqn}
+% (Opción estándar)
+% Establece la justificación de las ecuaciones
+% a la izquierda. La opción por defecto es mostrar las
+% ecuaciones centradas.
+%
+% \subsection{Estilo de bibliografía}
+%
+% \DescribeMacro{openbib}
+% (Opción estándar)
+% Establece el estilo de la bibliografía en ``abierto''.
+% La opción por defecto es una bibliografía ``cerrada''
+%
+% \subsection{Revisión por pares}
+%
+% \DescribeMacro{peerreview}
+% Establece la clase de documento para revisión
+% por pares. Desactiva varias de las opciones
+% donde se imprime el nombre y afiliación de
+% los autores para mantener confidencialidad
+% en el proceso de revisión.
+%
+% \section{Estructura de un documento}
+%
+% Esta clase de documento es derivada de la clase estándar
+% \textsf{article}, sin embargo, un artículo escrito
+% con la clase \textsf{articleingud} debería
+% tener la siguiente estructura\footnote{%
+% Ver los archivos \filename{template.tex} y \filename{plantilla.tex}
+% para unas plantillas en inglés y español.}.
+%
+% \subsection{Inicio del archivo fuente}
+%
+% Como es costumbre, el primer comando a especificar
+% es |\documentclass|.
+% Especifique dentro de su argumento obligatorio el
+% nombre de la clase \textsf{articleingud}.
+%
+% \begin{macrocode}
+%<*tmpls|tmple>
+\documentclass[letterpaper,12pt,twoside]{articleingud}
+% \end{macrocode}
+%
+% \subsection{Opciones de la clase}
+%
+% El siguiente conjunto de opciones se tienen
+% para poderlas especificar dentro del argumento opcional de
+% |\documentclass|.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% OPCIONES
+%%----------------------------------------------------------
+%% Use las siguientes opciones en
+%% \documentclass[<opciones>]{articleingud}
+%%
+%% -- Tamaño de letra: 10pt (valor por defecto),
+%% 11pt,
+%% 12pt
+%% -- Tipo de papel: letterpaper (valor por defecto),
+%% a4paper,
+%% a5paper,
+%% b5paper,
+%% legalpaper,
+%% executivepaper
+%% -- Orientación: portrait (valor por defecto)
+%% landscape
+%% -- Impresión: oneside (valor por defecto),
+%% twoside
+%% -- Calidad: final (valor por defecto),
+%% draft
+%% -- Columnas: onecolumn (valor por defecto),
+%% twocolumn
+%% -- Revisión por pares: peerreview
+%% -- Numeración de ecuaciones (numeración por defecto a la derecha):
+%% leqno (numeración a la izquierda)
+%% -- Justificación de ecuaciones (por defecto se centran):
+%% fleqn (justificadas a la izquierda)
+%% -- Estilo de bibliografía (por defecto el estilo es cerrado):
+%% openbib
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% OPTIONS
+%%----------------------------------------------------------
+%% Use the following options in
+%% \documentclass[<options>]{articleingud}
+%%
+%% -- Point size: 10pt (default),
+%% 11pt,
+%% 12pt
+%% -- Paper size: letterpaper (default),
+%% a4paper,
+%% a5paper,
+%% b5paper,
+%% legalpaper,
+%% executivepaper
+%% -- Orientation: portrait (default)
+%% landscape
+%% -- Print size: oneside (default),
+%% twoside
+%% -- Quality: final (default),
+%% draft
+%% -- Columns: onecolumn (default),
+%% twocolumn
+%% -- peer review: peerreview
+%% -- Equation numbering (equation numbers on
+%% the right is the default):
+%% leqno
+%% -- Displayed equations (centered is the default):
+%% fleqn (equations start at the same
+%% distance from the right side)
+%% -- Open bibliography style (closed is the default):
+%% openbib
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Preámbulo del documento}
+%
+% Esta sección se usa para cargar paquetes y hacer (re)definiciones.
+% No se permite escribir algún tipo de texto en esta sección.
+% Algunos de los paquetes más comunes son:
+% \begin{enumerate}
+% \item \filename{inputenc.sty} con la opción |latin1|.
+% Carga la codificación adecuada con el fin de
+% poder escribir en español.
+% \item \filename{amsmath.sty}, \filename{amsfonts.sty} y
+% \filename{amssymb.sty}. Estos paquetes
+% proporcionan varios comandos y ambientes útiles para
+% el manejo de fuentes y símbolos matemáticos,
+% así como para poder darle formato adecuado a las ecuaciones.
+% \item \filename{graphicx.sty} para poder cargar imágenes desde
+% archivos externos con su comando |\includegraphics|.
+% \item \filename{subfigure.sty} para poder crear subtablas y subfiguras.
+% Las opciones |tight| y |footnotesize| reducen la cantidad de
+% espacio entre subtablas y subfiguras, así como
+% mantienen el formato de las leyendas de las mismas.
+% \item \filename{cite.sty}. Este paquete
+% ofrece la posibilidad de ordenar y
+% agrupar automáticamente más de tres referencias
+% especificadas en el argumento de |\cite|.
+% El usuario no tiene que preocuparse
+% por separar las referencias con el formato adecuado ya que este
+% paquete lo hace automáticamente.
+% \end{enumerate}
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% PREÁMBULO
+%%----------------------------------------------------------
+%%
+%% Aquí puede cargar paquetes con \usepackage
+%% y hacer (re)definiciones con
+%% \newcommand, \renewcommand, \newenvironment,
+%% \renewenvironment, etc.
+%%
+%%----------------- PAQUETES -------------------------------
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% PREAMBLE
+%%----------------------------------------------------------
+%%
+%% Here you can load packages with \usepackage
+%% and make (re)definitions with
+%% \newcommand, \renewcommand, \newenvironment,
+%% \renewenvironment, etc, ...
+%%
+%%----------------- PACKAGES -------------------------------
+%</tmple>
+%<tmpls>\usepackage[latin1]{inputenc}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{graphicx}
+\usepackage[tight,footnotesize]{subfigure}
+\usepackage{cite}
+%<*tmple>
+%%----------------- (RE)DEFINITIONS------------------------
+%</tmple>
+%<*tmpls>
+%%----------------- (RE)DEFINICIONES------------------------
+\renewcommand{\figurename}{Figura}
+\renewcommand{\tablename}{Tabla}
+\renewcommand{\refname}{Referencias}
+\renewcommand{\appendixname}{Ap\'endices}
+%</tmpls>
+% \end{macrocode}
+%
+% \subsection{Inicio del documento}
+%
+% El inicio del documento lo marca el comando |\begin{document}|.
+% A partir de este punto se puede escribir el contenido del artículo
+% propiamente.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% DOCUMENTO
+%%----------------------------------------------------------
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% DOCUMENT
+%%----------------------------------------------------------
+%</tmple>
+\begin{document}
+% \end{macrocode}
+%
+% \subsection{Información del documento}
+%
+% La información del documento se divide en varias
+% partes: títulos, autores, fechas, volumen, número,
+% citas y paginación. Todas ellas se describen a continuación.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% INFORMACIÓN DEL ARTÍCULO
+%%----------------------------------------------------------
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% PAPER'S INFORMATION
+%%----------------------------------------------------------
+%</tmple>
+% \end{macrocode}
+%
+% \subsubsection{El título del artículo}
+%
+% La forma de especificar el título del
+% artículo es por medio del comando |\title|.
+% Este comando tiene cuatro argumentos: el primero opcional
+% y los otros tres obligatorios. Su uso es de la siguiente forma:
+% \begin{enumerate}
+% \item |\title[titulo corto]{titulo largo}{titulo secundario}{tipo articulo}|.
+% Cuando se usa en esta forma, la información
+% de |titulo corto| se pone en la
+% cabecera del documento, |titulo largo|
+% corresponde al título principal del artículo.
+% |titulo secundario| especifica un segundo título
+% (generalmente en otro idioma).
+% |tipo articulo| corresponde al tipo de artículo:
+% Research/Review/Case-study/Short/Opinion.
+% \item |\title{titulo largo}{titulo secundario}{tipo articulo}|
+% Si se usa en esta forma,
+% |titulo largo| se pone como título
+% principal y en la cabecera del documento.
+% |titulo secundario| y |tipo articulo| siguen funcionando en la misma forma.
+% \end{enumerate}
+%
+% \begin{macrocode}
+\title
+%<*tmple>
+ [Short title of the paper]% (Optional)
+ {Main title of the paper}% (Required)
+ {Secondary title of the paper}% (Required)
+ {Type of paper}% (Required) Research/Review/Case-study/Short/Opinion paper
+%</tmple>
+%<*tmpls>
+ [Título corto del artículo]% (Opcional)
+ {Título principal del artículo}% (Obligatorio)
+ {Título secundario del artículo}% (Obligatorio)
+ {Tipo de artículo}% (Obligatorio) Artículo de Investigación/Revisión/Estudio de caso/Corto/Opinión
+%</tmpls>
+% \end{macrocode}
+%
+% \subsubsection{Autores del artículo}
+%
+% La información de los autores del artículo se realiza
+% con el comando |\author|.
+% Este comando tiene dos argumentos: el primero opcional y
+% el segundo obligatorio. Su uso es de la siguiente forma:
+% \begin{enumerate}
+% \item |\author[nombre cortos]{nombres largos}|
+% Cuando se usa en esta forma
+% la información de |nombre cortos|
+% se pone en la cabecera del documento y |nombres largos|
+% corresponde a los nombres (junto con las afilicaciones)
+% de los autores del artículo.
+% \item |\author{nombres}|.
+% Si se usa en esta forma entonces |nombres|
+% se ponen en la cabecera y en la primera página del artículo.
+% \end{enumerate}
+%
+% Cada autor debe de ir separado con el comando |\and|
+% tanto en el argumento opcional como en el obligatorio.
+%
+% La información de las afiliaciones de los autores
+% siguen inmediatamente a los autores dentro del argumento
+% obligatorio con el comando |\thanks|.
+% Cada autor debe tener su propia afiliación, y por consiguiente,
+% su propio comando |\thanks|.
+%
+% El comando |\thanks| recibe tres argumentos, el primero es
+% opcional y los otros dos son obligatorios.
+% Su uso es en la siguiente forma.
+% \begin{enumerate}
+% \item |\thanks[correspondencia]{etiqueta}{afiliacion}|
+% Cuando se usa en esta forma se está identificando al
+% autor de correspondencia del artículo.
+% La información de |correspondencia|
+% se pone en la parte inferior de los autores.
+% Esta información debería ser un correo electrónico
+% o una dirección del autor de correspondencia.
+% |etiqueta| es un caracter alfanumérico (``a--z'', ``0--9'')
+% que identifica los autores con la misma afiliación.
+% |afiliacion| es propiamente la información de la
+% afiliación del autor, por ejemplo, el nombre de una
+% universidad.
+% \item |\thanks{etiqueta}{afiliacion}|.
+% Si se usa en esta forma entonces |\thanks| funciona de
+% igual forma a lo antes descrito, pero el autor no es identificado
+% como de correspondencia.
+% \end{enumerate}
+%
+% \begin{macrocode}
+\author
+%<*tmple>
+ [First Author Name\and% <-- Each author should be separated with \and
+ Second Author Name\and
+ Third Author Name\and
+ Last Author Name]% (Optional)
+ {First Author Name% <-- Do not erase this percentage symbol
+ \thanks%[Correspondence email: 1st-author@email.org]
+ {1}% <-- Use the same label ('a-z' or '0-9') for authors with the same affiliation
+ {1st Author affiliation}\and
+ Second Author Name% <-- Do not erase this percentage symbol
+ \thanks%[Correspondence email: 2nd-author@email.org]
+ {1}% <-- Affiliation label
+ {2nd Author affiliation}\and
+ Third Author Name% <-- Do not erase this percentage symbol
+ \thanks%[Correspondence email: 3rd-author@email.org]
+ {2}% <-- Affiliation label
+ {3rd Author affiliation}\and
+ Last Author Name% <-- Do not erase this percentage symbol
+ \thanks[Correspondence email: last-author@email.org]
+ {3}% <-- Affiliation label
+ {Last Author affiliation}}% (Required)
+%</tmple>
+%<*tmpls>
+ [Primer autor\and% <-- Separar cada autor con \and
+ Segundo autor\and
+ Tercer autor\and
+ Último autor]% (Opcional)
+ {Primer autor% <-- No borrar este símbolo porcentaje
+ \thanks%[E-mail de correspondencia: Autor-1@email.org]
+ {1}% <-- Usar la misma etiqueta ('a-z' o '0-9') para autores con igual afiliación
+ {Afiliación primer autor}\and
+ Segundo autor% <-- No borrar este símbolo porcentaje
+ \thanks%[E-mail de correspondencia: Autor-2@email.org]
+ {1}% <-- Etiqueta de afiliación
+ {Afiliación segundo autor}\and
+ Tercer autor% <-- No borrar este símbolo porcentaje
+ \thanks%[E-mail de correspondencia: Autor-3@email.org]
+ {2}% <-- Etiqueta de afiliación
+ {Afiliación tercer autor}\and
+ Último autor% <-- No borrar este símbolo porcentaje
+ \thanks[E-mail de correspondencia: Autor-n@email.org]
+ {3}% <-- Etiqueta de afiliación
+ {Afiliación último autor}}% (Requerido)
+%</tmpls>
+% \end{macrocode}
+%
+% \subsubsection{Fecha de recepción, modificación y aceptación}
+%
+% La fecha de recepción, modificación y aceptación del artículo
+% se especifica dentro del comando |\date|.
+% Sólo recibe un argumento obligatorio.
+%
+% \begin{macrocode}
+\date
+%<*tmpls>
+ {Recibido: dd-mm-aaaa.
+ Modificado: dd-mm-aaaa.
+ Aceptado: dd-mm-aaaa}% (Requerido)
+%</tmpls>
+%<*tmple>
+ {Received: dd-mm-yyyy.
+ Modified: dd-mm-yyyy.
+ Accepted: dd-mm-yyyy}% (Required)
+%</tmple>
+% \end{macrocode}
+%
+% \subsubsection{Cita del artículo}
+%
+% El artículo debería ser referenciado de una manera determinada
+% de acuerdo a un estilo de referenciación.
+% La información de la cita correcta se especifica con el
+% comando |\INGUDsetciteinfo| y es reponsabilidad del
+% usuario de la clase \textsf{articleingud} darle el formato
+% adecuado. Aquí sólo se presenta un ejemplo.
+%
+% \begin{macrocode}
+\INGUDsetciteinfo
+%<*tmpls>
+ {\textcopyright{} Los autores;
+ concesionario: Revista INGENIER\'IA. ISSN 0121-750X, E-ISSN 2344-8393.
+ Citar este artículo como: Autor, F., Autor, J., Autor, S.:
+ El título del artículo. INGENIER\'IA, Vol. XX, Num. XX, 2015 pp:pp.
+ doi:10.14483/udistrital.jour.reving.20XX.X.aXX}% (Obligatorio)
+%</tmpls>
+%<*tmple>
+ {\textcopyright{} The authors;
+ licensee: Revista INGENIER\'IA. ISSN 0121-750X, E-ISSN 2344-8393.
+ Cite this paper as: Author, F., Author, J., Author, S.:
+ The Title of the Paper. INGENIER\'IA, Vol. XX, Num. XX, 2015 pp:pp.
+ doi:10.14483/udistrital.jour.reving.20XX.X.aXX}% (Required)
+%</tmple>
+% \end{macrocode}
+%
+% \subsubsection{Volumen de la revista}
+%
+% El artículo se publica en un volumen que normalmente
+% tiene varios números por año.
+% La información del volumen actual de la revista donde
+% será publicado el artículo se especifica con el comando
+% |\INGUDsetvolume|. El argumento de este comando
+% debe ser solamente un número, sin ningún formato especial.
+%
+% \begin{macrocode}
+\INGUDsetvolume
+%<*tmpls>
+ {1}%<-- Volumen (sólo número)
+%</tmpls>
+%<*tmple>
+ {1}%<-- Volume (the number only)
+%</tmple>
+% \end{macrocode}
+%
+% \subsubsection{Número de la revista}
+%
+% El comando |\INGUDsetnumber| es análogo a
+% |\INGUDsetvolume| pero para el número de la revista.
+%
+% \begin{macrocode}
+\INGUDsetnumber
+%<*tmpls>
+ {1}%<-- Número (sólo número)
+%</tmpls>
+%<*tmple>
+ {1}%<-- Number (the number only)
+%</tmple>
+% \end{macrocode}
+%
+% \subsubsection{Página inicial del artículo}
+%
+% El comando |\INGUDsetinitialpage| configura el número
+% de página inicial del artículo que está siendo procesado.
+% Es frecuente que un artículo inicie en una página diferente
+% de la número uno. El argumento de este comando
+% debe ser solamente un número, sin ningún formato especial.
+%
+% \begin{macrocode}
+\INGUDsetinitialpage
+%<*tmpls>
+ {1}%<-- Página inicial del artículo (sólo número)
+%</tmpls>
+%<*tmple>
+ {1}%<-- First page of the paper (the number only)
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Impresión de la información del documento}
+%
+% El comando |\maketitle| realiza la impresión de la información
+% especificada con los comandos anteriores.
+% El uso de este comando es como en el caso estándar sólo que
+% es necesario finalizarlo con |\endmaketitle|.
+% Éste último comando no debería ser encerrado por ningún
+% ambiente que contenga un |\parbox| o |\minipage|,
+%
+% \begin{macrocode}
+%<*tmpls|tmple>
+\maketitle
+\endmaketitle
+%</tmpls|tmple>
+% \end{macrocode}
+%
+% \subsection{Primer resumen del documento}
+%
+% El primer resumen del artículo se especifica con el
+% ambiente |abstract| en la forma:
+% \begin{verbatim}
+% \begin{abstract}
+% ...texto del resumen...
+% \end{abstract}
+% \end{verbatim}
+% Normalmente este primer resumen
+% se escribe en el idioma por defecto del artículo.
+% Luego se escribe un segundo resumen en otro idioma,
+% el cual es la traducción del primero.
+% Por defecto el título del resumen aparece en inglés,
+% así que si se está escribiendo el artículo
+% en un idioma diferente, se debe redefinir el comando
+% |\abstractname| justo antes de usar el ambiente.
+% En la versión 0.3 se adoptó un resumen estructurado que,
+% entre otras cosas, incluye las palabras clave del artículo.
+% Por tal motivo el ambiente |INGUDkeywords| y el comando
+% |INGUDkeywordsname| de las versiones v0.1 y v0.2 fueron
+% eliminados de la versión v0.3. En cambio se creó el ambiente
+% |INGUDstructured| que recibe como único argumento el nombre
+% del ambiente para el resumen estructurado.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% RESUMEN
+%%----------------------------------------------------------
+\renewcommand{\abstractname}{Resumen}
+\begin{abstract} % se recomienda no exceder 300 palabras
+%%-------------------------------------------
+\begin{INGUDstructured}{Contexto}
+Un párrafo de entre 2-3 frases,
+que describa brevemente las preguntas o problema
+que motivaron el estudio, los antecedentes o trabajos
+previos relacionados, y el enfoque propuesto
+(voz activa, tiempo presente).
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Método}
+Un párrafo de entre 3-4 frases,
+que describa los principios, protocolos, técnicas,
+herramientas y/o materiales (datos, imágenes,
+bases de datos, documentos, normas, entrevistas, etc.)
+utilizados para efectuar o implementar de manera
+confiable y rigurosa el enfoque propuesto.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Resultados}
+Un párrafo de entre 3-4 frases, que describa
+los hallazgos o productos resultado del método
+como fue aplicado.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Conclusiones}
+Un párrafo de entre 2-3 frases, que enfatice
+hasta que punto los resultados contribuyen a
+resolver el problema o pregunta planteada en
+el contexto inicial, y que nuevas alternativas
+de trabajo futuro se desprende a partir
+de este. Este es el mensaje central que los
+autores desean comunicar.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Palabras clave}
+término1, término2, término3.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Agradecimientos}
+A otros participantes o patrocinadores
+del estudio, en caso de ser necesario.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Idioma}
+(Español o inglés).
+\end{INGUDstructured}
+\end{abstract}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% ABSTRACT
+%%----------------------------------------------------------
+\begin{abstract} % no more than 300 words is recommended
+%%-------------------------------------------
+\begin{INGUDstructured}{Context}
+A paragraph roughly around 2-3 sentences long,
+describing briefly the problem or question that
+motivated the study, a background of previous or
+related work, and the proposed approach.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Method}
+A paragraph roughly around 3-4 sentences long,
+describing the principles, protocols, techniques,
+tools and/or materials (including data, images,
+databases or primary sources such as inter-views,
+documents or regulations) used to conduct or implement
+reliably and rigorously the pro-posed approach.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Results}
+A paragraph roughly around 3-4 sentences long,
+describing the findings or the outcomes obtained as a
+result of the method that was conducted.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Conclusions}
+A paragraph roughly around 2-3
+sentences long, emphasising to what extent
+the results contribute to solve the problem
+or question stated in the context section,
+and what avenues for future research remain open.
+This is the take-home message to the readers.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Keywords}
+keyword1, keyword2, keyword3.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Acknowledgements}
+To other participants, funding agencies or
+sponsors (optional).
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Language}
+(english or spanish).
+\end{INGUDstructured}
+\end{abstract}
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Segundo resumen del documento}
+%
+% Aquí se hace lo mismo que en el primer resumen,
+% sólo que se escribe en otro idioma.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% ABSTRACT
+%%----------------------------------------------------------
+\renewcommand{\abstractname}{Abstract}
+\begin{abstract} % no more than 300 words is recommended
+%%-------------------------------------------
+\begin{INGUDstructured}{Context}
+A paragraph roughly around 2-3 sentences long,
+describing briefly the problem or question that motivated
+the study, a background of previous or related work,
+and the proposed approach.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Method}
+A paragraph roughly around 3-4 sentences long,
+describing the principles, protocols, techniques,
+tools and/or materials (including data, images,
+databases or primary sources such as inter-views,
+documents or regulations) used to conduct or implement
+reliably and rigorously the pro-posed approach.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Results}
+A paragraph roughly around 3-4 sentences long,
+describing the findings or the outcomes obtained as a
+result of the method that was conducted.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Conclusions}
+A paragraph roughly around 2-3
+sentences long, emphasising to what extent
+the results contribute to solve the problem
+or question stated in the context section,
+and what avenues for future research remain open.
+This is the take-home message to the readers.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Keywords}
+keyword1, keyword2, keyword3.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Acknowledgements}
+To other participants, funding agencies or
+sponsors (optional).
+\end{INGUDstructured}
+\end{abstract}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% RESUMEN
+%%----------------------------------------------------------
+\renewcommand{\abstractname}{Resumen}
+\begin{abstract} % se recomienda no exceder 300 palabras
+%%-------------------------------------------
+\begin{INGUDstructured}{Contexto}
+Un párrafo de entre 2-3 frases,
+que describa brevemente las preguntas o problema
+que motivaron el estudio, los antecedentes o trabajos
+previos relacionados, y el enfoque propuesto
+(voz activa, tiempo presente).
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Método}
+Un párrafo de entre 3-4 frases,
+que describa los principios, protocolos, técnicas,
+herramientas y/o materiales (datos, imágenes,
+bases de datos, documentos, normas, entrevistas, etc.)
+utilizados para efectuar o implementar de manera
+confiable y rigurosa el enfoque propuesto.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Resultados}
+Un párrafo de entre 3-4 frases, que describa
+los hallazgos o productos resultado del método
+como fue aplicado.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Conclusiones}
+Un párrafo de entre 2-3 frases, que enfatice
+hasta que punto los resultados contribuyen a
+resolver el problema o pregunta planteada en
+el contexto inicial, y que nuevas alternativas
+de trabajo futuro se desprende a partir
+de este. Este es el mensaje central que los
+autores desean comunicar.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Palabras clave}
+término1, término2, término3.
+\end{INGUDstructured}
+%%-------------------------------------------
+\begin{INGUDstructured}{Agradecimientos}
+A otros participantes o patrocinadores
+del estudio, en caso de ser necesario.
+\end{INGUDstructured}
+\end{abstract}
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Introducción, desarrollo del artículo y conclusiones}
+%
+% Desde este punto puede hacer uso de los comandos de
+% seccionamiento |\section|, |\subsection|, |\subsubsection|,
+% |\paragraph| y |\subparagraph| para dividir el documento
+% en las secciones necesarias.
+% Normalmente desde este punto se muestra el desarrollo del
+% tema principal comenzando con la introducción y luego
+% agregando secciones para mostrar procedimientos, teorías y demás.
+% La última sección debería ser las conclusiones del artículo.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% INTRODUCCIÓN
+%%----------------------------------------------------------
+\section{Introducción}
+Introducción de su artículo.
+%%
+%% Agregue secciones adicionales cuando lo necesite
+%% con los comandos \section, \subsection, \subsubsection,
+%% \paragraph y \subparagraph. Puede hacer uso de los comandos
+%% estándar de \LaTeX
+%%
+\section{última sección}
+Última sección del artículo.
+%%----------------------------------------------------------
+%% CONCLUSIONES
+%%----------------------------------------------------------
+\section{Conclusiones}
+Las conclusiones de su artículo.
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% INTRODUCTION
+%%----------------------------------------------------------
+\section{Introduction}
+Introduction of your paper.
+%%
+%% Add additional sections as you need with
+%% \section, \subsection, \subsubsection,
+%% \paragraph and \subparagraph commands. You
+%% can use any other \LaTeX command
+%%
+\section{Final section}
+Final section of your paper.
+%%----------------------------------------------------------
+%% CONCLUSIONS
+%%----------------------------------------------------------
+\section{Conclusions}
+Conclusions of your paper.
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Apéndices}
+%
+% La forma de especificar el inicio de los apéndices
+% es por medio del comando |\appendix|.
+% Luego de esto, podrá seguir usando los comandos
+% de seccionamiento en la forma habitual.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% APÉNDICES
+%%----------------------------------------------------------
+\appendix
+\section{Primer apéndice}
+Texto del primer apéndice.
+\section{Segundo apéndice}
+Texto del segundo apéndice.
+%%
+%% Agregue apéndices adicionales cuando los necesite.
+%%
+\section{Último apéndice}
+Texto del último apéndice.
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% APPENDIXES
+%%----------------------------------------------------------
+\appendix
+\section{First appendix}
+Text of first appendix.
+\section{Second appendix}
+Text of second appendix.
+%%
+%% Add additional appendixes as you need.
+%%
+\section{Final appendix}
+Text of final appendix.
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Reconocimientos}
+%
+% Los reconocimientos deben ser iniciados
+% con el comando |\section*|, dado que no es necesario
+% que se numere esta sección. Esta sección podría ser opcional
+% si se realizan los agradecimientos en el resumen (abstract).
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% RECONOCIMIENTOS
+%%----------------------------------------------------------
+\section*{Reconocimientos}% <-- Usar \section*
+Los reconocimientos de su artículo.
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% ACKNOWLEDGMENTS
+%%----------------------------------------------------------
+\section*{Acknowledgment}% <-- Please use \section*
+Acknowledgment of your paper.
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Referencias}
+%
+% Las referencias usan el ambiente |thebibliography|.
+% Sin embargo, es conveniente usar Bib\TeX{} para preparar
+% las referencias.
+% Lo primero es usar el comando |\bibliography| para especificar
+% un archivo \filename{*.bib} donde se encuentra la
+% base de datos bibliográfica.
+% En el código que se muestra se supone que el archivo
+% tiene el nombre \filename{ref.bib}.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% REFERENCIAS
+%%----------------------------------------------------------
+\bibliography{ref}%<-- Archivo de bibliografía (*.bib).
+ % Bibliografía preparada por BibTeX.
+ % Puede especificar más archivos de
+ % bibliografía serapándolos por coma.
+ % Aquí se supone que ref.bib
+ % se encuentra en el mismo directorio
+ % del archivo fuente
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% REFERENCES
+%%----------------------------------------------------------
+\bibliography{ref}%<-- bibliography's file (*.bib).
+ % This bibligraphy should be
+ % prepared by BibTeX.
+ % You can specify more *.bib files.
+ % ref.bib should be into the same
+ % directory of your source file
+%</tmple>
+% \end{macrocode}
+%
+% Ahora se especifica el archivo de estilo \filename{*.bst}
+% de la bibligrafía. Puede ser cualquier estilo de bibliografía
+% estándar como \filename{plain.bst}, \filename{unsrt.bst},
+% \filename{abbrev.bst} o \filename{alpha.bst} que vienen por defecto
+% en cualquier distribución de \LaTeX.
+% Este archivo contiene las instrucciones
+% necesarias para que Bib\TeX{} le de el formato necesario
+% a las referencias.
+% Por ahora la clase \textsf{articleingud} no tiene desarrollado
+% un estilo de bibliografía exclusivo para su uso.
+%
+% \begin{macrocode}
+%<*tmpls>
+\bibliographystyle{plain}%<-- Archivo de estilo (*.bst).
+%</tmpls>
+%<*tmple>
+\bibliographystyle{plain}%<-- Style's file (*.bst).
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Biografías de los autores}
+%
+% Las biografías de los autores se especifican con el ambiente
+% |biography|. Hay un (1) ambiente por cada autor.
+% Este ambiente tiene dos argumentos: el primero opcional
+% y el segundo obligatorio.
+%
+% En el argumento opcional se especifica la fotografía
+% del autor mediante al comando |\includegraphics| del paquete
+% |graphicx|. Este comando debe encerrarse entre corchetes
+% para evitar que \TeX{} se confunda en la búsqueda de
+% argumentos. El uso correcto de este primer argumento
+% es en la forma |[{\include...}]|.
+%
+% En el argumento obligatorio se especifica el nombre del autor.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% BIOGRAFÍAS
+%%----------------------------------------------------------
+\begin{biography}%
+%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía
+ % Descomente si necesita
+ % una fotografía y
+ % especifique el archivo
+ % correspondiente
+{Nombre Primer Autor}% (Requerido)
+Biografía del primer autor.
+\end{biography}
+\begin{biography}%
+%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía
+ % Descomente si necesita
+ % una fotografía y
+ % especifique el archivo
+ % correspondiente
+{Nombre Segundo Autor}% (Requerido)
+Biografía del segundo autor.
+\end{biography}
+%%
+%% Introducir más biografías si se necesitan
+%%
+\begin{biography}%
+%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía
+ % Descomente si necesita
+ % una fotografía y
+ % especifique el archivo
+ % correspondiente
+{Nombre último autor}% (Requerido)
+Biografía del último autor.
+\end{biography}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% BIOGRAPHIES
+%%----------------------------------------------------------
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Fist Author Name}% (Required)
+Biography of first author.
+\end{biography}
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Second Author Name}% (Required)
+Biography of second author.
+\end{biography}
+%%
+%% Add more biographies as you need.
+%%
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Last Author Name}% (Required)
+Biography of last author.
+\end{biography}
+%</tmple>
+\end{document}
+%</tmpls|tmple>
+% \end{macrocode}
+%
+% \section{Implementación}
+%
+% \subsection{Identificación de la clase}
+%
+% \begin{macro}{\NeedsTeXFormat}
+% \begin{macro}{\ProvidesClass}
+%
+% La clase de documento \textsf{articleingud}
+% se creó para usarse con \LaTeXe.
+% Con versiones anteriores de \LaTeX{}
+% no se garantiza la compatibilidad.
+%
+% \begin{macrocode}
+%<*cls>
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesClass{articleingud}%
+[2015/10/10 v0.3 Article for INGENIERIA UD]%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Preliminares}
+%
+% \begin{macro}{\ifINGUD@peerreview}
+%
+% Cuando el artículo se encuentra en proceso de revisión
+% por pares es necesario activar o desactivar
+% ciertas características de la clase. Por ejemplo,
+% imprimir o no el nombre de los autores
+% para mantener confidencialidad
+% entre autores y revisores.
+% |\ifINGUD@peerreview| se usa con este propósito.
+% Por defecto inicia en |false| y se pone en
+% |true| cuando se especifica la opción
+% |peerreview|.
+%
+% \begin{macrocode}
+\newif\ifINGUD@peerreview\INGUD@peerreviewfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifINGUD@ingudpapersize}
+%
+% \changes{v0.2}{2012/11/10}{Agregada nueva macro}
+% \changes{v0.3}{2015/10/10}{Eliminada macro}
+%
+% Este comando era necesario
+% para especificar el tamaño de papel usado
+% por la revista INGENIERIA cuando el usuario especificaba
+% la opción |ingudpaper|. Por defecto iniciaba en |false|.
+% Fue eliminado de la versión v0.3.
+%
+% \begin{macrocode}
+%^^A\newif\ifINGUD@ingudpapersize\INGUD@ingudpapersizefalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifINGUD@rightcolauthor}
+%
+% \changes{v0.2}{2012/11/10}{Agregada nueva macro}
+% \changes{v0.3}{2015/10/10}{Eliminada macro}
+%
+% Este comando era necesario en la versión v0.2 de esta clase.
+% Se usaba para posicionar a la derecha la columna de información de
+% los autores. Esta columna se ponía por defecto a la izquierda
+% de la primera página cuando el usuario especificaba
+% la opción |rightcolauthor|. Esta opción fue eliminada de la versión v0.3
+%
+% \begin{macrocode}
+%^^A\newif\ifINGUD@rightcolauthor\INGUD@rightcolauthorfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifINGUD@correspondenceauthor}
+%
+% \changes{v0.3}{2015/10/10}{Agregada nueva macro}
+%
+% Este comando es necesario para identificar al autor de
+% correspondencia del artículo. Usualmente este autor
+% es único. Se pone a |false| por defecto. Cuando
+% se especifica el autor de correspondencia se pone a |true|.
+%
+% \begin{macrocode}
+\newif\ifINGUD@correspondenceauthor\INGUD@correspondenceauthorfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifINGUD@endofbiography}
+%
+% En el ambiente |biography|, en el que se escriben las
+% biografías de los autores, es necesario identificar cuándo
+% se termina de imprimir la biografía.
+% |\ifINGUD@endofbiography| se usa con el propósito de
+% determinar el momento en que el comando |\INGUD@searchpar|,
+% el cual ayuda a poner la sangría de párrafo adecuada cuando
+% existe una fotografía, debe dejar de operar.
+% Por defecto inicia en |true| dado que la biografía ya terminó!!!
+%
+% \begin{macrocode}
+\newif\ifINGUD@endofbiography\INGUD@endofbiographytrue
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@internalmargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 25mm}
+% \begin{macro}{\INGUD@externalmargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 25mm}
+% \begin{macro}{\INGUD@topmargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 25mm}
+% \begin{macro}{\INGUD@bottommargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 25mm}
+% \begin{macro}{\INGUD@headmargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 15mm}
+% \begin{macro}{\INGUD@footmargin}
+% \changes{v0.3}{2015/10/10}{Cambiado valor a 15mm}
+%
+% Estos comandos establecen las márgenes del artículo.
+% Todas se miden respecto al borde de la hoja más cercano.
+% Todas estas dimensiones se declaran con |\newcommand|
+% dado que no es necesario definir registros
+% de longitud para guardarlas.
+% Por este motivo, cualquier redefinición debe
+% hacerse con |\renewcommand|.
+% Esto ahorra registros de longitud que pueden
+% ser usados por algunos paquetes.
+%
+% |\INGUD@internalmargin| es la margen interna (impresión por
+% ambas caras) o margen izquierda (impresión por una cara).
+%
+% |\INGUD@externalmargin| es la margen externa (impresión por
+% ambas caras) o margen derecha (impresión por una cara).
+%
+% |\INGUD@topmargin| es la margen superior del texto principal
+% medida desde el borde de la hoja.
+%
+% |\INGUD@bottommargin| es la margen inferior del texto principal
+% medida desde el borde de la hoja.
+%
+% |\INGUD@headmargin| es la margen superior de la cabecera
+% del artículo medida desde el borde de la hoja.
+%
+% |\INGUD@footmargin| es la margen inferior del pie de la página
+% del artículo medida desde el borde de la hoja.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@internalmargin}{25mm}%
+\newcommand{\INGUD@externalmargin}{25mm}%
+\newcommand{\INGUD@topmargin}{25mm}%
+\newcommand{\INGUD@bottommargin}{25mm}%
+\newcommand{\INGUD@headmargin}{15mm}%
+\newcommand{\INGUD@footmargin}{15mm}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@photosep}
+%
+% |\INGUD@photosep| establece la separación de la fotografía de
+% los autores del correspondiente
+% texto de la biografía dentro del ambiente |biography|.
+% Se define con |\newcommand| y debe redefinirse con |\renewcommand|.
+% Por defecto se establece en |5pt|.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@photosep}{5\p@}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@colauthorinfosep}
+% \changes{v0.3}{2015/10/10}{Eliminada macro}
+% \begin{macro}{\INGUD@colauthorinfowidth}
+% \changes{v0.3}{2015/10/10}{Eliminada macro}
+%
+% Estos comandos eran necesarios en las versiones v0.1 y v0.2,
+% pero fueron eliminadas en la versión v0.3.
+% La primera página del artículo en las dos primeras versiones
+% tenía una apariencia diferente a la del resto de documento.
+% En la primera página se creaba un par de columnas asimétricas.
+% La primera de ellas contenía
+% la información de los autores del artículo y la fecha de
+% recepción, modificación y aceptación del mismo.
+% |\INGUD@colauthorinfowidth| medía el ancho de esta primera columna y
+% |\INGUD@colauthorinfosep| su separación respecto a la segunda.
+% Estos valores se debían establecer como un porcentaje
+% del ancho del texto |\textwidth|.
+%
+% \begin{macrocode}
+%^^A\newcommand{\INGUD@colauthorinfosep}{\columnsep}%
+%^^A\newcommand{\INGUD@colauthorinfowidth}{0.3\textwidth}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@reviewname}
+% \begin{macro}{\INGUD@reviewvolume}
+% \begin{macro}{\INGUD@reviewnumber}
+% \begin{macro}{\INGUD@reviewissn}
+% \begin{macro}{\INGUD@revieweissn}
+% \changes{v0.3}{2015/10/10}{Agregada nueva macro}
+% \begin{macro}{\INGUD@udname}
+% \begin{macro}{\INGUD@separator}
+% \changes{v0.3}{2015/10/10}{Modificados los valores de \cs{hskip}}
+%
+% Estos comandos contienen la información de la revista
+% así como del número, volumen e ISSN de la publicación.
+% Se debería usar siempre letras en minúscula
+% y dar el formato adecuado donde sea necesario.
+%
+% |\INGUD@reviewname| es el nombre de la revista,
+% en este caso INGENIERIA.
+%
+% |\INGUD@reviewvolume| es el volumen de la revista. Resuelve a
+% vacío dado que será cambiado en el momento de la edición
+% del artículo. Debería contener solamente el número, por ejemplo
+% ``2'', ``3'', ``4'',...
+%
+% |\INGUD@reviewnumber| es el número de la revista. Resuelve a
+% vacío dado que será cambiado en el momento de la edición
+% del artículo. Debería contener solamente el número, por ejemplo
+% ``2'', ``3'', ``4'',...
+%
+% |\INGUD@reviewissn| es el número de ISSN de la revista.
+% Este número no cambia mucho. Si se desea hacerlo,
+% debe hacerse con |\renewcommand|.
+%
+% |\INGUD@revieweissn| es el número E-ISSN de la revista.
+% Este número no cambia mucho. Si se desea hacerlo,
+% debe hacerse con |\renewcommand|.
+%
+% |\INGUD@udname| es el nombre de la universidad.
+% Este nombre tampoco cambia mucho. Se se desea hacerlo,
+% debe hacerse con |\renewcommand|.
+%
+% |\INGUD@separator| es un caracter de separación
+% para dar formato a la información de la revista en la cabecera
+% y pie de página del artículo.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@reviewname}{ingenier\'\i a}%
+\newcommand{\INGUD@reviewvolume}{}%
+\newcommand{\INGUD@reviewnumber}{}%
+\newcommand{\INGUD@reviewissn}{0121-750x}%
+\newcommand{\INGUD@revieweissn}{2344-8393}%
+\newcommand{\INGUD@udname}{universidad distrital
+ francisco jos\'e de caldas}%
+\newcommand{\INGUD@separator}{\hskip 2\p@ \@plus 0.5\p@ \@minus 0.5\p@%
+ $\scriptstyle\bullet$%
+ \hskip 2\p@ \@plus 0.5\p@ \@minus 0.5\p@}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@reviewinfo}
+%
+% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{INGUD@reviewname}}
+% \changes{v0.3}{2015/10/10}{Agregado \cs{INGUD@revieweissn}}
+%
+% |\INGUD@reviewinfo| contiene la información de la revista
+% que será impresa en el pie de página del documento.
+% Su definición es sencilla. Solamente es una cadena
+% con la información del nombre de la revista,
+% volumen actual, número actual, número ISSN, número E-ISSN,
+% y nombre de la universidad si el artículo no es para
+% revisión por pares.
+% En caso contrario, solamente es una cadena con
+% el nombre de la revista, la palabra ``draft, paper for peer review''
+% (borrador, artículo para revisión por pares)
+% y el nombre de la universidad.
+% Se le da formato al texto dentro de un grupo para
+% que sólo afecte a esta información.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@reviewinfo}{%
+\begingroup
+ \normalfont\scriptsize\scshape
+ {\bfseries\INGUD@reviewname}\INGUD@separator
+ \ifINGUD@peerreview
+ draft, paper for peer review \INGUD@separator
+ \else
+ vol.\kern 1\p@ \INGUD@reviewvolume \INGUD@separator
+ no.\kern 1\p@ \INGUD@reviewnumber \INGUD@separator
+ issn\kern 1\p@ \INGUD@reviewissn \INGUD@separator
+ e-issn\kern 1\p@ \INGUD@revieweissn \INGUD@separator
+ \fi
+ \INGUD@udname
+\endgroup}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@authorinfo}
+%
+% |\INGUD@authorinfo| contiene la información de los autores
+% que será impresa en la cabecera del documento.
+% Resuelve a vacío dado que será cambiada en el
+% momento de la edición del artículo.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@authorinfo}{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@paperinfo}
+%
+% |\INGUD@paperinfo| contiene la información del artículo
+% (por ejemplo título o subtítulo) que será impresa
+% en la cabecera del documento.
+% Resuelve a vacío dado que será cambiada en el
+% momento de la edición del artículo.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@paperinfo}{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@secondtitle}
+%
+% |\INGUD@secondtitle| contiene la información del
+% título secundario dado al artículo (generalmente en otro idioma)
+% y que será establecida por el comando |\title|.
+% Por ahora se define para generar un mensaje de error.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@secondtitle}{%
+ \ClassError{articleingud}%
+ {No \noexpand\title given}%
+ {See documentation for details}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@citeinfo}
+%
+% |\INGUD@citeinfo| contiene la información de la cita
+% que debe hacerse al presente artículo. Esta información
+% se pone en la primera página con el fin de informar
+% al lector la manera correcta de citar el presente artículo.
+% Esta información se establece con el comando |\INGUDsetciteinfo|.
+% Por ahora se define para generar un mensaje de error.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@citeinfo}{%
+ \ClassError{articleingud}%
+ {No \noexpand\INGUDsetciteinfo given}%
+ {See documentation for details}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@typeofpaper}
+% \changes{v0.3}{2015/10/10}{Agregada macro}
+%
+% |\INGUD@typeofpaper| contiene la información del tipo de artículo:
+% Research/Review/Case-study/Short/Opinion.
+% Resuelve a vacío dado que será cambiada en el
+% momento de la edición del artículo.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@typeofpaper}{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Opciones}
+%
+% \subsubsection{Tamaño de papel}
+%
+% \DescribeMacro{a4paper}
+% (Opción estándar)
+% Establece el tamaño del papel en A4 (297~mm x 210~mm).\\
+% \DescribeMacro{a5paper}
+% (Opción estándar)
+% Establece el tamaño del papel en A5 (210~mm x 148~mm).\\
+% \DescribeMacro{b5paper}
+% (Opción estándar)
+% Establece el tamaño del papel en B5 (250~mm x 176~mm).\\
+% \DescribeMacro{ingudpaper}
+% Esta opción fue introducida en la versión v0.2.
+% En la versión v0.3 fue eliminada.
+% Establecía el tamaño del papel que usaba la revista INGENIERIA
+% (240~mm x 170~mm).\\
+% \changes{v0.2}{2012/11/10}{Agregada nueva opción de tamaño de papel ingudpaper}
+% \changes{v0.3}{2015/10/10}{Eliminada opción de tamaño de papel ingudpaper}
+% \begin{macrocode}
+\DeclareOption{ingudpaper}{%
+ \OptionNotUsed
+ \ClassWarning{articleingud}%
+ {Unused option `\CurrentOption'}}%
+% \end{macrocode}
+% \DescribeMacro{letterpaper}
+% (Opción estándar por defecto).
+% Establece el tamaño del papel en
+% carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\
+% \DescribeMacro{legalpaper}
+% (Opción estándar)
+% Establece el tamaño del papel en
+% oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\
+% \DescribeMacro{executivepaper}
+% (Opción estándar)
+% Establece el tamaño del papel en
+% ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm).
+%
+% \subsubsection{Orientación del papel}
+%
+% \DescribeMacro{landscape}
+% (Opción estándar)
+% Invierte la orientación del papel a horizontal.\\
+% \DescribeMacro{portrait}
+% (Opción estándar por defecto).
+% Invierte la orientación del papel a vertical.
+%
+% \subsubsection{Tamaño de letra}
+%
+% \DescribeMacro{10pt}
+% (Opción estándar por defecto).
+% Establece el tamaño de letra en 10~pt.\\
+% \DescribeMacro{11pt}
+% (Opción estándar)
+% Establece el tamaño de letra en 11~pt.\\
+% \DescribeMacro{12pt}
+% (Opción estándar)
+% Establece el tamaño de letra en 12~pt.
+%
+% \subsubsection{Impresión por una o ambas caras}
+%
+% \DescribeMacro{oneside}
+% (Opción estándar defecto).
+% Establece la impresión del artículo
+% por una cara de la hoja de papel.\\
+% \DescribeMacro{twoside}
+% (Opción estándar)
+% Establece la impresión del artículo
+% por ambas caras de la hoja de papel.
+%
+% \subsubsection{Versión final o borrador del artículo}
+%
+% \DescribeMacro{draft}
+% (Opción estándar)
+% Establece el artículo como una versión en borrador.\\
+% \DescribeMacro{final}
+% (Opción estándar por defecto).
+% Establece el artículo como la versión final.
+%
+% \subsubsection{Página de título}
+%
+% \DescribeMacro{titlepage}
+% (Opción estándar no usada).
+% Esta opción es usada por la clase estándar
+% \textsf{article}, pero \textsf{articleingud}
+% no hace uso de esta opción.
+%
+% \begin{macrocode}
+\DeclareOption{titlepage}{%
+ \OptionNotUsed
+ \ClassWarning{articleingud}%
+ {Unused option `\CurrentOption'}}%
+% \end{macrocode}
+%
+% \noindent
+% \DescribeMacro{notitlepage}
+% (Opción estándar no usada).
+% Esta opción es usada por la clase estándar
+% \textsf{article}, pero \textsf{articleingud}
+% no hace uso de esta opción.
+%
+% \begin{macrocode}
+\DeclareOption{notitlepage}{%
+ \OptionNotUsed
+ \ClassWarning{articleingud}%
+ {Unused option `\CurrentOption'}}%
+% \end{macrocode}
+%
+% \subsubsection{Impresión a dos columnas}
+%
+% \DescribeMacro{onecolumn}
+% (Opción estándar por defecto)
+% Establece el artículo en modo de una columna.\\
+% \DescribeMacro{twocolumn}
+% (Opción estándar)
+% Establece el artículo en modo de dos columnas.
+%
+% \subsubsection{Numeración de ecuaciones}
+%
+% \DescribeMacro{leqno}
+% (Opción estándar)
+% Establece la numeración de las ecuaciones con el número
+% a la izquierda. La numeración con el número a la derecha es la
+% opción por defecto.
+%
+% \subsubsection{Justificación de ecuaciones}
+%
+% \DescribeMacro{fleqn}
+% (Opción estándar)
+% Establece la justificación de las ecuaciones
+% a la izquierda. La opción por defecto es mostrar las
+% ecuaciones centradas.
+%
+% \subsubsection{Estilo de bibliografía}
+%
+% \DescribeMacro{openbib}
+% (Opción estándar)
+% Establece el estilo de la bibliografía en ``abierto''.
+% La opción por defecto es una bibliografía ``cerrada''
+%
+% \subsubsection{Revisión por pares}
+%
+% \DescribeMacro{peereview}
+% La opción |peereview| se usa durante el proceso
+% de revisión por pares. Solamente pone en |true|
+% a |\ifINGUD@peerreview|.
+%
+% \begin{macrocode}
+\DeclareOption{peerreview}{%
+ \global\INGUD@peerreviewtrue}%
+% \end{macrocode}
+%
+% \subsubsection{Información de autores}
+%
+% \DescribeMacro{rightcolauthor}
+% \changes{v0.2}{2012/11/10}{nueva opción rightcolauthor}
+% \changes{v0.3}{2015/10/10}{Eliminada opción rightcolauthor}
+% Esta opción era necesaria en la versión v0.2. Fue eliminada de
+% la versión v0.3.
+% Esta opción ubicaba a la derecha de la primera página
+% la columna de información de los autores.
+% La columna se ubicaba por defecto a la izquierda.
+% Lo único que hacía era poner |\INGUD@rightcolauthor| en |true|.
+% Ahora se genera un mensaje de alerta si el usuario la especifica.
+%
+% \begin{macrocode}
+\DeclareOption{rightcolauthor}{%
+ \OptionNotUsed
+ \ClassWarning{articleingud}%
+ {Unused option `\CurrentOption'}}%
+% \end{macrocode}
+%
+% \subsubsection{Opciones por defecto}
+%
+% Todas las opciones que no declara la clase \textsf{articleingud}
+% se pasan a la clase estándar \textsf{article}.
+%
+% \begin{macrocode}
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{article}}%
+% \end{macrocode}
+%
+% \subsubsection{Procesamiento de opciones y carga de la clase estándar}
+%
+% Ahora se procesan las opciones que
+% el usuario ha especificado y se carga la clase
+% \textsf{article} que forma la base para
+% \textsf{articleingud}.
+%
+% \begin{macrocode}
+\ProcessOptions\relax
+\LoadClass{article}%
+% \end{macrocode}
+%
+% \subsection{Márgenes}
+%
+% \begin{macro}{\paperheight}
+% \changes{v0.2}{2012/11/10}{Modificado \cs{paperheight}
+% si se especifica la opción ingudpaper
+% usando la macro \cs{INGUD@ingudpapersize}}
+% \changes{v0.3}{2015/10/10}{Eliminada la verificación de \cs{INGUD@ingudpapersize}}
+% \begin{macro}{\paperwidth}
+% \changes{v0.2}{2012/11/10}{Modificado \cs{paperwidth}
+% si se especifica la opción ingudpaper
+% usando la macro \cs{INGUD@ingudpapersize}}
+% \changes{v0.3}{2015/10/10}{Eliminada la verificación de \cs{INGUD@ingudpapersize}}
+%
+% En la versión v0.2, en caso que el usuario hubiera especificado la
+% opción |ingudpaper|, se cambiaba el tamaño del papel
+% en que sería impreso el artículo.
+% Era necesario agregar un |\special| al archivo DVI
+% que contiene la información del tamaño del artículo
+% para forzar que todos los programas que utilizan el
+% |*.dvi| pudieran interpretar correctamente su tamaño.
+%
+%
+% \begin{macrocode}
+%^^A\ifINGUD@ingudpapersize
+%^^A \setlength{\paperheight}{240mm}%
+%^^A \setlength{\paperwidth}{170mm}%
+%^^A \AtBeginDvi{\special{papersize=170mm,240mm}}%
+%^^A\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\headheight}
+% \changes{v0.3}{2015/10/10}{Modificado a 12pt}
+%
+% La altura de la cabecera |\headheight| se establece
+% por defecto en |12pt|. Este es tamaño más grande
+% de letra permitido en el artículo.
+%
+% \begin{macrocode}
+\setlength{\headheight}{12\p@}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\voffset}
+%
+% La longitud |\voffset| se establece por defecto en |0pt|.
+% De esta forma la línea imaginaria unicada a |1in+\voffset|
+% del borde superior de la hoja queda ubicada a |1in|.
+%
+% \begin{macrocode}
+\setlength{\voffset}{\z@}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\headsep}
+%
+% La separación de la cabecera del documento (donde se pone información
+% del artículo) respecto al texto principal es |\headsep|.
+% Esta distancia debe cumplir con la ecuación
+% |\INGUD@headmargin+\headheight+\headsep=\INGUD@topmargin|.
+%
+% \begin{macrocode}
+\setlength{\headsep}{\INGUD@topmargin}%
+\addtolength{\headsep}{-\INGUD@headmargin}%
+\addtolength{\headsep}{-\headheight}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textheight}
+%
+% La altura del texto principal del artículo (incluyendo
+% pies de página) debe cumplir
+% |\INGUD@topmargin+\textheight+\INGUD@bottommargin=\paperheight|.
+% La dimensión |\paperheight| refleja el tamaño real del
+% papel donde se imprime el artículo.
+% |\textheight| se calcula para que cumpla esta ecuación.
+%
+% \begin{macrocode}
+\setlength{\textheight}{\paperheight}%
+\addtolength{\textheight}{-\INGUD@topmargin}%
+\addtolength{\textheight}{-\INGUD@bottommargin}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\footskip}
+%
+% La separación del borde inferior del pie de la
+% página al borde inferior del texto principal está dado
+% por |\footskip|. Esta dimensión cumple con la ecuación
+% |\INGUD@footmargin+\footskip=\INGUD@bottommargin|.
+%
+% \begin{macrocode}
+\setlength{\footskip}{\INGUD@bottommargin}%
+\addtolength{\footskip}{-\INGUD@footmargin}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\topmargin}
+%
+% La línea horizontal imaginaria ubicada a |1in+\voffset| está separada
+% del borde superior de la cabecera por |\topmargin|.
+% Esta última dimensión se calcula para que cumpla la
+% ecuación |1in+\voffset+\topmargin=\INGUD@headmargin|,
+% de esta manera la línea imaginaria queda ubicada al inicio del
+% borde superior del inicio de la cabecera.
+%
+% \begin{macrocode}
+\setlength{\topmargin}{\INGUD@headmargin}%
+\addtolength{\topmargin}{-1in}%
+\addtolength{\topmargin}{-\voffset}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\hoffset}
+%
+% La longitud |\hoffset| se establece por defecto en |0pt|.
+% La línea vertical ubicada en |1in+\hoffset| del borde izquierdo de
+% la hoja queda ubicada a |1in|.
+%
+% \begin{macrocode}
+\setlength{\hoffset}{\z@}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\oddsidemargin}
+% \begin{macro}{\evensidemargin}
+%
+% La longitud |\oddsidemargin| establece las márgenes
+% izquierdas (impresión por una sola cara) o márgenes
+% internas (impresión por ambas caras) para las
+% páginas numeradas impar.
+% Esta dimensión debe cumplir con la ecuación
+% |1in+\hoffset+\oddsidemargin=\INGUD@internalmargin|.
+% |\evensidemargin| es análoga pero para páginas
+% numeradas par. Debe cumplir con la ecuación
+% |1in+\hoffset+\evensidemargin=\INGUD@externalmargin|.
+%
+% \begin{macrocode}
+\setlength{\oddsidemargin}{\INGUD@internalmargin}%
+\addtolength{\oddsidemargin}{-1in}%
+\addtolength{\oddsidemargin}{-\hoffset}%
+\setlength{\evensidemargin}{\INGUD@externalmargin}%
+\addtolength{\evensidemargin}{-1in}%
+\addtolength{\evensidemargin}{-\hoffset}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\textwidth}
+%
+% El ancho del texto principal (sin incluir las notas al margen
+% que se imprimen con |\marginpar|) está dado por |\textwidth|.
+% Esta dimensión debe cumplir con
+% |\INGUD@internalmargin+\textwidth+\INGUD@externalmargin=\paperwidth|.
+%
+% \begin{macrocode}
+\setlength{\textwidth}{\paperwidth}%
+\addtolength{\textwidth}{-\INGUD@internalmargin}%
+\addtolength{\textwidth}{-\INGUD@externalmargin}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\columnsep}
+% \begin{macro}{\columnseprule}
+%
+% La separación entre columnas |\columnsep| en modo de
+% dos columnas se establece por defecto a |5mm|.
+% El ancho de la línea de separación |\columnseprule|
+% se establece en |0pt| (línea invisible).
+%
+% \begin{macrocode}
+\setlength{\columnsep}{5mm}%
+\setlength{\columnseprule}{\z@}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\marginparpush}
+% \begin{macro}{\marginparwidth}
+% \begin{macro}{\marginparsep}
+%
+% Las notas al margen no se usan en esta clase de
+% documento. Las dimensiones |\marginparpush|,
+% |\marginparwidth| y |\marginparsep| se comentan por ahora.
+%
+% \begin{macrocode}
+%^^A\setlength{\marginparpush}{\z@}%
+%^^A\setlength{\marginparwidth}{\z@}%
+%^^A\setlength{\marginparsep}{\z@}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Párrafos}
+%
+% \begin{macro}{\parskip}
+% \begin{macro}{\parindent}
+%
+% El espacio entre párrafos |\parskip| se establece
+% en |0pt| dado que se usa sangría para diferenciar cada
+% uno de ellos.
+% La sangría de párrafo se establece en |3mm|.
+%
+% \begin{macrocode}
+\setlength{\parskip}{\z@}%
+\setlength{\parindent}{3mm}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@hangcarryover}
+%
+% Este comando se basa en |\hangcarryover|
+% dado por Donald Knuth en ``The \TeX Book'' (pág. 316).
+% Introduce correctamente el valor apropiado
+% de |\hangafter| y |\hangindent| al inicio de cada párrafo
+% entre párrafos consecutivos para alojar un objeto
+% (por ejemplo una fotografía), dado que el efecto de
+% |\hangafter| y |\hangindent| sólo afecta al párrafo actual.
+% Este comando es necesario en el ambiente |biography|
+% cuando se usa una fotografía del autor para hacer que el texto de
+% la misma la rodee.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@hangcarryover}{%
+ \edef\INGUD@next{\hangafter=\the\hangafter
+ \hangindent=\the\hangindent}%
+ \par\INGUD@next
+ \edef\INGUD@next{\prevgraf=\the\prevgraf}%
+ \indent\INGUD@next}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Información del artículo}
+%
+% \begin{macro}{\title}
+% \changes{v0.3}{2015/10/10}{Se agregó un cuarto argumento
+% que indica el tipo de artículo}
+%
+% El comando |\title| se comporta de igual forma
+% que el comando estándar. A diferencia de su
+% contraparte estándar, puede recibir cuatro argumentos:
+% el primero opcional, y los otros son
+% obligatorios.
+% Su uso se debe hacer en las formas
+% |\title[titulo corto]{titulo largo}{titulo secundario}{tipo articulo}| o
+% |\title{titulo largo}{titulo secundario}{tipo articulo}|.
+% Cuando se usa en su primera forma,
+% la información de |titulo corto| se pone en la
+% cabecera del documento, |titulo largo|
+% corresponde al título principal del artículo,
+% |titulo secundario| especifica un segundo título
+% (generalmente en otro idioma), y |tipo articulo| corresponde
+% al tipo de artículo: Research/Review/Case-study/Short/Opinion.
+% Si se usa en su segunda forma,
+% |titulo largo| se pone como título
+% principal y en la cabecera del documento,
+% |titulo secundario| y |tipo articulo| siguen funcionando en la misma forma.
+%
+% |\title| llama a |\INGUD@titlei| o
+% |\INGUD@titleii| dependiendo si se ha especificado
+% el argumento opcional.
+%
+% \begin{macrocode}
+\def\title{\@ifnextchar[\INGUD@titlei\INGUD@titleii}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@titlei}
+% \changes{v0.3}{2015/10/10}{Se eliminó el formato al texto en
+% \cs{INGUD@paperinfo} para que sea
+% dado en el lugar indicado.
+% Se agregó \cs{INGUD@typeofpaper}}
+%
+% Si se usa
+% |\title[titulo corto]{titulo largo}{titulo secundario}{tipo articulo}|,
+% entonces se define |\INGUD@paperinfo| para que sea igual
+% al |titulo corto| que será impreso en la cabecera
+% del documento, se define |@title| para que sea
+% igual a |titulo largo| que será impreso
+% como título principal, se define |\INGUD@secondtitle|
+% para que sea usado como título secundario y se define
+% |\INGUD@typeofpaper| para que sea igual a |tipo articulo|.
+%
+%
+% \begin{macrocode}
+\def\INGUD@titlei[#1]#2#3#4{%
+ \gdef\INGUD@paperinfo{#1}%
+ \gdef\@title{#2}%
+ \gdef\INGUD@secondtitle{#3}%
+ \gdef\INGUD@typeofpaper{#4}}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@titleii}
+% \changes{v0.3}{2015/10/10}{Se eliminó el formato al texto en
+% \cs{INGUD@paperinfo} para que sea
+% dado en el lugar indicado.
+% Se agregó \cs{INGUD@typeofpaper}}
+%
+% Si se ha escrito |\title{titulo largo}{titulo secundario}{tipo articulo}|,
+% entonces se definen |\INGUD@paperinfo| y |@title|
+% para que contengan la misma información.
+% |\INGUD@secondtitle| sigue conteniendo el título
+% secundario. |\INGUD@typeofpaper| tiene el tipo de artículo
+%
+% \begin{macrocode}
+\def\INGUD@titleii#1#2#3{%
+ \gdef\INGUD@paperinfo{#1}%
+ \gdef\@title{#1}%
+ \gdef\INGUD@secondtitle{#2}%
+ \gdef\INGUD@typeofpaper{#3}}%
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\author}
+%
+% El comando |\author| se comporta de igual forma
+% que el comando estándar. A diferencia de su
+% contraparte estándar, puede recibir dos argumentos:
+% el primero opcional y el segundo obligatorio.
+% Este comando se usa en la forma
+% |\author[nombre cortos]{nombres largos}| o |\author{nombres}|.
+% Cuando se usa en la forma
+% |\author[nombre cortos]{nombres largos}|,
+% la información de |nombre cortos|
+% se pone en la cabecera del documento y |nombres largos|
+% corresponde a los nombres (junto con las afilicaciones)
+% de los autores del artículo.
+% Si se usa |\author{nombres}| entonces |nombres|
+% se ponen en la cabecera y en la primera página del artículo.
+%
+% |\author| llama a |\INGUD@authori| o
+% |\INGUD@authorii| dependiendo si se ha especificado
+% el argumento opcional.
+%
+% \begin{macrocode}
+\def\author{\@ifnextchar[\INGUD@authori\INGUD@authorii}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@authori}
+% \changes{v0.3}{2015/10/10}{Se eliminó el formato al texto
+% del primer argumento para que sea
+% dado en el lugar indicado.
+% \cs{@author} ahora depende
+% de la opción peerreview}
+%
+% Si se especifica |\author[nombre cortos]{nombres largos}|
+% y la opción |peerreview| se ha declarado,
+% entonces |\INGUD@authorinfo| y |\@author| deben resolver a vacío.
+%
+% \begin{macrocode}
+\def\INGUD@authori[#1]#2{%
+ \ifINGUD@peerreview
+ \global\let\INGUD@authorinfo\@empty
+ \global\let\@author\@empty
+% \end{macrocode}
+%
+% Si se especifica |\author[nombre cortos]{nombres largos}|
+% y no se ha declarado la opción |peerreview|,
+% entonces se define |\INGUD@authorinfo| para que imprima
+% la información de los autores |nombre cortos| ignorando
+% lo que se haya puesto dentro de |thanks| (usualmente usado
+% para las afiliaciones) y se redefine localmente
+% |\and| para que sea igual al separador de |\INGUD@separator|.
+% |\\| se define para que se comporte igual a un espacio.
+% |\@author| se define para que corresponda a la información
+% completa de los autores en la primera página del artículo
+% incluida su afiliación.
+%
+% \begin{macrocode}
+ \else
+ \gdef\INGUD@authorinfo{\begingroup
+ \let\thanks\INGUD@gobblethanks
+ \let\and\INGUD@separator
+ \let\\\space
+ #1\relax
+ \endgroup}%
+ \gdef\@author{#2}%
+ \fi}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@authorii}
+% \changes{v0.3}{2015/10/10}{Se eliminó el formato al texto
+% del primer argumento para que sea
+% dado en el lugar indicado.
+% \cs{@author} ahora depende de la opción peerreview}
+%
+% Si se especifica |\author{nombres}|
+% y se tiene activa la opción |peerreview|
+% entonces |\INGUD@authorinfo| y |\@author| deben resolver a vacío
+%
+% \begin{macrocode}
+\def\INGUD@authorii#1{%
+ \ifINGUD@peerreview
+ \global\let\INGUD@authorinfo\@empty
+ \global\let\@author\@empty
+% \end{macrocode}
+%
+% Si se usa |\author{nombres}|
+% y no se ha especificado la opción |peerreview|
+% entonces se define |\INGUD@authorinfo| y |\@author|
+% para que tengan la misma información haciendo lo
+% mismo que en el caso anterior.
+%
+% \begin{macrocode}
+ \else
+ \gdef\INGUD@authorinfo{\begingroup
+ \let\thanks\INGUD@gobblethanks
+ \let\and\INGUD@separator
+ \let\\\space
+ #1\relax
+ \endgroup}%
+ \gdef\@author{#1}%
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\date}
+%
+% El comando |\date| es necesario para establecer
+% la fecha del documento. Esta clase lo usa para
+% imprimir la fecha de recibido, modificación y
+% aceptación del artículo. Esto se hace
+% en el momento de la edición del artículo.
+% La definición estándar es suficiente por ahora
+% así que se comenta.
+%
+% \begin{macrocode}
+%^^A\newcommand*{\date}[1]{\gdef\@date{#1}}%
+%^^A\date{\today}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\and}
+% \changes{v0.3}{2015/10/10}{Se redefine para poner una
+% coma seguida de un espacio}
+%
+% El comando |\and| tiene sentido sólo dentro del comando
+% |\author| para separar los diferentes autores del
+% artículo. Por ahora se define para poner una coma seguida
+% de un espacio.
+%
+% \begin{macrocode}
+\renewcommand{\and}{,\space}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thanks}
+% \changes{v0.3}{2015/10/10}{Macro redefinida. No hay compatibilidad
+% con las versiones v0.1 y v0.2.
+% Ahora acepta tres argumentos. El primero es opcional}
+%
+% El comando |\thanks| usualmente se usa para
+% agregar agradecimientos hacia una persona o institución
+% en la publicación de un determinado artículo.
+% Esta clase de documento lo usa para indicar las afiliaciones
+% de los diferentes autores, así que se debería
+% usar un comando |\thanks| por cada autor.
+%
+% Contrario a su contraparte estándar, este comando
+% tiene un argumento opcional y dos obligatorios.
+% Cuando se usa sobre un autor en la forma
+% |\thanks[correspondencia]{etiqueta}{afiliacion}|,
+% identifica de manera única al autor de correspondencia.
+% Si se usa dos o más veces en esta forma sobre varios autores,
+% solamente el primero de ellos es identificado como de
+% correspondencia.
+% El argumento opcional |correspondencia| es puesto
+% en la parte inferior de los autores. Este argumento debería
+% ser un e-mail o una dirección del autor de correspondencia.
+% El argumento |etiqueta| es un caracter alfanumérico, por ejemplo,
+% ``a--z'' o ``0--9''.
+% Este caracter debería identificar de manera única los autores
+% que pertenecen a la misma afiliación. Por ejemplo,
+% es común que en un artículo aparezcan dos o más autores
+% que pertenecen a la misma universidad o al mismo instituto.
+% El argumento |afiliacion| corresponde propiamente a la afiliación
+% del autor, por ejemplo, el nombre de su universidad.
+% Si dos o mas autores comparten la misma |etiqueta|, la información
+% de la |afiliación| del primer autor es puesta en la parte inferior
+% de los autores.
+% El uso en la forma |\thanks{etiqueta}{afiliacion}| es ugual
+% a la descrita anteriormente, pero el autor no es
+% identificado como autor de correspondencia.
+%
+% El comando |\thanks| llama a |\INGUD@thanksi| o a |\INGUD@thanksii|.
+%
+% \begin{macrocode}
+\def\thanks{\@ifnextchar[\INGUD@thanksi\INGUD@thanksii}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@gobblethanks}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+% \begin{macro}{\INGUD@gobblethanksi}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+% \begin{macro}{\INGUD@gobblethanksii}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+%
+% Estas macros se usan para ``comerse'' los argumentos de
+% |\thanks|. Deberían tener la misma cantidad de argumentos
+% que |\thanks|, sólo que debe desecharse la información que
+% reciben.
+%
+% \begin{macrocode}
+\def\INGUD@gobblethanks{%
+ \@ifnextchar[\INGUD@gobblethanksi\INGUD@gobblethanksii}%
+\def\INGUD@gobblethanksi[#1]{\INGUD@gobblethanksii}%
+\def\INGUD@gobblethanksii#1#2{}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@thanksi}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+%
+% El comando |\INGUD@thanksi| es llamado sólo si se ha usado la versión
+% con argumento opcional |\thanks[correspondencia]{etiqueta}{afiliacion}|.
+% El argumento |#1| corresponde con la información
+% de la correspondencia del autor.
+% Lo primero que se hace es verificar si existe
+% un autor de correspondencia anterior. Si
+% es afirmativa la respuesta, se ignora
+% la información de correspondencia.
+%
+% \begin{macrocode}
+\def\INGUD@thanksi[#1]{%
+ \ifINGUD@correspondenceauthor\else
+% \end{macrocode}
+%
+% En caso de que no se haya especificado previamente un
+% autor de correspondencia, se procede a poner
+% en |true| el comando |\ifINGUD@correspondenceauthor|.
+% Luego se agrega un caracter de idenficación (normalmente
+% un asterisco) dado por el comando |\INGUD@correspondencechar|
+% en la parte superior-derecha del nombre
+% del autor. Luego se redefine |\INGUD@correspondenceinfo|
+% para que contenga la información de correspondencia del autor.
+%
+% \begin{macrocode}
+ \global\INGUD@correspondenceauthortrue
+ \@textsuperscript{\normalfont\footnotesize
+ \INGUD@correspondencechar ,}%
+ \gdef\INGUD@correspondenceinfo{%
+ \@textsuperscript{\normalfont\footnotesize
+ \INGUD@correspondencechar}#1}%
+ \fi
+% \end{macrocode}
+%
+% Finalmente se llama a |\INGUD@thanksii| para que
+% procese la información de la etiqueta de autor y su afiliación.
+%
+% \begin{macrocode}
+ \INGUD@thanksii}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@thanksii}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+%
+% |\INGUD@thanksii| es llamada para procesar la información de la
+% etiqueta (argumento |#1|) y afiliación del autor (argumento |#2|).
+%
+% \begin{macrocode}
+\def\INGUD@thanksii#1#2{%
+% \end{macrocode}
+%
+% Lo primero que se hace es revisar si la etiqueta del autor
+% ya se encuentra en la lista de etiquetas de autores
+% dada por |\INGUD@authorlabel|.
+% Si es así, se ignora la información de
+% la etiqueta y afiliación, dado que el autor
+% debe tener una entrada por parte de otro autor con la misma afiliación.
+%
+% \begin{macrocode}
+ \if\INGUD@instring{#1}{\INGUD@authorlabel}\else
+% \end{macrocode}
+%
+% Si la etiqueta del autor no aparece en la lista,
+% quiere decir que es un autor con una afiliación diferente
+% a la del resto. Primero se verifica si es el
+% el primer autor que se va agregar. Si es así, no se
+% hace nada, en caso contrario se agrega una coma
+% seguida de un espacio en las afiliaciones.
+%
+% \begin{macrocode}
+ \ifx\INGUD@authorlabel\@empty\else
+ \g@addto@macro\@thanks{,\space}%
+ \fi
+% \end{macrocode}
+%
+% En este caso se hace una entrada
+% de su etiqueta a la lista y se procede a
+% agregar su afiliación a la lista de afiliaciónes
+% de los autores dada por |@thanks|.
+%
+% \begin{macrocode}
+ \g@addto@macro\INGUD@authorlabel{#1}%
+ \g@addto@macro\@thanks{%
+ \@textsuperscript{\normalfont\footnotesize#1}#2}%
+ \fi
+% \end{macrocode}
+%
+% Finalmente se imprime la etiqueta del autor
+% en la parte superior-derecha de su nombre.
+%
+% \begin{macrocode}
+ \@textsuperscript{\normalfont\footnotesize#1}}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@instring}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+%
+% Este comando busca un caracter (argumento |#1|)
+% en una cadena (argumento |#2|).
+% Debe ser llamada en la forma
+% \begin{oldcomments}
+% \if\INGUD@instring{char}{string}
+% codigo si char está en string
+% \else
+% codigo si char no está en string
+% \fi
+% \end{oldcomments}
+% Su definición es algo truculenta.
+%
+% \begin{macrocode}
+\def\INGUD@instring#1#2{\fi\begingroup
+ \edef\x{\endgroup\noexpand\in@{#1}{#2}}\x\ifin@}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@correspondenceinfo}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+% \begin{macro}{\INGUD@authorlabel}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+% \begin{macro}{\INGUD@correspondencechar}
+% \changes{v0.3}{2015/10/10}{Macro agregada}
+% \begin{macro}{\@thanks}
+% \changes{v0.3}{2015/10/10}{Macro redefinida para que resuelva a vacío}
+%
+% |\INGUD@correspondenceinfo| contiene la información
+% del autor de correspondencia. Se define para resolver a vacío.
+%
+% |\INGUD@authorlabel| contiene una lista de etiquetas
+% alfanuméricas de los autores con las mismas afiliaciones
+% dentro del artículo. Se define para resolver a vacío.
+%
+% |\INGUD@correspondencechar| contiene el caracter
+% que será impreso en la parte superior-derecha
+% del nombre del autor de correspondencia. Este mismo
+% caracter se imprime justo antes de la información
+% del autor de correspondencia. Se define por defecto
+% con el caracter esterico (*)
+%
+% |\@thanks| contiene la información de las afiliaciones de
+% los diferentes autores. Se define para resolver a vacío.
+%
+% \begin{macrocode}
+\def\INGUD@correspondenceinfo{}%
+\def\INGUD@authorlabel{}%
+\def\INGUD@correspondencechar{*}%
+\def\@thanks{}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{titlepage}
+%
+% Este ambiente se redefine para que resuelva
+% a vacío y no tenga algún efecto.
+%
+% \begin{macrocode}
+\renewenvironment{titlepage}{}{}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\INGUD@makeciteinfo}
+%
+% \changes{v0.2}{2012/11/10}{Modificada la justificación del texto.
+% Ahora depende de \cs{INGUD@rightcolauthor}}
+% \changes{v0.3}{2015/10/10}{Macro eliminada}
+%
+% En las versiones v0.1 y v0.2 era necesaria esta macro.
+% En la versión v0.3 fue eliminada.
+% |\INGUD@makeciteinfo| se encargaba de darle formato
+% a la información de la cita que se ponía en el pie de la primera página.
+%
+% \begin{macrocode}
+%^^A\newcommand{\INGUD@makeciteinfo}{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@makeauthorinfo}
+%
+% \changes{v0.2}{2012/11/10}{Modificada la justificación del texto.
+% Ahora depende de \cs{INGUD@rightcolauthor}}
+% \changes{v0.3}{2015/10/10}{Eliminada macro}
+%
+% Este comando era necesario en las versiones v0.1 y v0.2.
+% En la versión v0.3 fue eliminado.
+% En versiones anteriores |\INGUD@makeauthorinfo| le daba formato a la
+% información de los autores en la primera página
+% ubicada en una columna exclusivamente destinada para esto.
+%
+% \begin{macrocode}
+%^^A\newcommand{\INGUD@makeauthorinfo}{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\maketitle}
+% \changes{v0.3}{2015/10/10}{Modificada macro. Los cambios no son
+% compatibles con las versiones v0.1 y v0.2}
+%
+% |\maketitle| se encarga de crear la página de título
+% del artículo. Lo primero que se hace es crear un grupo y una nueva
+% página. Se evita que algún flotante quede
+% ubicado en la parte superior poniendo |\@topnum|
+% a cero y se usa el estilo de página
+% |\ps@titlepageingud| sólo para la página
+% actual.
+%
+% \begin{macrocode}
+\def\maketitle{%
+\begingroup
+ \newpage
+ \global\@topnum\z@
+ \thispagestyle{titlepageingud}%
+% \end{macrocode}
+%
+% |\@twocolumn| se pone en |\false| y |\col@number| se pone
+% en uno.
+%
+% \begin{macrocode}
+ \@twocolumnfalse
+ \col@number\@ne
+% \end{macrocode}
+%
+% Ahora se evita el sangrado de la primera línea y se
+% imprime el título con el comando |\@maketitle|.
+%
+% \begin{macrocode}
+ \noindent
+ \@maketitle
+% \end{macrocode}
+%
+% \changes{v0.3}{2015/10/10}{Ahora se vacía \cs{INGUD@typeofpaper}}
+%
+% Se vacían algunos comandos internos que no se usarán
+% más, ahorrando algo de espacio en memoria.
+%
+% \begin{macrocode}
+ \global\let\@title\@empty
+ \global\let\INGUD@secondtitle\@empty
+ \global\let\INGUD@correspondenceinfo\@empty
+ \global\let\INGUD@correspondencechar\@empty
+ \global\let\INGUD@authorlabel\@empty
+ \global\let\INGUD@typeofpaper\@empty
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+% \end{macrocode}
+%
+% Después de que el título se ha impreso,
+% es necesario desvanecer el efecto de los
+% comandos |\title|, |\author|, etc, dado
+% que sólo son necesarios una vez.
+% Al finalizar se cierra el grupo.
+%
+% \begin{macrocode}
+ \global\let\maketitle\relax
+ \global\let\title\relax
+ \global\let\date\relax
+ \global\let\INGUDsetciteinfo\relax
+ \global\let\INGUDsetvolume\relax
+ \global\let\INGUDsetnumber\relax
+ \global\let\INGUDsetinitialpage\relax
+ \global\let\author\relax
+ \global\let\and\relax
+ \global\let\thanks\relax
+\endgroup}%
+% \end{macrocode}
+%
+% \begin{macro}{\endmaketitle}
+% \changes{v0.3}{2015/10/10}{Modificada macro.
+% Ya no inicia una nueva página.
+% Compensa el espacio no usado por la cabecera}
+%
+% |\endmaketitle| agrega la información de cita del artículo.
+% Lo primero que se hace es compensar el espacio tomado
+% por la cabecera que no se usa con el estilo
+% de página |ps@titlepageingud|.
+%
+% \begin{macrocode}
+\def\endmaketitle{%
+ \@tempdima\INGUD@topmargin
+ \advance\@tempdima-\INGUD@headmargin
+ \enlargethispage{\@tempdima}%
+% \end{macrocode}
+%
+% Debido a las características de la clase, la información
+% de la cita se pone en un flotante
+% ubicado en la parte inferior de la primera página (posiblemente
+% esto cambie en el futuro). Lo primero que se hace es revisar
+% si se ha especificado la opción |peerreview|. Si es así, no se hace nada,
+% en caso contrario se imprime la información de la cita.
+%
+% \begin{macrocode}
+ \ifINGUD@peerreview\else
+ \table[!b]%
+ \normalfont\scriptsize
+ \INGUD@citeinfo
+ \endtable
+ \fi
+% \end{macrocode}
+%
+% Ahora se vacía la información de la cita,
+% dado que ya no será usada en el futuro.
+% También se inhabilita |\endmaketitle|.
+%
+% \begin{macrocode}
+ \global\let\INGUD@citeinfo\@empty
+ \global\let\endmaketitle\relax}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@maketitle}
+%
+% \changes{v0.2}{2012/11/10}{Cambiada justificación de texto.
+% Ahora depende de \cs{INGUD@rightcolauthor}}
+% \changes{v0.3}{2015/10/10}{Modificada macro. Los cambios no
+% son compatibles con las versiones v0.1 y v0.2}
+%
+% Este comando se encarga de imprimir toda la información del
+% artículo (tipo de artículo, título principal, secundario, autores, etc).
+% Esta macro se llama dentro de un grupo para que los cambios sean locales
+% y se configuran algunos parámetros de párrafos y
+% de tipo de letra.
+%
+% \begin{macrocode}
+\def\@maketitle{%
+ \normalfont\normalsize
+ \parskip\z@
+ \parindent\z@
+ \raggedright
+% \end{macrocode}
+%
+% \changes{v0.3}{2015/10/10}{Ahora se imprime \cs{INGUD@typeofpaper}}
+%
+% Antes del título principal se imprime el tipo de artículo.
+%
+% \begin{macrocode}
+ {\bfseries\INGUD@typeofpaper\par\nobreak}%
+ \vskip 0.5em \@plus 0.1em\@minus 0.1em\nobreak
+% \end{macrocode}
+%
+% Ahora se imprime el título en tamaño de
+% letra |\LARGE| y negrilla.
+% Se inicia un nuevo párrafo y se evita que
+% exista una ruptura de página en este lugar.
+%
+% \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis
+% para finalizar apropiadamente el párrafo
+% del título y evitar usar el \cs{baselineskip}
+% del texto normal.
+% Se eliminó \cs{vskip}}
+%
+% \begin{macrocode}
+ {\LARGE\bfseries\@title\par\nobreak}%
+% \end{macrocode}
+%
+% Ahora se imprime el título secundario en tamaño de
+% letra |\Large|, sin negrilla y letra inclinada.
+% Se inicia un nuevo párrafo y se evita que
+% exista una ruptura de página en este lugar.
+% Al final se deja algo de espacio vertical para los
+% nombres de los autores.
+%
+% \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis
+% para finalizar apropiadamente el párrafo
+% del subtítulo y evitar usar el \cs{baselineskip}
+% del texto normal.
+% Se cambió 1.5em a 0.25em de espaciamiento vertical}
+% \changes{v0.3}{2015/10/10}{Se eliminó la negrilla del título secundario}
+%
+% \begin{macrocode}
+ {\Large\slshape\INGUD@secondtitle\par\nobreak}%
+ \vskip 0.25em \@plus 0.1em\@minus 0.1em\nobreak
+% \end{macrocode}
+%
+% Ahora se imprime la información de los autores en letra
+% |\large| y negrilla. Se crea un nuevo párrafo y se deja
+% algo de espacio para la información de las afiliaciones
+% de los autores.
+%
+% \changes{v0.3}{2015/10/10}{Se cambió 1.5em a 0.25em}
+%
+% \begin{macrocode}
+ {\large\bfseries\slshape\@author\par\nobreak}%
+ \vskip 0.25em \@plus 0.1em\@minus 0.1em\nobreak
+% \end{macrocode}
+%
+% Ahora se imprime la información de las afiliaciones
+% de los autores en letra tamaño |\footnotesize|.
+%
+% \changes{v0.3}{2015/10/10}{Ahora imprime las afiliaciones de los autores.
+% Se cambió 1.5em por 0.25em}
+%
+% \begin{macrocode}
+ {\footnotesize\@thanks\par\nobreak
+ \vskip 0.25em \@plus 0.1em\@minus 0.1em\nobreak
+% \end{macrocode}
+%
+% Ahora se imprime la información del autor de correspondencia.
+%
+% \changes{v0.3}{2015/10/10}{Ahora imprime la correspondencia de los autores.
+% Se cambió 1.5em por 0.25em}
+%
+% \begin{macrocode}
+ \INGUD@correspondenceinfo\par\nobreak}%
+ \vskip 0.25em \@plus 0.1em\@minus 0.1em\nobreak
+% \end{macrocode}
+%
+% Finalmente se imprime la información de la fecha del artículo.
+%
+% \changes{v0.3}{2015/10/10}{Ahora imprime la fecha del artículo}
+%
+% \begin{macrocode}
+ {\centering\scriptsize\@date\par\nobreak}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Volumen, número, página inicial e información de cita}
+%
+% \begin{macro}{\INGUDsetvolume}
+% \begin{macro}{\INGUDsetnumber}
+% \begin{macro}{\INGUDsetinitialpage}
+% \begin{macro}{\INGUDsetciteinfo}
+%
+% Los comandos |\INGUDsetvolume|, |\INGUDsetnumber|,
+% |\INGUDsetinitialpage| y |\INGUDsetciteinfo| están
+% destinados para establecer el número de
+% volumen, el número de la revista, la página inicial del artículo
+% y la información de cita del mismo.
+% El argumento de los tres primeros debería ser solamente
+% el número, sin agregar ningún tipo de abreviatura
+% inicial como ``Vol.'', ``No.'' o ``pág''.
+% Por ahora el argumento de |\INGUDsetciteinfo| puede ser arbitario
+% y dependerá de la información que el usuario desea
+% dar a conocer al lector (posiblemente esto cambie en el futuro).
+% Una cita típica puede ser
+% ``Newton, Isaac. La ley de gravitación universal.
+% En: Ingeniería. Vol. 1, No. 1, pág 1--10''.
+%
+% \begin{macrocode}
+\newcommand*{\INGUDsetvolume}[1]{\gdef\INGUD@reviewvolume{#1}}%
+\newcommand*{\INGUDsetnumber}[1]{\gdef\INGUD@reviewnumber{#1}}%
+\newcommand*{\INGUDsetinitialpage}[1]{\global\setcounter{page}{#1}}%
+\newcommand*{\INGUDsetciteinfo}[1]{\gdef\INGUD@citeinfo{#1}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Resumen estructurado}
+%
+% \begin{environment}{abstract}
+%
+% \changes{v0.3}{2015/10/10}{Se centró el nombre del ambiente. Ya no
+% se usa \cs{section} para escribir el nombre
+% del ambiente. Ahora se usa \cs{centerline}}
+%
+%
+% El ambiente estándar |abstract| se redefine
+% para cumplir con los requerimientos de la revista.
+% Por defecto el nombre del ambiente aparece en
+% inglés. Si un usuario desea que aparezca en otro
+% idioma (por ejemplo español) debe redefinir
+% el comando |\abstractname|.
+%
+% Lo primero que se hace es eliminar
+% cualquier espaciamiento vertical anterior al ambiente.
+% Se crea nuevo párrafo y se evita romper en ese sitio.
+% Luego se agrega espaciamiento vertical ajustable y
+% se alienta a \TeX{} (con una penalidad 0)
+% a romper página en caso de que no
+% haya espacio suficiente para contener todo el resumen
+% (posiblemente no sea la mejor solución).
+% Se arma un sólo bloque con |\vtop| (esto hace que el resumen
+% quede en un sólo paquete y no se rompa entre páginas)
+% y se inicia un grupo.
+%
+% \begin{macrocode}
+\renewenvironment{abstract}{%
+ \removelastskip
+ \par\nobreak
+ \vfil\penalty\z@\vfilneg
+ \vtop\bgroup
+% \end{macrocode}
+%
+% Luego se imprime el título del ambiente con algo de formato al
+% texto.
+%
+% \begin{macrocode}
+ \normalfont\small
+ \centerline{\bfseries\abstractname}}%
+% \end{macrocode}
+%
+% Al finalizar el ambiente se inicia un nuevo párrafo
+% y se finaliza el grupo reajustando la profundidad de la última caja.
+%
+% \begin{macrocode}
+ {\par\xdef\tpd{\the\prevdepth}\egroup
+ \prevdepth=\tpd}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\INGUDkeywordsname}
+% \changes{v0.3}{2015/10/10}{Macro eliminada}
+%
+% Este comando era usado en las versiones v0.1 y v0.2.
+% En la versión v0.3 fue eliminado para ser
+% reemplazado por un resumen estructurado.
+%
+% |\INGUDkeywordsname| contenía el nombre del
+% ambiente |INGUDkeywords|. Si se deseaba que este nombre
+% apareciera en otro idioma, sólo era necesario
+% redefinirlo usando |\renewcommand|.
+%
+% \begin{macrocode}
+%^^A\newcommand{\INGUDkeywordsname}{Key words}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{INGUDkeywords}
+%
+% \changes{v0.2}{2012/11/10}{Cambiado espaciamiento vertical de 0.5\cs{baselineskip}
+% a 0.25\cs{baselineskip}}
+% \changes{v0.3}{2015/10/10}{Eliminado ambiente}
+%
+% Lo primero que se hacía era eliminar cualquier
+% espaciamiento vertical antes del ambiente.
+% Se agregaba algo de espacio vertical para separar
+% el nombre del ambiente del contenido anterior.
+% Después se imprimía el nombre del ambiente
+% dejando un espaciamiento evitando la ruptura en este lugar.
+% Al finalizar el ambiente se iniciaba un nuevo párrafo.
+%
+% \begin{macrocode}
+%^^A\newenvironment{INGUDkeywords}{%
+%^^A \removelastskip
+%^^A \vskip0.25\baselineskip
+%^^A \par\nobreak
+%^^A \noindent\textbf{\INGUDkeywordsname}\nobreakspace}{\par}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{INGUDstructured}
+%
+% \changes{v0.3}{2015/10/10}{Agregado ambiente}
+%
+% En la versión v0.3 aparece un resumen estructurado que debe tener
+% contexto, método, resultados, conclusiones, palabras clave, agradecimientos
+% e idioma. El ambiente |INGUDstructured| fue creado con este propósito.
+%
+% Lo primero que se hace es eliminar cualquier
+% espaciamiento vertical antes del ambiente.
+% Después se imprime el nombre del ambiente (argumento |#1|)
+% dejando un espaciamiento evitando la ruptura en este lugar.
+% Al finalizar el ambiente se inicia un nuevo párrafo.
+%
+% \begin{macrocode}
+\newenvironment{INGUDstructured}[1]{%
+ \removelastskip
+ \par\nobreak
+ \noindent\textbf{#1:}\nobreakspace}{\par}%
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Contadores}
+%
+% \begin{macro}{\thetable}
+%
+% La presentación del contador |\c@table| se hace
+% por medio del comando |\thetable|. Este
+% comando se redefine para que las tablas sean
+% numeradas con números romanos en mayúscula.
+%
+% \begin{macrocode}
+\renewcommand{\thetable}{\@Roman\c@table}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Leyendas}
+%
+% \begin{macro}{\fnum@figure}
+% \begin{macro}{\fnum@table}
+%
+% Los comandos |\fnum@...| contienen el
+% nombre del respectivo flotante que será impreso
+% cuando se llame al comando |\caption|.
+% Por ahora se comentan y se usa las definiciones estándar
+% de \LaTeX.
+%
+% \begin{macrocode}
+%^^A\renewcommand{\fnum@figure}{\figurename\nobreakspace\thefigure}%
+%^^A\renewcommand{\fnum@table}{\tablename\nobreakspace\thetable}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\abovecaptionskip}
+% \begin{macro}{\belowcaptionskip}
+%
+% Estas longitudes contienen la cantidad de espacio
+% en blanco que se agrega arriba y abajo en la leyenda de un flotante.
+% Por ahora se establecen en |0pt| para reducir la cantidad de
+% espacio vertical que se usa.
+%
+% \begin{macrocode}
+\setlength{\abovecaptionskip}{\z@}%
+\setlength{\belowcaptionskip}{\z@}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@makecaption}
+%
+% El comando |\caption| llama al comando |\@makecaption|
+% para dar formato a la leyenda de los flotantes.
+% Recibe dos argumentos: |#1| que es el nombre del
+% flotante, por ejemplo ``Figura 2'', y |#2| que es la leyenda
+% del mismo. Su definición es básicamente la misma
+% que la del núcleo de \LaTeX, a diferencia que
+% le da un formato diferente a la leyenda del flotante.
+% Se inicia agregando el espaciamiento vertical
+% |\abovecaptionskip|.
+%
+% \begin{macrocode}
+\renewcommand{\@makecaption}[2]{%
+ \vskip\abovecaptionskip
+% \end{macrocode}
+%
+% Luego se mide el largo de la leyenda poniéndola
+% en una caja temporal con el tamaño de letra
+% establecido en |\footnotesize|.
+%
+% \begin{macrocode}
+ \sbox\@tempboxa{{\footnotesize\textbf{#1.} #2}}%
+% \end{macrocode}
+%
+% Ahora se mide al ancho de la caja. Si es más
+% larga que el ancho actual |\hsize| entonces se
+% imprime la leyenda en un párrafo ordinario.
+%
+% \begin{macrocode}
+ \ifdim\wd\@tempboxa >\hsize
+ {\footnotesize\textbf{#1.} #2 \par}%
+% \end{macrocode}
+%
+% Si la leyenda cabe en el ancho actual, entonces es necesario centrarla.
+% Se reinicia la variable |\@minipagefalse| como en la definición
+% estándar. Al final se agrega el espaciamiento
+% vertical |\belowcaptionskip|.
+%
+% \begin{macrocode}
+ \else
+ \global\@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Citas}
+%
+% \begin{macro}{\@citex}
+%
+% Aquí se modifica el comando |\@citex| del núcleo de
+% \LaTeX{} para separar las diferentes citas con |], [|.
+% Cuando un usuario especifique |\cite{ref1,ref2,...,refn}|,
+% el respectivo texto quedará en la forma
+% |[1], [2], ..., [n]|, suponiendo que |ref1| resuelve a
+% |[1]|, |ref2| a |[2]| y |refn| a |[n]|. Esto evita que
+% \LaTeX{} agrupe las referencias como |[1,2,...,n]|.
+%
+% \begin{macrocode}
+\def\@citex[#1]#2{%
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{], [}%
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\citepunct}
+% \begin{macro}{\citedash}
+%
+% El paquete \filename{cite.sty} de Donald Arseneau es inteligente
+% y notará que |\citepunct| y |\citedash| ya se encuentran definidos
+% y no los definirá de nuevo. El resultado es el
+% adecuado ordenamiento de los números de referencia
+% y la auto-detección de tres o más referencias:
+% |[1], [2], [5]--[7], [12]|.
+% Esto también permite especificar una nota adicional,
+% es decir, |\cite[nota adicional]{..}|.
+% Si |\cite| tiene más de una referencia,
+% la nota será aplicada a la última de las referencias listadas.
+% Entonces es deseable que si una nota es dada,
+% sólo una referencia sea dada en |\cite|.
+%
+% \begin{macrocode}
+\def\citepunct{], [}%
+\def\citedash{]--[}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Espacios entre flotantes}
+%
+% \begin{macro}{\floatsep}
+% \begin{macro}{\textfloatsep}
+% \begin{macro}{\intextsep}
+%
+% Cuando un flotante se pone en una página con texto,
+% estos parámetors controlan la separación entre el flotante
+% y los otros objetos sobre la página.
+% Estos parámetros se usan para flotantes que ocupan
+% una columna en modo de una o dos columnas.
+%
+% |\floatsep| es el espacio entre flotantes adyacentes
+% que son movidos a la parte superior o inferior de la
+% página de texto.
+%
+% |\textfloatsep| es el espacio entre el texto principal
+% y los flotantes en la parte superior o inferior del texto.
+%
+% |\intextsep| es el espacio entre flotantes dentro del texto
+% y el texto.
+%
+% \begin{macrocode}
+\setlength{\floatsep}{\baselineskip}%
+\setlength{\textfloatsep}{\baselineskip}%
+\setlength{\intextsep}{\baselineskip}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\dblfloatsep}
+% \begin{macro}{\dbltextfloatsep}
+%
+% Cuando los flotantes que se expanden a la totalidad de
+% |\textwidth| son puestos sobre una página de texto y
+% se está en modo de dos columnas, la separación entre los
+% flotantes y el texto se controla con |\dblfloatsep|
+% y |\dbltextfloatsep|.
+%
+% |\dblfloatsep| es el espacio entre flotantes adyacentes
+% que se son movidos a la parte superior o inferior de
+% la página.
+%
+% |\dbltextfloatsep| es el espacio entre el texto principal
+% y los flotantes en la parte superior o inferior de la
+% página.
+%
+% \begin{macrocode}
+\setlength{\dblfloatsep}{\baselineskip}%
+\setlength{\dbltextfloatsep}{\baselineskip}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@fptop}
+% \begin{macro}{\@fpsep}
+% \begin{macro}{\@fpbot}
+%
+% Cuando los flotantes son puestos en una página
+% de flotantes los espacios entre ellos son controlados por
+% estos parámetros. En la parte superior de la
+% página se agrega el espacio en blanco |\@fptop| y en la parte
+% inferior |\@fpbot|.
+% Entre flotantes se agrega |\@fpsep|.
+% Estos parámetros se usan para flotantes en modo de una columna
+% o para flotantes de una columna en modo de dos columnas.
+% (al menosuno de los dos parámetros |\@fptop| y
+% |\@fpbot| debería contener un |plus ...fil| para permitir
+% rellenar el espacio en blanco restante.)
+%
+% \begin{macrocode}
+\setlength{\@fptop}{\z@}%
+\setlength{\@fpsep}{\baselineskip}%
+\setlength{\@fpbot}{\z@ \@plus 1fil}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@dblfptop}
+% \begin{macro}{\@dblfpsep}
+% \begin{macro}{\@dblfpbot}
+%
+% Estos parámetros son análogos a los anteriores
+% para flotantes de doble columna en modo de dos columnas.
+%
+% \begin{macrocode}
+\setlength{\@dblfptop}{\z@}%
+\setlength{\@dblfpsep}{\baselineskip}%
+\setlength{\@dblfpbot}{\z@ \@plus 1fil}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Estilos de página}
+%
+% \begin{macro}{\ps@plainingud}
+%
+% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}}
+% \changes{v0.3}{2012/11/10}{Agregado \cs{normalfont}\cs{footnotesize}
+% para dar formato a \cs{INGUD@authorinfo} y
+% \cs{INGUD@paperinfo}}
+%
+% La definición de este estilo de página es diferente
+% para impresión por una cara o doble cara.
+%
+% \begin{macrocode}
+\if@twoside
+ \def\ps@plainingud{%
+% \end{macrocode}
+%
+% El pie de la página contiene la información del número
+% de página impreso por |\thepage| junto con la información
+% de la revista impreso por |\INGUD@reviewinfo|
+%
+% \begin{macrocode}
+ \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
+ \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}%
+% \end{macrocode}
+%
+% La cabecera de la página contiene la información de los autores
+% impreso por |\INGUD@authorinfo| y del artículo
+% impreso por |\INGUD@paperinfo|. Estas dos informaciones
+% se intercambian entre páginas pares e impares.
+% Se agrega también una línea horizontal debajo de la
+% información de la cabecera.
+%
+% \begin{macrocode}
+ \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil
+ {\normalfont\footnotesize
+ \INGUD@authorinfo}}%
+ \vskip2\p@
+ \hrule \@height0.4\p@
+ \@width\textwidth
+ \@depth\z@}}%
+ \def\@evenhead{\vbox{\hb@xt@\textwidth{{\normalfont\footnotesize
+ \INGUD@paperinfo}%
+ \hfil}%
+ \vskip2\p@
+ \hrule \@height0.4\p@
+ \@width\textwidth
+ \@depth\z@}}%
+% \end{macrocode}
+%
+% Las definiciones estándar de estilos de página
+% hacen |\@mkboth| igual a |\markboth|.
+% Aquí se hace lo mismo.
+%
+% \begin{macrocode}
+ \let\@mkboth\markboth
+% \end{macrocode}
+%
+% Los estilos estándar usan los comandos
+% |\sectionmark| y |\subsectionmark| para que los
+% respectivos comandos de título cambien la información de la
+% cabecera. Esta no es la situación en esta clase de
+% documento. Así que se definen
+% para que resuelvan a vacío.
+%
+% \begin{macrocode}
+ \def\sectionmark##1{}%
+ \def\subsectionmark##1{}}%
+% \end{macrocode}
+%
+% La definición de |\ps@plainingud| para impresión por una cara
+% es más simple dado que las páginas pares e impares se tratan
+% por igual.
+% El código es análogo al presentado anteriormente.
+%
+% \begin{macrocode}
+\else
+ \def\ps@plainingud{%
+ \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
+ \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil{\normalfont\footnotesize
+ \INGUD@authorinfo}}%
+ \vskip2\p@
+ \hrule \@height0.4\p@
+ \@width\textwidth
+ \@depth\z@}}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{}}%
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ps@titlepageingud}
+%
+% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}}
+% \changes{v0.3}{2015/10/10}{Modificada macro. Los cambios no son compatibles
+% con las versiones v0.1 y v0.2.
+% Compensado el espacio usado por la cabecera}
+%
+% La definición de este estilo de página es diferente
+% para impresión por una cara o doble cara.
+% Lo primero que se hace es compensar el espacio usado
+% por la cabecera, dado que este estilo de página no lo
+% usa. Se incrementa |\footskip| en |\headheight+\headsep|.
+% Estos dos últimos se llevan a |0pt|.
+% Desafortunadamente |\textheight| no se puede modificar
+% en este lugar. Toca hacerlo en otro lugar.
+% Esto se hace por medio de |\enlargethispage|
+% en el lugar adecuado (por ejemplo en |\endmaketitle|).
+%
+% \begin{macrocode}
+\if@twoside
+ \def\ps@titlepageingud{%
+ \advance\footskip\headheight
+ \advance\footskip\headsep
+ \headsep\z@
+ \headheight\z@
+% \end{macrocode}
+%
+% \changes{v0.2}{2012/11/10}{Agregado \cs{INGUD@rightcolauthor} e
+% incrementado \cs{evensidemargin} también}
+%
+% El pie de la página contiene la información del número
+% de página impreso por |\thepage| junto con la información
+% de la revista impreso por |\INGUD@reviewinfo|.
+%
+% \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddfoot}
+% y \cs{@evenfoot}.
+% Dependen ahora de \cs{INGUD@rightcolauthor}}
+%
+% \begin{macrocode}
+ \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
+ \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}%
+% \end{macrocode}
+%
+% En la cabecera ya no se pone ninguna información.
+% La definición de |\@evenhead| es igual a la de |\@oddhead|.
+%
+% \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddhead}
+% y \cs{@evenhead}.
+% Dependen ahora de \cs{INGUD@rightcolauthor}}
+%
+% \begin{macrocode}
+ \def\@oddhead{}%
+ \let\@evenhead\@oddhead
+% \end{macrocode}
+%
+% Las definiciones estándar de estilos de página
+% hacen |\@mkboth| igual a |\markboth|.
+% Aquí se hace lo mismo.
+%
+% \begin{macrocode}
+ \let\@mkboth\markboth
+% \end{macrocode}
+%
+% Los estilos estándar usan los comandos
+% |\sectionmark| y |\subsectionmark| para que los
+% respectivos comandos de título cambien la información de la
+% cabecera. Esta no es la situación en esta clase de
+% documento. Así que se definen
+% para que resuelvan a vacío.
+%
+% \begin{macrocode}
+ \def\sectionmark##1{}%
+ \def\subsectionmark##1{}}%
+% \end{macrocode}
+%
+% La definición de |\ps@titlepageingud| para impresión por una cara
+% es más simple dado que las páginas pares e impares se tratan
+% por igual.
+% El código es análogo al presentado anteriormente.
+%
+% \begin{macrocode}
+\else
+ \def\ps@titlepageingud{%
+ \advance\footskip\headheight
+ \advance\footskip\headsep
+ \headsep\z@
+ \headheight\z@
+ \def\@oddfoot{\hb@xt@\textwidth{\INGUD@reviewinfo
+ \hfil
+ {\bfseries\thepage}}}%
+ \def\@oddhead{}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{}}%
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Bibliografía}
+%
+% \begin{macro}{\INGUD@thebibliography}
+% \begin{macro}{\thebibliography}
+% \changes{v0.3}{2015/10/10}{Agregado \cs{parskip}}
+%
+% El estilo estándar de bibliografía de \LaTeX{}
+% no es adecuado para la revista. Es necesario imprimir las
+% diferentes entradas en un tipo de letras más pequeño y
+% además tener menos separación entre ellas.
+% El comando |\INGUD@thebibliography| se define para mantener
+% una copia de |\thebibliography|, a la vez que éste último
+% se redefine para cumplir con los requerimientos de la revista.
+%
+% \begin{macrocode}
+\let\INGUD@thebibliography\thebibliography
+\renewcommand{\thebibliography}[1]{%
+ \INGUD@thebibliography{#1}%
+ \itemsep\z@
+ \parsep\z@
+ \parskip\z@
+ \footnotesize}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Biografías}
+%
+% \begin{environment}{biography}
+%
+% El ambiente |biography| tiene dos definiciones dependiendo
+% si se ha especificado la opción |peerreview|.
+%
+% Si se está en modo de revisión por pares es necesario
+% convertir el ambiente en un ambiente de ``comentarios''
+% e ignorar todo el texto dentro de la biografía.
+% Esto es con el fin de eliminar toda la información del autor
+% por confidencialidad.
+%
+% |\biography| se define con los comandos internos
+% |\let\do\@makeother| y |\dospecials| (ver ltmiscen.dtx para
+% más detalles). Luego llama al comando |\INGUD@clearbiography|
+% el cual ignora todo el texto de la biografía.
+%
+% \begin{macrocode}
+\ifINGUD@peerreview
+ \def\biography{%
+ \let\do\@makeother
+ \dospecials
+ \INGUD@clearbiography}%
+% \end{macrocode}
+%
+% |\endbiography| se define para que resuelva a vacío.
+%
+% \begin{macrocode}
+ \def\endbiography{}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@clearbiography}
+%
+% Ahora es necesario definir |\INGUD@clearbiography|.
+% Se declara para que interprete su argumento |#1|
+% como todo lo que se encuentra encerrado entre
+% |\begin{biography}| y |\end{biography}| e ignorarlo.
+% Para esto es necesario decirle a \TeX{}
+% que el argumento finaliza cuando encuentra el
+% comando |\end{biography}|.
+% Es necesario cambiar el código de categoría (dentro de un grupo
+% para que los cambios sean locales) de los caracteres
+% |{|, |}| y |\| para que sean tratados como ``otros'' caracteres
+% y remplazarlos temporalmente por los
+% caracteres |[|, |]| y \verb+|+.
+% La definición de |\INGUD@clearbiography| sólo llama
+% a |\end{biography}|.
+%
+% \begin{macrocode}
+\begingroup
+ \catcode`[=1 \catcode`]=2 \catcode`|=0
+ \catcode`\{=12 \catcode`\}=12 \catcode`\\=12
+ |long|gdef|INGUD@clearbiography#1\end{biography}[|end[biography]]%
+|endgroup
+% \end{macrocode}
+% \end{macro}
+%
+% Si no se está en modo de revisión por pares es necesario imprimir
+% el contenido de la biografía.
+% Primero se inicia eliminando cualquier espaciamiento vertical
+% que se haya adicionado anteriormente.
+%
+% \begin{macrocode}
+\else
+ \def\biography{%
+ \removelastskip
+% \end{macrocode}
+%
+% Luego se motiva a \TeX{} a romper la página en este sitio
+% si es necesario poniendo |\@highpenalty|.
+%
+% \begin{macrocode}
+ \addpenalty\@highpenalty
+% \end{macrocode}
+%
+% |\biography| tiene dos argumentos: |#1|, que es opcional,
+% donde se especifica una fotografía
+% encerrando el argumento entre los caracteres |[]|,
+% y |#2|, que es obligatorio, donde se especifica el nombre del autor
+% usando los caracteres |{}|.
+%
+% Si lo que sigue es el caracter |[| entonces se llama
+% a |\INGUD@biographyphoto| que
+% prepara una biografía con foto.
+% En caso contrario se llama al comando |\INGUD@biographynophoto|
+% para preparar una biografía sin foto.
+%
+% \begin{macrocode}
+ \@ifnextchar[\INGUD@biographyphoto\INGUD@biographynophoto}%
+% \end{macrocode}
+%
+% |\endbiography| se define para resuelva a |\par|.
+%
+% \begin{macrocode}
+ \def\endbiography{\par}%
+% \end{macrocode}
+%
+% \begin{macro}{\INGUD@biographyphoto}
+%
+% Este comando es llamado por el ambiente |biography|
+% cuando se necesita una biografía con foto.
+%
+% Se inicia dándole formato al nombre del autor especificado en |#2|.
+% Se inicia un nuevo párrafo evitando que \TeX{} rompa la página en
+% este sitio y eitando que sangre la primera línea del nuevo párrafo.
+% Se cambia el tipo de letra a |\footnotesize| que será la
+% letra que se use en la biografía.
+% Se pone |\ifINGUD@endofbiography| en |false| para indicar que
+% no se ha llegado al final de la biografía con foto.
+%
+% \begin{macrocode}
+ \def\INGUD@biographyphoto[#1]#2{%
+ \INGUD@biographyauthorname{#2}%
+ \par \nobreak \noindent
+ \normalfont \footnotesize
+ \global\INGUD@endofbiographyfalse
+% \end{macrocode}
+%
+% Ahora es necesario medir el tamaño de la fotografía dada en |#1|.
+% Para esto se pone en una caja temporal y su ancho
+% se asigna a la variable temporal |\@tempdima|.
+% Esta última variable se incrementa en una cantidad
+% igual a |\INGUD@photosep|, el cual es el espacio extra
+% en blanco que rodea la fotografía.
+%
+% \begin{macrocode}
+ \sbox\@tempboxa{#1}%
+ \@tempdima\wd\@tempboxa
+ \advance \@tempdima by \INGUD@photosep
+% \end{macrocode}
+%
+% Ahora es necesario medir la altura total (altura+profundidad)
+% y asignársela a la variable temporal |\@tempdimb|.
+% De igual forma se incrementa esta altura en una cantidad igual
+% a |\INGUD@photosep|.
+%
+% \begin{macrocode}
+ \@tempdimb\ht\@tempboxa
+ \advance \@tempdimb by \dp\@tempboxa
+ \advance \@tempdimb by \INGUD@photosep
+% \end{macrocode}
+%
+% Ahora es necesario conocer la cantidad de líneas
+% de texto que se dejarán con sangría para alojar
+% la fotografía del autor.
+% Para esto se realiza un simple cálculo dividiendo
+% la altura total de la fotografía entre el salto de
+% línea base |\baselineskip|.
+% Esta división guardará el valor (número real)
+% en |\@tempdimb|.
+% Al asignar |\@tempdimb| al contador (variable entera)
+% |\@tempcnta| los decimales se descartan,
+% esto trae el efecto de redondeo por abajo
+% (análogo a lo que hace la función |floor| en un lenguaje de programación).
+%
+% \begin{macrocode}
+ \divide \@tempdimb by \baselineskip
+ \@tempcnta\@tempdimb
+% \end{macrocode}
+%
+% Ahora establece el valor de la sangría del párrafo
+% presente |\hangindent| en las primeras |\@tempcnta|
+% líneas haciendo uso de |\hangafter|.
+% El signo negativo de |\@tempcnta|
+% indica que se sangrarán las líneas de texto de
+% arriba hacia abajo (ver \TeX Book para más detalles).
+% El efecto de |\hangindent| y |\hangafter| se hará
+% extensivo a otros párrafos (si los hay) por medio
+% del comando |\INGUD@hangcarryover|.
+%
+% \begin{macrocode}
+ \hangindent\@tempdima
+ \hangafter-\@tempcnta
+% \end{macrocode}
+%
+% Ahora se llama a |\INGUD@checkendofbiography| para que
+% realice un escaneo hasta encontrar el final de la
+% biografía. Esto es necesario dado que la biografía
+% puede contener varios párrafos (necesario detectarlos)
+% u otros ambientes. Entonces es necesario conocer
+% su finalización exacta.
+% |\INGUD@checkendofbiography| funciona leyendo
+% el texto que le sigue hasta encontrar un
+% |\end{biography}| correcto.
+%
+% \begin{macrocode}
+ \INGUD@checkendofbiography
+% \end{macrocode}
+%
+% Localmente se define |\INGUD@searchpar| para que detecte
+% la aparición del primer párrafo.
+% Si se encuentra este párrafo y |\ifINGUD@endofbiography|
+% es |true| (final de la biografía) se finaliza el párrafo con |\par|
+% y con |\null| (este |\null| parace ser necesario para evitar que
+% la fotografía de un autor se solape con la siguiente
+% cuando la biografía no alcanza a rodear toda la fotografía),
+% de lo contrario se llama a |\INGUD@hangcarryover| para
+% actualizar el valor correcto de |\hangindent| y |\hangafter|
+% y luego se sigue buscando la presencia de un nuevo
+% párrafo.
+%
+% \begin{macrocode}
+ \def\INGUD@searchpar##1\par{##1\ifINGUD@endofbiography
+ \par\null
+ \else
+ \INGUD@hangcarryover
+ \csname INGUD@searchpar\endcsname
+ \fi}%
+% \end{macrocode}
+%
+% Esta es la primera llamada de |\INGUD@searchpar|
+%
+% \begin{macrocode}
+ \INGUD@searchpar
+% \end{macrocode}
+%
+% Ahora imprime la fotografía que había sido guardada en
+% |\@tempboxa| en el lugar adecuado.
+% Para esto es necesario crear una caja de
+% ancho |0pt|, altura |\baselineskip| y profundidad
+% |0pt|. Luego de imprimir la fotografía
+% se ignora cualquier espacio en blanco que se
+% haya dejado entre la fotografía y el texto de la
+% biografía.
+%
+% \begin{macrocode}
+ \hb@xt@\z@{\hss
+ \vbox to\baselineskip{\box\@tempboxa
+ \hrule \@width\z@
+ \@height\z@
+ \@depth\z@}%
+ \hskip\INGUD@photosep}%
+ \ignorespaces}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@biographyauthorname}
+%
+% El comando |\INGUD@biographyauthorname| se encarga de
+% darle formato al nombre del autor dentro de la biografía.
+% Recibe como argumento el nombre del autor en |#1|.
+%
+% Lo primero que se hace es crear un grupo para
+% que los cambios sean locales.
+% Se pone la sangría y el salto de párrafo a |0pt|.
+% Se inicia un nuevo párrafo evitando que \TeX{}
+% rompa en este sitio.
+%
+% \begin{macrocode}
+ \newcommand{\INGUD@biographyauthorname}[1]{%
+ \begingroup
+ \parindent\z@ \parskip\z@
+ \par \nobreak
+% \end{macrocode}
+%
+% Luego se guarda el nombre
+% en una caja temporal con el formato adecuado para medir su ancho.
+% Si este ancho es más largo que el ancho actual
+% entonces se pone una línea horizontal |\vrule| de
+% ancho igual a |\hsize|.
+%
+% \begin{macrocode}
+ \sbox\@tempboxa{\normalfont\bfseries #1}%
+ \ifdim\wd\@tempboxa >\hsize
+ \vrule \@width\hsize
+ \@height 0.4\p@
+ \@depth\z@
+% \end{macrocode}
+%
+% Si el ancho del nombre es menor al ancho actual
+% entonces se pone una línea horizontal |\vrule|
+% de ancho igual al de la caja que contiene el nombre.
+%
+% \begin{macrocode}
+ \else
+ \vrule \@width\wd\@tempboxa
+ \@height 0.4\p@
+ \@depth\z@
+ \fi
+% \end{macrocode}
+%
+% Luego se crea un núevo párrafo evitando un rompimiento de página.
+% Se imprime el nombre del autor y se crea un nuevo párrafo
+% sin que haya un rompimiento de página.
+% Al final se agrega algo de espacio vertical y se cierra el grupo
+%
+% \begin{macrocode}
+ \par\nobreak
+ {\normalfont\bfseries #1}\par\nobreak
+ \vskip 5\p@
+ \endgroup}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@checkendofbiography}
+%
+% |\INGUD@checkendofbiography| es quizás uno de los comandos
+% más complejos de la clase \textsf{articleingud}.
+%
+% Su funcionamiento consiste en escanear lo que le sigue hasta
+% encontrar un primer comando |\end|. Todo lo que está entre
+% |\INGUD@checkendofbiography| y |\end| se considera su primer argumento.
+% Seguido de |\end| se encuentra su segundo argumento.
+% La definición debe ser |\long| dado que |#1| puede estar compuesto de
+% varios párrafos.
+%
+% \begin{macrocode}
+ \long\def\INGUD@checkendofbiography#1\end#2{%
+% \end{macrocode}
+%
+% Se definen localmente |\INGUD@biographyname| y |\INGUD@secondargument|
+% que serán utilizados para determinar si después del
+% |\end| encontrado se tiene un |\end{biography}|.
+%
+% \begin{macrocode}
+ \def\INGUD@biographyname{biography}%
+ \def\INGUD@secondargument{#2}%
+% \end{macrocode}
+%
+% Si |#2=biography| entonces se hace |INGUD@keepchecking|
+% para que sea igual a |\relax| y se define
+% |\INGUD@firstargument| para que contenga el
+% primer argumento de |\INGUD@checkendofbiography| seguido
+% de |\ifINGUD@endofbiography| puesto a |true| seguido de
+% una finalización de párrafo necesaria para
+% |\INGUD@searchpar|.
+%
+% \begin{macrocode}
+ \ifx\INGUD@biographyname\INGUD@secondargument
+ \global\let\INGUD@keepchecking\relax
+ \long\gdef\INGUD@firstargument##1{%
+ ##1\global\INGUD@endofbiographytrue\par}%
+% \end{macrocode}
+%
+% Si |#2!=biography| entonces se hace |INGUD@keepchecking|
+% para que sea igual a |\INGUD@checkendofbiography| y se define
+% |\INGUD@firstargument| para que contenga el
+% primer argumento de |\INGUD@checkendofbiography|.
+%
+% \begin{macrocode}
+ \else
+ \global\let\INGUD@keepchecking\INGUD@checkendofbiography
+ \long\gdef\INGUD@firstargument##1{##1}%
+ \fi
+% \end{macrocode}
+%
+% Ahora se imprime el primer argumento de |\INGUD@checkendofbiography|,
+% seguido de una definición a vacío de éste.
+% Es necesario finalizar el ambiente que se había escaneado
+% con |\INGUD@checkendofbiography| y que no se cerró.
+%
+% \begin{macrocode}
+ \INGUD@firstargument{#1}%
+ \global\let\INGUD@firstargument\@empty
+ \end{#2}%
+% \end{macrocode}
+%
+% Finalmente se continúa escaneando en busca de un |\end{biography}|
+% correcto en caso de que no se haya encontrado.
+%
+% \begin{macrocode}
+ \INGUD@keepchecking}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@biographynophoto}
+%
+% Este comando es llamado por el ambiente |biography|
+% cuando se necesita una biografía sin foto.
+% Su única función es imprimir el nombre del autor
+% dado en su único argumento |#1| y cambiar el
+% tipo de letra a |\footnotesize|.
+% El párrafo donde inicia la biografía comienza sin sangría
+% y se ignora cualquier espacio en blanco que
+% se haya dejado.
+%
+% \begin{macrocode}
+ \def\INGUD@biographynophoto#1{%
+ \INGUD@biographyauthorname{#1}%
+ \par \nobreak \noindent
+ \normalfont \footnotesize \ignorespaces}%
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{environment}
+%
+% \subsection{Tipo de letra}
+%
+% \begin{macro}{\sfdefault}
+% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
+% \begin{macro}{\rmdefault}
+% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
+% \begin{macro}{\ttdefault}
+% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
+%
+% Se redefinen los comandos |\sfdefault|, |\rmdefault|
+% y |\ttdefault| para cambiar el tipo de letra del
+% documento a letra TIMES. Este tipo de letra será usada
+% por defecto por la clase.
+%
+% \begin{macrocode}
+\renewcommand{\sfdefault}{phv}%
+\renewcommand{\rmdefault}{ptm}%
+\renewcommand{\ttdefault}{pcr}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Inicialización}
+%
+% Ahora es necesario inicializar el estilo
+% de página a |ps@plainingud|, el cual
+% será el estilo que se adopte por defecto.
+%
+% \begin{macrocode}
+\pagestyle{plainingud}%
+%</cls>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/articleingud/articleingud.ins b/macros/latex/contrib/articleingud/articleingud.ins
new file mode 100644
index 0000000000..6881952bd3
--- /dev/null
+++ b/macros/latex/contrib/articleingud/articleingud.ins
@@ -0,0 +1,163 @@
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+-------------------------------------------------------------------
+ LICENSE
+-------------------------------------------------------------------
+
+This is a generated file.
+
+Copyright (C) 2012-2015 by Omar Salazar
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence (LAMIC)
+Engineering Department
+Universidad Distrital Francisco Jose de Caldas
+Bogota, Colombia
+http://www.udistrital.edu.co/
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.2 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Omar Salazar.
+
+This work consists of the source files:
+ - articleingud.dtx (documented LaTeX file)
+ - articleingud.ins (installer)
+
+-------------------------------------------------------------------
+ LICENCIA
+-------------------------------------------------------------------
+
+Este es un archivo generado.
+
+Derechos de autor (C) 2012-2015 por Omar Salazar
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automatica e Inteligencia Computacional (LAMIC)
+Facultad de Ingenieria
+Universidad Distrital Francisco Jose de Caldas
+Bogota, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Publica del Proyecto LaTeX,
+version 1.2 o cualquier version superior (a su opcion).
+La ultima version de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la version 1.2 o superior es parte de todas las distribuciones
+de LaTeX version 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar.
+
+Este trabajo consiste de los archivos fuente:
+ - articleingud.dtx (archivo LaTeX documentado)
+ - articleingud.ins (instalador)
+
+\endpreamble
+
+\generate{\file{articleingud.cls}{\from{articleingud.dtx}{cls}}}
+
+\nopostamble
+
+\preamble
+
+-------------------------------------------------------------------
+ LICENSE
+-------------------------------------------------------------------
+
+This is a generated file.
+
+Copyright (C) 2012-2015 by Omar Salazar
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence (LAMIC)
+Engineering Department
+Universidad Distrital Francisco Jose de Caldas
+Bogota, Colombia
+http://www.udistrital.edu.co/
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.2 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Omar Salazar.
+
+This work consists of the source files:
+ - articleingud.dtx (documented LaTeX file)
+ - articleingud.ins (installer)
+
+\endpreamble
+
+\generate{\file{template.tex}{\from{articleingud.dtx}{tmple}}}
+
+\preamble
+
+-------------------------------------------------------------------
+ LICENCIA
+-------------------------------------------------------------------
+
+Este es un archivo generado.
+
+Derechos de autor (C) 2012-2015 por Omar Salazar
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automatica e Inteligencia Computacional (LAMIC)
+Facultad de Ingenieria
+Universidad Distrital Francisco Jose de Caldas
+Bogota, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Publica del Proyecto LaTeX,
+version 1.2 o cualquier version superior (a su opcion).
+La ultima version de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la version 1.2 o superior es parte de todas las distribuciones
+de LaTeX version 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar.
+
+Este trabajo consiste de los archivos fuente:
+ - articleingud.dtx (archivo LaTeX documentado)
+ - articleingud.ins (instalador)
+
+\endpreamble
+
+\generate{\file{plantilla.tex}{\from{articleingud.dtx}{tmpls}}}
+
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space articleingud.cls}
+\Msg{*}
+\Msg{* To produce the documentation run the file articleingud.dtx}
+\Msg{* once through LaTeX. Then, run}
+\Msg{*}
+\Msg{* \space\space makeindex -s gglo.ist -o articleingud.gls articleingud.glo}
+\Msg{*}
+\Msg{* through makeIndex to produce the glossary.}
+\Msg{* Finally, run LaTeX once again.}
+\Msg{* That's all!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/articleingud/articleingud.pdf b/macros/latex/contrib/articleingud/articleingud.pdf
new file mode 100644
index 0000000000..ec7bf21f1a
--- /dev/null
+++ b/macros/latex/contrib/articleingud/articleingud.pdf
Binary files differ