% % \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} % % % \fi % % \CheckSum{1302} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \changes{v0.1}{2012/04/24}{Versión inicial} % \changes{v0.2}{2012/11/10}{Revisión sobre tamaño de papel usado por INGENIERIA % y corrección de algunos errores de la clase. % Actualizada la documentación.} % % \StopEventually{\PrintChanges} % % \title{Clase de documento \textsf{articleingud}\thanks{Este documento % corresponde a la versión~v0.2, 2012/11/10.}\\ % (Article for INGENIERIA UD)} % \author{Omar Salazar Morales\\ % Laboratorio de Automática e % Inteligencia Computacional\\ % Universidad Distrital Francisco Jos\'e de Caldas\\ % Facultad de Ingeniería\\ % Bogot\'a, Colombia\\ % \texttt{osalazarm@correo.udistrital.edu.co}\\ % \texttt{http://www.udistrital.edu.co}} % \date{Noviembre 10, 2012} % % \maketitle % % \renewcommand{\abstractname}{Resumen} % % \begin{abstract} % \noindent % Este documento muestra la implementación y documentación % \LaTeX{} de la clase de documento \textsf{articleingud} destinada % a la revista INGENIERIA de la Facultad de Ingeniería % de la Universidad Distrital ``Francisco José de Caldas''. % Esta clase se basa en la clase estándar \textsf{article}, % así que la mayoría de los comandos estándar % funcionan dentro de \textsf{articleingud}. % \end{abstract} % % \clearpage % % \renewcommand{\contentsname}{Contenido} % % \tableofcontents % % \clearpage % % \pagestyle{headings} % % \section{Introducción} % % La revista INGENIERIA es una publicación periódica % de la Facultad de Ingeniería de la Universidad Distrital % ``Francisco José de Caldas''. Tiene como propósito principal % divulgar el trabajo académico y científico % tanto dentro como fuera del país. Por tal motivo, % los artículos que se publican en la revista deben tener % relación con el trabajo en ingeniería. % La clase de documento \textsf{articleingud} % se ha creado para que los autores familiarizados % con el paquete de macros \LaTeXe{} puedan % escribir sus artículos, obteniendo como beneficio % la calidad tipográfica de \TeX{} e incluyendo % el manejo adecuado de ecuaciones, típicas en % artículos de caracter científico. % En las próximas secciones se describirán las características % de las clase, así como su implementación \LaTeX. % % \section{Módulos \textsf{Docstrip}} % % Esta clase ha sido desarrollada usando los estándares % de documentación de código \LaTeX{} por medio de % \textsf{Docstrip}. % Los siguientes módulos se implementaron para generar los % diferentes archivos de la clase. % % \vskip10pt % \begin{tabular}{ll} % \textbf{Opción}&\textbf{Resultado}\\ % \hline % cls & Genera el archivo de la clase (|*.cls|)\\ % drv & Genera el archivo maestro de documentación % \LaTeX{} (|*.drv|)\\ % tmpls & Genera un archivo plantilla en español (|*.tex|)\\ % tmple & Genera un archivo plantilla en inglés (|*.tex|)\\ % \end{tabular} % % \section{Cómo usar} % % \DescribeMacro{\documentclass} % Esta clase se usa de la forma usual. % Dentro del comando estándar |\documentclass| % se indica la clase de documento \textsf{articleingud} % en la siguiente forma % \begin{verbatim} % \documentclass[]{articleingud} % \end{verbatim} % Las || posibles en esta clase de % documento se presentan en la siguiente sección. % % \section{Opciones} % % \subsection{Tamaño de papel} % % \DescribeMacro{a4paper} % (Opción estándar) % Establece el tamaño del papel en A4 (297~mm x 210~mm).\\ % \DescribeMacro{a5paper} % (Opción estándar) % Establece el tamaño del papel en A5 (210~mm x 148~mm).\\ % \DescribeMacro{b5paper} % (Opción estándar) % Establece el tamaño del papel en B5 (250~mm x 176~mm).\\ % \DescribeMacro{ingudpaper} % Establece el tamaño del papel en el tamaño adecuado usado % por la revista INGENIERIA (240~mm x 170~mm).\\ % \DescribeMacro{letterpaper} % (Opción estándar por defecto). % Establece el tamaño del papel en % carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\ % \DescribeMacro{legalpaper} % (Opción estándar) % Establece el tamaño del papel en % oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\ % \DescribeMacro{executivepaper} % (Opción estándar) % Establece el tamaño del papel en % ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm). % % \subsection{Orientación del papel} % % \DescribeMacro{landscape} % (Opción estándar) % Invierte la orientación del papel a horizontal.\\ % \DescribeMacro{portrait} % (Opción estándar por defecto). % Invierte la orientación del papel a vertical. % % \subsection{Tamaño de letra} % % \DescribeMacro{10pt} % (Opción estándar por defecto). % Establece el tamaño de letra en 10~pt.\\ % \DescribeMacro{11pt} % (Opción estándar) % Establece el tamaño de letra en 11~pt.\\ % \DescribeMacro{12pt} % (Opción estándar) % Establece el tamaño de letra en 12~pt. % % \subsection{Impresión por una o ambas caras} % % \DescribeMacro{oneside} % (Opción estándar defecto). % Establece la impresión del artículo % por una cara de la hoja de papel.\\ % \DescribeMacro{twoside} % (Opción estándar) % Establece la impresión del artículo % por ambas caras de la hoja de papel. % % \subsection{Versión final o borrador del artículo} % % \DescribeMacro{draft} % (Opción estándar) % Establece el artículo como una versión en borrador.\\ % \DescribeMacro{final} % (Opción estándar por defecto). % Establece el artículo como la versión final. % % \subsection{Impresión a una y dos columnas} % % \DescribeMacro{onecolumn} % (Opción estándar por defecto) % Establece el artículo en modo de una columna.\\ % \DescribeMacro{twocolumn} % (Opción estándar) % Establece el artículo en modo de dos columnas. % % \subsection{Numeración de ecuaciones} % % \DescribeMacro{leqno} % (Opción estándar) % Establece la numeración de las ecuaciones con el número % a la izquierda. La numeración con el número a la derecha es la % opción por defecto. % % \subsection{Justificación de ecuaciones} % % \DescribeMacro{fleqn} % (Opción estándar) % Establece la justificación de las ecuaciones % a la izquierda. La opción por defecto es mostrar las % ecuaciones centradas. % % \subsection{Estilo de bibliografía} % % \DescribeMacro{openbib} % (Opción estándar) % Establece el estilo de la bibliografía en ``abierto''. % La opción por defecto es una bibliografía ``cerrada'' % % \subsection{Revisión por pares} % % \DescribeMacro{peerreview} % Establece la clase de documento para revisión % por pares. Desactiva varias de las opciones % donde se imprime el nombre y afiliación de % los autores para mantener confidencialidad % en el proceso de revisión. % % \subsection{Información de autores} % % \DescribeMacro{rightcolauthor} % Ubica a la derecha la columna de información de los % autores que queda ubicada en la primera página. % La columna se ubica por defecto a la izquierda. % % \section{Estructura de un documento} % % Esta clase de documento es derivada de la clase estándar % \textsf{article}, sin embargo, un artículo escrito % con la clase \textsf{articleingud} debería % tener la siguiente estructura\footnote{% % Ver los archivos de plantilla % \filename{template.tex} para artículo en inglés y % \filename{plantilla.tex} para artículo en español.}. % % \subsection{Inicio del archivo fuente} % % Como es costumbre, el primer comando a especificar % es |\documentclass|. % Especifique dentro de su argumento obligatorio el % nombre de la clase \textsf{articleingud}. % % \begin{macrocode} %<*tmpls|tmple> \documentclass[ingudpaper]{articleingud} % \end{macrocode} % % \subsection{Opciones de la clase} % % El siguiente conjunto de opciones se tienen % para poderlas especificar dentro del argumento opcional de % |\documentclass|. % % \begin{macrocode} %<*tmpls> %%---------------------------------------------------------- %% OPCIONES %%---------------------------------------------------------- %% Use las siguientes opciones en %% \documentclass[]{articleingud} %% %% -- Tamaño de letra: 10pt (valor por defecto), %% 11pt, %% 12pt %% -- Tipo de papel: letterpaper (valor por defecto), %% a4paper, %% a5paper, %% b5paper, %% ingudpaper, %% legalpaper, %% executivepaper %% -- Orientación: portrait (valor por defecto) %% landscape %% -- Impresión: oneside (valor por defecto), %% twoside %% -- Calidad: final (valor por defecto), %% draft %% -- Columnas: onecolumn (valor por defecto), %% twocolumn %% -- Revisión por pares: peerreview %% -- Ubicación columna de información de autores (por defecto a la izquierda): %% rightcolauthor (a la derecha) %% -- Numeración de ecuaciones (numeración por defecto a la derecha): %% leqno (numeración a la izquierda) %% -- Justificación de ecuaciones (por defecto se centran): %% fleqn (justificadas a la izquierda) %% -- Estilo de bibliografía (por defecto el estilo es cerrado): %% openbib % %<*tmple> %%---------------------------------------------------------- %% OPTIONS %%---------------------------------------------------------- %% Use the following options in %% \documentclass[]{articleingud} %% %% -- Point size: 10pt (default), %% 11pt, %% 12pt %% -- Paper size: letterpaper (default), %% a4paper, %% a5paper, %% b5paper, %% ingudpaper, %% legalpaper, %% executivepaper %% -- Orientation: portrait (default) %% landscape %% -- Print size: oneside (default), %% twoside %% -- Quality: final (default), %% draft %% -- Columns: onecolumn (default), %% twocolumn %% -- peer review: peerreview %% -- Position of the author's column (left is the default): %% rightcolauthor (right) %% -- Equation numbering (equation numbers on %% the right is the default): %% leqno %% -- Displayed equations (centered is the default): %% fleqn (equations start at the same %% distance from the right side) %% -- Open bibliography style (closed is the default): %% openbib % % \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 ------------------------------- % %<*tmple> %%---------------------------------------------------------- %% PREAMBLE %%---------------------------------------------------------- %% %% ...Here you can load packages with \usepackage %% and make (re)definitions with %% \newcommand, \renewcommand, \newenvironment, %% \renewenvironment, etc, ... %% %%----------------- PACKAGES ------------------------------- % %\usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{graphicx} \usepackage[tight,footnotesize]{subfigure} \usepackage{cite} %<*tmple> %%----------------- (RE)DEFINITIONS------------------------ % %<*tmpls> %%----------------- (RE)DEFINICIONES------------------------ \renewcommand{\figurename}{Figura} \renewcommand{\tablename}{Tabla} \renewcommand{\refname}{Referencias} \renewcommand{\appendixname}{Ap\'endices} % % \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 %%---------------------------------------------------------- % %<*tmple> %%---------------------------------------------------------- %% DOCUMENT %%---------------------------------------------------------- % \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 %%---------------------------------------------------------- % %<*tmple> %%---------------------------------------------------------- %% PAPER'S INFORMATION %%---------------------------------------------------------- % % \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 % %<*tmpls> [Título corto]%<-- Argumento opcional (título en la cabecera) {Título principal}%<-- Argumento obligatorio {Título secundario}%<-- Argumento obligatorio % % \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 % %<*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 % % \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 % %<*tmple> {Received: dd-mm-yyyy\\ Modified: dd-mm-yyyy\\ Accepted: dd-mm-yyyy}%<-- Mandatory argument % % \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 % %<*tmple> {Cite: Author 1, Author 2,..., Author n. (20XX). Main title. In: Ingenier\'{\i}a, Vol. WW, No. XX, pp. YY--ZZ}%<-- Cite % % \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) % %<*tmple> {1}%<-- Volume of the review (only the number) % % \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) % %<*tmple> {1}%<-- Number of the review (only the number) % % \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) % %<*tmple> {1}%<-- Initial page of the paper (only the number) % % \end{macrocode} % % \subsection{Impresión de la información del documento} % \label{subsub:ImpresionTitulo} % % El comando |\maketitle| realiza la impresión de la información % especificada con los comandos anteriores. % Contrario a su contraparte estándar, |\maketitle| necesita % se terminado con el comando |\endmaketitle|, donde este último % siempre forzará iniciar una nueva página. % % El uso de este comando es como sigue: % \begin{verbatim} % \maketitle % ...Texto y otros comandos... % \endmaketitle % \end{verbatim} % Todo el texto encerrado entre |\maketitle| y |\endmaketitle| % es puesto en modo de una (1) columna y con una margen más estrecha % de la normal. % Es deseable que todo el contenido entre estos dos comandos % se encuentre ubicado en una sóla página (usualmente la primera). % Desafortunadamente no existe una forma automática para hacer esto, % así que |\endmaketitle| debe ser ubicado de forma manual % por ensayo y error. % % \textbf{Sugerencia:} Se puede ubicar el comando |\endmaketitle| % en un lugar del código donde se conozca que se obtendrá más % de una página de texto en el documento final. % Luego buscar el lugar exacto donde \TeX{} % rompió la página y reubicar el comando |\endmaketitle| % en este sitio. % Aquí pueden ocurrir dos casos: % \begin{enumerate} % \item \TeX{} rompe la página entre dos párrafos. % \item \TeX{} rompe la página en medio de un párrafo. % \end{enumerate} % % En el primer caso se debe ubicar |\endmaketitle| % al final del primer párrafo y dejando una línea en blanco % después de |\endmaketitle| para indicarle a \TeX{} % la distinción entre los dos párrafos. % Por ejemplo: % \begin{verbatim} % ...este es el texto que finaliza el primer párrafo. % Despues del comando se debe dejar una línea % de texto en blanco. % \endmaketitle % % Texto de inicio del segundo párrafo. % Este texto iniciará en una nueva página... % \end{verbatim} % % En el segundo caso se debe ubicar |\endmaketitle| % en la mitad del párrafo con % los comandos |\parfillskip=0pt\par| justo antes y % |\noindent| justo después, en la forma: % \begin{verbatim} % ...este es el texto del párrafo antes de que TeX rompe la página % \parfillskip=0pt\par % \endmaketitle % \noindent % y este es el texto del párrafo después de que TeX rompe la página... % \end{verbatim} % El efecto de |\parfillskip=0pt| es forzar a \TeX{} % a finalizar la primera parte del párrafo % justo al extremo derecho de la margen, % mientras que |\noindent| evita que exista una sangría % al inicio de la siguiente parte del párrafo. % |\par| inicia el nuevo párrafo. % % \begin{macrocode} %<*tmpls> \maketitle%<-- Debe ser terminado con \endmaketitle % %<*tmple> \maketitle%<-- It should be finished with \endmaketitle % % \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} % %<*tmple> %%---------------------------------------------------------- %% ABSTRACT %%---------------------------------------------------------- \begin{abstract} ...The abstract of your paper goes here... \end{abstract} % % \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} % %<*tmple> %%---------------------------------------------------------- %% KEY WORDS %%---------------------------------------------------------- \begin{INGUDkeywords} ...List of key words... \end{INGUDkeywords} % % \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} % %<*tmple> %%---------------------------------------------------------- %% RESUMEN %%---------------------------------------------------------- \renewcommand{\abstractname}{Resumen} \begin{abstract} ...El resumen del art\'{\i}culo va aqu\'{\i}... \end{abstract} % % \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} % %<*tmple> %%---------------------------------------------------------- %% PALABRAS CLAVES %%---------------------------------------------------------- \renewcommand{\INGUDkeywordsname}{Palabras claves} \begin{INGUDkeywords} ...Lista de palabras claves... \end{INGUDkeywords} % % \end{macrocode} % % \subsection{Finalización de impresión del título del documento} % % El comando |\endmaketitle| no tiene que ir necesariamente % en este punto. Ver la sección \ref{subsub:ImpresionTitulo} % para más detalles. % % \begin{macrocode} %<*tmpls> %% Nota: Si TeX rompe la página en medio de un párrafo usar: %% '\parfillskip=0pt\par\endmaketitle\noindent', %% en otro caso '\endmaketitle' \endmaketitle%<-- Necesario. Finaliza \maketitle e inicia nueva página. % %<*tmple> %% Note: if TeX breaks the page in the middle of a paragraph, please use %% '\parfillskip=0pt\par\endmaketitle\noindent', %% otherwise '\endmaketitle' \endmaketitle%<-- Needed. This command finishes \maketitle and begins a new page % % \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... % %<*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... % % \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... % %<*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... % % \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... % %<*tmple> %%---------------------------------------------------------- %% ACKNOWLEDGMENTS %%---------------------------------------------------------- \section*{Acknowledgment}%<-- It should be used \section* ...Acknowledgment of your paper... % % \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 % %<*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 % % \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). % %<*tmple> \bibliographystyle{plain}%<-- Style's file (*.bst). % % \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} % %<*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} % \end{document} % % \end{macrocode} % % \section{Implementación} % % \subsection{Identificación de la clase} % % \begin{macro}{\NeedsTeXFormat} % \begin{macro}{\ProvidesClass} % % La clase de documento \textsf{articleingud} % se creó para usarse con \LaTeXe. % Con versiones anteriores de \LaTeX{} % no se garantiza la compatibilidad. % % \begin{macrocode} %<*cls> \NeedsTeXFormat{LaTeX2e}% \ProvidesClass{articleingud}% [2012/11/10 v0.2 Article for INGENIERIA UD]% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{Preliminares} % % \begin{macro}{\ifINGUD@peerreview} % % Cuando el artículo se encuentra en proceso de revisión % por pares es necesario activar o desactivar % ciertas características de la clase. Por ejemplo, % imprimir o no el nombre de los autores % para mantener la confidencialidad % entre autores y revisores. % |\ifINGUD@peerreview| se usa con este propósito. % Por defecto inicia en |false| y se pone en % |true| cuando se especifica la opción % |peerreview|. % % \begin{macrocode} \newif\ifINGUD@peerreview\INGUD@peerreviewfalse % \end{macrocode} % \end{macro} % % \begin{macro}{\ifINGUD@ingudpapersize} % \changes{v0.2}{2012/11/10}{Agregada nueva macro} % % Este comando es necesario % para especificar el tamaño de papel usado % por la revista INGENIERIA cuando el usuario especifica % la opción |ingudpaper|. % % \begin{macrocode} \newif\ifINGUD@ingudpapersize\INGUD@ingudpapersizefalse % \end{macrocode} % \end{macro} % % \begin{macro}{\ifINGUD@rightcolauthor} % \changes{v0.2}{2012/11/10}{Agregada nueva macro} % % Este comando es necesario % para posicionar a la derecha la columna de información de % los autores que está en la primera página cuando el usuario especifica % la opción |rightcolauthor|. % Por defecto se pone a la izquierda. % % \begin{macrocode} \newif\ifINGUD@rightcolauthor\INGUD@rightcolauthorfalse % \end{macrocode} % \end{macro} % % \begin{macro}{\ifINGUD@endofbiography} % % En el ambiente |biography|, en el que se escriben las % biografías de los autores, es necesario identificar cuándo % se termina de imprimir la biografía. % |\ifINGUD@endofbiography| se usa con el propósito de % determinar el momento en que el comando |\INGUD@searchpar|, % el cual ayuda a poner la sangría de párrafo adecuada cuando % existe una fotografía, debe dejar de operar. % Por defecto inicia en |true| dado que la biografía ya terminó!!! % % \begin{macrocode} \newif\ifINGUD@endofbiography\INGUD@endofbiographytrue % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@internalmargin} % \begin{macro}{\INGUD@externalmargin} % \begin{macro}{\INGUD@topmargin} % \begin{macro}{\INGUD@bottommargin} % \begin{macro}{\INGUD@headmargin} % \begin{macro}{\INGUD@footmargin} % % Estos comandos establecen las márgenes del artículo. % Todas se miden respecto al borde de la hoja más cercano. % Todas estas dimensiones se declaran con |\newcommand| % dado que no es necesario definir registros % de longitud para guardarlas. % Por este motivo, cualquier redefinición debe % hacerse con |\renewcommand|. % Esto ahorra registros de longitud que pueden % ser usados por algunos paquetes. % % |\INGUD@internalmargin| es la margen interna (impresión por % ambas caras) o margen izquierda (impresión por una cara). % % |\INGUD@externalmargin| es la margen externa (impresión por % ambas caras) o margen derecha (impresión por una cara). % % |\INGUD@topmargin| es la margen superior del texto principal % medida desde el borde de la hoja. % % |\INGUD@bottommargin| es la margen inferior del texto principal % medida desde el borde de la hoja. % % |\INGUD@headmargin| es la margen superior de la cabecera % del artículo medida desde el borde de la hoja. % % |\INGUD@footmargin| es la margen inferior del pie de la página % del artículo medida desde el borde de la hoja. % % \begin{macrocode} \newcommand{\INGUD@internalmargin}{21mm}% \newcommand{\INGUD@externalmargin}{18mm}% \newcommand{\INGUD@topmargin}{18mm}% \newcommand{\INGUD@bottommargin}{18mm}% \newcommand{\INGUD@headmargin}{5mm}% \newcommand{\INGUD@footmargin}{9mm}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\INGUD@photosep} % % |\INGUD@photosep| establece la separación de la fotografía de % los autores del correspondiente % texto de la biografía dentro del ambiente |biography|. % Se define con |\newcommand| y debe redefinirse con |\renewcommand|. % Por defecto se establece en |5pt|. % % \begin{macrocode} \newcommand{\INGUD@photosep}{5\p@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@colauthorinfosep} % \begin{macro}{\INGUD@colauthorinfowidth} % % La primera página del artículo tiene una apariencia % diferente a la del resto. En la primera página % se crea un par de columnas asimétricas. La primera de ella contiene % la información de los autores del artículo y la fecha de % recepción, modificación y aceptación del artículo. % |\INGUD@colauthorinfowidth| mide el ancho de esta primera columna y % |\INGUD@colauthorinfosep| su separación respecto a la segunda. % Estos valores se deberían establecer como un porcentaje % del ancho del texto |\textwidth|. % % \begin{macrocode} \newcommand{\INGUD@colauthorinfosep}{\columnsep}% \newcommand{\INGUD@colauthorinfowidth}{0.3\textwidth}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\INGUD@reviewname} % \begin{macro}{\INGUD@reviewvolume} % \begin{macro}{\INGUD@reviewnumber} % \begin{macro}{\INGUD@reviewissn} % \begin{macro}{\INGUD@udname} % \begin{macro}{\INGUD@separator} % % Estos comandos contienen la información de la revista % así como del número, volumen e ISSN de la publicación. % Se debería usar siempre letras en minúscula % y dar el formato adecuado donde sea necesario. % % |\INGUD@reviewname| es el nombre de la revista, % en este caso INGENIERIA. % % |\INGUD@reviewvolume| es el volumen de la revista. Se resuelve a % vacío dado que será cambiado en el momento de la edición % del artículo. Debería contener solamente el número, por ejemplo % ``2'', ``3'', ``4'',... % % |\INGUD@reviewnumber| es el número de la revista. Se resuelve a % vacío dado que será cambiado en el momento de la edición % del artículo. Debería contener solamente el número, por ejemplo % ``2'', ``3'', ``4'',... % % |\INGUD@reviewissn| es el número de ISSN de la revista. % Este número no cambia mucho. Si se desea hacerlo, % debe hacerse con |\renewcommand|. % % |\INGUD@udname| es el nombre de la universidad. % Este nombre tampoco cambia mucho. Se se desea hacerlo, % debe hacerse con |\renewcommand|. % % |\INGUD@separator| es un caracter de separación % para dar formato a la información de la revista en la cabecera % y pie de página del artículo. % % \begin{macrocode} \newcommand{\INGUD@reviewname}{ingenier\'\i a}% \newcommand{\INGUD@reviewvolume}{}% \newcommand{\INGUD@reviewnumber}{}% \newcommand{\INGUD@reviewissn}{0121-750x}% \newcommand{\INGUD@udname}{universidad distrital francisco jos\'e de caldas}% \newcommand{\INGUD@separator}{\hskip 2.5\p@ \@plus1\p@ \@minus 1\p@ $\scriptstyle\bullet$% \hskip 2.5\p@ \@plus 1\p@ \@minus 1\p@}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\INGUD@reviewinfo} % % \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{INGUD@reviewname}} % % |\INGUD@reviewinfo| contiene la información de la revista % que será impresa en el pie de página del documento. % Su definición es sencilla. Solamente es una cadena % con la información del nombre de la revista, % volumen actual, número actual, número de ISSN, % y nombre de la universidad si el artículo no es para % revisión por pares. % En caso contrario, solamente es una cadena con % el nombre de la revista, la palabra ``draft, paper for peer review'' % (borrador, artículo para revisión por pares) % y el nombre de la universidad. % Se le da formato al texto dentro de un grupo para % que sólo afecte a esta información. % % \begin{macrocode} \newcommand{\INGUD@reviewinfo}{% \begingroup \normalfont\scriptsize\scshape {\bfseries\INGUD@reviewname}\INGUD@separator \ifINGUD@peerreview draft, paper for peer review \INGUD@separator \else vol.\kern 1\p@ \INGUD@reviewvolume \INGUD@separator no.\kern 1\p@ \INGUD@reviewnumber \INGUD@separator issn\kern 1\p@ \INGUD@reviewissn \INGUD@separator \fi \INGUD@udname \endgroup}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@authorinfo} % % |\INGUD@authorinfo| contiene la información de los autores % que será impresa en la cabecera del documento. % Resuelve a vacío dado que será cambiada en el % momento de la edición del artículo. % % \begin{macrocode} \newcommand{\INGUD@authorinfo}{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@paperinfo} % % |\INGUD@paperinfo| contiene la información del artículo % (por ejemplo título o subtítulo) que será impresa % en la cabecera del documento. % Resuelve a vacío dado que será cambiada en el % momento de la edición del artículo. % % \begin{macrocode} \newcommand{\INGUD@paperinfo}{}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@secondtitle} % % |\INGUD@secondtitle| contiene la información del % título secundario dado al artículo (generalmente en otro idioma) % y que será establecida por el comando |\title|. % Por ahora se define para generar un mensaje de error. % % \begin{macrocode} \newcommand{\INGUD@secondtitle}{% \ClassError{articleingud}% {No \noexpand\title given}% {See documentation for details}}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@citeinfo} % % |\INGUD@citeinfo| contiene la información de la cita % que debe hacerse al presente artículo. Esta información % se pone en la primera página con el fin de informar % al lector la manera correcta de citar el presente artículo. % Esta información se establece con el comando |\INGUDsetciteinfo|. % Por ahora se define para generar un mensaje de error. % % \begin{macrocode} \newcommand{\INGUD@citeinfo}{% \ClassError{articleingud}% {No \noexpand\INGUDsetciteinfo given}% {See documentation for details}}% % \end{macrocode} % \end{macro} % % \subsection{Opciones} % % \subsubsection{Tamaño de papel} % % \DescribeMacro{a4paper} % (Opción estándar) % Establece el tamaño del papel en A4 (297~mm x 210~mm).\\ % \DescribeMacro{a5paper} % (Opción estándar) % Establece el tamaño del papel en A5 (210~mm x 148~mm).\\ % \DescribeMacro{b5paper} % (Opción estándar) % Establece el tamaño del papel en B5 (250~mm x 176~mm).\\ % \DescribeMacro{ingudpaper} % Establece el tamaño del papel que usa la revista INGENIERIA % (240~mm x 170~mm).\\ % \changes{v0.2}{2012/11/10}{Agregada nueva opción de tamaño de papel ingudpaper} % \begin{macrocode} \DeclareOption{ingudpaper}{% \global\INGUD@ingudpapersizetrue}% % \end{macrocode} % \DescribeMacro{letterpaper} % (Opción estándar por defecto). % Establece el tamaño del papel en % carta (11~in x 8.5~in = 279.4~mm x 215.9~mm).\\ % \DescribeMacro{legalpaper} % (Opción estándar) % Establece el tamaño del papel en % oficio (14~in x 8.5~in = 355.6~mm x 215.9~mm).\\ % \DescribeMacro{executivepaper} % (Opción estándar) % Establece el tamaño del papel en % ejecutivo (10.5~in x 7.25~in = 266.7~mm x 184.15~mm). % % \subsubsection{Orientación del papel} % % \DescribeMacro{landscape} % (Opción estándar) % Invierte la orientación del papel a horizontal.\\ % \DescribeMacro{portrait} % (Opción estándar por defecto). % Invierte la orientación del papel a vertical. % % \subsubsection{Tamaño de letra} % % \DescribeMacro{10pt} % (Opción estándar por defecto). % Establece el tamaño de letra en 10~pt.\\ % \DescribeMacro{11pt} % (Opción estándar) % Establece el tamaño de letra en 11~pt.\\ % \DescribeMacro{12pt} % (Opción estándar) % Establece el tamaño de letra en 12~pt. % % \subsubsection{Impresión por una o ambas caras} % % \DescribeMacro{oneside} % (Opción estándar defecto). % Establece la impresión del artículo % por una cara de la hoja de papel.\\ % \DescribeMacro{twoside} % (Opción estándar) % Establece la impresión del artículo % por ambas caras de la hoja de papel. % % \subsubsection{Versión final o borrador del artículo} % % \DescribeMacro{draft} % (Opción estándar) % Establece el artículo como una versión en borrador.\\ % \DescribeMacro{final} % (Opción estándar por defecto). % Establece el artículo como la versión final. % % \subsubsection{Página de título} % % \DescribeMacro{titlepage} % (Opción estándar no usada). % Esta opción es usada por la clase estándar % \textsf{article}, pero \textsf{articleingud} % no hace uso de esta opción. % % \begin{macrocode} \DeclareOption{titlepage}{% \OptionNotUsed \ClassError{articleingud}% {Unused option `\CurrentOption'}% {See documentation for details}}% % \end{macrocode} % % \noindent % \DescribeMacro{notitlepage} % (Opción estándar no usada). % Esta opción es usada por la clase estándar % \textsf{article}, pero \textsf{articleingud} % no hace uso de esta opción. % % \begin{macrocode} \DeclareOption{notitlepage}{% \OptionNotUsed \ClassError{articleingud}% {Unused option `\CurrentOption'}% {See documentation for details}}% % \end{macrocode} % % \subsubsection{Impresión a dos columnas} % % \DescribeMacro{onecolumn} % (Opción estándar por defecto) % Establece el artículo en modo de una columna.\\ % \DescribeMacro{twocolumn} % (Opción estándar) % Establece el artículo en modo de dos columnas. % % \subsubsection{Numeración de ecuaciones} % % \DescribeMacro{leqno} % (Opción estándar) % Establece la numeración de las ecuaciones con el número % a la izquierda. La numeración con el número a la derecha es la % opción por defecto. % % \subsubsection{Justificación de ecuaciones} % % \DescribeMacro{fleqn} % (Opción estándar) % Establece la justificación de las ecuaciones % a la izquierda. La opción por defecto es mostrar las % ecuaciones centradas. % % \subsubsection{Estilo de bibliografía} % % \DescribeMacro{openbib} % (Opción estándar) % Establece el estilo de la bibliografía en ``abierto''. % La opción por defecto es una bibliografía ``cerrada'' % % \subsubsection{Revisión por pares} % % \begin{macro}{peerreview} % % La opción |peereview| se usa durante el proceso % de revisión por pares. Solamente pone en |true| % a |\ifINGUD@peerreview|. % % \begin{macrocode} \DeclareOption{peerreview}{% \global\INGUD@peerreviewtrue}% % \end{macrocode} % \end{macro} % % \subsubsection{Información de autores} % % \begin{macro}{rightcolauthor} % % \changes{v0.2}{2012/11/10}{Agregada nueva opción} % % Esta opción ubica a la derecha la columna de información de los % autores que queda ubicada en la primera página. % La columna se ubica por defecto a la izquierda. % % \begin{macrocode} \DeclareOption{rightcolauthor}{% \global\INGUD@rightcolauthortrue}% % \end{macrocode} % \end{macro} % % \subsubsection{Opciones por defecto} % % Todas las opciones que no declara la clase \textsf{articleingud} % se pasan a la clase estándar \textsf{article}. % % \begin{macrocode} \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{article}}% % \end{macrocode} % % \subsubsection{Procesamiento de opciones y carga de la clase estándar} % % Ahora se procesan las opciones que % el usuario ha especificado y se carga la clase % \textsf{article} que forma la base para % \textsf{articleingud}. % % \begin{macrocode} \ProcessOptions\relax \LoadClass{article}% % \end{macrocode} % % \subsection{Márgenes} % % \begin{macro}{\paperheight} % \changes{v0.2}{2012/11/10}{Modificado \cs{paperheight} % si se especifica la opción ingudpaper % usando la macro \cs{INGUD@ingudpapersize}} % \begin{macro}{\paperwidth} % \changes{v0.2}{2012/11/10}{Modificado \cs{paperwidth} % si se especifica la opción ingudpaper % usando la macro \cs{INGUD@ingudpapersize}} % % En caso que el usuario haya especificado la % opción |ingudpaper|, se cambia el tamaño del papel % en que será impreso el artículo usando el % definido por la revista INGENIERIA. % Es necesario agregar un |\special| al archivo DVI % que contiene la información del tamaño del artículo % para forzar que todos los programas que utilizan el % |*.dvi| puedan interpretar correctamente su tamaño. % % % \begin{macrocode} \ifINGUD@ingudpapersize \setlength{\paperheight}{240mm}% \setlength{\paperwidth}{170mm}% \AtBeginDvi{\special{papersize=170mm,240mm}}% \fi % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\headheight} % % La altura de la cabecera |\headheight| se establece % por defecto en |24pt|. Este es el doble del tamaño más grande % de letra permitido en el artículo. % % \begin{macrocode} \setlength{\headheight}{24\p@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\voffset} % % La longitud |\voffset| se establece por defecto en |0pt|. % De esta forma la línea imaginaria unicada a |1in+\voffset| % del borde superior de la hoja queda ubicada a |1in|. % % \begin{macrocode} \setlength{\voffset}{\z@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\headsep} % % La separación de la cabecera del documento (donde se pone información % del artículo) respecto al texto principal es |\headsep|. % Esta distancia debe cumplir con la ecuación % |\INGUD@headmargin+\headheight+\headsep=\INGUD@topmargin|. % % \begin{macrocode} \setlength{\headsep}{\INGUD@topmargin}% \addtolength{\headsep}{-\INGUD@headmargin}% \addtolength{\headsep}{-\headheight}% % \end{macrocode} % \end{macro} % % \begin{macro}{\textheight} % % La altura del texto principal del artículo (incluyendo % pies de página) debe cumplir % |\INGUD@topmargin+\textheight+\INGUD@bottommargin=\paperheight|. % La dimensión |\paperheight| refleja el tamaño real del % papel donde se imprime el artículo. % |\textheight| se calcula para que cumpla esta ecuación. % % \begin{macrocode} \setlength{\textheight}{\paperheight}% \addtolength{\textheight}{-\INGUD@topmargin}% \addtolength{\textheight}{-\INGUD@bottommargin}% % \end{macrocode} % \end{macro} % % \begin{macro}{\footskip} % % La separación del borde inferior del pie de la % página al borde inferior del texto principal está dado % por |\footskip|. Esta dimensión cumple con la ecuación % |\INGUD@footmargin+\footskip=\INGUD@bottommargin|. % % \begin{macrocode} \setlength{\footskip}{\INGUD@bottommargin}% \addtolength{\footskip}{-\INGUD@footmargin}% % \end{macrocode} % \end{macro} % % \begin{macro}{\topmargin} % % La línea horizontal imaginaria ubicada a |1in+\voffset| está separada % del borde superior de la cabecera por |\topmargin|. % Esta última dimensión se calcula para que cumpla la % ecuación |1in+\voffset+\topmargin=\INGUD@headmargin|, % de esta manera la línea imaginaria queda ubicada al inicio del % borde superior del inicio de la cabecera. % % \begin{macrocode} \setlength{\topmargin}{\INGUD@headmargin}% \addtolength{\topmargin}{-1in}% \addtolength{\topmargin}{-\voffset}% % \end{macrocode} % \end{macro} % % \begin{macro}{\hoffset} % % La longitud |\hoffset| se establece por defecto en |0pt|. % La línea vertical ubicada en |1in+\hoffset| del borde izquierdo de % la hoja queda ubicada a |1in|. % % \begin{macrocode} \setlength{\hoffset}{\z@}% % \end{macrocode} % \end{macro} % % \begin{macro}{\oddsidemargin} % \begin{macro}{\evensidemargin} % % La longitud |\oddsidemargin| establece las márgenes % izquierdas (impresión por una sola cara) o márgenes % internas (impresión por ambas caras) para las % páginas numeradas impar. % Esta dimensión debe cumplir con la ecuación % |1in+\hoffset+\oddsidemargin=\INGUD@internalmargin|. % |\evensidemargin| es análoga pero para páginas % numeradas par. Debe cumplir con la ecuación % |1in+\hoffset+\evensidemargin=\INGUD@externalmargin|. % % \begin{macrocode} \setlength{\oddsidemargin}{\INGUD@internalmargin}% \addtolength{\oddsidemargin}{-1in}% \addtolength{\oddsidemargin}{-\hoffset}% \setlength{\evensidemargin}{\INGUD@externalmargin}% \addtolength{\evensidemargin}{-1in}% \addtolength{\evensidemargin}{-\hoffset}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\textwidth} % % El ancho del texto principal (sin incluir las notas al margen % que se imprimen con |\marginpar|) está dado por |\textwidth|. % Esta dimensión debe cumplir con % |\INGUD@internalmargin+\textwidth+\INGUD@externalmargin=\paperwidth|. % % \begin{macrocode} \setlength{\textwidth}{\paperwidth}% \addtolength{\textwidth}{-\INGUD@internalmargin}% \addtolength{\textwidth}{-\INGUD@externalmargin}% % \end{macrocode} % \end{macro} % % \begin{macro}{\columnsep} % \begin{macro}{\columnseprule} % % La separación entre columnas |\columnsep| en modo de % dos columnas se establece por defecto a |5mm|. % El ancho de la línea de separación |\columnseprule| % se establece en |0pt| (línea invisible). % % \begin{macrocode} \setlength{\columnsep}{5mm}% \setlength{\columnseprule}{\z@}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\marginparpush} % \begin{macro}{\marginparwidth} % \begin{macro}{\marginparsep} % % Las notas al margen no se usan en esta clase de % documento. Las dimensiones |\marginparpush|, % |\marginparwidth| y |\marginparsep| se comentan por ahora. % % \begin{macrocode} %^^A\setlength{\marginparpush}{\z@}% %^^A\setlength{\marginparwidth}{\z@}% %^^A\setlength{\marginparsep}{\z@}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Párrafos} % % \begin{macro}{\parskip} % \begin{macro}{\parindent} % % El espacio entre párrafos |\parskip| se establece % en |0pt| dado que se usa sangría para diferenciar cada % uno de ellos. % La sangría de párrafo se establece en |3mm|. % % \begin{macrocode} \setlength{\parskip}{\z@}% \setlength{\parindent}{3mm}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\INGUD@hangcarryover} % % Este comando se basa en |\hangcarryover| % dado por Donald Knuth en ``The \TeX Book'' (pág. 316). % Introduce correctamente el valor apropiado % de |\hangafter| y |\hangindent| al inicio de cada párrafo % entre párrafos consecutivos para alojar un objeto % (por ejemplo una fotografía), dado que el efecto de % |\hangafter| y |\hangindent| sólo afecta al párrafo actual. % Este comando es necesario en el ambiente |biography| % cuando se usa una fotografía del autor para hacer que el texto de % la misma la rodee. % % \begin{macrocode} \newcommand{\INGUD@hangcarryover}{% \edef\INGUD@next{\hangafter=\the\hangafter \hangindent=\the\hangindent}% \par\INGUD@next \edef\INGUD@next{\prevgraf=\the\prevgraf}% \indent\INGUD@next}% % \end{macrocode} % \end{macro} % % \subsection{Información del artículo} % % \begin{macro}{\title} % \begin{macro}{\INGUD@titlei} % \begin{macro}{\INGUD@titleii} % % El comando |\title| se comporta de igual forma % que el comando estándar. A diferencia de su % contraparte estándar, puede recibir tres argumentos: % el primero opcional, y el segundo y tercero son % obligatorios. % Su uso se debe hacer en las formas % |\title[titulo corto]{titulo largo}{titulo secundario}| o % |\title{titulo largo}{titulo secundario}|. % Cuando se usa en su primera forma. % la información de |titulo corto| se pone en la % cabecera del documento, |titulo largo| % corresponde al título principal del artículo y % |titulo secundario| especifica un segundo título % (generalmente en otro idioma). % Si se usa en su segunda forma, % |titulo largo| se pone como título % principal y en la cabecera del documento, % y |titulo secundario| sigue funcionando en la misma forma. % % |\title| llama a |\INGUD@titlei| o % |\INGUD@titleii| dependiendo si se ha especificado % el argumento opcional. % % \begin{macrocode} \def\title{\@ifnextchar[\INGUD@titlei\INGUD@titleii}% % \end{macrocode} % % Si se usa % |\title[titulo corto]{titulo largo}{titulo secundario}|, % entonces se define |\INGUD@paperinfo| para que sea igual % al |titulo corto| que será impreso en la cabecera % del documento, se define |@title| para que sea % igual a |titulo largo| que será impreso % como título principal y se define |\INGUD@secondtitle| % para que sea usado como título secundario. % % \begin{macrocode} \def\INGUD@titlei[#1]#2#3{% \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}% \gdef\@title{#2}% \gdef\INGUD@secondtitle{#3}}% % \end{macrocode} % % Si se ha escrito |\title{titulo largo}{titulo secundario}|, % entonces se definen |\INGUD@paperinfo| y |@title| % para que contengan la misma información. % |\INGUD@secondtitle| sigue conteniendo el título % secundario. % % \begin{macrocode} \def\INGUD@titleii#1#2{% \gdef\INGUD@paperinfo{{\normalfont\footnotesize #1}}% \gdef\@title{#1}% \gdef\INGUD@secondtitle{#2}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\author} % \begin{macro}{\INGUD@authori} % \begin{macro}{\INGUD@authorii} % % El comando |\author| se comporta de igual forma % que el comando estándar. A diferencia de su % contraparte estándar, puede recibir dos argumentos: % el primero opcional y el segundo obligatorio. % Este comando se usa en la forma % |\author[nombre cortos]{nombres largos}| o |\title{nombres}|. % Cuando se usa en la forma % |\author[nombre cortos]{nombres largos}|, % la información de |nombre cortos| % se pone en la cabecera del documento y |nombres largos| % corresponde a los nombres (junto con las afilicaciones) % de los autores del artículo. % Si se usa |\author{nombres}| entonces |nombres| % se ponen en la cabecera y en la primera página del artículo. % % |\author| llama a |\INGUD@authori| o % |\INGUD@authorii| dependiendo si se ha especificado % el argumento opcional. % % \begin{macrocode} \def\author{\@ifnextchar[\INGUD@authori\INGUD@authorii}% % \end{macrocode} % % Si se especifica |\author[nombre cortos]{nombres largos}| % y la opción |peerreview| se ha declarado, % entonces |\INGUD@authorinfo| debe resolver a vacío. % % \begin{macrocode} \def\INGUD@authori[#1]#2{% \ifINGUD@peerreview \global\let\INGUD@authorinfo\@empty % \end{macrocode} % % Si se especifica |\author[nombre cortos]{nombres largos}| % y no se ha declarado la opción |peerreview|, % entonces se define |\INGUD@authorinfo| para que imprima % la información de los autores |nombre cortos| ignorando % lo que se haya puesto dentro de |thanks| (usualmente usado % para las afiliaciones) y se redefine localmente % |\and| para que sea igual al separador de |\INGUD@separator|. % |\\| se define para que se comporte igual a un espacio. % |\@author| se define para que corresponda a la información % completa de los autores en la primera página del artículo % incluida su afiliación. % % \begin{macrocode} \else \gdef\INGUD@authorinfo{\begingroup \normalfont\footnotesize \let\thanks\@gobble \let\and\INGUD@separator \let\\\space #1\relax \endgroup}% \fi \gdef\@author{#2}}% % \end{macrocode} % % Si se especifica |\author{nombres}| % y se tiene activa la opción |peerreview| % entonces |\INGUD@authorinfo| debe resolver a vacío % % \begin{macrocode} \def\INGUD@authorii#1{% \ifINGUD@peerreview \global\let\INGUD@authorinfo\@empty % \end{macrocode} % % Si se usa |\author{nombres}| % y no se ha especificado la opción |peerreview| % entonces se define |\INGUD@authorinfo| y |\@author| % para que tengan la misma información haciendo lo % mismo que en el caso anterior. % % \begin{macrocode} \else \gdef\INGUD@authorinfo{\begingroup \normalfont\footnotesize \let\thanks\@gobble \let\and\INGUD@separator \let\\\space #1\relax \endgroup}% \fi \gdef\@author{#1}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\date} % % El comando |\date| es necesario para establecer % la fecha del documento. Esta clase lo usa para % imprimir la fecha de recibido, modificación y % aceptación del artículo. Esto se hace % en el momento de la edición del artículo. % La definición estándar es suficiente por ahora % así que se comenta. % % \begin{macrocode} %^^A\newcommand*{\date}[1]{\gdef\@date{#1}}% %^^A\date{\today} % \end{macrocode} % \end{macro} % % \begin{macro}{\and} % % El comando |\and| tiene sentido sólo dentro del comando % |\author| para separar los diferentes autores del % artículo. Por ahora se define para introducir un espacio % vertical. % % \begin{macrocode} \renewcommand{\and}{\\[5\p@]}% % \end{macrocode} % \end{macro} % % \begin{macro}{\thanks} % \begin{macro}{\@thanks} % % El comando |\thanks| usualmente se usa para % agregar agradecimientos hacia una persona o institución % en la publicación de un determinado artículo. % Esta clase de documento lo usa para indicar las afiliaciones % de los diferentes autores del artículo, así que se debería % usar un comando |\thanks| por cada autor. % Su definición sólo crea un nuevo párrafo. % |\@thanks| se define para que resuelva a vacío dado que % esta clase de documento no lo usa. % % \begin{macrocode} \renewcommand{\thanks}[1]{\par #1}% \def\@thanks{}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{environment}{titlepage} % % Este ambiente se redefine para que resuelva % a vacío y no tenga algún efecto. % % \begin{macrocode} \renewenvironment{titlepage}{}{}% % \end{macrocode} % \end{environment} % % \begin{macro}{\INGUD@makeciteinfo} % % \changes{v0.2}{2012/11/10}{Modificada la justificación del texto. % Ahora depende de \cs{INGUD@rightcolauthor}} % % |\INGUD@makeciteinfo| se encarga de darle formato % a la información de la cita que se pone en % la cabecera de la primera página. % El texto se pone en un |\parbox| de ancho % |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth| % y altura |\headheight| % para poder crear varias líneas de texto. % Por ahora, el usuario debe introducir todo el texto de la cita. % % Primero se verifica si se ha declarado la opción % |peerreview|. Si es así, no se procede. % De lo contrario se establece |@tempdima| en el ancho deseado. % % \begin{macrocode} \newcommand{\INGUD@makeciteinfo}{% \ifINGUD@peerreview\else \@tempdima\textwidth \advance\@tempdima by -\INGUD@colauthorinfosep \advance\@tempdima by -\INGUD@colauthorinfowidth % \end{macrocode} % % Luego se crea un |\parbox| con las dimensiones % deseadas. % % \begin{macrocode} \parbox[b][\headheight][b]{\@tempdima}% % \end{macrocode} % % Dentro del |parbox| se configuran algunos % parámetros de párrafo para que sean locales. % La sangría de párrafo y el salto de párrafo % se ponen en |0pt|. El tamaño de letra % se pone en |\scriptsize|. % % \begin{macrocode} {\parskip\z@ \parindent\z@ \normalfont\scriptsize % \end{macrocode} % % Si el uruario especificó la opción |rightcolauthor| % se justifica a la derecha el texto. % % \begin{macrocode} \ifINGUD@rightcolauthor \raggedright % \end{macrocode} % % De lo contrario la justificación es a la izquierda. % % \begin{macrocode} \else \raggedleft \fi % \end{macrocode} % % Luego se imprime la información de la cita. % % \begin{macrocode} \INGUD@citeinfo}% \fi}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@makeauthorinfo} % % \changes{v0.2}{2012/11/10}{Modificada la justificación del texto. % Ahora depende de \cs{INGUD@rightcolauthor}} % % |\INGUD@makeauthorinfo| le da formato a la % información de los autores en la primera página % ubicada en una columna exclusivamente destinada para esto. % Toda la información se pone en un |\parbox| de % dimensiones nulas que se usa dentro del comando % |@oddhead| o |@evenhead| del estilo de página % |\ps@titlepageingud|. % % Lo primero que se hace es crear un |\hbox| de |0pt| % de ancho. Dentro se crea un |\vbox| de |0pt| de alto. % Se agrega un salto vertical de |\headsep| para % dar la apariencia de iniciar en la primera línea de texto de la % página. % % \begin{macrocode} \newcommand{\INGUD@makeauthorinfo}{% \hb@xt@\z@{\vbox to\z@{\vskip\headsep % \end{macrocode} % % El |\parbox| que se crea debe ser igual de alto a |\textheight| % e igual de ancho a |\INGUD@colauthorinfowidth|. % % \begin{macrocode} \parbox[t][\textheight][t]{\INGUD@colauthorinfowidth}% % \end{macrocode} % % Luego se cambian algunos parámetros de párrafo. % Se elige la justificación (izquierda o derecha) % adecuada dependiendo de la opción |rightcolauthor| % y se imprime la información de los autores % sólo si no se ha declarado la opción |peerreview|. % % \begin{macrocode} {\parskip\z@ \parindent\z@ \normalfont\scriptsize \ifINGUD@peerreview\else \ifINGUD@rightcolauthor \raggedright \else \raggedleft \fi \@author \fi % \end{macrocode} % % Se rellena con espacio en blanco. % % \begin{macrocode} \vfill % \end{macrocode} % % Se elige la justificación adecuada % para imprimir la información de la fecha. % % \begin{macrocode} \raggedright \@date}% % \end{macrocode} % % Al final del |\vbox| se introduce un |\hrule| % de dimensiones nulas para que la caja que contiene % toda la información tenga profundidad de |0pt|. % % \begin{macrocode} \hrule \@width\z@ \@depth\z@ \@height\z@}}% % \end{macrocode} % % Ahora se deshabilitan algunos comandos de usuario % que ya no tiene sentido declararlos dos veces. % % \begin{macrocode} \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\author\relax \global\let\date\relax \global\let\and\relax \global\let\thanks\relax}% % \end{macrocode} % \end{macro} % % \begin{macro}{\maketitle} % \begin{macro}{\endmaketitle} % % |\maketitle| se encarga de crear la página de título % del artículo. Contrario a su contraparte estándar, % se debe utilizar |\endmaketitle| para finalizar % este comando. % Todo lo que se encuentra entre |\maketitle| y % |\endmaketitle| será el contenido de la primera página. % Desafortunadamente no hay un mecanismo automático % para crear una página con dos columnas asimétricas, % es por eso que debe ajustarse |\enmaketitle| por % ensayo y error. % % Lo primero que se hace es crear un grupo y una nueva % página. Se evita que algún flotante quede % ubicado en la parte superior poniendo |\@topnum| % a cero y se usa el estilo de página % |\ps@titlepageingud| sólo para la página % actual. % % \begin{macrocode} \long\def\maketitle#1\endmaketitle{% \begingroup \newpage \global\@topnum\z@ \thispagestyle{titlepageingud}% % \end{macrocode} % % Ahora se ajusta el ancho de columna para % crear la apariencia de una segunda columna donde se % imprimirá el título (la primera columna ya fue creada con % |\INGUD@makeauthorinfo|). % |\textwidth| no cambia. |\columnwidth| se establece en % |\textwidth-\INGUD@colauthorinfosep-\INGUD@colauthorinfowidth|. % |\hsize| y |\linewidth| también se ponen a este valor. % |\@twocolumn| se pone en |\false| y |\col@number| se pone % en uno. % El valor de |\oddsidemargin| es cambiado por |\ps@titlepageingud|. % % \begin{macrocode} \columnwidth\textwidth \advance\columnwidth by -\INGUD@colauthorinfosep \advance\columnwidth by -\INGUD@colauthorinfowidth \hsize\columnwidth \linewidth\columnwidth \@twocolumnfalse \col@number \@ne % \end{macrocode} % % Ahora se evita el sangrado de la primera línea y se % imprime el título con el comando |\@maketitle|. % Todo lo que se encuentra entre |\maketitle| y % |\endmaketitle| (el argumento |#1|) se imprime en este punto % y se finaliza con |\endmaketitle|. % % \begin{macrocode} \noindent \@maketitle #1\endmaketitle % \end{macrocode} % % Se vacían algunos comandos internos que no se usarán % más, ahorrando algo de espacio en memoria. % % \begin{macrocode} \global\let\@title\@empty \global\let\INGUD@secondtitle\@empty \global\let\INGUD@citeinfo\@empty % \end{macrocode} % % Después de que el título se ha impreso, % es necesario desvanecer el efecto de los % comandos |\title|, |\author|, etc, dado % que sólo son necesarios una vez. % Al finalizar se cierra el grupo. % % \begin{macrocode} \global\let\maketitle\relax \global\let\endmaketitle\relax \global\let\INGUDsetciteinfo\relax \global\let\title\relax \global\let\INGUDsetvolume\relax \global\let\INGUDsetnumber\relax \global\let\INGUDsetinitialpage\relax \endgroup}% % \end{macrocode} % % |\endmaketitle| se define para iniciar una nueva % página. % % \begin{macrocode} \def\endmaketitle{\clearpage}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@maketitle} % % \changes{v0.2}{2012/11/10}{Cambiada justificación de texto. % Ahora depende de \cs{INGUD@rightcolauthor}} % % Este comando se encarga de darle formato al título % principal y título secundario del artículo. % % Primero se inicia un grupo para que los cambios sean locales % y se configuran algunos parámetros de párrafos y % de tipo de letra. El título se imprime con la justificación % (izquierda o derecha) correcta dependiendo de la opción % |rightcolauthor|. % % \begin{macrocode} \long\def\@maketitle{% \begingroup \ifINGUD@rightcolauthor \raggedleft \else \raggedright \fi \normalfont \parskip\z@ \parindent\z@ % \end{macrocode} % % Ahora se imprime el título en tamaño de % letra |\LARGE| y negrilla. % Se inicia un nuevo párrafo y se evita que % exista una ruptura de página en este lugar. % Al final se deja algo de espacio vertical % respecto al título secundario. % % \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis % para finalizar apropiadamente el párrafo % del título y evitar usar el \cs{baselineskip} % del texto normal. % Se cambió 1.5em de espaciamiento vertical por 1em} % % \begin{macrocode} {\LARGE\bfseries\@title\par\nobreak}% \vskip 1em% % \end{macrocode} % % Ahora se imprime el título secundario en tamaño de % letra |\Large|, negrilla y letra inclinada. % Se inicia un nuevo párrafo y se evita que % exista una ruptura de página en este lugar. % Al final se deja algo de espacio vertical. % % \changes{v0.2}{2012/11/10}{\cs{par}\cs{nobreak} se puso dentro del paréntesis % para finalizar apropiadamente el párrafo % del subtítulo y evitar usar el \cs{baselineskip} % del texto normal. Se eliminó 1.5em de espaciamiento vertical} % % \begin{macrocode} {\Large\bfseries\slshape\INGUD@secondtitle\par\nobreak}% \endgroup}% % \end{macrocode} % \end{macro} % % \subsection{Volumen, número, página inicial e información de cita} % % \begin{macro}{\INGUDsetvolume} % \begin{macro}{\INGUDsetnumber} % \begin{macro}{\INGUDsetinitialpage} % \begin{macro}{\INGUDsetciteinfo} % % Los comandos |\INGUDsetvolume|, |\INGUDsetnumber|, % |\INGUDsetinitialpage| y |\INGUDsetciteinfo| están % destinados para establecer el número de % volumen, el número de la revista, la página inicial del artículo % y la información de cita del mismo. % El argumento de los tres primeros debería ser solamente % el número, sin agregar ningún tipo de abreviatura % inicial como ``Vol.'', ``No.'' o ``pág''. % Por ahora el argumento de |\INGUDsetciteinfo| puede ser arbitario % y dependerá de la información que el usuario desea % dar a conocer al lector (posiblemente esto cambie en el futuro). % Una cita típica puede ser % ``Newton, Isaac. La ley de gravitación universal. % En: Ingeniería. Vol. 1, No. 1, pág 1--10''. % % \begin{macrocode} \newcommand*{\INGUDsetvolume}[1]{\gdef\INGUD@reviewvolume{#1}}% \newcommand*{\INGUDsetnumber}[1]{\gdef\INGUD@reviewnumber{#1}}% \newcommand*{\INGUDsetinitialpage}[1]{\global\setcounter{page}{#1}}% \newcommand*{\INGUDsetciteinfo}[1]{\gdef\INGUD@citeinfo{#1}}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Resumen y palabras clave} % % \begin{environment}{abstract} % % El ambiente estándar |abstract| se redefine % para cumplir con los requerimientos de la revista. % Por defecto el nombre del ambiente aparece en % inglés. Si un usuario desea que aparezca en otro % idioma (por ejemplo español) debe redefinir % el comando |\abstractname|. % % Lo primero que se hace es eliminar % cualquier espaciamiento vertical anterior al ambiente. % Luego se imprime el título del ambiente % usando la versión no mumerada de |\section|. % Al finalizar se inicia un nuevo párrafo. % % \begin{macrocode} \renewenvironment{abstract}{% \removelastskip \section*{\abstractname}}{\par}% % \end{macrocode} % \end{environment} % % \begin{macro}{\INGUDkeywordsname} % % |\INGUDkeywordsname| contiene el nombre del % ambiente |INGUDkeywords|. Si se desea que este nombre % aparezca en otro idioma, sólo es necesario % redefinirlo usando |\renewcommand|. % % \begin{macrocode} \newcommand{\INGUDkeywordsname}{Key words}% % \end{macrocode} % \end{macro} % % \begin{environment}{INGUDkeywords} % % \changes{v0.2}{2012/11/10}{Cambiado espaciamiento vertical de 0.5\cs{baselineskip} % a 0.25\cs{baselineskip}} % % \LaTeX{} no ofrece un ambiente para poner las % palabras clave del artículo. % Esta clase define el ambiente |INGUDkeywords| con el fin % de poner las palabras clave. % % Lo primero que se hace es eliminar cualquier % espaciamiento vertical antes del ambiente. % Se agrega algo de espacio vertical para separar % el nombre del ambiente del contenido anterior. % Después se imprime el nombre del ambiente % dejando un espaciamiento evitando la ruptura en este lugar. % Al finalizar el ambiente se inicia un nuevo párrafo. % % \begin{macrocode} \newenvironment{INGUDkeywords}{% \removelastskip \vskip0.25\baselineskip \par\nobreak \noindent\textbf{\INGUDkeywordsname :}% \nobreakspace}{\par}% % \end{macrocode} % \end{environment} % % \subsection{Contadores} % % \begin{macro}{\thetable} % % La presentación del contador |\c@table| se hace % por medio del comando |\thetable|. Este % comando se redefine para que las tablas sean % numeradas con números romanos en mayúscula. % % \begin{macrocode} \renewcommand{\thetable}{\@Roman\c@table}% % \end{macrocode} % \end{macro} % % \subsection{Leyendas} % % \begin{macro}{\fnum@figure} % \begin{macro}{\fnum@table} % % Los comandos |\fnum@...| contienen el % nombre del respectivo flotante que será impreso % cuando se llame al comando |\caption|. % Por ahora se comentan y se usa las definiciones estándar % de \LaTeX. % % \begin{macrocode} %^^A\renewcommand{\fnum@figure}{\figurename\nobreakspace\thefigure}% %^^A\renewcommand{\fnum@table}{\tablename\nobreakspace\thetable}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\abovecaptionskip} % \begin{macro}{\belowcaptionskip} % % Estas longitudes contienen la cantidad de espacio % en blanco que se agrega arriba y abajo en la leyenda de un flotante. % Por ahora se establecen en |0pt| para reducir la cantidad de % espacio vertical que se usa. % % \begin{macrocode} \setlength{\abovecaptionskip}{\z@}% \setlength{\belowcaptionskip}{\z@}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@makecaption} % % El comando |\caption| llama al comando |\@makecaption| % para dar formato a la leyenda de los flotantes. % Recibe dos argumentos: |#1| que es el nombre del % flotante, por ejemplo ``Figura 2'', y |#2| que es la leyenda % del mismo. Su definición es básicamente la misma % que la del núcleo de \LaTeX, a diferencia que % le da un formato diferente a la leyenda del flotante. % Se inicia agregando el espaciamiento vertical % |\abovecaptionskip|. % % \begin{macrocode} \renewcommand{\@makecaption}[2]{% \vskip\abovecaptionskip % \end{macrocode} % % Luego se mide el largo de la leyenda poniéndola % en una caja temporal con el tamaño de letra % establecido en |\footnotesize|. % % \begin{macrocode} \sbox\@tempboxa{{\footnotesize\textbf{#1.} #2}}% % \end{macrocode} % % Ahora se mide al ancho de la caja. Si es más % larga que el ancho actual |\hsize| entonces se % imprime la leyenda en un párrafo ordinario. % % \begin{macrocode} \ifdim\wd\@tempboxa >\hsize {\footnotesize\textbf{#1.} #2 \par}% % \end{macrocode} % % Si la leyenda cabe en el ancho actual, entonces es necesario centrarla. % Se reinicia la variable |\@minipagefalse| como en la definición % estándar. Al final se agrega el espaciamiento % vertical |\belowcaptionskip|. % % \begin{macrocode} \else \global\@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip}% % \end{macrocode} % \end{macro} % % \subsection{Citas} % % \begin{macro}{\@citex} % % Aquí se modifica el comando |\@citex| del núcleo de % \LaTeX{} para separar las diferentes citas con |], [|. % Cuando un usuario especifique |\cite{ref1,ref2,...,refn}|, % el respectivo texto quedará en la forma % |[1], [2], ..., [n]|, suponiendo que |ref1| resuelve a % |[1]|, |ref2| a |[2]| y |refn| a |[n]|. Esto evita que % \LaTeX{} agrupe las referencias como |[1,2,...,n]|. % % \begin{macrocode} \def\@citex[#1]#2{% \let\@citea\@empty \@cite{\@for\@citeb:=#2\do {\@citea\def\@citea{], [}% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% \G@refundefinedtrue \@latex@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}% % \end{macrocode} % \end{macro} % % % \begin{macro}{\citepunct} % \begin{macro}{\citedash} % % El paquete \filename{cite.sty} de Donald Arseneau es inteligente % y notará que |\citepunct| y |\citedash| ya se encuentran definidos % y no los definirá de nuevo. El resultado es el % adecuado ordenamiento de los números de referencia % y la auto-detección de tres o más referencias: % |[1], [2], [5]--[7], [12]|. % Esto también permite especificar una nota adicional, % es decir, |\cite[nota adicional]{..}|. % Si |\cite| tiene más de una referencia, % la nota será aplicada a la última de las referencias listadas. % Entonces es deseable que si una nota es dada, % sólo una referencia sea dada en |\cite|. % % \begin{macrocode} \def\citepunct{], [}% \def\citedash{]--[}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{Espacios entre flotantes} % % \begin{macro}{\floatsep} % \begin{macro}{\textfloatsep} % \begin{macro}{\intextsep} % % Cuando un flotante se pone en una página con texto, % estos parámetors controlan la separación entre el flotante % y los otros objetos sobre la página. % Estos parámetros se usan para flotantes que ocupan % una columna en modo de una o dos columnas. % % |\floatsep| es el espacio entre flotantes adyacentes % que son movidos a la parte superior o inferior de la % página de texto. % % |\textfloatsep| es el espacio entre el texto principal % y los flotantes en la parte superior o inferior del texto. % % |\intextsep| es el espacio entre flotantes dentro del texto % y el texto. % % \begin{macrocode} \setlength{\floatsep}{\baselineskip}% \setlength{\textfloatsep}{\baselineskip}% \setlength{\intextsep}{\baselineskip}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\dblfloatsep} % \begin{macro}{\dbltextfloatsep} % % Cuando los flotantes que se expanden a la totalidad de % |\textwidth| son puestos sobre una página de texto y % se está en modo de dos columnas, la separación entre los % flotantes y el texto se controla con |\dblfloatsep| % y |\dbltextfloatsep|. % % |\dblfloatsep| es el espacio entre flotantes adyacentes % que se son movidos a la parte superior o inferior de % la página. % % |\dbltextfloatsep| es el espacio entre el texto principal % y los flotantes en la parte superior o inferior de la % página. % % \begin{macrocode} \setlength{\dblfloatsep}{\baselineskip}% \setlength{\dbltextfloatsep}{\baselineskip}% % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@fptop} % \begin{macro}{\@fpsep} % \begin{macro}{\@fpbot} % % Cuando los flotantes son puestos en una página % de flotantes los espacios entre ellos son controlados por % estos parámetros. En la parte superior de la % página se agrega el espacio en blanco |\@fptop| y en la parte % inferior |\@fpbot|. % Entre flotantes se agrega |\@fpsep|. % Estos parámetros se usan para flotantes en modo de una columna % o para flotantes de una columna en modo de dos columnas. % (al menosuno de los dos parámetros |\@fptop| y % |\@fpbot| debería contener un |plus ...fil| para permitir % rellenar el espacio en blanco restante.) % % \begin{macrocode} \setlength{\@fptop}{\z@}% \setlength{\@fpsep}{\baselineskip}% \setlength{\@fpbot}{\z@ \@plus 1fil}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\@dblfptop} % \begin{macro}{\@dblfpsep} % \begin{macro}{\@dblfpbot} % % Estos parámetros son análogos a los anteriores % para flotantes de doble columna en modo de dos columnas. % % \begin{macrocode} \setlength{\@dblfptop}{\z@}% \setlength{\@dblfpsep}{\baselineskip}% \setlength{\@dblfpbot}{\z@ \@plus 1fil}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Estilos de página} % % \begin{macro}{\ps@plainingud} % % \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}} % % La definición de este estilo de página es diferente % para impresión por una cara o doble cara. % % \begin{macrocode} \if@twoside \def\ps@plainingud{% % \end{macrocode} % % El pie de la página contiene la información del número % de página impreso por |\thepage| junto con la información % de la revista impreso por |\INGUD@reviewinfo| % % \begin{macrocode} \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}% \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}% % \end{macrocode} % % La cabecera de la página contiene la información de los autores % impreso por |\INGUD@authorinfo| y del artículo % impreso por |\INGUD@paperinfo|. Estas dos informaciones % se intercambian entre páginas pares e impares. % Se agrega también una línea horizontal debajo de la % información de la cabecera. % % \begin{macrocode} \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\INGUD@authorinfo}% \vskip2\p@ \hrule \@height0.4\p@ \@width\textwidth \@depth\z@}}% \def\@evenhead{\vbox{\hb@xt@\textwidth{\INGUD@paperinfo\hfil}% \vskip2\p@ \hrule \@height0.4\p@ \@width\textwidth \@depth\z@}}% % \end{macrocode} % % Las definiciones estándar de estilos de página % hacen |\@mkboth| igual a |\markboth|. % Aquí se hace lo mismo. % % \begin{macrocode} \let\@mkboth\markboth % \end{macrocode} % % Los estilos estándar usan los comandos % |\sectionmark| y |\subsectionmark| para que los % respectivos comandos de título cambien la información de la % cabecera. Esta no es la situación en esta clase de % documento. Así que se definen % para que resuelvan a vacío. % % \begin{macrocode} \def\sectionmark##1{}% \def\subsectionmark##1{}}% % \end{macrocode} % % La definición de |\ps@plainingud| para impresión por una cara % es más simple dado que las páginas pares e impares se tratan % por igual. % El código es análogo al presentado anteriormente. % % \begin{macrocode} \else \def\ps@plainingud{% \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}% \def\@oddhead{\vbox{\hb@xt@\textwidth{\hfil\INGUD@authorinfo}% \vskip2\p@ \hrule \@height0.4\p@ \@width\textwidth \@depth\z@}}% \let\@mkboth\markboth \def\sectionmark##1{}}% \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\ps@titlepageingud} % % \changes{v0.2}{2012/11/10}{Agregado \cs{bfseries} a \cs{thepage}} % % La definición de este estilo de página es diferente % para impresión por una cara o doble cara. % % \begin{macrocode} \if@twoside \def\ps@titlepageingud{% % \end{macrocode} % % si no se especifica la opción % |rightcolauthor| es necesario aumentar |\oddsidemargin| y % |\evensidemargin| para la páginas en una cantidad igual a % |\INGUD@colauthorinfosep+\INGUD@colauthorinfowidth| % para que la primera página del artículo parezca que tiene % columnas asimétricas. % % \changes{v0.2}{2012/11/10}{Agregado \cs{INGUD@rightcolauthor} e % incrementado \cs{evensidemargin} también} % % \begin{macrocode} \ifINGUD@rightcolauthor\else \advance\oddsidemargin by \INGUD@colauthorinfosep \advance\oddsidemargin by \INGUD@colauthorinfowidth \advance\evensidemargin by \INGUD@colauthorinfosep \advance\evensidemargin by \INGUD@colauthorinfowidth \fi % \end{macrocode} % % El pie de la página contiene la información del número % de página impreso por |\thepage| junto con la información % de la revista impreso por |\INGUD@reviewinfo|. % Es necesario introducir un espaciamiento negativo que compense % el cambio de |\oddsidemargin| y |\evensidemargin| si % no se ha especificado la opción |rightcolauthor|. % % \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddfoot} y \cs{@evenfoot}. % Dependen ahora de \cs{INGUD@rightcolauthor}} % % \begin{macrocode} \ifINGUD@rightcolauthor \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}% \def\@evenfoot{{\bfseries\thepage}\hfil\INGUD@reviewinfo}% \else \def\@oddfoot{\hskip-\INGUD@colauthorinfosep \hskip-\INGUD@colauthorinfowidth \hb@xt@\textwidth{\INGUD@reviewinfo \hfil {\bfseries\thepage}}}% \def\@evenfoot{\hskip-\INGUD@colauthorinfosep \hskip-\INGUD@colauthorinfowidth \hb@xt@\textwidth{{\bfseries\thepage}% \hfil \INGUD@reviewinfo}}% \fi % \end{macrocode} % % En la cabecera se pone la columna que lleva % la información de los autores con la ayuda de % |\INGUD@makeauthorinfo|. % El comando |\INGUD@makeciteinfo| pone la información % de la cita del artículo. % La definición de |\@oddhead| depende de si se ha especificado % la opción |rightcolauthor|. La definición de |\@evenhead| % es igual a la de |\@oddhead|. % % \changes{v0.2}{2012/11/10}{Cambiadas las definiciones de \cs{@oddhead} y \cs{@evenhead}. % Dependen ahora de \cs{INGUD@rightcolauthor}} % % \begin{macrocode} \ifINGUD@rightcolauthor \def\@oddhead{\INGUD@makeciteinfo \hfil \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth \INGUD@makeauthorinfo}}% \else \def\@oddhead{\hskip-\INGUD@colauthorinfosep \hskip-\INGUD@colauthorinfowidth \hb@xt@\textwidth{\INGUD@makeauthorinfo \hfil \INGUD@makeciteinfo}}% \fi \let\@evenhead\@oddhead % \end{macrocode} % % Las definiciones estándar de estilos de página % hacen |\@mkboth| igual a |\markboth|. % Aquí se hace lo mismo. % % \begin{macrocode} \let\@mkboth\markboth % \end{macrocode} % % Los estilos estándar usan los comandos % |\sectionmark| y |\subsectionmark| para que los % respectivos comandos de título cambien la información de la % cabecera. Esta no es la situación en esta clase de % documento. Así que se definen % para que resuelvan a vacío. % % \begin{macrocode} \def\sectionmark##1{}% \def\subsectionmark##1{}}% % \end{macrocode} % % La definición de |\ps@titlepageingud| para impresión por una cara % es más simple dado que las páginas pares e impares se tratan % por igual. % El código es análogo al presentado anteriormente. % % \begin{macrocode} \else \def\ps@titlepageingud{% \ifINGUD@rightcolauthor \def\@oddfoot{\INGUD@reviewinfo\hfil{\bfseries\thepage}}% \def\@oddhead{\INGUD@makeciteinfo \hfil \hb@xt@\z@{\hskip-\INGUD@colauthorinfowidth \INGUD@makeauthorinfo}}% \else \advance\oddsidemargin by \INGUD@colauthorinfosep \advance\oddsidemargin by \INGUD@colauthorinfowidth \def\@oddfoot{\hskip-\INGUD@colauthorinfosep \hskip-\INGUD@colauthorinfowidth \hb@xt@\textwidth{\INGUD@reviewinfo \hfil {\bfseries\thepage}}}% \def\@oddhead{\hskip-\INGUD@colauthorinfosep \hskip-\INGUD@colauthorinfowidth \hb@xt@\textwidth{\INGUD@makeauthorinfo \hfil \INGUD@makeciteinfo}}% \fi \let\@mkboth\markboth \def\sectionmark##1{}}% \fi % \end{macrocode} % \end{macro} % % \subsection{Bibliografía} % % \begin{macro}{\INGUD@thebibliography} % \begin{macro}{\thebibliography} % % El estilo estándar de bibliografía de \LaTeX{} % no es adecuado para la revista. Es necesario imprimir las % diferentes entradas en un tipo de letras más pequeño y % además tener menos separación entre ellas. % El comando |\INGUD@thebibliography| se define para mantener % una copia de |\thebibliography|, a la vez que éste último % se redefine para cumplir con los requerimientos de la revista. % % \begin{macrocode} \let\INGUD@thebibliography\thebibliography \renewcommand{\thebibliography}[1]{% \INGUD@thebibliography{#1}% \itemsep\z@ \parsep\z@ %\parskip\z@ %<-- Necesario si no se necesitan espacios entre entradas \footnotesize}% % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{Biografías} % % \begin{environment}{biography} % % El ambiente |biography| tiene dos definiciones dependiendo % si se ha especificado la opción |peerreview|. % % Si se está en modo de revisión por pares es necesario % convertir el ambiente en un ambiente de ``comentarios'' % e ignorar todo el texto dentro de la biografía. % Esto es con el fin de eliminar toda la información del autor % por confidencialidad. % % |\biography| se define con los comandos internos % |\let\do\@makeother| y |\dospecials| (ver ltmiscen.dtx para % más detalles). Luego llama al comando |\INGUD@clearbiography| % el cual ignora todo el texto de la biografía. % % \begin{macrocode} \ifINGUD@peerreview \def\biography{% \let\do\@makeother \dospecials \INGUD@clearbiography}% % \end{macrocode} % % |\endbiography| se define para que resuelva a vacío. % % \begin{macrocode} \def\endbiography{}% % \end{macrocode} % % \begin{macro}{\INGUD@clearbiography} % % Ahora es necesario definir |\INGUD@clearbiography|. % Se declara para que interprete su argumento |#1| % como todo lo que se encuentra encerrado entre % |\begin{biography}| y |\end{biography}| e ignorarlo. % Para esto es necesario decirle a \TeX{} % que el argumento finaliza cuando encuentra el % comando |\end{biography}|. % Es necesario cambiar el código de categoría (dentro de un grupo % para que los cambios sean locales) de los caracteres % |{|, |}| y |\| para que sean tratados como ``otros'' caracteres % y remplazarlos temporalmente por los % caracteres |[|, |]| y \verb+|+. % La definición de |\INGUD@clearbiography| sólo llama % a |\end{biography}|. % % \begin{macrocode} \begingroup \catcode`[=1 \catcode`]=2 \catcode`|=0 \catcode`\{=12 \catcode`\}=12 \catcode`\\=12 |long|gdef|INGUD@clearbiography#1\end{biography}[|end[biography]]% |endgroup % \end{macrocode} % \end{macro} % % Si no se está en modo de revisión por pares es necesario imprimir % el contenido de la biografía. % Primero se inicia eliminando cualquier espaciamiento vertical % que se haya adicionado anteriormente. % % \begin{macrocode} \else \def\biography{% \removelastskip % \end{macrocode} % % Luego se motiva a \TeX{} a romper la página en este sitio % si es necesario poniendo |\@highpenalty|. % % \begin{macrocode} \addpenalty\@highpenalty % \end{macrocode} % % |\biography| tiene dos argumentos: |#1|, que es opcional, % donde se especifica una fotografía % encerrando el argumento entre los caracteres |[]|, % y |#2|, que es obligatorio, donde se especifica el nombre del autor % usando los caracteres |{}|. % % Si lo que sigue es el caracter |[| entonces se llama % a |\INGUD@biographyphoto| que % prepara una biografía con foto. % En caso contrario se llama al comando |\INGUD@biographynophoto| % para preparar una biografía sin foto. % % \begin{macrocode} \@ifnextchar[\INGUD@biographyphoto\INGUD@biographynophoto}% % \end{macrocode} % % |\endbiography| se define para resuelva a |\par|. % % \begin{macrocode} \def\endbiography{\par}% % \end{macrocode} % % \begin{macro}{\INGUD@biographyphoto} % % Este comando es llamado por el ambiente |biography| % cuando se necesita una biografía con foto. % % Se inicia dándole formato al nombre del autor especificado en |#2|. % Se inicia un nuevo párrafo evitando que \TeX{} rompa la página en % este sitio y eitando que sangre la primera línea del nuevo párrafo. % Se cambia el tipo de letra a |\footnotesize| que será la % letra que se use en la biografía. % Se pone |\ifINGUD@endofbiography| en |false| para indicar que % no se ha llegado al final de la biografía con foto. % % \begin{macrocode} \def\INGUD@biographyphoto[#1]#2{% \INGUD@biographyauthorname{#2}% \par \nobreak \noindent \normalfont \footnotesize \global\INGUD@endofbiographyfalse % \end{macrocode} % % Ahora es necesario medir el tamaño de la fotografía dada en |#1|. % Para esto se pone en una caja temporal y su ancho % se asigna a la variable temporal |\@tempdima|. % Esta última variable se incrementa en una cantidad % igual a |\INGUD@photosep|, el cual es el espacio extra % en blanco que rodea la fotografía. % % \begin{macrocode} \sbox\@tempboxa{#1}% \@tempdima\wd\@tempboxa \advance \@tempdima by \INGUD@photosep % \end{macrocode} % % Ahora es necesario medir la altura total (altura+profundidad) % y asignársela a la variable temporal |\@tempdimb|. % De igual forma se incrementa esta altura en una cantidad igual % a |\INGUD@photosep|. % % \begin{macrocode} \@tempdimb\ht\@tempboxa \advance \@tempdimb by \dp\@tempboxa \advance \@tempdimb by \INGUD@photosep % \end{macrocode} % % Ahora es necesario conocer la cantidad de líneas % de texto que se dejarán con sangría para alojar % la fotografía del autor. % Para esto se realiza un simple cálculo dividiendo % la altura total de la fotografía entre el salto de % línea base |\baselineskip|. % Esta división guardará el valor (número real) % en |\@tempdimb|. % Al asignar |\@tempdimb| al contador (variable entera) % |\@tempcnta| los decimales se descartan, % esto trae el efecto de redondeo por abajo % (análogo a lo que hace la función |floor| en un lenguaje de programación). % % \begin{macrocode} \divide \@tempdimb by \baselineskip \@tempcnta\@tempdimb % \end{macrocode} % % Ahora establece el valor de la sangría del párrafo % presente |\hangindent| en las primeras |\@tempcnta| % líneas haciendo uso de |\hangafter|. % El signo negativo de |\@tempcnta| % indica que se sangrarán las líneas de texto de % arriba hacia abajo (ver \TeX Book para más detalles). % El efecto de |\hangindent| y |\hangafter| se hará % extensivo a otros párrafos (si los hay) por medio % del comando |\INGUD@hangcarryover|. % % \begin{macrocode} \hangindent\@tempdima \hangafter-\@tempcnta % \end{macrocode} % % Ahora se llama a |\INGUD@checkendofbiography| para que % realice un escaneo hasta encontrar el final de la % biografía. Esto es necesario dado que la biografía % puede contener varios párrafos (necesario detectarlos) % u otros ambientes. Entonces es necesario conocer % su finalización exacta. % |\INGUD@checkendofbiography| funciona leyendo % el texto que le sigue hasta encontrar un % |\end{biography}| correcto. % % \begin{macrocode} \INGUD@checkendofbiography % \end{macrocode} % % Localmente se define |\INGUD@searchpar| para que detecte % la aparición del primer párrafo. % Si se encuentra este párrafo y |\ifINGUD@endofbiography| % es |true| (final de la biografía) se finaliza el párrafo con |\par| % y con |\null| (este |\null| parace ser necesario para evitar que % la fotografía de un autor se solape con la siguiente % cuando la biografía no alcanza a rodear toda la fotografía), % de lo contrario se llama a |\INGUD@hangcarryover| para % actualizar el valor correcto de |\hangindent| y |\hangafter| % y luego se sigue buscando la presencia de un nuevo % párrafo. % % \begin{macrocode} \def\INGUD@searchpar##1\par{##1\ifINGUD@endofbiography \par\null \else \INGUD@hangcarryover \csname INGUD@searchpar\endcsname \fi}% % \end{macrocode} % % Esta es la primera llamada de |\INGUD@searchpar| % % \begin{macrocode} \INGUD@searchpar % \end{macrocode} % % Ahora imprime la fotografía que había sido guardada en % |\@tempboxa| en el lugar adecuado. % Para esto es necesario crear una caja de % ancho |0pt|, altura |\baselineskip| y profundidad % |0pt|. Luego de imprimir la fotografía % se ignora cualquier espacio en blanco que se % haya dejado entre la fotografía y el texto de la % biografía. % % \begin{macrocode} \hb@xt@\z@{\hss \vbox to\baselineskip{\box\@tempboxa \hrule \@width\z@ \@height\z@ \@depth\z@}% \hskip\INGUD@photosep}% \ignorespaces}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@biographyauthorname} % % El comando |\INGUD@biographyauthorname| se encarga de % darle formato al nombre del autor dentro de la biografía. % Recibe como argumento el nombre del autor en |#1|. % % Lo primero que se hace es crear un grupo para % que los cambios sean locales. % Se pone la sangría y el salto de párrafo a |0pt|. % Se inicia un nuevo párrafo evitando que \TeX{} % rompa en este sitio. % % \begin{macrocode} \newcommand{\INGUD@biographyauthorname}[1]{% \begingroup \parindent\z@ \parskip\z@ \par \nobreak % \end{macrocode} % % Luego se guarda el nombre % en una caja temporal con el formato adecuado para medir su ancho. % Si este ancho es más largo que el ancho actual % entonces se pone una línea horizontal |\vrule| de % ancho igual a |\hsize|. % % \begin{macrocode} \sbox\@tempboxa{\normalfont\bfseries #1}% \ifdim\wd\@tempboxa >\hsize \vrule \@width\hsize \@height 0.4\p@ \@depth\z@ % \end{macrocode} % % Si el ancho del nombre es menor al ancho actual % entonces se pone una línea horizontal |\vrule| % de ancho igual al de la caja que contiene el nombre. % % \begin{macrocode} \else \vrule \@width\wd\@tempboxa \@height 0.4\p@ \@depth\z@ \fi % \end{macrocode} % % Luego se crea un núevo párrafo evitando un rompimiento de página. % Se imprime el nombre del autor y se crea un nuevo párrafo % sin que haya un rompimiento de página. % Al final se agrega algo de espacio vertical y se cierra el grupo % % \begin{macrocode} \par\nobreak {\normalfont\bfseries #1}\par\nobreak \vskip 5\p@ \endgroup}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@checkendofbiography} % % |\INGUD@checkendofbiography| es quizás uno de los comandos % más complejos de la clase \textsf{articleingud}. % % Su funcionamiento consiste en escanear lo que le sigue hasta % encontrar un primer comando |\end|. Todo lo que está entre % |\INGUD@checkendofbiography| y |\end| se considera su primer argumento. % Seguido de |\end| se encuentra su segundo argumento. % La definición debe ser |\long| dado que |#1| puede estar compuesto de % varios párrafos. % % \begin{macrocode} \long\def\INGUD@checkendofbiography#1\end#2{% % \end{macrocode} % % Se definen localmente |\INGUD@biographyname| y |\INGUD@secondargument| % que serán utilizados para determinar si después del % |\end| encontrado se tiene un |\end{biography}|. % % \begin{macrocode} \def\INGUD@biographyname{biography}% \def\INGUD@secondargument{#2}% % \end{macrocode} % % Si |#2=biography| entonces se hace |INGUD@keepchecking| % para que sea igual a |\relax| y se define % |\INGUD@firstargument| para que contenga el % primer argumento de |\INGUD@checkendofbiography| seguido % de |\ifINGUD@endofbiography| puesto a |true| seguido de % una finalización de párrafo necesaria para % |\INGUD@searchpar|. % % \begin{macrocode} \ifx\INGUD@biographyname\INGUD@secondargument \global\let\INGUD@keepchecking\relax \long\gdef\INGUD@firstargument##1{% ##1\global\INGUD@endofbiographytrue\par}% % \end{macrocode} % % Si |#2!=biography| entonces se hace |INGUD@keepchecking| % para que sea igual a |\INGUD@checkendofbiography| y se define % |\INGUD@firstargument| para que contenga el % primer argumento de |\INGUD@checkendofbiography|. % % \begin{macrocode} \else \global\let\INGUD@keepchecking\INGUD@checkendofbiography \long\gdef\INGUD@firstargument##1{##1}% \fi % \end{macrocode} % % Ahora se imprime el primer argumento de |\INGUD@checkendofbiography|, % seguido de una definición a vacío de éste. % Es necesario finalizar el ambiente que se había escaneado % con |\INGUD@checkendofbiography| y que no se cerró. % % \begin{macrocode} \INGUD@firstargument{#1}% \global\let\INGUD@firstargument\@empty \end{#2}% % \end{macrocode} % % Finalmente se continúa escaneando en busca de un |\end{biography}| % correcto en caso de que no se haya encontrado. % % \begin{macrocode} \INGUD@keepchecking}% % \end{macrocode} % \end{macro} % % \begin{macro}{\INGUD@biographynophoto} % % Este comando es llamado por el ambiente |biography| % cuando se necesita una biografía sin foto. % Su única función es imprimir el nombre del autor % dado en su único argumento |#1| y cambiar el % tipo de letra a |\footnotesize|. % El párrafo donde inicia la biografía comienza sin sangría % y se ignora cualquier espacio en blanco que % se haya dejado. % % \begin{macrocode} \def\INGUD@biographynophoto#1{% \INGUD@biographyauthorname{#1}% \par \nobreak \noindent \normalfont \footnotesize \ignorespaces}% \fi % \end{macrocode} % \end{macro} % \end{environment} % % \subsection{Tipo de letra} % % \begin{macro}{\sfdefault} % \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES} % \begin{macro}{\rmdefault} % \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES} % \begin{macro}{\ttdefault} % \changes{v0.2}{2012/11/10}{Agregada nueva macro para cambiar letra a TIMES} % % Se redefinen los comandos |\sfdefault|, |\rmdefault| % y |\ttdefault| para cambiar el tipo de letra del % documento a letra TIMES. Este tipo de letra será usada % por defecto por la clase. % % \begin{macrocode} \renewcommand{\sfdefault}{phv}% \renewcommand{\rmdefault}{ptm}% \renewcommand{\ttdefault}{pcr}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Inicialización} % % Ahora es necesario inicializar el estilo % de página a |ps@plainingud|, el cual % será el estilo que se adopte por defecto. % % \begin{macrocode} \pagestyle{plainingud}% % % \end{macrocode} % % \Finale % \endinput