diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rwxr-xr-x | Master/texmf-dist/source/latex/articleingud/articleingud.dtx | 3296 | ||||
-rwxr-xr-x | Master/texmf-dist/source/latex/articleingud/articleingud.ins | 162 |
2 files changed, 3458 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/articleingud/articleingud.dtx b/Master/texmf-dist/source/latex/articleingud/articleingud.dtx new file mode 100755 index 00000000000..3ccfe96bf36 --- /dev/null +++ b/Master/texmf-dist/source/latex/articleingud/articleingud.dtx @@ -0,0 +1,3296 @@ +% +% \iffalse meta-comment +% +% ------------------------------------------------------------------- +% LICENSE +% ------------------------------------------------------------------- +% +% Copyright (C) 2012 by Omar Salazar Morales +% osalazarm@correo.udistrital.edu.co +% Laboratory for Automation and Computational Intelligence +% Engineering Department +% Universidad Distrital ``Francisco José de Caldas'' +% Bogotá, Colombia +% http://www.udistrital.edu.co/ +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.2 of this license or (at your option) any later +% version. The latest version of this license is in: +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions of +% LaTeX version 1999/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Omar Salazar Morales. +% +% This work consists of the source files: +% - articleingud.dtx (documented LaTeX file) +% - articleingud.ins (installer) +% +% ------------------------------------------------------------------- +% LICENCIA +% ------------------------------------------------------------------- +% +% Derechos de autor (C) 2012 por Omar Salazar Morales +% osalazarm@correo.udistrital.edu.co +% Laboratorio de Automática e Inteligencia Computacional +% Facultad de Ingeniería +% Universidad Distrital ``Francisco José de Caldas'' +% Bogotá, Colombia. +% http://www.udistrital.edu.co/ +% +% Este archivo puede ser redistribuido y/o modificado +% bajo las condiciones de la Licencia Pública del Proyecto LaTeX, +% versión 1.2 o cualquier versión superior (a su opción). +% La última versión de esta licencia se encuentra en +% http://www.latex-project.org/lppl.txt +% y la versión 1.2 o superior es parte de todas las distribuciones +% de LaTeX versión 1999/12/01 o superior. +% +% Este trabajo tiene el estado LPPL de `mantenido'. +% +% El responsable del mantenimiento de este trabajo es Omar Salazar Morales. +% +% Este trabajo consiste de los archivos fuente: +% - articleingud.dtx (archivo LaTeX documentado) +% - articleingud.ins (instalador) +% +% \fi +% +% \iffalse +% +%<*drv> +% \begin{macrocode} +\documentclass{ltxdoc} +\usepackage[latin1]{inputenc} +%\usepackage{hyperref} +\newcommand{\filename}[1]{\texttt{#1}} +% \end{macrocode} +% +% La siguiente lista de |\DoNotIndex| son todo lo que +% no debe aparecer en el índice de la documentación. +% +% \begin{macrocode} +\DoNotIndex{} +% \end{macrocode} +% \begin{macrocode} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} +\DocInput{articleingud.dtx} +\end{document} +%</drv> +% +% \fi +% +% \CheckSum{1221} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v0.1}{2012/04/24}{Versión inicial} +% +% \StopEventually{\PrintChanges} +% +% \title{Clase de documento \textsf{articleingud}\thanks{Este documento +% corresponde a la versión~v0.1, 2012/04/24.}\\ +% (Article for INGENIERIA UD)} +% \author{Omar Salazar Morales\\ +% Laboratorio de Automática e +% Inteligencia Computacional\\ +% Universidad Distrital Francisco Jos\'e de Caldas\\ +% Facultad de Ingeniería\\ +% Bogot\'a, Colombia\\ +% \texttt{osalazarm@correo.udistrital.edu.co}\\ +% \texttt{http://www.udistrital.edu.co}} +% \date{Abril 24, 2012} +% +% \maketitle +% +% \renewcommand{\abstractname}{Resumen} +% +% \begin{abstract} +% \noindent +% Este documento muestra la implementación y documentación +% \LaTeX{} de la clase de documento \textsf{articleingud} destinada +% a la revista INGENIERIA de la Facultad de Ingeniería +% de la Universidad Distrital ``Francisco José de Caldas''. +% Esta clase se basa en la clase estándar \textsf{article}, +% así que la mayoría de los comandos estándar +% funcionan dentro de \textsf{articleingud}. +% \end{abstract} +% +% \clearpage +% +% \renewcommand{\contentsname}{Contenido} +% +% \tableofcontents +% +% \clearpage +% +% \pagestyle{headings} +% +% \section{Introducción} +% +% La revista INGENIERIA es una publicación periódica +% de la Facultad de Ingeniería de la Universidad Distrital +% ``Francisco José de Caldas''. Tiene como propósito principal +% divulgar el trabajo académico y científico +% tanto dentro como fuera del país. Por tal motivo, +% los artículos que se publican en la revista deben tener +% relación con el trabajo en ingeniería. +% La clase de documento \textsf{articleingud} +% se ha creado para que los autores familiarizados +% con el paquete de macros \LaTeXe{} puedan +% escribir sus artículos, obteniendo como beneficio +% la calidad tipográfica de \TeX{} e incluyendo +% el manejo adecuado de ecuaciones, típicas en +% artículos de caracter científico. +% En las próximas secciones se describirán las características +% de las clase, así como su implementación \LaTeX. +% +% \section{Módulos \textsf{Docstrip}} +% +% Esta clase ha sido desarrollada usando los estándares +% de documentación de código \LaTeX{} por medio de +% \textsf{Docstrip}. +% Los siguientes módulos se implementaron para generar los +% diferentes archivos de la clase. +% +% \vskip10pt +% \begin{tabular}{ll} +% \textbf{Opción}&\textbf{Resultado}\\ +% \hline +% cls & Genera el archivo de la clase (|*.cls|)\\ +% drv & Genera el archivo maestro de documentación +% \LaTeX{} (|*.drv|)\\ +% tmpls & Genera un archivo plantilla en español (|*.tex|)\\ +% tmple & Genera un archivo plantilla en inglés (|*.tex|)\\ +% \end{tabular} +% +% \section{Cómo usar} +% +% \DescribeMacro{\documentclass} +% Esta clase se usa de la forma usual. +% Dentro del comando estándar |\documentclass| +% se indica la clase de documento \textsf{articleingud} +% en la siguiente forma +% \begin{verbatim} +% \documentclass[<opciones>]{articleingud} +% \end{verbatim} +% Las |<opciones>| posibles en esta clase de +% documento se presentan en la siguiente sección. +% +% \section{Opciones} +% +% \subsection{Tamaño de papel} +% +% \DescribeMacro{a4paper} +% (Opción estándar) +% Establece el tamaño del papel en A4 (297~mm x 210~mm).\\ +% \DescribeMacro{a5paper} +% (Opción estándar) +% Establece el tamaño del papel en A5 (210~mm x 148~mm).\\ +% \DescribeMacro{b5paper} +% (Opción estándar) +% Establece el tamaño del papel en B5 (250~mm x 176~mm).\\ +% \DescribeMacro{letterpaper} +% (Opción estándar por defecto). +% Establece el tamaño del papel en +% carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\ +% \DescribeMacro{legalpaper} +% (Opción estándar) +% Establece el tamaño del papel en +% oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\ +% \DescribeMacro{executivepaper} +% (Opción estándar) +% Establece el tamaño del papel en +% ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm). +% +% \subsection{Orientación del papel} +% +% \DescribeMacro{landscape} +% (Opción estándar) +% Invierte la orientación del papel a horizontal.\\ +% \DescribeMacro{portrait} +% (Opción estándar por defecto). +% Invierte la orientación del papel a vertical. +% +% \subsection{Tamaño de letra} +% +% \DescribeMacro{10pt} +% (Opción estándar por defecto). +% Establece el tamaño de letra en 10~pt.\\ +% \DescribeMacro{11pt} +% (Opción estándar) +% Establece el tamaño de letra en 11~pt.\\ +% \DescribeMacro{12pt} +% (Opción estándar) +% Establece el tamaño de letra en 12~pt. +% +% \subsection{Impresión por una o ambas caras} +% +% \DescribeMacro{oneside} +% (Opción estándar defecto). +% Establece la impresión del artículo +% por una cara de la hoja de papel.\\ +% \DescribeMacro{twoside} +% (Opción estándar) +% Establece la impresión del artículo +% por ambas caras de la hoja de papel. +% +% \subsection{Versión final o borrador del artículo} +% +% \DescribeMacro{draft} +% (Opción estándar) +% Establece el artículo como una versión en borrador.\\ +% \DescribeMacro{final} +% (Opción estándar por defecto). +% Establece el artículo como la versión final. +% +% \subsection{Impresión a una y dos columnas} +% +% \DescribeMacro{onecolumn} +% (Opción estándar por defecto) +% Establece el artículo en modo de una columna.\\ +% \DescribeMacro{twocolumn} +% (Opción estándar) +% Establece el artículo en modo de dos columnas. +% +% \subsection{Numeración de ecuaciones} +% +% \DescribeMacro{leqno} +% (Opción estándar) +% Establece la numeración de las ecuaciones con el número +% a la izquierda. La numeración con el número a la derecha es la +% opción por defecto. +% +% \subsection{Justificación de ecuaciones} +% +% \DescribeMacro{fleqn} +% (Opción estándar) +% Establece la justificación de las ecuaciones +% a la izquierda. La opción por defecto es mostrar las +% ecuaciones centradas. +% +% \subsection{Estilo de bibliografía} +% +% \DescribeMacro{openbib} +% (Opción estándar) +% Establece el estilo de la bibliografía en ``abierto''. +% La opción por defecto es una bibliografía ``cerrada'' +% +% \subsection{Revisión por pares} +% +% \DescribeMacro{peerreview} +% Establece la clase de documento para revisión +% por pares. Desactiva varias de las opciones +% donde se imprime el nombre y afiliación de +% los autores para mantener confidencialidad +% en el proceso de revisión. +% +% \section{Estructura de un documento} +% +% Esta clase de documento es derivada de la clase estándar +% \textsf{article}, sin embargo, un artículo escrito +% con la clase \textsf{articleingud} debería +% tener la siguiente estructura\footnote{% +% Ver los archivos de plantilla +% \filename{template.tex} para artículo en inglés y +% \filename{plantilla.tex} para artículo en español.}. +% +% \subsection{Inicio del archivo fuente} +% +% Como es costumbre, el primer comando a especificar +% es |\documentclass|. +% Especifique dentro de su argumento obligatorio el +% nombre de la clase \textsf{articleingud}. +% +% \begin{macrocode} +%<*tmpls|tmple> +\documentclass{articleingud} +% \end{macrocode} +% +% \subsection{Opciones de la clase} +% +% El siguiente conjunto de opciones se tienen +% para poderlas especificar dentro del argumento opcional de +% |\documentclass|. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% OPCIONES +%%---------------------------------------------------------- +%% Use las siguientes opciones en +%% \documentclass[<opciones>]{articleingud} +%% +%% -- Tamaño de letra: 10pt (valor por defecto), +%% 11pt, +%% 12pt +%% -- Tipo de papel: letterpaper (valor por defecto), +%% a4paper, +%% a5paper, +%% b5paper, +%% legalpaper, +%% executivepaper +%% -- Orientación: portrait (valor por defecto) +%% landscape +%% -- Impresión: oneside (valor por defecto), +%% twoside +%% -- Calidad: final (valor por defecto), +%% draft +%% -- Columnas: onecolumn (valor por defecto), +%% twocolumn +%% -- Revisión por pares: peerreview +%% -- Numeración de ecuaciones (numeración por defecto a la derecha): +%% leqno (numeración a la izquierda) +%% -- Justificación de ecuaciones (por defecto se centran): +%% fleqn (justificadas a la izquierda) +%% -- Estilo de bibliografía (por defecto el estilo es cerrado): +%% openbib +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% OPTIONS +%%---------------------------------------------------------- +%% Use the following options in +%% \documentclass[<options>]{articleingud} +%% +%% -- Point size: 10pt (default), +%% 11pt, +%% 12pt +%% -- Paper size: letterpaper (default), +%% a4paper, +%% a5paper, +%% b5paper, +%% legalpaper, +%% executivepaper +%% -- Orientation: portrait (default) +%% landscape +%% -- Print size: oneside (default), +%% twoside +%% -- Quality: final (default), +%% draft +%% -- Columns: onecolumn (default), +%% twocolumn +%% -- peer review: peerreview +%% -- Equation numbering (equation numbers on +%% the right is the default): +%% leqno +%% -- Displayed equations (centered is the default): +%% fleqn (equations start at the same +%% distance from the right side) +%% -- Open bibliography style (closed is the default): +%% openbib +%</tmple> +% \end{macrocode} +% +% \subsection{Preámbulo del documento} +% +% Esta sección se usa para cargar paquetes y hacer definiciones +% y redefiniciones. No se permite que +% se escriba algún tipo de texto en esta sección. +% Algunos de los paquetes más comunes son: +% \begin{enumerate} +% \item \filename{inputenc.sty} con la opción |latin1|. +% Carga la codificación adecuada con el fin de +% poder escribir en español. +% \item \filename{amsmath.sty}, \filename{amsfonts.sty} y +% \filename{amssymb.sty}. Estos paquetes +% proporcionan varias comandos y ambientes útiles para +% el manejo de fuentes y símbolos matemáticos, +% así como para poder darle formato adecuado a las ecuaciones. +% \item \filename{graphicx.sty} para poder cargar imágenes desde +% archivos externos con su comando |\includegraphics|. +% \item \filename{subfigure.sty} para poder crear subtablas y subfiguras. +% Las opciones |tight| y |footnotesize| reducen la cantidad de +% espacio entre subtablas y subfiguras, así como +% mantienen el formato de las leyendas de las mismas. +% \item \filename{cite.sty}. Este paquete +% ofrece la posibilidad de ordenar y +% agrupar automáticamente más de tres referencias +% especificadas en el argumento de |\cite|. +% El usuario no tiene que preocuparse +% por separar las referencias con el formato adecuado ya que este +% paquete lo hace automáticamente. +% \end{enumerate} +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% PREÁMBULO +%%---------------------------------------------------------- +%% +%% ...Aquí puede cargar paquetes con \usepackage +%% y hacer definiciones y redefiniciones con +%% \newcommand, \renewcommand, \newenvironment, +%% \renewenvironment, etc, ... +%% +%%----------------- PAQUETES ------------------------------- +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% PREAMBLE +%%---------------------------------------------------------- +%% +%% ...Here you can load packages with \usepackage +%% and make (re)definitions with +%% \newcommand, \renewcommand, \newenvironment, +%% \renewenvironment, etc, ... +%% +%%----------------- PACKAGES ------------------------------- +%</tmple> +%<tmpls>\usepackage[latin1]{inputenc} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{graphicx} +\usepackage[tight,footnotesize]{subfigure} +\usepackage{cite} +%<*tmple> +%%----------------- (RE)DEFINITIONS------------------------ +%</tmple> +%<*tmpls> +%%----------------- (RE)DEFINICIONES------------------------ +\renewcommand{\figurename}{Figura} +\renewcommand{\tablename}{Tabla} +\renewcommand{\refname}{Referencias} +\renewcommand{\appendixname}{Ap\'endices} +%</tmpls> +% \end{macrocode} +% +% \subsection{Inicio del documento} +% +% El inicio del documento lo marca el comando |\begin{document}|. +% A partir de este punto se puede escribir el contenido del artículo +% propiamente. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% DOCUMENTO +%%---------------------------------------------------------- +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% DOCUMENT +%%---------------------------------------------------------- +%</tmple> +\begin{document} +% \end{macrocode} +% +% \subsection{Información del documento} +% +% La información del documento se divide en varias +% partes: títulos, autores, fechas, volumen, número, +% citas y paginación. Todas ellas se describen a continuación. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% INFORMACIÓN DEL ARTÍCULO +%%---------------------------------------------------------- +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% PAPER'S INFORMATION +%%---------------------------------------------------------- +%</tmple> +% \end{macrocode} +% +% \subsubsection{El título del artículo} +% +% La forma de especificar el título del +% artículo es por medio del comando |\title|. +% Este comando tiene tres argumentos: el primero opcional +% y los otros dos obligatorios. Su uso es de la siguiente forma: +% \begin{enumerate} +% \item |\title[titulo corto]{titulo largo}{titulo secundario}|. +% Cuando se usa en esta forma, la información +% de |titulo corto| se pone en la +% cabecera del documento, |titulo largo| +% corresponde al título principal del artículo y +% |titulo secundario| especifica un segundo título +% (generalmente en otro idioma). +% \item |\title{titulo largo}{titulo secundario}| +% Si se usa en esta forma, +% |titulo largo| se pone como título +% principal y en la cabecera del documento, +% y |titulo secundario| sigue funcionando en la misma forma. +% \end{enumerate} +% +% \begin{macrocode} +\title +%<*tmple> + [Short title]%<-- Optional argument (running head title) + {Main title}%<-- Mandatory argument + {Secondary tile}%<-- Mandatory argument +%</tmple> +%<*tmpls> + [Título corto]%<-- Argumento opcional (título en la cabecera) + {Título principal}%<-- Argumento obligatorio + {Título secundario}%<-- Argumento obligatorio +%</tmpls> +% \end{macrocode} +% +% \subsubsection{Autores del artículo} +% +% La información de los autores del artículo se realiza +% con el comando |\author|. +% Este comando tiene dos argumentos: el primero opcional y +% el segundo obligatorio. Su uso es de la siguiente forma: +% \begin{enumerate} +% \item |\author[nombre cortos]{nombres largos}| +% Cuando se usa en esta forma +% la información de |nombre cortos| +% se pone en la cabecera del documento y |nombres largos| +% corresponde a los nombres (junto con las afilicaciones) +% de los autores del artículo. +% \item |\author{nombres}|. +% Si se usa en esta forma entonces |nombres| +% se ponen en la cabecera y en la primera página del artículo. +% \end{enumerate} +% +% Cada autor debe de ir separado del comando |\and| +% tanto en el argumento opcional como en el obligatorio. +% +% La información de las afiliaciones de los autores +% siguen inmediatamente a los autores dentro del argumento +% obligatorio con el comando |\thanks|. +% Cada autor debe tener su propia afiliación, y por consiguiente, +% su propio comando |\thanks|. +% +% Dentro de los comandos |\author| y |\thanks| +% se puede usar el comando |\\| tantas veces +% como se necesario para dar el formato adecuado al texto. +% +% \begin{macrocode} +\author +%<*tmple> + [Author 1\and%<-- Each author should be separated with \and + Author 2\and + ... + Author n]%<-- Optional argument (running head authors) + {\textbf{\normalsize Author 1}\thanks{Affiliation 1}\and + \textbf{\normalsize Author 2}\thanks{Affiliation 2}\and + ... + \textbf{\normalsize Author n}\thanks{Affiliation n}}%<-- Mandatory +%</tmple> +%<*tmpls> + [Autor 1\and%<-- Separar cada autor con \and + Autor 2\and + ... + Autor n]%<-- Argumento opcional (se pone en la cabecera) + {\textbf{\normalsize Autor 1}\thanks{Afiliación 1}\and + \textbf{\normalsize Autor 2}\thanks{Afiliación 2}\and + ... + \textbf{\normalsize Autor n}\thanks{Afiliación n}}%<-- Obligatorio +%</tmpls> +% \end{macrocode} +% +% \subsubsection{Fecha de recepción, modificación y aceptación} +% +% La fecha de recepción, modificación y aceptación del artículo +% se especifica dentro del comando |\date|. +% Dentro de este comando se puede usar el comando |\\| tantas veces +% como se necesario para dar el formato adecuado al texto. +% Sólo recibe un argumento obligatorio. +% +% \begin{macrocode} +\date +%<*tmpls> + {Recibido: dd-mm-aaaa\\ + Modificado: dd-mm-aaaa\\ + Aceptado: dd-mm-aaaa}%<-- Argumento obligatorio +%</tmpls> +%<*tmple> + {Received: dd-mm-yyyy\\ + Modified: dd-mm-yyyy\\ + Accepted: dd-mm-yyyy}%<-- Mandatory argument +%</tmple> +% \end{macrocode} +% +% \subsubsection{Cita del artículo} +% +% El artículo debería ser referenciado de una manera determinada +% de acuerdo a un estilo de referenciación. +% La información de la cita correcta se especifica con el +% comando |\INGUDsetciteinfo| y es reponsabilidad del +% usuario de la clase \textsf{articleingud} darle el formato +% adecuado. Aquí sólo se presenta un ejemplo. +% +% \begin{macrocode} +\INGUDsetciteinfo +%<*tmpls> + {Citación: Autor 1, Autor 2,..., Autor n. (20XX). + Título principal. + En: Ingeniería, Vol. WW, No. XX, pág. YY--ZZ}%<-- Cita +%</tmpls> +%<*tmple> + {Cite: Author 1, Author 2,..., Author n. (20XX). + Main title. + In: Ingenier\'{\i}a, Vol. WW, No. XX, pp. YY--ZZ}%<-- Cite +%</tmple> +% \end{macrocode} +% +% \subsubsection{Volumen de la revista} +% +% El artículo se publica en un volumen que normalmente +% tiene varios números por año. +% La información del volumen actual de la revista donde +% será publicado el artículo se especifica con el comando +% |\INGUDsetvolume|. El argumento de este comando +% debe ser solamente un número, sin ningún formato especial. +% +% \begin{macrocode} +\INGUDsetvolume +%<*tmpls> + {1}%<-- Volumen de la revista (sólo número) +%</tmpls> +%<*tmple> + {1}%<-- Volume of the review (only the number) +%</tmple> +% \end{macrocode} +% +% \subsubsection{Número de la revista} +% +% El comando |\INGUDsetnumber| es análogo a +% |\INGUDsetvolume| pero para el número de la revista. +% +% \begin{macrocode} +\INGUDsetnumber +%<*tmpls> + {1}%<-- Número de la revista (sólo número) +%</tmpls> +%<*tmple> + {1}%<-- Number of the review (only the number) +%</tmple> +% \end{macrocode} +% +% \subsubsection{Página inicial del artículo} +% +% El comando |\INGUDsetinitialpage| configura el número +% de página inicial del artículo que está siendo procesado. +% Es frecuente que un artículo inicie en una página diferente +% de la número uno. El argumento de este comando +% debe ser solamente un número, sin ningún formato especial. +% +% \begin{macrocode} +\INGUDsetinitialpage +%<*tmpls> + {1}%<-- Página inicial del artículo (sólo número) +%</tmpls> +%<*tmple> + {1}%<-- Initial page of the paper (only the number) +%</tmple> +% \end{macrocode} +% +% \subsection{Impresión de la información del documento} +% \label{subsub:ImpresionTitulo} +% +% El comando |\maketitle| realiza la impresión de la información +% especificada con los comandos anteriores. +% Contrario a su contraparte estándar, |\maketitle| necesita +% se terminado con el comando |\endmaketitle|, donde este último +% siempre forzará a iniciar una nueva página. +% +% El uso de este comando es como sigue: +% \begin{verbatim} +% \maketitle +% ...Texto y otros comandos... +% \endmaketitle +% \end{verbatim} +% Todo el texto encerrado entre |\maketitle| y |\endmaketitle| +% es puesto en modo de una (1) columna y con una margen más estrecha +% de la normal. +% Es deseable que todo el contenido entre estos dos comandos +% se encuentre ubicado en una sóla página (usualmente la primera). +% Desafortunadamente no existe una forma automática para hacer esto, +% así que |\endmaketitle| debe ser ubicado de forma manual +% por ensayo y error. +% +% \textbf{Sugerencia:} Se puede ubicar el comando |\endmaketitle| +% en un lugar del código donde se conozca que se obtendrá más +% de una página de texto en el documento final. +% Luego buscar el lugar exacto donde \TeX{} +% rompió la página y reubicar el comando |\endmaketitle| +% en este sitio. +% Aquí pueden ocurrir dos casos: +% \begin{enumerate} +% \item \TeX{} rompe la página entre dos párrafos. +% \item \TeX{} rompe la página en medio de un párrafo. +% \end{enumerate} +% +% En el primer caso se debe ubicar |\endmaketitle| +% al final del primer párrafo y dejando una línea en blanco +% después de |\endmaketitle| para indicarle a \TeX{} +% la distinción entre los dos párrafos. +% Por ejemplo: +% \begin{verbatim} +% ...este es el texto que finaliza el primer párrafo. +% Despues del comando se debe dejar una línea +% de texto en blanco. +% \endmaketitle +% +% Texto de inicio del segundo párrafo. +% Este texto iniciará en una nueva página... +% \end{verbatim} +% +% En el segundo caso se debe ubicar |\endmaketitle| +% en la mitad del párrafo con +% los comandos |\parfillskip=0pt| justo antes y +% |\noindent| justo después, en la forma: +% \begin{verbatim} +% ...este es el texto del párrafo antes de que TeX rompe la página +% \parfillskip=0pt +% \endmaketitle +% \noindent +% y este es el texto del párrafo después de que TeX rompe la página... +% \end{verbatim} +% El efecto de |\parfillskip=0pt| es forzar a \TeX{} +% a finalizar la primera parte del párrafo +% justo al extremo derecho de la margen, +% mientras que |\noindent| evita que exista una sangría +% al inicio de la siguiente parte del párrafo. +% +% \begin{macrocode} +%<*tmpls> +\maketitle%<-- Debe ser terminado con \endmaketitle +%</tmpls> +%<*tmple> +\maketitle%<-- It should be finished with \endmaketitle +%</tmple> +% \end{macrocode} +% +% \subsection{Primer resumen del documento} +% +% El primer resumen del artículo se especifica con el +% ambiente |abstract| en la forma: +% \begin{verbatim} +% \begin{abstract} +% ...texto del resumen... +% \end{abstract} +% \end{verbatim} +% Normalmente este primer resumen +% se escribe en el idioma por defecto del artículo. +% Luego se escribe un segundo resumen en otro idioma, +% el cual es la traducción del primero. +% Por defecto el título del resumen aparece en inglés, +% así que si se está escribiendo el artículo +% en un idioma diferente, se debe redefinir el comando +% |\abstractname| justo antes de usar el ambiente. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% RESUMEN +%%---------------------------------------------------------- +\renewcommand{\abstractname}{Resumen} +\begin{abstract} + ...El resumen del artículo va aquí... +\end{abstract} +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% ABSTRACT +%%---------------------------------------------------------- +\begin{abstract} + ...The abstract of your paper goes here... +\end{abstract} +%</tmple> +% \end{macrocode} +% +% \subsection{Primeras palabras claves del documento} +% +% La primera lista de palabras claves del artículo se +% especifican con el ambiente |INGUDkeywords| en la forma: +% \begin{verbatim} +% \begin{INGUDkeywords} +% ...lista de palabras claves... +% \end{INGUDkeywords} +% \end{verbatim} +% Estas palabras claves se ponen en el idioma +% por defecto del artículo. +% Luego se escribe una segunda lista de palabras claves +% en otro idioma, las cuales son la traducción de +% las primeras. +% Por defecto el título de este ambiente aparece en inglés, +% así que si se está escribiendo el artículo +% en un idioma diferente, se debe redefinir el comando +% |\INGUDkeywordsname| justo antes de usar el ambiente. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% PALABRAS CLAVES +%%---------------------------------------------------------- +\renewcommand{\INGUDkeywordsname}{Palabras claves} +\begin{INGUDkeywords} + ...Lista de palabras claves... +\end{INGUDkeywords} +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% KEY WORDS +%%---------------------------------------------------------- +\begin{INGUDkeywords} + ...List of key words... +\end{INGUDkeywords} +%</tmple> +% \end{macrocode} +% +% \subsection{Segundo resumen del documento} +% +% Aquí se hace lo mismo que en el primer resumen, +% sólo que se escribe en otro idioma. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% ABSTRACT +%%---------------------------------------------------------- +\renewcommand{\abstractname}{Abstract} +\begin{abstract} + ...The abstract of your paper goes here... +\end{abstract} +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% RESUMEN +%%---------------------------------------------------------- +\renewcommand{\abstractname}{Resumen} +\begin{abstract} + ...El resumen del art\'{\i}culo va aqu\'{\i}... +\end{abstract} +%</tmple> +% \end{macrocode} +% +% \subsection{Segundas palabras claves del documento} +% +% Aquí se hace lo mismo que en las primeras palabras claves, +% sólo que se escriben en otro idioma. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% KEY WORDS +%%---------------------------------------------------------- +\renewcommand{\INGUDkeywordsname}{Key words} +\begin{INGUDkeywords} + ...List of key words... +\end{INGUDkeywords} +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% PALABRAS CLAVES +%%---------------------------------------------------------- +\renewcommand{\INGUDkeywordsname}{Palabras claves} +\begin{INGUDkeywords} + ...Lista de palabras claves... +\end{INGUDkeywords} +%</tmple> +% \end{macrocode} +% +% \subsection{Finalización de impresión del título del documento} +% +% El comando |\endmaketitle| no tiene que ir necesariamente +% en este punto. Ver la sección \ref{subsub:ImpresionTitulo} +% para más detalles. +% +% \begin{macrocode} +%<*tmpls> +\endmaketitle%<-- Necesario. Finaliza \maketitle +%</tmpls> +%<*tmple> +\endmaketitle%<-- Needed. This command finishes \maketitle +%</tmple> +% \end{macrocode} +% +% \subsection{Introducción, desarrollo del artículo y conclusiones} +% +% Desde este punto puede hacer uso de los comandos de +% seccionamiento |\section|, |\subsection|, |\subsubsection|, +% |\paragraph| y |\subparagraph| para dividir el documento +% en las secciones necesarias. +% Normalmente desde este punto se muestra el desarrollo del +% tema principal comenzando con la introducción y luego +% agregando secciones para mostrar procedimientos, teorías y demás. +% La última sección debería ser las conclusiones del artículo. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% INTRODUCCIÓN +%%---------------------------------------------------------- +\section{Introducción} + ...Introducción de su artículo... +%% +%% ...Ponga aquí las secciones adicionales que necesite... +%% +\section{última sección} + ...Última sección del artículo... +%%---------------------------------------------------------- +%% CONCLUSIONES +%%---------------------------------------------------------- +\section{Conclusiones} + ...Las conclusiones de su artículo... +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% INTRODUCTION +%%---------------------------------------------------------- +\section{Introduction} + ...Introduction of your paper... +%% +%% ...Put here additional sections as you need... +%% +\section{Final section} + ...Final section of your paper... +%%---------------------------------------------------------- +%% CONCLUSIONS +%%---------------------------------------------------------- +\section{Conclusions} + ..Conclusions of your paper... +%</tmple> +% \end{macrocode} +% +% \subsection{Apéndices} +% +% La forma de especificar el inicio de los apéndices +% es por medio del comando |\appendix|. +% Luego de esto, podrá seguir usando los comandos +% de seccionamiento en la forma habitual. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% APÉNDICES +%%---------------------------------------------------------- +\appendix%<-- Inicia los apéndices +\section{Primer apéndice} + ...Texto del primer apéndice... +\section{Segundo apéndice} + ...Texto del segundo apéndice... +%% +%% ...Ponga aquí los apéndices adicionales que necesite... +%% +\section{Último apéndice} + ...Texto del último apéndice... +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% APPENDIXES +%%---------------------------------------------------------- +\appendix%<-- Begin of appendixes +\section{First appendix} + ...Text of first appendix... +\section{Second appendix} + ...Text of second appendix... +%% +%% ...Put here additional appendixes as you need... +%% +\section{Final appendix} + ...Text of final appendix... +%</tmple> +% \end{macrocode} +% +% \subsection{Reconocimientos} +% +% Los reconocimientos deben ser iniciados +% con el comando |\section*|, dado que no es necesario +% que se numere esta sección. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% RECONOCIMIENTOS +%%---------------------------------------------------------- +\section*{Reconocimientos}%<-- Debe usar \section* + ...Los reconocimientos de su artículo... +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% ACKNOWLEDGMENTS +%%---------------------------------------------------------- +\section*{Acknowledgment}%<-- It should be used \section* + ...Acknowledgment of your paper... +%</tmple> +% \end{macrocode} +% +% \subsection{Referencias} +% +% Las referencias usan el ambiente |thebibliography|. +% Sin embargo, es conveniente usar Bib\TeX{} para preparar +% las referencias. +% Lo primero es usar el comando |\bibliography| para especificar +% un archivo \filename{*.bib} donde se encuentra la +% base de datos bibliográfica. +% En el código que se muestra se supone que el archivo +% tiene el nombre \filename{ref.bib}. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% REFERENCIAS +%%---------------------------------------------------------- +\bibliography{ref}%<-- Archivo de bibliografía (*.bib). + % Bibliografía preparada por BibTeX. + % Puede especificar más archivos de + % bibliografía serapándolos por coma. + % Aquí se supone que ref.bib + % se encuentra en el mismo directorio + % del archivo fuente +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% REFERENCES +%%---------------------------------------------------------- +\bibliography{ref}%<-- bibliography's file (*.bib). + % This bibligraphy should be + % prepared by BibTeX. + % You can specify more *.bib files. + % ref.bib should be into the same + % directory of your source file +%</tmple> +% \end{macrocode} +% +% Ahora se especifica el archivo de estilo \filename{*.bst} +% de la bibligrafía. Puede ser cualquier estilo de bibliografía +% estándar como \filename{plain.bst}, \filename{unsrt.bst}, +% \filename{abbrev.bst} o \filename{alpha.bst} que vienen por defecto +% en cualquier distribución de \LaTeX. +% Este archivo contiene las instrucciones +% necesarias para que Bib\TeX{} le de el formato necesario +% a las referencias. +% Por ahora la clase \textsf{articleingud} no tiene desarrollado +% un estilo de bibliografía exclusivo para su uso. +% +% \begin{macrocode} +%<*tmpls> +\bibliographystyle{plain}%<-- Archivo de estilo (*.bst). +%</tmpls> +%<*tmple> +\bibliographystyle{plain}%<-- Style's file (*.bst). +%</tmple> +% \end{macrocode} +% +% \subsection{Biografías de los autores} +% +% Las biografías de los autores se especifican con el ambiente +% |biography|. Hay un (1) ambiente por cada autor. +% Este ambiente tiene dos argumentos: el primero opcional +% y el segundo obligatorio. +% +% En el argumento opcional se especifica la fotografía +% del autor mediante al comando |\includegraphics| del paquete +% |graphicx|. Este comando debe encerrarse entre corchetes +% para evitar que \TeX{} se confunda en la búsqueda de +% argumentos. El uso correcto de este primer argumento +% es en la forma |[{\include...}]|. +% +% En el argumento obligatorio se especifica el nombre del autor. +% +% \begin{macrocode} +%<*tmpls> +%%---------------------------------------------------------- +%% BIOGRAFÍAS +%%---------------------------------------------------------- +\begin{biography}% +%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía + % Descomente si necesita + % una fotografía y + % especifique el archivo + % correspondiente +{Nombre autor 1}%<-- Nombre de autor 1 + ...Biografía del autor 1... +\end{biography} +\begin{biography}% +%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía + % Descomente si necesita + % una fotografía y + % especifique el archivo + % correspondiente +{Nombre autor 2}%<-- Nombre de autor 1 + ...Biografía del autor 2... +\end{biography} +%% +%% ...Aquí se introducen más biografías +%% dependiendo del número de autores... +%% +\begin{biography}% +%%[{\includegraphics[width=1in]{fotoautor}}]%<-- Fotografía + % Descomente si necesita + % una fotografía y + % especifique el archivo + % correspondiente +{Nombre autor n}%<-- Nombre de autor 1 + ...Biografía del autor n... +\end{biography} +%</tmpls> +%<*tmple> +%%---------------------------------------------------------- +%% BIOGRAPHIES +%%---------------------------------------------------------- +\begin{biography}% +%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph + % Uncomment if + % you need a photograph +{Name of author 1}%<-- Name of author 1 + ...Biography of author 1... +\end{biography} +\begin{biography}% +%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph + % Uncomment if + % you need a photograph +{Name of author 2}%<-- Name of author 2 + ...Biography of author 2... +\end{biography} +%% +%% ...Here you can specify more biographies... +%% +\begin{biography}% +%%[{\includegraphics[width=1in]{photograph}}]%<-- author's photograph + % Uncomment if + % you need a photograph +{Name of author n}%<-- Name of author n + ...Biography of author n... +\end{biography} +%</tmple> +\end{document} +%</tmpls|tmple> +% \end{macrocode} +% +% \section{Implementación} +% +% \subsection{Identificación de la clase} +% +% \begin{macro}{\NeedsTeXFormat} +% \begin{macro}{\ProvidesClass} +% +% La clase de documento \textsf{articleingud} +% se creó para usarse con \LaTeXe. +% Con versiones anteriores no se garantiza la compatibilidad. +% +% \begin{macrocode} +%<*cls> +\NeedsTeXFormat{LaTeX2e}% +\ProvidesClass{articleingud}% +[2012/04/24 v0.1 Article for INGENIERIA UD]% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Preliminares} +% +% \begin{macro}{\ifINGUD@peerreview} +% +% Cuando el artículo se encuentra en proceso de revisión +% por pares es necesario activar o desactivar +% ciertas características de la clase. Por ejemplo, +% imprimir o no el nombre de los autores +% para mantener la confidencialidad +% entre autores y revisores. +% |\ifINGUD@peerreview| se usa con este propósito. +% Por defecto inicia en |false| y se pone en +% |true| cuando se especifica la opción +% |peerreview|. +% +% \begin{macrocode} +\newif\ifINGUD@peerreview\INGUD@peerreviewfalse +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ifINGUD@endofbiography} +% +% En el ambiente |biography|, en el que se escriben las +% biografías de los autores, es necesario identificar cuándo +% se termina de imprimir la biografía. +% |\ifINGUD@endofbiography| se usa con el propósito de +% determinar el momento en que el comando |\INGUD@searchpar|, +% el cual ayuda a poner la sangría de párrafo adecuada cuando +% existe una fotografía, debe dejar de operar. +% Por defecto inicia en |true| dado que la biografía ya terminó!!! +% +% \begin{macrocode} +\newif\ifINGUD@endofbiography\INGUD@endofbiographytrue +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@internalmargin} +% \begin{macro}{\INGUD@externalmargin} +% \begin{macro}{\INGUD@topmargin} +% \begin{macro}{\INGUD@bottommargin} +% \begin{macro}{\INGUD@headmargin} +% \begin{macro}{\INGUD@footmargin} +% +% Estos comandos establecen las márgenes del artículo. +% Todas se miden respecto al borde de la hoja más cercano. +% Todas estas dimensiones se declaran con |\newcommand| +% dado que no es necesario definir registros +% de longitud para guardarlas. +% Por este motivo, cualquier redefinición debe +% hacerse con |\renewcommand|. +% Esto ahorra registros de longitud que pueden +% ser usados por algunos paquetes. +% +% |\INGUD@internalmargin| es la margen interna (impresión por +% ambas caras) o margen izquierda (impresión por una cara). +% +% |\INGUD@externalmargin| es la margen externa (impresión por +% ambas caras) o margen derecha (impresión por una cara). +% +% |\INGUD@topmargin| es la margen superior del texto principal +% medida desde el borde de la hoja. +% +% |\INGUD@bottommargin| es la margen inferior del texto principal +% medida desde el borde de la hoja. +% +% |\INGUD@headmargin| es la margen superior de la cabecera +% del artículo medida desde el borde de la hoja. +% +% |\INGUD@footmargin| es la margen inferior del pie de la página +% del artículo medida desde el borde de la hoja. +% +% \begin{macrocode} +\newcommand{\INGUD@internalmargin}{21mm}% +\newcommand{\INGUD@externalmargin}{18mm}% +\newcommand{\INGUD@topmargin}{18mm}% +\newcommand{\INGUD@bottommargin}{18mm}% +\newcommand{\INGUD@headmargin}{5mm}% +\newcommand{\INGUD@footmargin}{9mm}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\INGUD@photosep} +% +% |\INGUD@photosep| establece la separación de la fotografía de +% los autores del correspondiente +% texto de la biografía dentro del ambiente |biography|. +% Se define con |\newcommand| y debe redefinirse con |\renewcommand|. +% Por defecto se establece en |5pt|. +% +% \begin{macrocode} +\newcommand{\INGUD@photosep}{5\p@}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@colauthorinfosep} +% \begin{macro}{\INGUD@colauthorinfowidth} +% +% La primera página del artículo tiene una apariencia +% diferente a la del resto. En la primera página +% se crea un par de columnas asimétricas. La primera de ella contiene +% la información de los autores del artículo y la fecha de +% recepción, modificación y aceptación del artículo. +% |\INGUD@colauthorinfowidth| mide el ancho de esta primera columna y +% |\INGUD@colauthorinfosep| su separación respecto a la segunda. +% Estos valores se deberían establecer como un porcentaje +% del ancho del texto |\textwidth|. +% +% \begin{macrocode} +\newcommand{\INGUD@colauthorinfosep}{\columnsep}% +\newcommand{\INGUD@colauthorinfowidth}{0.3\textwidth}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\INGUD@reviewname} +% \begin{macro}{\INGUD@reviewvolume} +% \begin{macro}{\INGUD@reviewnumber} +% \begin{macro}{\INGUD@reviewissn} +% \begin{macro}{\INGUD@udname} +% \begin{macro}{\INGUD@separator} +% +% Estos comandos contienen la información de la revista +% así como del número, volumen e ISSN de la publicación. +% Se debería usar siempre letras en minúscula +% y dar el formato adecuado donde sea necesario. +% +% |\INGUD@reviewname| es el nombre de la revista, +% en este caso INGENIERIA. +% +% |\INGUD@reviewvolume| es el volumen de la revista. Se resuelve a +% vacío dado que será cambiado en el momento de la edición +% del artículo. Debería contener solamente el número, por ejemplo +% ``2'', ``3'', ``4'',... +% +% |\INGUD@reviewnumber| es el número de la revista. Se resuelve a +% vacío dado que será cambiado en el momento de la edición +% del artículo. Debería contener solamente el número, por ejemplo +% ``2'', ``3'', ``4'',... +% +% |\INGUD@reviewissn| es el número de ISSN de la revista. +% Este número no cambia mucho. Si se desea hacerlo, +% debe hacerse con |\renewcommand|. +% +% |\INGUD@udname| es el nombre de la universidad. +% Este nombre tampoco cambia mucho. Se se desea hacerlo, +% debe hacerse con |\renewcommand|. +% +% |\INGUD@separator| es un caracter de separación +% para dar formato a la información de la revista en la cabecera +% y pie de página del artículo. +% +% \begin{macrocode} +\newcommand{\INGUD@reviewname}{ingenier\'\i a}% +\newcommand{\INGUD@reviewvolume}{}% +\newcommand{\INGUD@reviewnumber}{}% +\newcommand{\INGUD@reviewissn}{0121-750x}% +\newcommand{\INGUD@udname}{universidad distrital + francisco jos\'e de caldas}% +\newcommand{\INGUD@separator}{\hskip 2.5\p@ \@plus1\p@ \@minus 1\p@ + $\scriptstyle\bullet$% + \hskip 2.5\p@ \@plus 1\p@ \@minus 1\p@}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\INGUD@reviewinfo} +% +% |\INGUD@reviewinfo| contiene la información de la revista +% que será impresa en el pie de página del documento. +% Su definición es sencilla. Solamente es una cadena +% con la información del nombre de la revista, +% volumen actual, número actual, número de ISSN, +% y nombre de la universidad si el artículo no es para +% revisión por pares. +% En caso contrario, solamente es una cadena con +% el nombre de la revista, la palabra ``draft, paper for peer review'' +% (borrador, artículo para revisión por pares) +% y el nombre de la universidad. +% Se le da formato al texto dentro de un grupo para +% que sólo afecte a esta información. +% +% \begin{macrocode} +\newcommand{\INGUD@reviewinfo}{% +\begingroup + \normalfont\scriptsize\scshape + \INGUD@reviewname \INGUD@separator + \ifINGUD@peerreview + draft, paper for peer review \INGUD@separator + \else + vol.\kern 1\p@ \INGUD@reviewvolume \INGUD@separator + no.\kern 1\p@ \INGUD@reviewnumber \INGUD@separator + issn\kern 1\p@ \INGUD@reviewissn \INGUD@separator + \fi + \INGUD@udname +\endgroup}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@authorinfo} +% +% |\INGUD@authorinfo| contiene la información de los autores +% que será impresa en la cabecera del documento. +% Resuelve a vacío dado que será cambiada en el +% momento de la edición del artículo. +% +% \begin{macrocode} +\newcommand{\INGUD@authorinfo}{}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@paperinfo} +% +% |\INGUD@paperinfo| contiene la información del artículo +% (por ejemplo título o subtítulo) que será impresa +% en la cabecera del documento. +% Resuelve a vacío dado que será cambiada en el +% momento de la edición del artículo. +% +% \begin{macrocode} +\newcommand{\INGUD@paperinfo}{}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@secondtitle} +% +% |\INGUD@secondtitle| contiene la información del +% título secundario dado al artículo (generalmente en otro idioma) +% y que será establecida por el comando |\title|. +% Por ahora se define para generar un mensaje de error. +% +% \begin{macrocode} +\newcommand{\INGUD@secondtitle}{% + \ClassError{articleingud}% + {No \noexpand\title given}% + {See documentation for details}}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@citeinfo} +% +% |\INGUD@citeinfo| contiene la información de la cita +% que debe hacerse al presente artículo. Esta información +% se pone en la primera página con el fin de informar +% al lector la manera correcta de citar el presente artículo. +% Esta información se establece con el comando |\INGUDsetciteinfo|. +% Por ahora se define para generar un mensaje de error. +% +% \begin{macrocode} +\newcommand{\INGUD@citeinfo}{% + \ClassError{articleingud}% + {No \noexpand\INGUDsetciteinfo given}% + {See documentation for details}}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Opciones} +% +% \subsubsection{Tamaño de papel} +% +% \DescribeMacro{a4paper} +% (Opción estándar) +% Establece el tamaño del papel en A4 (297~mm x 210~mm).\\ +% \DescribeMacro{a5paper} +% (Opción estándar) +% Establece el tamaño del papel en A5 (210~mm x 148~mm).\\ +% \DescribeMacro{b5paper} +% (Opción estándar) +% Establece el tamaño del papel en B5 (250~mm x 176~mm).\\ +% \DescribeMacro{letterpaper} +% (Opción estándar por defecto). +% Establece el tamaño del papel en +% carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\ +% \DescribeMacro{legalpaper} +% (Opción estándar) +% Establece el tamaño del papel en +% oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\ +% \DescribeMacro{executivepaper} +% (Opción estándar) +% Establece el tamaño del papel en +% ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm). +% +% \subsubsection{Orientación del papel} +% +% \DescribeMacro{landscape} +% (Opción estándar) +% Invierte la orientación del papel a horizontal.\\ +% \DescribeMacro{portrait} +% (Opción estándar por defecto). +% Invierte la orientación del papel a vertical. +% +% \subsubsection{Tamaño de letra} +% +% \DescribeMacro{10pt} +% (Opción estándar por defecto). +% Establece el tamaño de letra en 10~pt.\\ +% \DescribeMacro{11pt} +% (Opción estándar) +% Establece el tamaño de letra en 11~pt.\\ +% \DescribeMacro{12pt} +% (Opción estándar) +% Establece el tamaño de letra en 12~pt. +% +% \subsubsection{Impresión por una o ambas caras} +% +% \DescribeMacro{oneside} +% (Opción estándar defecto). +% Establece la impresión del artículo +% por una cara de la hoja de papel.\\ +% \DescribeMacro{twoside} +% (Opción estándar) +% Establece la impresión del artículo +% por ambas caras de la hoja de papel. +% +% \subsubsection{Versión final o borrador del artículo} +% +% \DescribeMacro{draft} +% (Opción estándar) +% Establece el artículo como una versión en borrador.\\ +% \DescribeMacro{final} +% (Opción estándar por defecto). +% Establece el artículo como la versión final. +% +% \subsubsection{Página de título} +% +% \DescribeMacro{titlepage} +% (Opción estándar no usada). +% Esta opción es usada por la clase estándar +% \textsf{article}, pero \textsf{articleingud} +% no hace uso de esta opción. +% +% \begin{macrocode} +\DeclareOption{titlepage}{% + \OptionNotUsed + \ClassError{articleingud}% + {Unused option `\CurrentOption'}% + {See documentation for details}}% +% \end{macrocode} +% +% \noindent +% \DescribeMacro{notitlepage} +% (Opción estándar no usada). +% Esta opción es usada por la clase estándar +% \textsf{article}, pero \textsf{articleingud} +% no hace uso de esta opción. +% +% \begin{macrocode} +\DeclareOption{notitlepage}{% + \OptionNotUsed + \ClassError{articleingud}% + {Unused option `\CurrentOption'}% + {See documentation for details}}% +% \end{macrocode} +% +% \subsubsection{Impresión a dos columnas} +% +% \DescribeMacro{onecolumn} +% (Opción estándar por defecto) +% Establece el artículo en modo de una columna.\\ +% \DescribeMacro{twocolumn} +% (Opción estándar) +% Establece el artículo en modo de dos columnas. +% +% \subsubsection{Numeración de ecuaciones} +% +% \DescribeMacro{leqno} +% (Opción estándar) +% Establece la numeración de las ecuaciones con el número +% a la izquierda. La numeración con el número a la derecha es la +% opción por defecto. +% +% \subsubsection{Justificación de ecuaciones} +% +% \DescribeMacro{fleqn} +% (Opción estándar) +% Establece la justificación de las ecuaciones +% a la izquierda. La opción por defecto es mostrar las +% ecuaciones centradas. +% +% \subsubsection{Estilo de bibliografía} +% +% \DescribeMacro{openbib} +% (Opción estándar) +% Establece el estilo de la bibliografía en ``abierto''. +% La opción por defecto es una bibliografía ``cerrada'' +% +% \subsubsection{Revisión por pares} +% +% \begin{macro}{peerreview} +% +% La opción |peereview| se usa durante el proceso +% de revisión por pares. Solamente pone en |true| +% a |\ifINGUD@peerreview|. +% +% \begin{macrocode} +\DeclareOption{peerreview}{% + \global\INGUD@peerreviewtrue}% +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Opciones por defecto} +% +% Todas las opciones que no declara la clase \textsf{articleingud} +% se pasan a la clase estándar \textsf{article}. +% +% \begin{macrocode} +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{article}}% +% \end{macrocode} +% +% \subsubsection{Procesamiento de opciones y carga de la clase estándar} +% +% Ahora se procesan las opciones que +% el usuario ha especificado y se carga la clase +% \textsf{article} que forma la base para +% \textsf{articleingud}. +% +% \begin{macrocode} +\ProcessOptions\relax +\LoadClass{article}% +% \end{macrocode} +% +% \subsection{Márgenes} +% +% \begin{macro}{\headheight} +% +% La altura de la cabecera |\headheight| se establece +% por defecto en |24pt|. Este es el doble del tamaño más grande +% de letra permitido en el artículo. +% +% \begin{macrocode} +\setlength{\headheight}{24\p@}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\voffset} +% +% La longitud |\voffset| se establece por defecto en |0pt|. +% De esta forma la línea imaginaria unicada a |1in+\voffset| +% del borde superior de la hoja queda ubicada a |1in|. +% +% \begin{macrocode} +\setlength{\voffset}{\z@}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\headsep} +% +% La separación de la cabecera del documento (donde se pone información +% del artículo) respecto al texto principal es |\headsep|. +% Esta distancia debe cumplir con la ecuación +% |\INGUD@headmargin+\headheight+\headsep=\INGUD@topmargin|. +% +% \begin{macrocode} +\setlength{\headsep}{\INGUD@topmargin}% +\addtolength{\headsep}{-\INGUD@headmargin}% +\addtolength{\headsep}{-\headheight}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textheight} +% +% La altura del texto principal del artículo (incluyendo +% pies de página) debe cumplir +% |\INGUD@topmargin+\textheight+\INGUD@bottommargin=\paperheight|. +% La dimensión |\paperheight| refleja el tamaño real del +% papel donde se imprime el artículo. +% |\textheight| se calcula para que cumpla esta ecuación. +% +% \begin{macrocode} +\setlength{\textheight}{\paperheight}% +\addtolength{\textheight}{-\INGUD@topmargin}% +\addtolength{\textheight}{-\INGUD@bottommargin}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\footskip} +% +% La separación del borde inferior del pie de la +% página al borde inferior del texto principal está dado +% por |\footskip|. Esta dimensión cumple con la ecuación +% |\INGUD@footmargin+\footskip=\INGUD@bottommargin|. +% +% \begin{macrocode} +\setlength{\footskip}{\INGUD@bottommargin}% +\addtolength{\footskip}{-\INGUD@footmargin}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\topmargin} +% +% La línea horizontal imaginaria ubicada a |1in+\voffset| está separada +% del borde superior de la cabecera por |\topmargin|. +% Esta última dimensión se calcula para que cumpla la +% ecuación |1in+\voffset+\topmargin=\INGUD@headmargin|, +% de esta manera la línea imaginaria queda ubicada al inicio del +% borde superior del inicio de la cabecera. +% +% \begin{macrocode} +\setlength{\topmargin}{\INGUD@headmargin}% +\addtolength{\topmargin}{-1in}% +\addtolength{\topmargin}{-\voffset}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hoffset} +% +% La longitud |\hoffset| se establece por defecto en |0pt|. +% La línea vertical ubicada en |1in+\hoffset| del borde izquierdo de +% la hoja queda ubicada a |1in|. +% +% \begin{macrocode} +\setlength{\hoffset}{\z@}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\oddsidemargin} +% \begin{macro}{\evensidemargin} +% +% La longitud |\oddsidemargin| establece las márgenes +% izquierdas (impresión por una sola cara) o márgenes +% internas (impresión por ambas caras) para las +% páginas numeradas impar. +% Esta dimensión debe cumplir con la ecuación +% |1in+\hoffset+\oddsidemargin=\INGUD@internalmargin|. +% |\evensidemargin| es análoga pero para páginas +% numeradas par. Debe cumplir con la ecuación +% |1in+\hoffset+\evensidemargin=\INGUD@externalmargin|. +% +% \begin{macrocode} +\setlength{\oddsidemargin}{\INGUD@internalmargin}% +\addtolength{\oddsidemargin}{-1in}% +\addtolength{\oddsidemargin}{-\hoffset}% +\setlength{\evensidemargin}{\INGUD@externalmargin}% +\addtolength{\evensidemargin}{-1in}% +\addtolength{\evensidemargin}{-\hoffset}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\textwidth} +% +% El ancho del texto principal (sin incluir las notas al margen +% que se imprimen con |\marginpar|) está dado por |\textwidth|. +% Esta dimensión debe cumplir con +% |\INGUD@internalmargin+\textwidth+\INGUD@externalmargin=\paperwidth|. +% +% \begin{macrocode} +\setlength{\textwidth}{\paperwidth}% +\addtolength{\textwidth}{-\INGUD@internalmargin}% +\addtolength{\textwidth}{-\INGUD@externalmargin}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\columnsep} +% \begin{macro}{\columnseprule} +% +% La separación entre columnas |\columnsep| en modo de +% dos columnas se establece por defecto a |5mm|. +% El ancho de la línea de separación |\columnseprule| +% se establece en |0pt| (línea invisible). +% +% \begin{macrocode} +\setlength{\columnsep}{5mm}% +\setlength{\columnseprule}{\z@}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\marginparpush} +% \begin{macro}{\marginparwidth} +% \begin{macro}{\marginparsep} +% +% Las notas al margen no se usan en esta clase de +% documento. Las dimensiones |\marginparpush|, +% |\marginparwidth| y |\marginparsep| se comentan por ahora. +% +% \begin{macrocode} +%^^A\setlength{\marginparpush}{\z@}% +%^^A\setlength{\marginparwidth}{\z@}% +%^^A\setlength{\marginparsep}{\z@}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Párrafos} +% +% \begin{macro}{\parskip} +% \begin{macro}{\parindent} +% +% El espacio entre párrafos |\parskip| se establece +% en |0pt| dado que se usa sangría para diferenciar cada +% uno de ellos. +% La sangría de párrafo se establece en |3mm|. +% +% \begin{macrocode} +\setlength{\parskip}{\z@}% +\setlength{\parindent}{3mm}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\INGUD@hangcarryover} +% +% Este comando se basa en |\hangcarryover| +% dado por Donald Knuth en ``The \TeX Book'' (pág. 316). +% Introduce correctamente el valor apropiado +% de |\hangafter| y |\hangindent| al inicio de cada párrafo +% entre párrafos consecutivos para alojar un objeto +% (por ejemplo una fotografía), dado que el efecto de +% |\hangafter| y |\hangindent| sólo afecta al párrafo actual. +% Este comando es necesario en el ambiente |biography| +% cuando se usa una fotografía del autor para hacer que el texto de +% la misma la rodee. +% +% \begin{macrocode} +\newcommand{\INGUD@hangcarryover}{% + \edef\INGUD@next{\hangafter=\the\hangafter + \hangindent=\the\hangindent}% + \par\INGUD@next + \edef\INGUD@next{\prevgraf=\the\prevgraf}% + \indent\INGUD@next}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Información del artículo} +% +% \begin{macro}{\title} +% \begin{macro}{\INGUD@titlei} +% \begin{macro}{\INGUD@titleii} +% +% El comando |\title| se comporta de igual forma +% que el comando estándar. A diferencia de su +% contraparte estándar, puede recibir tres argumentos: +% el primero opcional, y el segundo y tercero son +% obligatorios. +% Su uso se debe hacer en las formas +% |\title[titulo corto]{titulo largo}{titulo secundario}| o +% |\title{titulo largo}{titulo secundario}|. +% Cuando se usa en su primera forma. +% la información de |titulo corto| se pone en la +% cabecera del documento, |titulo largo| +% corresponde al título principal del artículo y +% |titulo secundario| especifica un segundo título +% (generalmente en otro idioma). +% Si se usa en su segunda forma, +% |titulo largo| se pone como título +% principal y en la cabecera del documento, +% y |titulo secundario| sigue funcionando en la misma forma. +% +% |\title| llama a |\INGUD@titlei| o +% |\INGUD@titleii| dependiendo si se ha especificado +% el argumento opcional. +% +% \begin{macrocode} +\def\title{\@ifnextchar[\INGUD@titlei\INGUD@titleii}% +% \end{macrocode} +% +% Si se usa +% |\title[titulo corto]{titulo largo}{titulo secundario}|, +% entonces se define |\INGUD@paperinfo| para que sea igual +% al |titulo corto| que será impreso en la cabecera +% del documento, se define |@title| para que sea +% igual a |titulo largo| que será impreso +% como título principal y se define |\INGUD@secondtitle| +% para que sea usado como título secundario. +% +% \begin{macrocode} +\def\INGUD@titlei[#1]#2#3{% + \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}% + \gdef\@title{#2}% + \gdef\INGUD@secondtitle{#3}}% +% \end{macrocode} +% +% Si se ha escrito |\title{titulo largo}{titulo secundario}|, +% entonces se definen |\INGUD@paperinfo| y |@title| +% para que contengan la misma información. +% |\INGUD@secondtitle| sigue conteniendo el título +% secundario. +% +% \begin{macrocode} +\def\INGUD@titleii#1#2{% + \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}% + \gdef\@title{#1}% + \gdef\INGUD@secondtitle{#2}}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\author} +% \begin{macro}{\INGUD@authori} +% \begin{macro}{\INGUD@authorii} +% +% El comando |\author| se comporta de igual forma +% que el comando estándar. A diferencia de su +% contraparte estándar, puede recibir dos argumentos: +% el primero opcional y el segundo obligatorio. +% Este comando se usa en la forma +% |\author[nombre cortos]{nombres largos}| o |\title{nombres}|. +% Cuando se usa en la forma +% |\author[nombre cortos]{nombres largos}|, +% la información de |nombre cortos| +% se pone en la cabecera del documento y |nombres largos| +% corresponde a los nombres (junto con las afilicaciones) +% de los autores del artículo. +% Si se usa |\author{nombres}| entonces |nombres| +% se ponen en la cabecera y en la primera página del artículo. +% +% |\author| llama a |\INGUD@authori| o +% |\INGUD@authorii| dependiendo si se ha especificado +% el argumento opcional. +% +% \begin{macrocode} +\def\author{\@ifnextchar[\INGUD@authori\INGUD@authorii}% +% \end{macrocode} +% +% Si se especifica |\author[nombre cortos]{nombres largos}| +% y la opción |peerreview| se ha declarado, +% entonces |\INGUD@authorinfo| debe resolver a vacío. +% +% \begin{macrocode} +\def\INGUD@authori[#1]#2{% + \ifINGUD@peerreview + \global\let\INGUD@authorinfo\@empty +% \end{macrocode} +% +% Si se especifica |\author[nombre cortos]{nombres largos}| +% y no se ha declarado la opción |peerreview|, +% entonces se define |\INGUD@authorinfo| para que imprima +% la información de los autores |nombre cortos| ignorando +% lo que se haya puesto dentro de |thanks| (usualmente usado +% para las afiliaciones) y se redefine localmente +% |\and| para que sea igual al separador de |\INGUD@separator|. +% |\\| se define para que se comporte igual a un espacio. +% |\@author| se define para que corresponda a la información +% completa de los autores en la primera página del artículo +% incluida su afiliación. +% +% \begin{macrocode} + \else + \gdef\INGUD@authorinfo{\begingroup + \normalfont\footnotesize + \let\thanks\@gobble + \let\and\INGUD@separator + \let\\\space + #1\relax + \endgroup}% + \fi + \gdef\@author{#2}}% +% \end{macrocode} +% +% Si se especifica |\author{nombres}| +% y se tiene activa la opción |peerreview| +% entonces |\INGUD@authorinfo| debe resolver a vacío +% +% \begin{macrocode} +\def\INGUD@authorii#1{% + \ifINGUD@peerreview + \global\let\INGUD@authorinfo\@empty +% \end{macrocode} +% +% Si se usa |\author{nombres}| +% y no se ha especificado la opción |peerreview| +% entonces se define |\INGUD@authorinfo| y |\@author| +% para que tengan la misma información haciendo lo +% mismo que en el caso anterior. +% +% \begin{macrocode} + \else + \gdef\INGUD@authorinfo{\begingroup + \normalfont\footnotesize + \let\thanks\@gobble + \let\and\INGUD@separator + \let\\\space + #1\relax + \endgroup}% + \fi + \gdef\@author{#1}}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\date} +% +% El comando |\date| es necesario para establecer +% la fecha del documento. Esta clase lo usa para +% imprimir la fecha de recibido, modificación y +% aceptación del artículo. Esto se hace +% en el momento de la edición del artículo. +% La definición estándar es suficiente por ahora +% así que se comenta. +% +% \begin{macrocode} +%^^A\newcommand*{\date}[1]{\gdef\@date{#1}}% +%^^A\date{\today} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\and} +% +% El comando |\and| tiene sentido sólo dentro del comando +% |\author| para separar los diferentes autores del +% artículo. Por ahora se define para introducir un espacio +% vertical. +% +% \begin{macrocode} +\renewcommand{\and}{\\[5\p@]}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\thanks} +% \begin{macro}{\@thanks} +% +% El comando |\thanks| usualmente se usa para +% agregar agradecimientos hacia una persona o institución +% en la publicación de un determinado artículo. +% Esta clase de documento lo usa para indicar las afiliaciones +% de los diferentes autores del artículo, así que se debería +% usar un comando |\thanks| por cada autor. +% Su definición sólo crea un nuevo párrafo. +% |\@thanks| se define para que resuelva a vacío dado que +% esta clase de documento no lo usa. +% +% \begin{macrocode} +\renewcommand{\thanks}[1]{\par #1}% +\def\@thanks{}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{environment}{titlepage} +% +% Este ambiente se redefine para que resuelva +% a vacío y no tenga algún efecto. +% +% \begin{macrocode} +\renewenvironment{titlepage}{}{}% +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\INGUD@makeciteinfo} +% +% |\INGUD@makeciteinfo| se encarga de darle formato +% a la información de la cita que se pone en +% la cabecera de la primera página. +% El texto se pone en un |\parbox| de ancho +% |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth| +% y altura |\headheight| +% para poder crear varias líneas de texto. +% Por ahora, el usuario debe introducir todo el texto de la cita. +% +% Primero se verifica si se ha declarado la opción +% |peerreview|. Si es así, no se procede. +% De lo contrario se establece |@tempdima| en el ancho deseado. +% +% \begin{macrocode} +\newcommand{\INGUD@makeciteinfo}{% +\ifINGUD@peerreview\else + \@tempdima\textwidth + \advance\@tempdima by -\INGUD@colauthorinfosep + \advance\@tempdima by -\INGUD@colauthorinfowidth +% \end{macrocode} +% +% Luego se crea un |\parbox| con las dimensiones +% deseadas. +% +% \begin{macrocode} + \parbox[b][\headheight][b]{\@tempdima}% +% \end{macrocode} +% +% Dentro del |parbox| se configuran algunos +% parámetros de párrafo para que sean locales. +% La sangría de párrafo y el salto de párrafo +% se ponen en |0pt|. El tamaño de letra +% se pone en |\scriptsize|. +% +% \begin{macrocode} + {\parskip\z@ \parindent\z@ + \normalfont\scriptsize +% \end{macrocode} +% +% Si el documento se imprime por ambas caras, +% es necesario saber la justificación +% (izquierda o derecha) del texto. +% +% \begin{macrocode} + \if@twoside + \ifodd\c@page + \raggedleft + \else + \raggedright + \fi +% \end{macrocode} +% +% Si el documento se imprime por una cara, +% la justificación es a la izquierda. +% +% \begin{macrocode} + \else + \raggedleft + \fi +% \end{macrocode} +% +% Luego se imprime la información de la cita. +% +% \begin{macrocode} + \INGUD@citeinfo}% +\fi}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@makeauthorinfo} +% +% |\INGUD@makeauthorinfo| le da formato a la +% información de los autores en la primera página +% ubicada en una columna exclusivamente destinada para esto. +% Toda la información se pone en un |\parbox| de +% dimensiones nulas que se usa dentro del comando +% |@oddhead| o |@evenhead| del estilo de página +% |\ps@titlepageingud|. +% +% Lo primero que se hace es crear un |\hbox| de |0pt| +% de ancho. Dentro se crea un |\vbox| de |0pt| de alto. +% Se agrega un salto vertical de |\headsep| para +% dar la apariencia de iniciar en la primera línea de texto de la +% página. +% +% \begin{macrocode} +\newcommand{\INGUD@makeauthorinfo}{% + \hb@xt@\z@{\vbox to\z@{\vskip\headsep +% \end{macrocode} +% +% El |\parbox| que se crea debe ser igual de alto a |\textheight| +% e igual de ancho a |\INGUD@colauthorinfowidth|. +% +% \begin{macrocode} + \parbox[t][\textheight][t]{\INGUD@colauthorinfowidth}% +% \end{macrocode} +% +% Luego se cambian algunos parámetros de párrafo. +% Se elige la justificación (izquierda o derecha) +% adecuada dependiendo de si la página es par o impar +% y se imprime la información de los autores +% sólo si no se ha declarado la opción |peerreview|. +% +% \begin{macrocode} + {\parskip\z@ \parindent\z@ + \normalfont\scriptsize + \ifINGUD@peerreview\else + \if@twoside + \ifodd\c@page + \raggedleft + \else + \raggedright + \fi + \else + \raggedleft + \fi + \@author + \fi +% \end{macrocode} +% +% Se rellena con espacio en blanco. +% +% \begin{macrocode} + \vfill +% \end{macrocode} +% +% Se elige la justificación adecuada +% para imprimir la información de la fecha. +% +% \begin{macrocode} + \raggedright + \@date}% +% \end{macrocode} +% +% Al final del |\vbox| se introduce un |\hrule| +% de dimensiones nulas para que la caja que contiene +% toda la información tenga profundidad de |0pt|. +% +% \begin{macrocode} + \hrule \@width\z@ \@depth\z@ \@height\z@}}% +% \end{macrocode} +% +% Ahora se deshabilitan algunos comandos de usuario +% que ya no tiene sentido declararlos dos veces. +% +% \begin{macrocode} + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + \global\let\thanks\relax}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +% \begin{macro}{\endmaketitle} +% +% |\maketitle| se encarga de crear la página de título +% del artículo. Contrario a su contraparte estándar, +% se debe utilizar |\endmaketitle| para finalizar +% este comando. +% Todo lo que se encuentra entre |\maketitle| y +% |\endmaketitle| será el contenido de la primera página. +% Desafortunadamente no hay un mecanismo automático +% para crear una página con dos columnas asimétricas, +% es por eso que debe ajustarse |\enmaketitle| por +% ensayo y error. +% +% Lo primero que se hace es crear un grupo y una nueva +% página. Se evita que algún flotante quede +% ubicado en la parte superior poniendo |\@topnum| +% a cero y se usa el estilo de página +% |\ps@titlepageingud| sólo para la página +% actual. +% +% \begin{macrocode} +\long\def\maketitle#1\endmaketitle{% +\begingroup + \newpage + \global\@topnum\z@ + \thispagestyle{titlepageingud}% +% \end{macrocode} +% +% Ahora se ajusta el ancho de columna para +% crear la apariencia de una segunda columna donde se +% imprimirá el título (la primera columna ya fue creada con +% |\INGUD@makeauthorinfo|). +% |\textwidth| no cambia. |\columnwidth| se establece en +% |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth|. +% |\hsize| y |\linewidth| también se ponen a este valor. +% |\@twocolumn| se pone en |\false| y |\col@number| se pone +% en uno. +% El valor de |\oddsidemargin| es cambiado por |\ps@titlepageingud|. +% +% \begin{macrocode} + \columnwidth\textwidth + \advance\columnwidth by -\INGUD@colauthorinfosep + \advance\columnwidth by -\INGUD@colauthorinfowidth + \hsize\columnwidth + \linewidth\columnwidth + \@twocolumnfalse + \col@number \@ne +% \end{macrocode} +% +% Ahora se evita el sangrado de la primera línea y se +% imprime el título con el comando |\@maketitle|. +% Todo lo que se encuentra entre |\maketitle| y +% |\endmaketitle| (el argumento |#1|) se imprime en este punto +% y se finaliza con |\endmaketitle|. +% +% \begin{macrocode} + \noindent + \@maketitle + #1\endmaketitle +% \end{macrocode} +% +% Se vacían algunos comandos internos que no se usarán +% más, ahorrando algo de espacio en memoria. +% +% \begin{macrocode} + \global\let\@title\@empty + \global\let\INGUD@secondtitle\@empty + \global\let\INGUD@citeinfo\@empty +% \end{macrocode} +% +% Después de que el título se ha impreso, +% es necesario desvanecer el efecto de los +% comandos |\title|, |\author|, etc, dado +% que sólo son necesarios una vez. +% Al finalizar se cierra el grupo. +% +% \begin{macrocode} + \global\let\maketitle\relax + \global\let\endmaketitle\relax + \global\let\INGUDsetciteinfo\relax + \global\let\title\relax + \global\let\INGUDsetvolume\relax + \global\let\INGUDsetnumber\relax + \global\let\INGUDsetinitialpage\relax +\endgroup}% +% \end{macrocode} +% +% |\endmaketitle| se define para iniciar una nueva +% página. +% +% \begin{macrocode} +\def\endmaketitle{\clearpage}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@maketitle} +% +% Este comando se encarga de darle formato al título +% principal y título secundario del artículo. +% +% Primero se inicia un grupo para que los cambios sean locales +% y se configuran algunos parámetros de párrafos y +% de tipo de letra. El título se imprime con la justificación +% (izquierda o derecha) correcta. +% +% \begin{macrocode} +\long\def\@maketitle{% +\begingroup +\if@twoside + \ifodd\c@page + \raggedright + \else + \raggedleft + \fi +\else + \raggedright +\fi + \normalfont \parskip\z@ \parindent\z@ +% \end{macrocode} +% +% Ahora se imprime el título en tamaño de +% letra |\LARGE| y negrilla. +% Se inicia un nuevo párrafo y se evita que +% exista una ruptura de página en este lugar. +% Al final se deja algo de espacio vertical +% respecto al título secundario. +% +% \begin{macrocode} + {\LARGE\bfseries\@title}\par\nobreak + \vskip 1.5em% +% \end{macrocode} +% +% Ahora se imprime el título secundario en tamaño de +% letra |\Large|, negrilla y letra inclinada. +% Se inicia un nuevo párrafo y se evita que +% exista una ruptura de página en este lugar. +% Al final se deja algo de espacio vertical. +% +% \begin{macrocode} + {\Large\bfseries\slshape\INGUD@secondtitle}\par\nobreak + \vskip 1.5em% +\endgroup}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Volumen, número, página inicial e información de cita} +% +% \begin{macro}{\INGUDsetvolume} +% \begin{macro}{\INGUDsetnumber} +% \begin{macro}{\INGUDsetinitialpage} +% \begin{macro}{\INGUDsetciteinfo} +% +% Los comandos |\INGUDsetvolume|, |\INGUDsetnumber|, +% |\INGUDsetinitialpage| y |\INGUDsetciteinfo| están +% destinados para establecer el número de +% volumen, el número de la revista, la página inicial del artículo +% y la información de cita del mismo. +% El argumento de los tres primeros debería ser solamente +% el número, sin agregar ningún tipo de abreviatura +% inicial como ``Vol.'', ``No.'' o ``pág''. +% Por ahora el argumento de |\INGUDsetciteinfo| puede ser arbitario +% y dependerá de la información que el usuario desea +% dar a conocer al lector (posiblemente esto cambie en el futuro). +% Una cita típica puede ser +% ``Newton, Isaac. La ley de gravitación universal. +% En: Ingeniería. Vol. 1, No. 1, pág 1--10''. +% +% \begin{macrocode} +\newcommand*{\INGUDsetvolume}[1]{\gdef\INGUD@reviewvolume{#1}}% +\newcommand*{\INGUDsetnumber}[1]{\gdef\INGUD@reviewnumber{#1}}% +\newcommand*{\INGUDsetinitialpage}[1]{\global\setcounter{page}{#1}}% +\newcommand*{\INGUDsetciteinfo}[1]{\gdef\INGUD@citeinfo{#1}}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Resumen y palabras clave} +% +% \begin{environment}{abstract} +% +% El ambiente estándar |abstract| se redefine +% para cumplir con los requerimientos de la revista. +% Por defecto el nombre del ambiente aparece en +% inglés. Si un usuario desea que aparezca en otro +% idioma (por ejemplo español) debe redefinir +% el comando |\abstractname|. +% +% Lo primero que se hace es eliminar +% cualquier espaciamiento vertical anterior al ambiente. +% Luego se imprime el título del ambiente +% usando la versión no mumerada de |\section|. +% Al finalizar se inicia un nuevo párrafo. +% +% \begin{macrocode} +\renewenvironment{abstract}{% + \removelastskip + \section*{\abstractname}}{\par}% +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\INGUDkeywordsname} +% +% |\INGUDkeywordsname| contiene el nombre del +% ambiente |INGUDkeywords|. Si se desea que este nombre +% aparezca en otro idioma, sólo es necesario +% redefinirlo usando |\renewcommand|. +% +% \begin{macrocode} +\newcommand{\INGUDkeywordsname}{Key words}% +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{INGUDkeywords} +% +% \LaTeX{} no ofrece un ambiente para poner las +% palabras clave del artículo. +% Esta clase define el ambiente |INGUDkeywords| con el fin +% de poner las palabras clave. +% +% Lo primero que se hace es eliminar cualquier +% espaciamiento vertical antes del ambiente. +% Se agrega algo de espacio vertical para separar +% el nombre del ambiente del contenido anterior. +% Después se imprime el nombre del ambiente +% dejando un espaciamiento evitando la ruptura en este lugar. +% Al finalizar el ambiente se inicia un nuevo párrafo. +% +% \begin{macrocode} +\newenvironment{INGUDkeywords}{% + \removelastskip + \vskip0.5\baselineskip + \par\nobreak + \noindent\textbf{\INGUDkeywordsname :}% + \nobreakspace}{\par}% +% \end{macrocode} +% \end{environment} +% +% \subsection{Contadores} +% +% \begin{macro}{\thetable} +% +% La presentación del contador |\c@table| se hace +% por medio del comando |\thetable|. Este +% comando se redefine para que las tablas sean +% numeradas con números romanos en mayúscula. +% +% \begin{macrocode} +\renewcommand{\thetable}{\@Roman\c@table}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Leyendas} +% +% \begin{macro}{\fnum@figure} +% \begin{macro}{\fnum@table} +% +% Los comandos |\fnum@...| contienen el +% nombre del respectivo flotante que será impreso +% cuando se llame al comando |\caption|. +% Por ahora se comentan y se usa las definiciones estándar +% de \LaTeX. +% +% \begin{macrocode} +%^^A\renewcommand{\fnum@figure}{\figurename\nobreakspace\thefigure}% +%^^A\renewcommand{\fnum@table}{\tablename\nobreakspace\thetable}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\abovecaptionskip} +% \begin{macro}{\belowcaptionskip} +% +% Estas longitudes contienen la cantidad de espacio +% en blanco que se agrega arriba y abajo en la leyenda de un flotante. +% Por ahora se establecen en |0pt| para reducir la cantidad de +% espacio vertical que se usa. +% +% \begin{macrocode} +\setlength{\abovecaptionskip}{\z@}% +\setlength{\belowcaptionskip}{\z@}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@makecaption} +% +% El comando |\caption| llama al comando |\@makecaption| +% para dar formato a la leyenda de los flotantes. +% Recibe dos argumentos: |#1| que es el nombre del +% flotante, por ejemplo ``Figura 2'', y |#2| que es la leyenda +% del mismo. Su definición es básicamente la misma +% que la del núcleo de \LaTeX, a diferencia que +% le da un formato diferente a la leyenda del flotante. +% Se inicia agregando el espaciamiento vertical +% |\abovecaptionskip|. +% +% \begin{macrocode} +\renewcommand{\@makecaption}[2]{% + \vskip\abovecaptionskip +% \end{macrocode} +% +% Luego se mide el largo de la leyenda poniéndola +% en una caja temporal con el tamaño de letra +% establecido en |\footnotesize|. +% +% \begin{macrocode} + \sbox\@tempboxa{{\footnotesize\textbf{#1.} #2}}% +% \end{macrocode} +% +% Ahora se mide al ancho de la caja. Si es más +% larga que el ancho actual |\hsize| entonces se +% imprime la leyenda en un párrafo ordinario. +% +% \begin{macrocode} + \ifdim\wd\@tempboxa >\hsize + {\footnotesize\textbf{#1.} #2 \par}% +% \end{macrocode} +% +% Si la leyenda cabe en el ancho actual, entonces es necesario centrarla. +% Se reinicia la variable |\@minipagefalse| como en la definición +% estándar. Al final se agrega el espaciamiento +% vertical |\belowcaptionskip|. +% +% \begin{macrocode} + \else + \global\@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Citas} +% +% \begin{macro}{\@citex} +% +% Aquí se modifica el comando |\@citex| del núcleo de +% \LaTeX{} para separar las diferentes citas con |], [|. +% Cuando un usuario especifique |\cite{ref1,ref2,...,refn}|, +% el respectivo texto quedará en la forma +% |[1], [2], ..., [n]|, suponiendo que |ref1| resuelve a +% |[1]|, |ref2| a |[2]| y |refn| a |[n]|. Esto evita que +% \LaTeX{} agrupe las referencias como |[1,2,...,n]|. +% +% \begin{macrocode} +\def\@citex[#1]#2{% + \let\@citea\@empty + \@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{], [}% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\citepunct} +% \begin{macro}{\citedash} +% +% El paquete \filename{cite.sty} de Donald Arseneau es inteligente +% y notará que |\citepunct| y |\citedash| ya se encuentran definidos +% y no los definirá de nuevo. El resultado es el +% adecuado ordenamiento de los números de referencia +% y la auto-detección de tres o más referencias: +% |[1], [2], [5]--[7], [12]|. +% Esto también permite especificar una nota adicional, +% es decir, |\cite[nota adicional]{..}|. +% Si |\cite| tiene más de una referencia, +% la nota será aplicada a la última de las referencias listadas. +% Entonces es deseable que si una nota es dada, +% sólo una referencia sea dada en |\cite|. +% +% \begin{macrocode} +\def\citepunct{], [}% +\def\citedash{]--[}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Espacios entre flotantes} +% +% \begin{macro}{\floatsep} +% \begin{macro}{\textfloatsep} +% \begin{macro}{\intextsep} +% +% Cuando un flotante se pone en una página con texto, +% estos parámetors controlan la separación entre el flotante +% y los otros objetos sobre la página. +% Estos parámetros se usan para flotantes que ocupan +% una columna en modo de una o dos columnas. +% +% |\floatsep| es el espacio entre flotantes adyacentes +% que son movidos a la parte superior o inferior de la +% página de texto. +% +% |\textfloatsep| es el espacio entre el texto principal +% y los flotantes en la parte superior o inferior del texto. +% +% |\intextsep| es el espacio entre flotantes dentro del texto +% y el texto. +% +% \begin{macrocode} +\setlength{\floatsep}{\baselineskip}% +\setlength{\textfloatsep}{\baselineskip}% +\setlength{\intextsep}{\baselineskip}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\dblfloatsep} +% \begin{macro}{\dbltextfloatsep} +% +% Cuando los flotantes que se expanden a la totalidad de +% |\textwidth| son puestos sobre una página de texto y +% se está en modo de dos columnas, la separación entre los +% flotantes y el texto se controla con |\dblfloatsep| +% y |\dbltextfloatsep|. +% +% |\dblfloatsep| es el espacio entre flotantes adyacentes +% que se son movidos a la parte superior o inferior de +% la página. +% +% |\dbltextfloatsep| es el espacio entre el texto principal +% y los flotantes en la parte superior o inferior de la +% página. +% +% \begin{macrocode} +\setlength{\dblfloatsep}{\baselineskip}% +\setlength{\dbltextfloatsep}{\baselineskip}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@fptop} +% \begin{macro}{\@fpsep} +% \begin{macro}{\@fpbot} +% +% Cuando los flotantes son puestos en una página +% de flotantes los espacios entre ellos son controlados por +% estos parámetros. En la parte superior de la +% página se agrega el espacio en blanco |\@fptop| y en la parte +% inferior |\@fpbot|. +% Entre flotantes se agrega |\@fpsep|. +% Estos parámetros se usan para flotantes en modo de una columna +% o para flotantes de una columna en modo de dos columnas. +% (al menosuno de los dos parámetros |\@fptop| y +% |\@fpbot| debería contener un |plus ...fil| para permitir +% rellenar el espacio en blanco restante.) +% +% \begin{macrocode} +\setlength{\@fptop}{\z@}% +\setlength{\@fpsep}{\baselineskip}% +\setlength{\@fpbot}{\z@ \@plus 1fil}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@dblfptop} +% \begin{macro}{\@dblfpsep} +% \begin{macro}{\@dblfpbot} +% +% Estos parámetros son análogos a los anteriores +% para flotantes de doble columna en modo de dos columnas. +% +% \begin{macrocode} +\setlength{\@dblfptop}{\z@}% +\setlength{\@dblfpsep}{\baselineskip}% +\setlength{\@dblfpbot}{\z@ \@plus 1fil}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Estilos de página} +% +% \begin{macro}{\ps@plainingud} +% +% La definición de este estilo de página es diferente +% para impresión por una cara o doble cara. +% +% \begin{macrocode} +\if@twoside + \def\ps@plainingud{% +% \end{macrocode} +% +% El pie de la página contiene la información del número +% de página impreso por |\thepage| junto con la información +% de la revista impreso por |\INGUD@reviewinfo| +% +% \begin{macrocode} + \def\@oddfoot{\INGUD@reviewinfo\hfil\thepage}% + \def\@evenfoot{\thepage\hfil\INGUD@reviewinfo}% +% \end{macrocode} +% +% La cabecera de la página contiene la información de los autores +% impreso por |\INGUD@authorinfo| y del artículo +% impreso por |\INGUD@paperinfo|. Estas dos informaciones +% se intercambian entre páginas pares e impares. +% Se agrega también una línea horizontal debajo de la +% información de la cabecera. +% +% \begin{macrocode} + \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\INGUD@authorinfo}% + \vskip2\p@ + \hrule \@height0.4\p@ + \@width\textwidth + \@depth\z@}}% + \def\@evenhead{\vbox{\hb@xt@\textwidth{\INGUD@paperinfo\hfil}% + \vskip2\p@ + \hrule \@height0.4\p@ + \@width\textwidth + \@depth\z@}}% +% \end{macrocode} +% +% Las definiciones estándar de estilos de página +% hacen |\@mkboth| igual a |\markboth|. +% Aquí se hace lo mismo. +% +% \begin{macrocode} + \let\@mkboth\markboth +% \end{macrocode} +% +% Los estilos estándar usan los comandos +% |\sectionmark| y |\subsectionmark| para que los +% respectivos comandos de título cambien la información de la +% cabecera. Esta no es la situación en esta clase de +% documento. Así que se definen +% para que resuelvan a vacío. +% +% \begin{macrocode} + \def\sectionmark##1{}% + \def\subsectionmark##1{}}% +% \end{macrocode} +% +% La definición de |\ps@plainingud| para impresión por una cara +% es más simple dado que las páginas pares e impares se tratan +% por igual. +% El código es análogo al presentado anteriormente. +% +% \begin{macrocode} +\else + \def\ps@plainingud{% + \def\@oddfoot{\INGUD@reviewinfo\hfil\thepage}% + \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\INGUD@authorinfo}% + \vskip2\p@ + \hrule \@height0.4\p@ + \@width\textwidth + \@depth\z@}}% + \let\@mkboth\markboth + \def\sectionmark##1{}}% +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@titlepageingud} +% +% La definición de este estilo de página es diferente +% para impresión por una cara o doble cara. +% +% \begin{macrocode} +\if@twoside + \def\ps@titlepageingud{% +% \end{macrocode} +% +% Es necesario aumentar |\oddsidemargin| para la páginas impares +% en una cantidad igual a +% |\INGUD@colauthorinfosep+\INGUD@colauthorinfowidth| +% para que la primera página del artículo parezca que tiene +% columnas asimétricas +% No es necesario hacerlo con |\evensidemargin| dado que +% el aspecto se logra por defecto. +% +% \begin{macrocode} + \advance\oddsidemargin by \INGUD@colauthorinfosep + \advance\oddsidemargin by \INGUD@colauthorinfowidth +% \end{macrocode} +% +% El pie de la página contiene la información del número +% de página impreso por |\thepage| junto con la información +% de la revista impreso por |\INGUD@reviewinfo|. +% Es necesario introducir un espaciamiento negativo que compense +% el cambio de |\oddsidemargin|. +% +% \begin{macrocode} + \def\@oddfoot{\hskip-\INGUD@colauthorinfosep + \hskip-\INGUD@colauthorinfowidth + \hb@xt@\textwidth{\INGUD@reviewinfo\hfil\thepage}}% + \def\@evenfoot{\thepage\hfil\INGUD@reviewinfo}% +% \end{macrocode} +% +% En la cabecera se pone la columna que lleva +% la información de los autores con la ayuda de +% |\INGUD@makeauthorinfo|. +% El comando |\INGUD@makeciteinfo| pone la información +% de la cita del artículo. +% +% \begin{macrocode} + \def\@oddhead{\hskip-\INGUD@colauthorinfosep + \hskip-\INGUD@colauthorinfowidth + \hb@xt@\textwidth{\INGUD@makeauthorinfo + \hfil + \INGUD@makeciteinfo}}% + \def\@evenhead{\INGUD@makeciteinfo + \hfil + \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth + \INGUD@makeauthorinfo}}% +% \end{macrocode} +% +% Las definiciones estándar de estilos de página +% hacen |\@mkboth| igual a |\markboth|. +% Aquí se hace lo mismo. +% +% \begin{macrocode} + \let\@mkboth\markboth +% \end{macrocode} +% +% Los estilos estándar usan los comandos +% |\sectionmark| y |\subsectionmark| para que los +% respectivos comandos de título cambien la información de la +% cabecera. Esta no es la situación en esta clase de +% documento. Así que se definen +% para que resuelvan a vacío. +% +% \begin{macrocode} + \def\sectionmark##1{}% + \def\subsectionmark##1{}}% +% \end{macrocode} +% +% La definición de |\ps@titlepageingud| para impresión por una cara +% es más simple dado que las páginas pares e impares se tratan +% por igual. +% El código es análogo al presentado anteriormente. +% +% \begin{macrocode} +\else + \def\ps@titlepageingud{% + \advance\oddsidemargin by \INGUD@colauthorinfosep + \advance\oddsidemargin by \INGUD@colauthorinfowidth + \def\@oddfoot{\hskip-\INGUD@colauthorinfosep + \hskip-\INGUD@colauthorinfowidth + \hb@xt@\textwidth{\INGUD@reviewinfo\hfil\thepage}}% + \def\@oddhead{\hskip-\INGUD@colauthorinfosep + \hskip-\INGUD@colauthorinfowidth + \hb@xt@\textwidth{\INGUD@makeauthorinfo + \hfil + \INGUD@makeciteinfo}}% + \let\@mkboth\markboth + \def\sectionmark##1{}}% +\fi +% \end{macrocode} +% \end{macro} +% +% \subsection{Bibliografía} +% +% \begin{macro}{\INGUD@thebibliography} +% \begin{macro}{\thebibliography} +% +% El estilo estándar de bibliografía de \LaTeX{} +% no es adecuado para la revista. Es necesario imprimir las +% diferentes entradas en un tipo de letras más pequeño y +% además tener menos separación entre ellas. +% El comando |\INGUD@thebibliography| se define para mantener +% una copia de |\thebibliography|, a la vez que éste último +% se redefine para cumplir con los requerimientos de la revista. +% +% \begin{macrocode} +\let\INGUD@thebibliography\thebibliography +\renewcommand{\thebibliography}[1]{% + \INGUD@thebibliography{#1}% + \itemsep\z@ + \parsep\z@ + %\parskip\z@ %<-- Necesario si no se necesitan espacios entre entradas + \footnotesize}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Biografías} +% +% \begin{environment}{biography} +% +% El ambiente |biography| tiene dos definiciones dependiendo +% si se ha especificado la opción |peerreview|. +% +% Si se está en modo de revisión por pares es necesario +% convertir el ambiente en un ambiente de ``comentarios'' +% e ignorar todo el texto dentro de la biografía. +% Esto es con el fin de eliminar toda la información del autor +% por confidencialidad. +% +% |\biography| se define con los comandos internos +% |\let\do\@makeother| y |\dospecials| (ver ltmiscen.dtx para +% más detalles). Luego llama al comando |\INGUD@clearbiography| +% el cual ignora todo el texto de la biografía. +% +% \begin{macrocode} +\ifINGUD@peerreview + \def\biography{% + \let\do\@makeother + \dospecials + \INGUD@clearbiography}% +% \end{macrocode} +% +% |\endbiography| se define para que resuelva a vacío. +% +% \begin{macrocode} + \def\endbiography{}% +% \end{macrocode} +% +% \begin{macro}{\INGUD@clearbiography} +% +% Ahora es necesario definir |\INGUD@clearbiography|. +% Se declara para que interprete su argumento |#1| +% como todo lo que se encuentra encerrado entre +% |\begin{biography}| y |\end{biography}| e ignorarlo. +% Para esto es necesario decirle a \TeX{} +% que el argumento finaliza cuando encuentra el +% comando |\end{biography}|. +% Es necesario cambiar el código de categoría (dentro de un grupo +% para que los cambios sean locales) de los caracteres +% |{|, |}| y |\| para que sean tratados como ``otros'' caracteres +% y remplazarlos temporalmente por los +% caracteres |[|, |]| y \verb+|+. +% La definición de |\INGUD@clearbiography| sólo llama +% a |\end{biography}|. +% +% \begin{macrocode} +\begingroup + \catcode`[=1 \catcode`]=2 \catcode`|=0 + \catcode`\{=12 \catcode`\}=12 \catcode`\\=12 + |long|gdef|INGUD@clearbiography#1\end{biography}[|end[biography]]% +|endgroup +% \end{macrocode} +% \end{macro} +% +% Si no se está en modo de revisión por pares es necesario imprimir +% el contenido de la biografía. +% Primero se inicia eliminando cualquier espaciamiento vertical +% que se haya adicionado anteriormente. +% +% \begin{macrocode} +\else + \def\biography{% + \removelastskip +% \end{macrocode} +% +% Luego se motiva a \TeX{} a romper la página en este sitio +% si es necesario poniendo |\@highpenalty|. +% +% \begin{macrocode} + \addpenalty\@highpenalty +% \end{macrocode} +% +% |\biography| tiene dos argumentos: |#1|, que es opcional, +% donde se especifica una fotografía +% encerrando el argumento entre los caracteres |[]|, +% y |#2|, que es obligatorio, donde se especifica el nombre del autor +% usando los caracteres |{}|. +% +% Si lo que sigue es el caracter |[| entonces se llama +% a |\INGUD@biographyphoto| que +% prepara una biografía con foto. +% En caso contrario se llama al comando |\INGUD@biographynophoto| +% para preparar una biografía sin foto. +% +% \begin{macrocode} + \@ifnextchar[\INGUD@biographyphoto\INGUD@biographynophoto}% +% \end{macrocode} +% +% |\endbiography| se define para resuelva a |\par|. +% +% \begin{macrocode} + \def\endbiography{\par}% +% \end{macrocode} +% +% \begin{macro}{\INGUD@biographyphoto} +% +% Este comando es llamado por el ambiente |biography| +% cuando se necesita una biografía con foto. +% +% Se inicia dándole formato al nombre del autor especificado en |#2|. +% Se inicia un nuevo párrafo evitando que \TeX{} rompa la página en +% este sitio y eitando que sangre la primera línea del nuevo párrafo. +% Se cambia el tipo de letra a |\footnotesize| que será la +% letra que se use en la biografía. +% Se pone |\ifINGUD@endofbiography| en |false| para indicar que +% no se ha llegado al final de la biografía con foto. +% +% \begin{macrocode} + \def\INGUD@biographyphoto[#1]#2{% + \INGUD@biographyauthorname{#2}% + \par \nobreak \noindent + \normalfont \footnotesize + \global\INGUD@endofbiographyfalse +% \end{macrocode} +% +% Ahora es necesario medir el tamaño de la fotografía dada en |#1|. +% Para esto se pone en una caja temporal y su ancho +% se asigna a la variable temporal |\@tempdima|. +% Esta última variable se incrementa en una cantidad +% igual a |\INGUD@photosep|, el cual es el espacio extra +% en blanco que rodea la fotografía. +% +% \begin{macrocode} + \sbox\@tempboxa{#1}% + \@tempdima\wd\@tempboxa + \advance \@tempdima by \INGUD@photosep +% \end{macrocode} +% +% Ahora es necesario medir la altura total (altura+profundidad) +% y asignársela a la variable temporal |\@tempdimb|. +% De igual forma se incrementa esta altura en una cantidad igual +% a |\INGUD@photosep|. +% +% \begin{macrocode} + \@tempdimb\ht\@tempboxa + \advance \@tempdimb by \dp\@tempboxa + \advance \@tempdimb by \INGUD@photosep +% \end{macrocode} +% +% Ahora es necesario conocer la cantidad de líneas +% de texto que se dejarán con sangría para alojar +% la fotografía del autor. +% Para esto se realiza un simple cálculo dividiendo +% la altura total de la fotografía entre el salto de +% línea base |\baselineskip|. +% Esta división guardará el valor (número real) +% en |\@tempdimb|. +% Al asignar |\@tempdimb| al contador (variable entera) +% |\@tempcnta| los decimales se descartan, +% esto trae el efecto de redondeo por abajo +% (análogo a lo que hace la función |floor| en un lenguaje de programación). +% +% \begin{macrocode} + \divide \@tempdimb by \baselineskip + \@tempcnta\@tempdimb +% \end{macrocode} +% +% Ahora establece el valor de la sangría del párrafo +% presente |\hangindent| en las primeras |\@tempcnta| +% líneas haciendo uso de |\hangafter|. +% El signo negativo de |\@tempcnta| +% indica que se sangrarán las líneas de texto de +% arriba hacia abajo (ver \TeX Book para más detalles). +% El efecto de |\hangindent| y |\hangafter| se hará +% extensivo a otros párrafos (si los hay) por medio +% del comando |\INGUD@hangcarryover|. +% +% \begin{macrocode} + \hangindent\@tempdima + \hangafter-\@tempcnta +% \end{macrocode} +% +% Ahora se llama a |\INGUD@checkendofbiography| para que +% realice un escaneo hasta encontrar el final de la +% biografía. Esto es necesario dado que la biografía +% puede contener varios párrafos (necesario detectarlos) +% u otros ambientes. Entonces es necesario conocer +% su finalización exacta. +% |\INGUD@checkendofbiography| funciona leyendo +% el texto que le sigue hasta encontrar un +% |\end{biography}| correcto. +% +% \begin{macrocode} + \INGUD@checkendofbiography +% \end{macrocode} +% +% Localmente se define |\INGUD@searchpar| para que detecte +% la aparición del primer párrafo. +% Si se encuentra este párrafo y |\ifINGUD@endofbiography| +% es |true| (final de la biografía) se finaliza el párrafo con |\par| +% y con |\null| (este |\null| parace ser necesario para evitar que +% la fotografía de un autor se solape con la siguiente +% cuando la biografía no alcanza a rodear toda la fotografía), +% de lo contrario se llama a |\INGUD@hangcarryover| para +% actualizar el valor correcto de |\hangindent| y |\hangafter| +% y luego se sigue buscando la presencia de un nuevo +% párrafo. +% +% \begin{macrocode} + \def\INGUD@searchpar##1\par{##1\ifINGUD@endofbiography + \par\null + \else + \INGUD@hangcarryover + \csname INGUD@searchpar\endcsname + \fi}% +% \end{macrocode} +% +% Esta es la primera llamada de |\INGUD@searchpar| +% +% \begin{macrocode} + \INGUD@searchpar +% \end{macrocode} +% +% Ahora imprime la fotografía que había sido guardada en +% |\@tempboxa| en el lugar adecuado. +% Para esto es necesario crear una caja de +% ancho |0pt|, altura |\baselineskip| y profundidad +% |0pt|. Luego de imprimir la fotografía +% se ignora cualquier espacio en blanco que se +% haya dejado entre la fotografía y el texto de la +% biografía. +% +% \begin{macrocode} + \hb@xt@\z@{\hss + \vbox to\baselineskip{\box\@tempboxa + \hrule \@width\z@ + \@height\z@ + \@depth\z@}% + \hskip\INGUD@photosep}% + \ignorespaces}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@biographyauthorname} +% +% El comando |\INGUD@biographyauthorname| se encarga de +% darle formato al nombre del autor dentro de la biografía. +% Recibe como argumento el nombre del autor en |#1|. +% +% Lo primero que se hace es crear un grupo para +% que los cambios sean locales. +% Se pone la sangría y el salto de párrafo a |0pt|. +% Se inicia un nuevo párrafo evitando que \TeX{} +% rompa en este sitio. +% +% \begin{macrocode} + \newcommand{\INGUD@biographyauthorname}[1]{% + \begingroup + \parindent\z@ \parskip\z@ + \par \nobreak +% \end{macrocode} +% +% Luego se guarda el nombre +% en una caja temporal con el formato adecuado para medir su ancho. +% Si este ancho es más largo que el ancho actual +% entonces se pone una línea horizontal |\vrule| de +% ancho igual a |\hsize|. +% +% \begin{macrocode} + \sbox\@tempboxa{\normalfont\bfseries #1}% + \ifdim\wd\@tempboxa >\hsize + \vrule \@width\hsize + \@height 0.4\p@ + \@depth\z@ +% \end{macrocode} +% +% Si el ancho del nombre es menor al ancho actual +% entonces se pone una línea horizontal |\vrule| +% de ancho igual al de la caja que contiene el nombre. +% +% \begin{macrocode} + \else + \vrule \@width\wd\@tempboxa + \@height 0.4\p@ + \@depth\z@ + \fi +% \end{macrocode} +% +% Luego se crea un núevo párrafo evitando un rompimiento de página. +% Se imprime el nombre del autor y se crea un nuevo párrafo +% sin que haya un rompimiento de página. +% Al final se agrega algo de espacio vertical y se cierra el grupo +% +% \begin{macrocode} + \par\nobreak + {\normalfont\bfseries #1}\par\nobreak + \vskip 5\p@ + \endgroup}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@checkendofbiography} +% +% |\INGUD@checkendofbiography| es quizás uno de los comandos +% más complejos de la clase \textsf{articleingud}. +% +% Su funcionamiento consiste en escanear lo que le sigue hasta +% encontrar un primer comando |\end|. Todo lo que está entre +% |\INGUD@checkendofbiography| y |\end| se considera su primer argumento. +% Seguido de |\end| se encuentra su segundo argumento. +% La definición debe ser |\long| dado que |#1| puede estar compuesto de +% varios párrafos. +% +% \begin{macrocode} + \long\def\INGUD@checkendofbiography#1\end#2{% +% \end{macrocode} +% +% Se definen localmente |\INGUD@biographyname| y |\INGUD@secondargument| +% que serán utilizados para determinar si después del +% |\end| encontrado se tiene un |\end{biography}|. +% +% \begin{macrocode} + \def\INGUD@biographyname{biography}% + \def\INGUD@secondargument{#2}% +% \end{macrocode} +% +% Si |#2=biography| entonces se hace |INGUD@keepchecking| +% para que sea igual a |\relax| y se define +% |\INGUD@firstargument| para que contenga el +% primer argumento de |\INGUD@checkendofbiography| seguido +% de |\ifINGUD@endofbiography| puesto a |true| seguido de +% una finalización de párrafo necesaria para +% |\INGUD@searchpar|. +% +% \begin{macrocode} + \ifx\INGUD@biographyname\INGUD@secondargument + \global\let\INGUD@keepchecking\relax + \long\gdef\INGUD@firstargument##1{% + ##1\global\INGUD@endofbiographytrue\par}% +% \end{macrocode} +% +% Si |#2!=biography| entonces se hace |INGUD@keepchecking| +% para que sea igual a |\INGUD@checkendofbiography| y se define +% |\INGUD@firstargument| para que contenga el +% primer argumento de |\INGUD@checkendofbiography|. +% +% \begin{macrocode} + \else + \global\let\INGUD@keepchecking\INGUD@checkendofbiography + \long\gdef\INGUD@firstargument##1{##1}% + \fi +% \end{macrocode} +% +% Ahora se imprime el primer argumento de |\INGUD@checkendofbiography|, +% seguido de una definición a vacío de éste. +% Es necesario finalizar el ambiente que se había escaneado +% con |\INGUD@checkendofbiography| y que no se cerró. +% +% \begin{macrocode} + \INGUD@firstargument{#1}% + \global\let\INGUD@firstargument\@empty + \end{#2}% +% \end{macrocode} +% +% Finalmente se continúa escaneando en busca de un |\end{biography}| +% correcto en caso de que no se haya encontrado. +% +% \begin{macrocode} + \INGUD@keepchecking}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\INGUD@biographynophoto} +% +% Este comando es llamado por el ambiente |biography| +% cuando se necesita una biografía sin foto. +% Su única función es imprimir el nombre del autor +% dado en su único argumento |#1| y cambiar el +% tipo de letra a |\footnotesize|. +% El párrafo donde inicia la biografía comienza sin sangría +% y se ignora cualquier espacio en blanco que +% se haya dejado. +% +% \begin{macrocode} + \def\INGUD@biographynophoto#1{% + \INGUD@biographyauthorname{#1}% + \par \nobreak \noindent + \normalfont \footnotesize \ignorespaces}% +\fi +% \end{macrocode} +% \end{macro} +% \end{environment} +% +% \subsection{Inicialización} +% +% Ahora es necesario inicializar el estilo +% de página a |ps@plainingud|, el cual +% será el estilo que se adopte por defecto. +% +% \begin{macrocode} +\pagestyle{plainingud}% +%</cls> +% \end{macrocode} +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/articleingud/articleingud.ins b/Master/texmf-dist/source/latex/articleingud/articleingud.ins new file mode 100755 index 00000000000..4d11fc01ddc --- /dev/null +++ b/Master/texmf-dist/source/latex/articleingud/articleingud.ins @@ -0,0 +1,162 @@ +\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+-------------------------------------------------------------------
+ LICENSE
+-------------------------------------------------------------------
+
+This is a generated file.
+
+Copyright (C) 2012 by Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence
+Engineering Department
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia
+http://www.udistrital.edu.co/
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.2 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Omar Salazar Morales.
+
+This work consists of the source files:
+ - articleingud.dtx (documented LaTeX file)
+ - articleingud.ins (installer)
+
+-------------------------------------------------------------------
+ LICENCIA
+-------------------------------------------------------------------
+
+Este es un archivo generado.
+
+Derechos de autor (C) 2012 por Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automática e Inteligencia Computacional
+Facultad de Ingeniería
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Pública del Proyecto LaTeX,
+versión 1.2 o cualquier versión superior (a su opción).
+La última versión de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la versión 1.2 o superior es parte de todas las distribuciones
+de LaTeX versión 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar Morales.
+
+Este trabajo consiste de los archivos fuente:
+ - articleingud.dtx (archivo LaTeX documentado)
+ - articleingud.ins (instalador)
+
+\endpreamble
+
+\generate{\file{articleingud.cls}{\from{articleingud.dtx}{cls}}}
+
+\nopostamble
+
+\preamble
+
+-------------------------------------------------------------------
+ LICENSE
+-------------------------------------------------------------------
+
+This is a generated file.
+
+Copyright (C) 2012 by Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratory for Automation and Computational Intelligence
+Engineering Department
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia
+http://www.udistrital.edu.co/
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.2 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of
+LaTeX version 1999/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Omar Salazar Morales.
+
+This work consists of the source files:
+ - articleingud.dtx (documented LaTeX file)
+ - articleingud.ins (installer)
+
+\endpreamble
+
+\generate{\file{template.tex}{\from{articleingud.dtx}{tmple}}}
+
+\preamble
+
+-------------------------------------------------------------------
+ LICENCIA
+-------------------------------------------------------------------
+
+Este es un archivo generado.
+
+Derechos de autor (C) 2012 por Omar Salazar Morales
+osalazarm@correo.udistrital.edu.co
+Laboratorio de Automática e Inteligencia Computacional
+Facultad de Ingeniería
+Universidad Distrital ``Francisco José de Caldas''
+Bogotá, Colombia.
+http://www.udistrital.edu.co/
+
+Este archivo puede ser redistribuido y/o modificado
+bajo las condiciones de la Licencia Pública del Proyecto LaTeX,
+versión 1.2 o cualquier versión superior (a su opción).
+La última versión de esta licencia se encuentra en
+http://www.latex-project.org/lppl.txt
+y la versión 1.2 o superior es parte de todas las distribuciones
+de LaTeX versión 1999/12/01 o superior.
+
+Este trabajo tiene el estado LPPL de `mantenido'.
+
+El responsable del mantenimiento de este trabajo es Omar Salazar Morales.
+
+Este trabajo consiste de los archivos fuente:
+ - articleingud.dtx (archivo LaTeX documentado)
+ - articleingud.ins (instalador)
+
+\endpreamble
+
+\generate{\file{plantilla.tex}{\from{articleingud.dtx}{tmpls}}}
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space articleingud.cls}
+\Msg{*}
+\Msg{* To produce the documentation run the file articleingud.dtx}
+\Msg{* once through LaTeX. Then, run}
+\Msg{*}
+\Msg{* \space\space makeindex -s gglo.ist -o articleingud.gls articleingud.glo}
+\Msg{*}
+\Msg{* through makeIndex to produce the glossary.}
+\Msg{* Finally, run LaTeX once again.}
+\Msg{* That's all!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
\ No newline at end of file |