%
% \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{1302}
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \changes{v0.1}{2012/04/24}{Versión inicial}
% \changes{v0.2}{2012/11/10}{Revisión sobre tamaño de papel usado por INGENIERIA
%                            y corrección de algunos errores de la clase.
%                            Actualizada la documentación.}
%
% \StopEventually{\PrintChanges}
%
% \title{Clase de documento \textsf{articleingud}\thanks{Este documento
%        corresponde a la versión~v0.2, 2012/11/10.}\\
%        (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{Noviembre 10, 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{ingudpaper}
% Establece el tamaño del papel en el tamaño adecuado usado
% por la revista INGENIERIA (240~mm x 170~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.
%
% \subsection{Información de autores}    
%
% \DescribeMacro{rightcolauthor}
% Ubica a la derecha la columna de información de los
% autores que queda ubicada en la primera página.
% La columna se ubica por defecto a la izquierda.
%
% \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[ingudpaper]{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,
%%                         ingudpaper,
%%                         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
%%  -- Ubicación columna de información de autores (por defecto a la izquierda):
%%                         rightcolauthor (a la derecha)
%%  -- 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,
%%                  ingudpaper,
%%                  legalpaper,
%%                  executivepaper
%%  -- Orientation: portrait (default)
%%                  landscape
%%  -- Print size:  oneside (default),
%%                  twoside
%%  -- Quality:     final (default),
%%                  draft
%%  -- Columns:     onecolumn (default),
%%                  twocolumn
%%  -- peer review: peerreview
%%  -- Position of the author's column (left is the default):
%%                  rightcolauthor (right)
%%  -- 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á 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\par| 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\par
% \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.
% |\par| inicia el nuevo 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>
%% Nota: Si TeX rompe la página en medio de un párrafo usar:
%% '\parfillskip=0pt\par\endmaketitle\noindent',
%% en otro caso '\endmaketitle'
\endmaketitle%<-- Necesario. Finaliza \maketitle e inicia nueva página.
%</tmpls>
%<*tmple>
%% Note: if TeX breaks the page in the middle of a paragraph, please use
%% '\parfillskip=0pt\par\endmaketitle\noindent',
%% otherwise '\endmaketitle'
\endmaketitle%<-- Needed. This command finishes \maketitle and begins a new page
%</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 de \LaTeX{}
% no se garantiza la compatibilidad.
%
%    \begin{macrocode}
%<*cls>
\NeedsTeXFormat{LaTeX2e}%
\ProvidesClass{articleingud}%
[2012/11/10 v0.2 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@ingudpapersize}
% \changes{v0.2}{2012/11/10}{Agregada nueva macro}
%
% Este comando es necesario
% para especificar el tamaño de papel usado
% por la revista INGENIERIA cuando el usuario especifica
% la opción |ingudpaper|.
%
%    \begin{macrocode}
\newif\ifINGUD@ingudpapersize\INGUD@ingudpapersizefalse
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifINGUD@rightcolauthor}
% \changes{v0.2}{2012/11/10}{Agregada nueva macro}
%
% Este comando es necesario
% para posicionar a la derecha la columna de información de
% los autores que está en la primera página cuando el usuario especifica
% la opción |rightcolauthor|.
% Por defecto se pone a la izquierda.
%
%    \begin{macrocode}
\newif\ifINGUD@rightcolauthor\INGUD@rightcolauthorfalse
%    \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}
%
% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{INGUD@reviewname}}
%
% |\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
  {\bfseries\INGUD@reviewname}\INGUD@separator
  \ifINGUD@peerreview
    draft, paper for peer review \INGUD@separator
  \else
    vol.\kern 1\p@ \INGUD@reviewvolume \INGUD@separator
    no.\kern 1\p@  \INGUD@reviewnumber \INGUD@separator
    issn\kern 1\p@ \INGUD@reviewissn   \INGUD@separator
  \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{ingudpaper}
% Establece el tamaño del papel que usa la revista INGENIERIA
% (240~mm x 170~mm).\\
% \changes{v0.2}{2012/11/10}{Agregada nueva opción de tamaño de papel ingudpaper}
%    \begin{macrocode}
\DeclareOption{ingudpaper}{%
  \global\INGUD@ingudpapersizetrue}%
%    \end{macrocode}
% \DescribeMacro{letterpaper}
% (Opción estándar por defecto).
% Establece el tamaño del papel en
% carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\
% \DescribeMacro{legalpaper}
% (Opción estándar)
% Establece el tamaño del papel en
% oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\
% \DescribeMacro{executivepaper}
% (Opción estándar)
% Establece el tamaño del papel en
% ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm).
%
% \subsubsection{Orientación del papel}
%
% \DescribeMacro{landscape}
% (Opción estándar)
% Invierte la orientación del papel a horizontal.\\
% \DescribeMacro{portrait}
% (Opción estándar por defecto).
% Invierte la orientación del papel a vertical.
%
% \subsubsection{Tamaño de letra}
%
% \DescribeMacro{10pt}
% (Opción estándar por defecto).
% Establece el tamaño de letra en 10~pt.\\
% \DescribeMacro{11pt}
% (Opción estándar)
% Establece el tamaño de letra en 11~pt.\\
% \DescribeMacro{12pt}
% (Opción estándar)
% Establece el tamaño de letra en 12~pt.
%
% \subsubsection{Impresión por una o ambas caras}
%
% \DescribeMacro{oneside}
% (Opción estándar defecto).
% Establece la impresión del artículo
% por una cara de la hoja de papel.\\
% \DescribeMacro{twoside}
% (Opción estándar)
% Establece la impresión del artículo
% por ambas caras de la hoja de papel.
%
% \subsubsection{Versión final o borrador del artículo}
%
% \DescribeMacro{draft}
% (Opción estándar)
% Establece el artículo como una versión en borrador.\\
% \DescribeMacro{final}
% (Opción estándar por defecto).
% Establece el artículo como la versión final.
%
% \subsubsection{Página de título}
%
% \DescribeMacro{titlepage}
% (Opción estándar no usada).
% Esta opción es usada por la clase estándar
% \textsf{article}, pero \textsf{articleingud}
% no hace uso de esta opción. 
%
%    \begin{macrocode}
\DeclareOption{titlepage}{%
  \OptionNotUsed
  \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{Información de autores}    
%
% \begin{macro}{rightcolauthor}
%
% \changes{v0.2}{2012/11/10}{Agregada nueva opción}
%
% Esta opción ubica a la derecha la columna de información de los
% autores que queda ubicada en la primera página.
% La columna se ubica por defecto a la izquierda.
%
%    \begin{macrocode}
\DeclareOption{rightcolauthor}{%
  \global\INGUD@rightcolauthortrue}%
%    \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}{\paperheight}
% \changes{v0.2}{2012/11/10}{Modificado \cs{paperheight}
%                            si se especifica la opción ingudpaper
%                            usando la macro \cs{INGUD@ingudpapersize}}
% \begin{macro}{\paperwidth}
% \changes{v0.2}{2012/11/10}{Modificado \cs{paperwidth}
%                            si se especifica la opción ingudpaper
%                            usando la macro \cs{INGUD@ingudpapersize}}
%
% En caso que el usuario haya especificado la
% opción |ingudpaper|, se cambia el tamaño del papel
% en que será impreso el artículo usando el
% definido por la revista INGENIERIA.
% Es necesario agregar un |\special| al archivo DVI
% que contiene la información del tamaño del artículo
% para forzar que todos los programas que utilizan el
% |*.dvi| puedan interpretar correctamente su tamaño.
% 
%
%    \begin{macrocode}
\ifINGUD@ingudpapersize
  \setlength{\paperheight}{240mm}%
  \setlength{\paperwidth}{170mm}%
  \AtBeginDvi{\special{papersize=170mm,240mm}}%
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \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}
%
% \changes{v0.2}{2012/11/10}{Modificada la justificación del texto.
%                            Ahora depende de \cs{INGUD@rightcolauthor}}
%
% |\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 uruario especificó la opción |rightcolauthor|
% se justifica a la derecha el texto. 
%
%    \begin{macrocode}
    \ifINGUD@rightcolauthor
      \raggedright
%    \end{macrocode}
%
% De lo contrario 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}
%
% \changes{v0.2}{2012/11/10}{Modificada la justificación del texto.
%                            Ahora depende de \cs{INGUD@rightcolauthor}}
%
% |\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 la opción |rightcolauthor|
% 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
     \ifINGUD@rightcolauthor
       \raggedright
     \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}
%
% \changes{v0.2}{2012/11/10}{Cambiada justificación de texto.
%                            Ahora depende de \cs{INGUD@rightcolauthor}}
%
% 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 dependiendo de la opción
% |rightcolauthor|.
%
%    \begin{macrocode}
\long\def\@maketitle{%
\begingroup
\ifINGUD@rightcolauthor
  \raggedleft
\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.
%
% \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis
%                            para finalizar apropiadamente el párrafo
%                            del título y evitar usar el \cs{baselineskip}
%                            del texto normal.
%                            Se cambió 1.5em de espaciamiento vertical por 1em}
%
%    \begin{macrocode}
  {\LARGE\bfseries\@title\par\nobreak}%
  \vskip 1em%
%    \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.
%
% \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis
%                            para finalizar apropiadamente el párrafo
%                            del subtítulo y evitar usar el \cs{baselineskip}
%                            del texto normal. Se eliminó 1.5em de espaciamiento vertical}
%
%    \begin{macrocode}
  {\Large\bfseries\slshape\INGUD@secondtitle\par\nobreak}%
\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}
%
% \changes{v0.2}{2012/11/10}{Cambiado espaciamiento vertical de 0.5\cs{baselineskip}
%                            a 0.25\cs{baselineskip}}
%
% \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.25\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}
%
% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}}
%
% La definición de este estilo de página es diferente
% para impresión por una cara o doble cara.
%
%    \begin{macrocode}
\if@twoside
  \def\ps@plainingud{%
%    \end{macrocode}
%
% El pie de la página contiene la información del número
% de página impreso por |\thepage| junto con la información
% de la revista impreso por |\INGUD@reviewinfo|
%
%    \begin{macrocode}
      \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
      \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}%
%    \end{macrocode}
%
% La cabecera de la página contiene la información de los autores
% impreso por |\INGUD@authorinfo| y del artículo
% impreso por |\INGUD@paperinfo|. Estas dos informaciones
% se intercambian entre páginas pares e impares.
% Se agrega también una línea horizontal debajo de la
% información de la cabecera.
%
%    \begin{macrocode}
      \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\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{\bfseries\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}
%
% \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}}
%
% 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}
%
% si no se especifica la opción
% |rightcolauthor| es necesario aumentar |\oddsidemargin|  y
% |\evensidemargin| para la páginas en una cantidad igual a
% |\INGUD@colauthorinfosep+\INGUD@colauthorinfowidth|
% para que la primera página del artículo parezca que tiene
% columnas asimétricas.
%
% \changes{v0.2}{2012/11/10}{Agregado \cs{INGUD@rightcolauthor} e
%                            incrementado \cs{evensidemargin} también}
%
%    \begin{macrocode}
  \ifINGUD@rightcolauthor\else
      \advance\oddsidemargin by \INGUD@colauthorinfosep
      \advance\oddsidemargin by \INGUD@colauthorinfowidth
      \advance\evensidemargin by \INGUD@colauthorinfosep
      \advance\evensidemargin by \INGUD@colauthorinfowidth
  \fi
%    \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| y |\evensidemargin| si 
% no se ha especificado la opción |rightcolauthor|.
%
% \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddfoot} y \cs{@evenfoot}.
%                            Dependen ahora de \cs{INGUD@rightcolauthor}}
%
%    \begin{macrocode}
  \ifINGUD@rightcolauthor
    \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
    \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}%
  \else
    \def\@oddfoot{\hskip-\INGUD@colauthorinfosep
                  \hskip-\INGUD@colauthorinfowidth
                  \hb@xt@\textwidth{\INGUD@reviewinfo
                                    \hfil
                                    {\bfseries\thepage}}}%
    \def\@evenfoot{\hskip-\INGUD@colauthorinfosep
                   \hskip-\INGUD@colauthorinfowidth
                   \hb@xt@\textwidth{{\bfseries\thepage}%
                                     \hfil
                                     \INGUD@reviewinfo}}%
  \fi
%    \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.
% La definición de |\@oddhead| depende de si se ha especificado
% la opción |rightcolauthor|. La definición de |\@evenhead|
% es igual a la de |\@oddhead|.
%
% \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddhead} y \cs{@evenhead}.
%                            Dependen ahora de \cs{INGUD@rightcolauthor}}
%
%    \begin{macrocode}
  \ifINGUD@rightcolauthor
      \def\@oddhead{\INGUD@makeciteinfo
                     \hfil
                     \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth
                                \INGUD@makeauthorinfo}}%
  \else
      \def\@oddhead{\hskip-\INGUD@colauthorinfosep
                    \hskip-\INGUD@colauthorinfowidth
                    \hb@xt@\textwidth{\INGUD@makeauthorinfo
                                      \hfil
                                      \INGUD@makeciteinfo}}%
  \fi
      \let\@evenhead\@oddhead
%    \end{macrocode}
%
% Las definiciones estándar de estilos de página
% hacen |\@mkboth| igual a |\markboth|.
% Aquí se hace lo mismo.
%
%    \begin{macrocode}
      \let\@mkboth\markboth
%    \end{macrocode}
%
% Los estilos estándar usan los comandos
% |\sectionmark| y |\subsectionmark| para que los
% respectivos comandos de título cambien la información de la
% cabecera. Esta no es la situación en esta clase de
% documento. Así que se definen
% para que resuelvan a vacío.
%
%    \begin{macrocode}
    \def\sectionmark##1{}%
    \def\subsectionmark##1{}}%
%    \end{macrocode}
%
% La definición de |\ps@titlepageingud| para impresión por una cara
% es más simple dado que las páginas pares e impares se tratan
% por igual.
% El código es análogo al presentado anteriormente.
%
%    \begin{macrocode}
\else
  \def\ps@titlepageingud{%
  \ifINGUD@rightcolauthor
    \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}%
    \def\@oddhead{\INGUD@makeciteinfo
                  \hfil
                  \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth
                              \INGUD@makeauthorinfo}}%
  \else
    \advance\oddsidemargin by \INGUD@colauthorinfosep
    \advance\oddsidemargin by \INGUD@colauthorinfowidth
    \def\@oddfoot{\hskip-\INGUD@colauthorinfosep
                  \hskip-\INGUD@colauthorinfowidth
                  \hb@xt@\textwidth{\INGUD@reviewinfo
                                    \hfil
                                    {\bfseries\thepage}}}%
    \def\@oddhead{\hskip-\INGUD@colauthorinfosep
                  \hskip-\INGUD@colauthorinfowidth
                  \hb@xt@\textwidth{\INGUD@makeauthorinfo
                                    \hfil
                                    \INGUD@makeciteinfo}}%
  \fi
    \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{Tipo de letra}
%
% \begin{macro}{\sfdefault}
% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
% \begin{macro}{\rmdefault}
% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
% \begin{macro}{\ttdefault}
% \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES}
%
% Se redefinen los comandos |\sfdefault|, |\rmdefault|
% y |\ttdefault| para cambiar el tipo de letra del
% documento a letra TIMES. Este tipo de letra será usada
% por defecto por la clase. 
%
%    \begin{macrocode}
\renewcommand{\sfdefault}{phv}%
\renewcommand{\rmdefault}{ptm}%
\renewcommand{\ttdefault}{pcr}%
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsection{Inicialización}
%
% Ahora es necesario inicializar el estilo
% de página a |ps@plainingud|, el cual
% será el estilo que se adopte por defecto.
%
%    \begin{macrocode}
\pagestyle{plainingud}%
%</cls>
%    \end{macrocode}
%
% \Finale
%
\endinput