summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/articleingud
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-04 23:52:54 +0000
committerKarl Berry <karl@freefriends.org>2012-05-04 23:52:54 +0000
commit9a9a8f58f6a23efaaa9b97067be53358558d0997 (patch)
tree6ac6b181b92ebe7fdf64d8ed0a12d8b9c55b6e75 /Master/texmf-dist/source/latex/articleingud
parentbb88380c39955ed093fc8d2edef96bb704b0d467 (diff)
new latex package articleingud 0.1 (3may12)
git-svn-id: svn://tug.org/texlive/trunk@26197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/articleingud')
-rwxr-xr-xMaster/texmf-dist/source/latex/articleingud/articleingud.dtx3296
-rwxr-xr-xMaster/texmf-dist/source/latex/articleingud/articleingud.ins162
2 files changed, 3458 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/articleingud/articleingud.dtx b/Master/texmf-dist/source/latex/articleingud/articleingud.dtx
new file mode 100755
index 00000000000..3ccfe96bf36
--- /dev/null
+++ b/Master/texmf-dist/source/latex/articleingud/articleingud.dtx
@@ -0,0 +1,3296 @@
+%
+% \iffalse meta-comment
+%
+% -------------------------------------------------------------------
+% LICENSE
+% -------------------------------------------------------------------
+%
+% Copyright (C) 2012 by Omar Salazar Morales
+% osalazarm@correo.udistrital.edu.co
+% Laboratory for Automation and Computational Intelligence
+% Engineering Department
+% Universidad Distrital ``Francisco José de Caldas''
+% Bogotá, 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 Morales.
+%
+% This work consists of the source files:
+% - articleingud.dtx (documented LaTeX file)
+% - articleingud.ins (installer)
+%
+% -------------------------------------------------------------------
+% LICENCIA
+% -------------------------------------------------------------------
+%
+% Derechos de autor (C) 2012 por Omar Salazar Morales
+% osalazarm@correo.udistrital.edu.co
+% Laboratorio de Automática e Inteligencia Computacional
+% Facultad de Ingeniería
+% Universidad Distrital ``Francisco José de Caldas''
+% Bogotá, Colombia.
+% http://www.udistrital.edu.co/
+%
+% Este archivo puede ser redistribuido y/o modificado
+% bajo las condiciones de la Licencia Pública del Proyecto LaTeX,
+% versión 1.2 o cualquier versión superior (a su opción).
+% La última versión de esta licencia se encuentra en
+% http://www.latex-project.org/lppl.txt
+% y la versión 1.2 o superior es parte de todas las distribuciones
+% de LaTeX versión 1999/12/01 o superior.
+%
+% Este trabajo tiene el estado LPPL de `mantenido'.
+%
+% El responsable del mantenimiento de este trabajo es Omar Salazar Morales.
+%
+% 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| son 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{1221}
+%
+% \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}
+%
+% \StopEventually{\PrintChanges}
+%
+% \title{Clase de documento \textsf{articleingud}\thanks{Este documento
+% corresponde a la versión~v0.1, 2012/04/24.}\\
+% (Article for INGENIERIA UD)}
+% \author{Omar Salazar Morales\\
+% Laboratorio de Automática e
+% Inteligencia Computacional\\
+% Universidad Distrital Francisco Jos\'e de Caldas\\
+% Facultad de Ingeniería\\
+% Bogot\'a, Colombia\\
+% \texttt{osalazarm@correo.udistrital.edu.co}\\
+% \texttt{http://www.udistrital.edu.co}}
+% \date{Abril 24, 2012}
+%
+% \maketitle
+%
+% \renewcommand{\abstractname}{Resumen}
+%
+% \begin{abstract}
+% \noindent
+% Este documento muestra la implementación y documentación
+% \LaTeX{} de la clase de documento \textsf{articleingud} destinada
+% a la revista INGENIERIA de la Facultad de Ingeniería
+% de la Universidad Distrital ``Francisco José de Caldas''.
+% Esta clase se basa en la clase estándar \textsf{article},
+% así que la mayoría de los comandos estándar
+% funcionan dentro de \textsf{articleingud}.
+% \end{abstract}
+%
+% \clearpage
+%
+% \renewcommand{\contentsname}{Contenido}
+%
+% \tableofcontents
+%
+% \clearpage
+%
+% \pagestyle{headings}
+%
+% \section{Introducción}
+%
+% La revista INGENIERIA es una publicación periódica
+% de la Facultad de Ingeniería de la Universidad Distrital
+% ``Francisco José de Caldas''. 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 las 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 en español (|*.tex|)\\
+% tmple & Genera un archivo plantilla 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 de plantilla
+% \filename{template.tex} para artículo en inglés y
+% \filename{plantilla.tex} para artículo en 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{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 definiciones
+% y redefiniciones. No se permite que
+% se escriba 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 varias 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 definiciones y redefiniciones 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 tres argumentos: el primero opcional
+% y los otros dos obligatorios. Su uso es de la siguiente forma:
+% \begin{enumerate}
+% \item |\title[titulo corto]{titulo largo}{titulo secundario}|.
+% 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 y
+% |titulo secundario| especifica un segundo título
+% (generalmente en otro idioma).
+% \item |\title{titulo largo}{titulo secundario}|
+% Si se usa en esta forma,
+% |titulo largo| se pone como título
+% principal y en la cabecera del documento,
+% y |titulo secundario| sigue funcionando en la misma forma.
+% \end{enumerate}
+%
+% \begin{macrocode}
+\title
+%<*tmple>
+ [Short title]%<-- Optional argument (running head title)
+ {Main title}%<-- Mandatory argument
+ {Secondary tile}%<-- Mandatory argument
+%</tmple>
+%<*tmpls>
+ [Título corto]%<-- Argumento opcional (título en la cabecera)
+ {Título principal}%<-- Argumento obligatorio
+ {Título secundario}%<-- Argumento obligatorio
+%</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 del 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|.
+%
+% Dentro de los comandos |\author| y |\thanks|
+% se puede usar el comando |\\| tantas veces
+% como se necesario para dar el formato adecuado al texto.
+%
+% \begin{macrocode}
+\author
+%<*tmple>
+ [Author 1\and%<-- Each author should be separated with \and
+ Author 2\and
+ ...
+ Author n]%<-- Optional argument (running head authors)
+ {\textbf{\normalsize Author 1}\thanks{Affiliation 1}\and
+ \textbf{\normalsize Author 2}\thanks{Affiliation 2}\and
+ ...
+ \textbf{\normalsize Author n}\thanks{Affiliation n}}%<-- Mandatory
+%</tmple>
+%<*tmpls>
+ [Autor 1\and%<-- Separar cada autor con \and
+ Autor 2\and
+ ...
+ Autor n]%<-- Argumento opcional (se pone en la cabecera)
+ {\textbf{\normalsize Autor 1}\thanks{Afiliación 1}\and
+ \textbf{\normalsize Autor 2}\thanks{Afiliación 2}\and
+ ...
+ \textbf{\normalsize Autor n}\thanks{Afiliación n}}%<-- Obligatorio
+%</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|.
+% Dentro de este comando se puede usar el comando |\\| tantas veces
+% como se necesario para dar el formato adecuado al texto.
+% Sólo recibe un argumento obligatorio.
+%
+% \begin{macrocode}
+\date
+%<*tmpls>
+ {Recibido: dd-mm-aaaa\\
+ Modificado: dd-mm-aaaa\\
+ Aceptado: dd-mm-aaaa}%<-- Argumento obligatorio
+%</tmpls>
+%<*tmple>
+ {Received: dd-mm-yyyy\\
+ Modified: dd-mm-yyyy\\
+ Accepted: dd-mm-yyyy}%<-- Mandatory argument
+%</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>
+ {Citación: Autor 1, Autor 2,..., Autor n. (20XX).
+ Título principal.
+ En: Ingeniería, Vol. WW, No. XX, pág. YY--ZZ}%<-- Cita
+%</tmpls>
+%<*tmple>
+ {Cite: Author 1, Author 2,..., Author n. (20XX).
+ Main title.
+ In: Ingenier\'{\i}a, Vol. WW, No. XX, pp. YY--ZZ}%<-- Cite
+%</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 de la revista (sólo número)
+%</tmpls>
+%<*tmple>
+ {1}%<-- Volume of the review (only the number)
+%</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 de la revista (sólo número)
+%</tmpls>
+%<*tmple>
+ {1}%<-- Number of the review (only the number)
+%</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}%<-- Initial page of the paper (only the number)
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Impresión de la información del documento}
+% \label{subsub:ImpresionTitulo}
+%
+% El comando |\maketitle| realiza la impresión de la información
+% especificada con los comandos anteriores.
+% Contrario a su contraparte estándar, |\maketitle| necesita
+% se terminado con el comando |\endmaketitle|, donde este último
+% siempre forzará a iniciar una nueva página.
+%
+% El uso de este comando es como sigue:
+% \begin{verbatim}
+% \maketitle
+% ...Texto y otros comandos...
+% \endmaketitle
+% \end{verbatim}
+% Todo el texto encerrado entre |\maketitle| y |\endmaketitle|
+% es puesto en modo de una (1) columna y con una margen más estrecha
+% de la normal.
+% Es deseable que todo el contenido entre estos dos comandos
+% se encuentre ubicado en una sóla página (usualmente la primera).
+% Desafortunadamente no existe una forma automática para hacer esto,
+% así que |\endmaketitle| debe ser ubicado de forma manual
+% por ensayo y error.
+%
+% \textbf{Sugerencia:} Se puede ubicar el comando |\endmaketitle|
+% en un lugar del código donde se conozca que se obtendrá más
+% de una página de texto en el documento final.
+% Luego buscar el lugar exacto donde \TeX{}
+% rompió la página y reubicar el comando |\endmaketitle|
+% en este sitio.
+% Aquí pueden ocurrir dos casos:
+% \begin{enumerate}
+% \item \TeX{} rompe la página entre dos párrafos.
+% \item \TeX{} rompe la página en medio de un párrafo.
+% \end{enumerate}
+%
+% En el primer caso se debe ubicar |\endmaketitle|
+% al final del primer párrafo y dejando una línea en blanco
+% después de |\endmaketitle| para indicarle a \TeX{}
+% la distinción entre los dos párrafos.
+% Por ejemplo:
+% \begin{verbatim}
+% ...este es el texto que finaliza el primer párrafo.
+% Despues del comando se debe dejar una línea
+% de texto en blanco.
+% \endmaketitle
+%
+% Texto de inicio del segundo párrafo.
+% Este texto iniciará en una nueva página...
+% \end{verbatim}
+%
+% En el segundo caso se debe ubicar |\endmaketitle|
+% en la mitad del párrafo con
+% los comandos |\parfillskip=0pt| justo antes y
+% |\noindent| justo después, en la forma:
+% \begin{verbatim}
+% ...este es el texto del párrafo antes de que TeX rompe la página
+% \parfillskip=0pt
+% \endmaketitle
+% \noindent
+% y este es el texto del párrafo después de que TeX rompe la página...
+% \end{verbatim}
+% El efecto de |\parfillskip=0pt| es forzar a \TeX{}
+% a finalizar la primera parte del párrafo
+% justo al extremo derecho de la margen,
+% mientras que |\noindent| evita que exista una sangría
+% al inicio de la siguiente parte del párrafo.
+%
+% \begin{macrocode}
+%<*tmpls>
+\maketitle%<-- Debe ser terminado con \endmaketitle
+%</tmpls>
+%<*tmple>
+\maketitle%<-- It should be finished with \endmaketitle
+%</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.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% RESUMEN
+%%----------------------------------------------------------
+\renewcommand{\abstractname}{Resumen}
+\begin{abstract}
+ ...El resumen del artículo va aquí...
+\end{abstract}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% ABSTRACT
+%%----------------------------------------------------------
+\begin{abstract}
+ ...The abstract of your paper goes here...
+\end{abstract}
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Primeras palabras claves del documento}
+%
+% La primera lista de palabras claves del artículo se
+% especifican con el ambiente |INGUDkeywords| en la forma:
+% \begin{verbatim}
+% \begin{INGUDkeywords}
+% ...lista de palabras claves...
+% \end{INGUDkeywords}
+% \end{verbatim}
+% Estas palabras claves se ponen en el idioma
+% por defecto del artículo.
+% Luego se escribe una segunda lista de palabras claves
+% en otro idioma, las cuales son la traducción de
+% las primeras.
+% Por defecto el título de este ambiente aparece en inglés,
+% así que si se está escribiendo el artículo
+% en un idioma diferente, se debe redefinir el comando
+% |\INGUDkeywordsname| justo antes de usar el ambiente.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% PALABRAS CLAVES
+%%----------------------------------------------------------
+\renewcommand{\INGUDkeywordsname}{Palabras claves}
+\begin{INGUDkeywords}
+ ...Lista de palabras claves...
+\end{INGUDkeywords}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% KEY WORDS
+%%----------------------------------------------------------
+\begin{INGUDkeywords}
+ ...List of key words...
+\end{INGUDkeywords}
+%</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}
+ ...The abstract of your paper goes here...
+\end{abstract}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% RESUMEN
+%%----------------------------------------------------------
+\renewcommand{\abstractname}{Resumen}
+\begin{abstract}
+ ...El resumen del art\'{\i}culo va aqu\'{\i}...
+\end{abstract}
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Segundas palabras claves del documento}
+%
+% Aquí se hace lo mismo que en las primeras palabras claves,
+% sólo que se escriben en otro idioma.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% KEY WORDS
+%%----------------------------------------------------------
+\renewcommand{\INGUDkeywordsname}{Key words}
+\begin{INGUDkeywords}
+ ...List of key words...
+\end{INGUDkeywords}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% PALABRAS CLAVES
+%%----------------------------------------------------------
+\renewcommand{\INGUDkeywordsname}{Palabras claves}
+\begin{INGUDkeywords}
+ ...Lista de palabras claves...
+\end{INGUDkeywords}
+%</tmple>
+% \end{macrocode}
+%
+% \subsection{Finalización de impresión del título del documento}
+%
+% El comando |\endmaketitle| no tiene que ir necesariamente
+% en este punto. Ver la sección \ref{subsub:ImpresionTitulo}
+% para más detalles.
+%
+% \begin{macrocode}
+%<*tmpls>
+\endmaketitle%<-- Necesario. Finaliza \maketitle
+%</tmpls>
+%<*tmple>
+\endmaketitle%<-- Needed. This command finishes \maketitle
+%</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...
+%%
+%% ...Ponga aquí las secciones adicionales que necesite...
+%%
+\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...
+%%
+%% ...Put here additional sections as you need...
+%%
+\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%<-- Inicia los apéndices
+\section{Primer apéndice}
+ ...Texto del primer apéndice...
+\section{Segundo apéndice}
+ ...Texto del segundo apéndice...
+%%
+%% ...Ponga aquí los apéndices adicionales que necesite...
+%%
+\section{Último apéndice}
+ ...Texto del último apéndice...
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% APPENDIXES
+%%----------------------------------------------------------
+\appendix%<-- Begin of appendixes
+\section{First appendix}
+ ...Text of first appendix...
+\section{Second appendix}
+ ...Text of second appendix...
+%%
+%% ...Put here 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.
+%
+% \begin{macrocode}
+%<*tmpls>
+%%----------------------------------------------------------
+%% RECONOCIMIENTOS
+%%----------------------------------------------------------
+\section*{Reconocimientos}%<-- Debe usar \section*
+ ...Los reconocimientos de su artículo...
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% ACKNOWLEDGMENTS
+%%----------------------------------------------------------
+\section*{Acknowledgment}%<-- It should be used \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 autor 1}%<-- Nombre de autor 1
+ ...Biografía del autor 1...
+\end{biography}
+\begin{biography}%
+%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía
+ % Descomente si necesita
+ % una fotografía y
+ % especifique el archivo
+ % correspondiente
+{Nombre autor 2}%<-- Nombre de autor 1
+ ...Biografía del autor 2...
+\end{biography}
+%%
+%% ...Aquí se introducen más biografías
+%% dependiendo del número de autores...
+%%
+\begin{biography}%
+%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía
+ % Descomente si necesita
+ % una fotografía y
+ % especifique el archivo
+ % correspondiente
+{Nombre autor n}%<-- Nombre de autor 1
+ ...Biografía del autor n...
+\end{biography}
+%</tmpls>
+%<*tmple>
+%%----------------------------------------------------------
+%% BIOGRAPHIES
+%%----------------------------------------------------------
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Name of author 1}%<-- Name of author 1
+ ...Biography of author 1...
+\end{biography}
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Name of author 2}%<-- Name of author 2
+ ...Biography of author 2...
+\end{biography}
+%%
+%% ...Here you can specify more biographies...
+%%
+\begin{biography}%
+%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph
+ % Uncomment if
+ % you need a photograph
+{Name of author n}%<-- Name of author n
+ ...Biography of author n...
+\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 no se garantiza la compatibilidad.
+%
+% \begin{macrocode}
+%<*cls>
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesClass{articleingud}%
+[2012/04/24 v0.1 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 la 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@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}
+% \begin{macro}{\INGUD@externalmargin}
+% \begin{macro}{\INGUD@topmargin}
+% \begin{macro}{\INGUD@bottommargin}
+% \begin{macro}{\INGUD@headmargin}
+% \begin{macro}{\INGUD@footmargin}
+%
+% 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}{21mm}%
+\newcommand{\INGUD@externalmargin}{18mm}%
+\newcommand{\INGUD@topmargin}{18mm}%
+\newcommand{\INGUD@bottommargin}{18mm}%
+\newcommand{\INGUD@headmargin}{5mm}%
+\newcommand{\INGUD@footmargin}{9mm}%
+% \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}
+% \begin{macro}{\INGUD@colauthorinfowidth}
+%
+% La primera página del artículo tiene una apariencia
+% diferente a la del resto. En la primera página
+% se crea un par de columnas asimétricas. La primera de ella contiene
+% la información de los autores del artículo y la fecha de
+% recepción, modificación y aceptación del artículo.
+% |\INGUD@colauthorinfowidth| mide el ancho de esta primera columna y
+% |\INGUD@colauthorinfosep| su separación respecto a la segunda.
+% Estos valores se deberían establecer como un porcentaje
+% del ancho del texto |\textwidth|.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@colauthorinfosep}{\columnsep}%
+\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@udname}
+% \begin{macro}{\INGUD@separator}
+%
+% 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. Se 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. Se 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@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@udname}{universidad distrital
+ francisco jos\'e de caldas}%
+\newcommand{\INGUD@separator}{\hskip 2.5\p@ \@plus1\p@ \@minus 1\p@
+ $\scriptstyle\bullet$%
+ \hskip 2.5\p@ \@plus 1\p@ \@minus 1\p@}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@reviewinfo}
+%
+% |\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 de 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
+ \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
+ \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}
+%
+% \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{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
+ \ClassError{articleingud}%
+ {Unused option `\CurrentOption'}%
+ {See documentation for details}}%
+% \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
+ \ClassError{articleingud}%
+ {Unused option `\CurrentOption'}%
+ {See documentation for details}}%
+% \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}
+%
+% \begin{macro}{peerreview}
+%
+% 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}
+% \end{macro}
+%
+% \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}{\headheight}
+%
+% La altura de la cabecera |\headheight| se establece
+% por defecto en |24pt|. Este es el doble del tamaño más grande
+% de letra permitido en el artículo.
+%
+% \begin{macrocode}
+\setlength{\headheight}{24\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}
+% \begin{macro}{\INGUD@titlei}
+% \begin{macro}{\INGUD@titleii}
+%
+% El comando |\title| se comporta de igual forma
+% que el comando estándar. A diferencia de su
+% contraparte estándar, puede recibir tres argumentos:
+% el primero opcional, y el segundo y tercero son
+% obligatorios.
+% Su uso se debe hacer en las formas
+% |\title[titulo corto]{titulo largo}{titulo secundario}| o
+% |\title{titulo largo}{titulo secundario}|.
+% 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 y
+% |titulo secundario| especifica un segundo título
+% (generalmente en otro idioma).
+% Si se usa en su segunda forma,
+% |titulo largo| se pone como título
+% principal y en la cabecera del documento,
+% y |titulo secundario| sigue 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}
+%
+% Si se usa
+% |\title[titulo corto]{titulo largo}{titulo secundario}|,
+% 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 y se define |\INGUD@secondtitle|
+% para que sea usado como título secundario.
+%
+% \begin{macrocode}
+\def\INGUD@titlei[#1]#2#3{%
+ \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}%
+ \gdef\@title{#2}%
+ \gdef\INGUD@secondtitle{#3}}%
+% \end{macrocode}
+%
+% Si se ha escrito |\title{titulo largo}{titulo secundario}|,
+% entonces se definen |\INGUD@paperinfo| y |@title|
+% para que contengan la misma información.
+% |\INGUD@secondtitle| sigue conteniendo el título
+% secundario.
+%
+% \begin{macrocode}
+\def\INGUD@titleii#1#2{%
+ \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}%
+ \gdef\@title{#1}%
+ \gdef\INGUD@secondtitle{#2}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\author}
+% \begin{macro}{\INGUD@authori}
+% \begin{macro}{\INGUD@authorii}
+%
+% 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 |\title{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}
+%
+% Si se especifica |\author[nombre cortos]{nombres largos}|
+% y la opción |peerreview| se ha declarado,
+% entonces |\INGUD@authorinfo| debe resolver a vacío.
+%
+% \begin{macrocode}
+\def\INGUD@authori[#1]#2{%
+ \ifINGUD@peerreview
+ \global\let\INGUD@authorinfo\@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
+ \normalfont\footnotesize
+ \let\thanks\@gobble
+ \let\and\INGUD@separator
+ \let\\\space
+ #1\relax
+ \endgroup}%
+ \fi
+ \gdef\@author{#2}}%
+% \end{macrocode}
+%
+% Si se especifica |\author{nombres}|
+% y se tiene activa la opción |peerreview|
+% entonces |\INGUD@authorinfo| debe resolver a vacío
+%
+% \begin{macrocode}
+\def\INGUD@authorii#1{%
+ \ifINGUD@peerreview
+ \global\let\INGUD@authorinfo\@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
+ \normalfont\footnotesize
+ \let\thanks\@gobble
+ \let\and\INGUD@separator
+ \let\\\space
+ #1\relax
+ \endgroup}%
+ \fi
+ \gdef\@author{#1}}%
+% \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}
+%
+% El comando |\and| tiene sentido sólo dentro del comando
+% |\author| para separar los diferentes autores del
+% artículo. Por ahora se define para introducir un espacio
+% vertical.
+%
+% \begin{macrocode}
+\renewcommand{\and}{\\[5\p@]}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thanks}
+% \begin{macro}{\@thanks}
+%
+% 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 del artículo, así que se debería
+% usar un comando |\thanks| por cada autor.
+% Su definición sólo crea un nuevo párrafo.
+% |\@thanks| se define para que resuelva a vacío dado que
+% esta clase de documento no lo usa.
+%
+% \begin{macrocode}
+\renewcommand{\thanks}[1]{\par #1}%
+\def\@thanks{}%
+% \end{macrocode}
+% \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}
+%
+% |\INGUD@makeciteinfo| se encarga de darle formato
+% a la información de la cita que se pone en
+% la cabecera de la primera página.
+% El texto se pone en un |\parbox| de ancho
+% |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth|
+% y altura |\headheight|
+% para poder crear varias líneas de texto.
+% Por ahora, el usuario debe introducir todo el texto de la cita.
+%
+% Primero se verifica si se ha declarado la opción
+% |peerreview|. Si es así, no se procede.
+% De lo contrario se establece |@tempdima| en el ancho deseado.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@makeciteinfo}{%
+\ifINGUD@peerreview\else
+ \@tempdima\textwidth
+ \advance\@tempdima by -\INGUD@colauthorinfosep
+ \advance\@tempdima by -\INGUD@colauthorinfowidth
+% \end{macrocode}
+%
+% Luego se crea un |\parbox| con las dimensiones
+% deseadas.
+%
+% \begin{macrocode}
+ \parbox[b][\headheight][b]{\@tempdima}%
+% \end{macrocode}
+%
+% Dentro del |parbox| se configuran algunos
+% parámetros de párrafo para que sean locales.
+% La sangría de párrafo y el salto de párrafo
+% se ponen en |0pt|. El tamaño de letra
+% se pone en |\scriptsize|.
+%
+% \begin{macrocode}
+ {\parskip\z@ \parindent\z@
+ \normalfont\scriptsize
+% \end{macrocode}
+%
+% Si el documento se imprime por ambas caras,
+% es necesario saber la justificación
+% (izquierda o derecha) del texto.
+%
+% \begin{macrocode}
+ \if@twoside
+ \ifodd\c@page
+ \raggedleft
+ \else
+ \raggedright
+ \fi
+% \end{macrocode}
+%
+% Si el documento se imprime por una cara,
+% la justificación es a la izquierda.
+%
+% \begin{macrocode}
+ \else
+ \raggedleft
+ \fi
+% \end{macrocode}
+%
+% Luego se imprime la información de la cita.
+%
+% \begin{macrocode}
+ \INGUD@citeinfo}%
+\fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\INGUD@makeauthorinfo}
+%
+% |\INGUD@makeauthorinfo| le da formato a la
+% información de los autores en la primera página
+% ubicada en una columna exclusivamente destinada para esto.
+% Toda la información se pone en un |\parbox| de
+% dimensiones nulas que se usa dentro del comando
+% |@oddhead| o |@evenhead| del estilo de página
+% |\ps@titlepageingud|.
+%
+% Lo primero que se hace es crear un |\hbox| de |0pt|
+% de ancho. Dentro se crea un |\vbox| de |0pt| de alto.
+% Se agrega un salto vertical de |\headsep| para
+% dar la apariencia de iniciar en la primera línea de texto de la
+% página.
+%
+% \begin{macrocode}
+\newcommand{\INGUD@makeauthorinfo}{%
+ \hb@xt@\z@{\vbox to\z@{\vskip\headsep
+% \end{macrocode}
+%
+% El |\parbox| que se crea debe ser igual de alto a |\textheight|
+% e igual de ancho a |\INGUD@colauthorinfowidth|.
+%
+% \begin{macrocode}
+ \parbox[t][\textheight][t]{\INGUD@colauthorinfowidth}%
+% \end{macrocode}
+%
+% Luego se cambian algunos parámetros de párrafo.
+% Se elige la justificación (izquierda o derecha)
+% adecuada dependiendo de si la página es par o impar
+% y se imprime la información de los autores
+% sólo si no se ha declarado la opción |peerreview|.
+%
+% \begin{macrocode}
+ {\parskip\z@ \parindent\z@
+ \normalfont\scriptsize
+ \ifINGUD@peerreview\else
+ \if@twoside
+ \ifodd\c@page
+ \raggedleft
+ \else
+ \raggedright
+ \fi
+ \else
+ \raggedleft
+ \fi
+ \@author
+ \fi
+% \end{macrocode}
+%
+% Se rellena con espacio en blanco.
+%
+% \begin{macrocode}
+ \vfill
+% \end{macrocode}
+%
+% Se elige la justificación adecuada
+% para imprimir la información de la fecha.
+%
+% \begin{macrocode}
+ \raggedright
+ \@date}%
+% \end{macrocode}
+%
+% Al final del |\vbox| se introduce un |\hrule|
+% de dimensiones nulas para que la caja que contiene
+% toda la información tenga profundidad de |0pt|.
+%
+% \begin{macrocode}
+ \hrule \@width\z@ \@depth\z@ \@height\z@}}%
+% \end{macrocode}
+%
+% Ahora se deshabilitan algunos comandos de usuario
+% que ya no tiene sentido declararlos dos veces.
+%
+% \begin{macrocode}
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ \global\let\thanks\relax}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\maketitle}
+% \begin{macro}{\endmaketitle}
+%
+% |\maketitle| se encarga de crear la página de título
+% del artículo. Contrario a su contraparte estándar,
+% se debe utilizar |\endmaketitle| para finalizar
+% este comando.
+% Todo lo que se encuentra entre |\maketitle| y
+% |\endmaketitle| será el contenido de la primera página.
+% Desafortunadamente no hay un mecanismo automático
+% para crear una página con dos columnas asimétricas,
+% es por eso que debe ajustarse |\enmaketitle| por
+% ensayo y error.
+%
+% 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}
+\long\def\maketitle#1\endmaketitle{%
+\begingroup
+ \newpage
+ \global\@topnum\z@
+ \thispagestyle{titlepageingud}%
+% \end{macrocode}
+%
+% Ahora se ajusta el ancho de columna para
+% crear la apariencia de una segunda columna donde se
+% imprimirá el título (la primera columna ya fue creada con
+% |\INGUD@makeauthorinfo|).
+% |\textwidth| no cambia. |\columnwidth| se establece en
+% |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth|.
+% |\hsize| y |\linewidth| también se ponen a este valor.
+% |\@twocolumn| se pone en |\false| y |\col@number| se pone
+% en uno.
+% El valor de |\oddsidemargin| es cambiado por |\ps@titlepageingud|.
+%
+% \begin{macrocode}
+ \columnwidth\textwidth
+ \advance\columnwidth by -\INGUD@colauthorinfosep
+ \advance\columnwidth by -\INGUD@colauthorinfowidth
+ \hsize\columnwidth
+ \linewidth\columnwidth
+ \@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|.
+% Todo lo que se encuentra entre |\maketitle| y
+% |\endmaketitle| (el argumento |#1|) se imprime en este punto
+% y se finaliza con |\endmaketitle|.
+%
+% \begin{macrocode}
+ \noindent
+ \@maketitle
+ #1\endmaketitle
+% \end{macrocode}
+%
+% 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@citeinfo\@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\endmaketitle\relax
+ \global\let\INGUDsetciteinfo\relax
+ \global\let\title\relax
+ \global\let\INGUDsetvolume\relax
+ \global\let\INGUDsetnumber\relax
+ \global\let\INGUDsetinitialpage\relax
+\endgroup}%
+% \end{macrocode}
+%
+% |\endmaketitle| se define para iniciar una nueva
+% página.
+%
+% \begin{macrocode}
+\def\endmaketitle{\clearpage}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@maketitle}
+%
+% Este comando se encarga de darle formato al título
+% principal y título secundario del artículo.
+%
+% Primero se inicia un grupo para que los cambios sean locales
+% y se configuran algunos parámetros de párrafos y
+% de tipo de letra. El título se imprime con la justificación
+% (izquierda o derecha) correcta.
+%
+% \begin{macrocode}
+\long\def\@maketitle{%
+\begingroup
+\if@twoside
+ \ifodd\c@page
+ \raggedright
+ \else
+ \raggedleft
+ \fi
+\else
+ \raggedright
+\fi
+ \normalfont \parskip\z@ \parindent\z@
+% \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.
+% Al final se deja algo de espacio vertical
+% respecto al título secundario.
+%
+% \begin{macrocode}
+ {\LARGE\bfseries\@title}\par\nobreak
+ \vskip 1.5em%
+% \end{macrocode}
+%
+% Ahora se imprime el título secundario en tamaño de
+% letra |\Large|, 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.
+%
+% \begin{macrocode}
+ {\Large\bfseries\slshape\INGUD@secondtitle}\par\nobreak
+ \vskip 1.5em%
+\endgroup}%
+% \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 y palabras clave}
+%
+% \begin{environment}{abstract}
+%
+% 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.
+% Luego se imprime el título del ambiente
+% usando la versión no mumerada de |\section|.
+% Al finalizar se inicia un nuevo párrafo.
+%
+% \begin{macrocode}
+\renewenvironment{abstract}{%
+ \removelastskip
+ \section*{\abstractname}}{\par}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\INGUDkeywordsname}
+%
+% |\INGUDkeywordsname| contiene el nombre del
+% ambiente |INGUDkeywords|. Si se desea que este nombre
+% aparezca en otro idioma, sólo es necesario
+% redefinirlo usando |\renewcommand|.
+%
+% \begin{macrocode}
+\newcommand{\INGUDkeywordsname}{Key words}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{INGUDkeywords}
+%
+% \LaTeX{} no ofrece un ambiente para poner las
+% palabras clave del artículo.
+% Esta clase define el ambiente |INGUDkeywords| con el fin
+% de poner las palabras clave.
+%
+% Lo primero que se hace es eliminar cualquier
+% espaciamiento vertical antes del ambiente.
+% Se agrega algo de espacio vertical para separar
+% el nombre del ambiente del contenido anterior.
+% Después se imprime el nombre del ambiente
+% dejando un espaciamiento evitando la ruptura en este lugar.
+% Al finalizar el ambiente se inicia un nuevo párrafo.
+%
+% \begin{macrocode}
+\newenvironment{INGUDkeywords}{%
+ \removelastskip
+ \vskip0.5\baselineskip
+ \par\nobreak
+ \noindent\textbf{\INGUDkeywordsname :}%
+ \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}
+%
+% 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\thepage}%
+ \def\@evenfoot{\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\INGUD@authorinfo}%
+ \vskip2\p@
+ \hrule \@height0.4\p@
+ \@width\textwidth
+ \@depth\z@}}%
+ \def\@evenhead{\vbox{\hb@xt@\textwidth{\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\thepage}%
+ \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\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}
+%
+% 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@titlepageingud{%
+% \end{macrocode}
+%
+% Es necesario aumentar |\oddsidemargin| para la páginas impares
+% en una cantidad igual a
+% |\INGUD@colauthorinfosep+\INGUD@colauthorinfowidth|
+% para que la primera página del artículo parezca que tiene
+% columnas asimétricas
+% No es necesario hacerlo con |\evensidemargin| dado que
+% el aspecto se logra por defecto.
+%
+% \begin{macrocode}
+ \advance\oddsidemargin by \INGUD@colauthorinfosep
+ \advance\oddsidemargin by \INGUD@colauthorinfowidth
+% \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|.
+% Es necesario introducir un espaciamiento negativo que compense
+% el cambio de |\oddsidemargin|.
+%
+% \begin{macrocode}
+ \def\@oddfoot{\hskip-\INGUD@colauthorinfosep
+ \hskip-\INGUD@colauthorinfowidth
+ \hb@xt@\textwidth{\INGUD@reviewinfo\hfil\thepage}}%
+ \def\@evenfoot{\thepage\hfil\INGUD@reviewinfo}%
+% \end{macrocode}
+%
+% En la cabecera se pone la columna que lleva
+% la información de los autores con la ayuda de
+% |\INGUD@makeauthorinfo|.
+% El comando |\INGUD@makeciteinfo| pone la información
+% de la cita del artículo.
+%
+% \begin{macrocode}
+ \def\@oddhead{\hskip-\INGUD@colauthorinfosep
+ \hskip-\INGUD@colauthorinfowidth
+ \hb@xt@\textwidth{\INGUD@makeauthorinfo
+ \hfil
+ \INGUD@makeciteinfo}}%
+ \def\@evenhead{\INGUD@makeciteinfo
+ \hfil
+ \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth
+ \INGUD@makeauthorinfo}}%
+% \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\oddsidemargin by \INGUD@colauthorinfosep
+ \advance\oddsidemargin by \INGUD@colauthorinfowidth
+ \def\@oddfoot{\hskip-\INGUD@colauthorinfosep
+ \hskip-\INGUD@colauthorinfowidth
+ \hb@xt@\textwidth{\INGUD@reviewinfo\hfil\thepage}}%
+ \def\@oddhead{\hskip-\INGUD@colauthorinfosep
+ \hskip-\INGUD@colauthorinfowidth
+ \hb@xt@\textwidth{\INGUD@makeauthorinfo
+ \hfil
+ \INGUD@makeciteinfo}}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{}}%
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Bibliografía}
+%
+% \begin{macro}{\INGUD@thebibliography}
+% \begin{macro}{\thebibliography}
+%
+% 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@ %<-- Necesario si no se necesitan espacios entre entradas
+ \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{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/Master/texmf-dist/source/latex/articleingud/articleingud.ins b/Master/texmf-dist/source/latex/articleingud/articleingud.ins
new file mode 100755
index 00000000000..4d11fc01ddc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/articleingud/articleingud.ins
@@ -0,0 +1,162 @@
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+-------------------------------------------------------------------
+ LICENSE
+-------------------------------------------------------------------
+
+This is a generated file.
+
+Copyright (C) 2012 by Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence
+Engineering Department
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, 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 Morales.
+
+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 por Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automática e Inteligencia Computacional
+Facultad de Ingeniería
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Pública del Proyecto LaTeX,
+versión 1.2 o cualquier versión superior (a su opción).
+La última versión de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la versión 1.2 o superior es parte de todas las distribuciones
+de LaTeX versión 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar Morales.
+
+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 by Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence
+Engineering Department
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, 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 Morales.
+
+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 por Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automática e Inteligencia Computacional
+Facultad de Ingeniería
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Pública del Proyecto LaTeX,
+versión 1.2 o cualquier versión superior (a su opción).
+La última versión de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la versión 1.2 o superior es parte de todas las distribuciones
+de LaTeX versión 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar Morales.
+
+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