diff options
Diffstat (limited to 'info/latex2e-help-texinfo/spanish/latex2e-es.dbk')
-rw-r--r-- | info/latex2e-help-texinfo/spanish/latex2e-es.dbk | 22168 |
1 files changed, 18149 insertions, 4019 deletions
diff --git a/info/latex2e-help-texinfo/spanish/latex2e-es.dbk b/info/latex2e-help-texinfo/spanish/latex2e-es.dbk index 927b437d27..dd5fc1129f 100644 --- a/info/latex2e-help-texinfo/spanish/latex2e-es.dbk +++ b/info/latex2e-help-texinfo/spanish/latex2e-es.dbk @@ -1,598 +1,2107 @@ <?xml version="1.0"?> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY tex "TeX"> <!ENTITY latex "LaTeX"> ]> <book id="latex2e-es.dbk" lang="es"> - - -<title>&latex;2e Manual de Referencia (Julio 2010)</title> -<!-- %**end of header (Esto es para ejecutar Texinfo en una región.) --> - -<!-- xx las instrucciones para latex 2.09 ahora deberían estar presentes, --> -<!-- xx pero aún faltan algunas de latex2e. --> -<!-- --> -<!-- xx mencionar \mathring --> -<!-- xx mencionar usrguide --> -<!-- xx mencionar ! combinar la colocación de flotantes, p.15 de la guía --> -<!-- xx de usuario en http://www.ctan.org/pkg/latex-info (paquete CTAN latex-info) --> -<!-- --> -<!-- xx La composición tipográfica de source2e debería tener un índice con --> -<!-- xx todas las instrucciones del kernel, lo cual debería se un buen --> -<!-- xx principio. en classes.dtx. define instrucciones adicionales, y --> -<!-- xx algunas de las instrucciones son internas del kernel y por tanto no --> -<!-- xx deben incluirse aquí. --> -<!-- --> -<!-- xx paquetes - requeridos, adicionales, útiles; oberdiek ... --> -<!-- xx tipos de letra - latexsys --> - - -<bookinfo><legalnotice><para>Este documento es un manual de referencia extraoficial para &latex;, un -sistema de preparación de documentos, para la -versión de Julio 2010. -</para> -<para>Esto se tradujo originalmente del archivo <filename>LATEX.HLP</filename> v1.0a de la -Biblioteca de Ayuda VMS. La versión pretraducción fue escrita por -George D. Greenwade de Sam Houston State University. La versión de -&latex; 2.09 fue escrita por Stephen Gilmore. La versión de -&latex;2e fue adaptada por Torsten Martinsen. Karl Berry hizo la -actualización y posteriores adiciones, y reconoce su agradecimiento a la -utilización de <citetitle>Hypertext Help con &latex;</citetitle>, por Sheldon Green, y -del <citetitle>&latex; Command Summary</citetitle> (para -&latex; 2.09) por L. Botway y C. Biemesderfer (publicada por -el Grupo de Usuarios &tex; como <citetitle>&tex;niques</citetitle> número 10), como -material de referencia (no se copió texto directamente). -</para> -<para>Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nacho Pacheco —Traducción. - -Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Karl Berry. +<title>&latex;2e: Un manual de referencia extraoficial</title> +<subtitle>Enero 2023</subtitle> +<titleabbrev>Manual de referencia extraoficial de &latex;2e (Enero 2023)</titleabbrev> +<bookinfo><title>&latex;2e: Un manual de referencia extraoficial</title> +<subtitle>Enero 2023</subtitle> +<titleabbrev>Manual de referencia extraoficial de &latex;2e (Enero 2023)</titleabbrev> +<authorgroup> +<collab><collabname><ulink url="https://latexref.xyz">https://latexref.xyz</ulink></collabname></collab> +</authorgroup> +<legalnotice><para>Este documento es un manual de referencia extraoficial para &latex;, +un sistema de preparación de documentos, versión Enero 2023. +</para> +<para>Este manual se tradujo originalmente de <filename>LATEX.HLP</filename> v1.0a en la +Biblioteca de ayuda de VMS. La versión previa a la traducción fue +escrita por George D. Greenwade de la Universidad Estatal Sam +Houston. La versión 2.09 de &latex;  fue escrita por Stephen +Gilmore. La versión &latex;2e fue adaptada desde esta por Torsten +Martinsen. Karl Berry hizo más actualizaciones y adiciones, y +reconoce con gratitud que ha utilizado <citetitle>Hypertext Help con +&latex;</citetitle>, de Sheldon Green, y <citetitle>Resumen de comandos &latex;</citetitle> +(para &latex; 2.09) por L. Botway y C. Biemesderfer +(publicado por los usuarios del Grupo &tex; como <citetitle>&tex;nicas</citetitle> +número 10), como material de referencia. También reconocemos con +gratitud el material adicional que aparece en la referencia de latex2e +por Martin Herbert Dietze. (De estas referencias no se copió texto +directamente). +</para> +<para>© 2010-2023 Nacho Pacheco — Traducción. + +</para> +<para>Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, +2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Karl Berry. Copyright 1988, 1994, 2007 Stephen Gilmore. Copyright 1994, 1995, 1996 Torsten Martinsen. </para> -<para>A continuación se encuentra la licencia bajo la cual es -distribuido este manual, una traducción lo es dada en -anexo, ver <link linkend="License-translation">License translation</link>. -</para> -<!-- start of License --> -<para>Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. +<!-- comienzo de la Licencia --> +<para>Se otorga permiso para hacer y distribuir copias textuales de este +manual siempre y cuando, se conserve en todas las copias este aviso de +derechos de autor y este aviso de permiso. </para> -<para>Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. +<para>Se otorga permiso para copiar y distribuir versiones modificadas de +este manual bajo las condiciones para la copia literal, siempre que la +totalidad del trabajo derivado resultante se distribuya bajo los +términos de un aviso de permiso idéntico a este. </para> -<para>Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -<!-- end of License --> +<para>Se otorga permiso para copiar y distribuir traducciones de este manual +a otro idioma, en las condiciones anteriores para versiones +modificadas. +<!-- fin de la Licencia --> </para></legalnotice></bookinfo> - - -<para>Este documento es un manual de referencia extraoficial para &latex;, un -sistema de preparación de documentos, para la -versión de Julio 2010. -</para> -<para>Esto se tradujo originalmente del archivo <filename>LATEX.HLP</filename> v1.0a de la -Biblioteca de Ayuda VMS. La versión pretraducción fue escrita por -George D. Greenwade de Sam Houston State University. La versión de -&latex; 2.09 fue escrita por Stephen Gilmore. La versión de -&latex;2e fue adaptada por Torsten Martinsen. Karl Berry hizo la -actualización y posteriores adiciones, y reconoce su agradecimiento a la -utilización de <citetitle>Hypertext Help con &latex;</citetitle>, por Sheldon Green, y -del <citetitle>&latex; Command Summary</citetitle> (para -&latex; 2.09) por L. Botway y C. Biemesderfer (publicada por -el Grupo de Usuarios &tex; como <citetitle>&tex;niques</citetitle> número 10), como -material de referencia (no se copió texto directamente). -</para> -<para>Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nacho Pacheco —Traducción. - -Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Karl Berry. - -Copyright 1988, 1994, 2007 Stephen Gilmore. - -Copyright 1994, 1995, 1996 Torsten Martinsen. -</para> -<para>A continuación se encuentra la licencia bajo la cual es -distribuido este manual, una traducción lo es dada en -anexo, ver <link linkend="License-translation">License translation</link>. -</para> -<!-- start of License --> -<para>Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. -</para> - -<para>Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. -</para> -<para>Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -<!-- end of License --> -</para> - - -<!-- Best Effort Symbol --> - -<chapter label="" id="Top"> -<title>&latex;2e</title> - -<para>Este documento es un manual de referencia extraoficial para &latex;, un -sistema de preparación de documentos, versión Julio 2010. Este se -pretende que cubra &latex;2e, que ha sido la versión estándar de -&latex; por muchos años. -</para> - - -<!-- begin vincentb1 --> -</chapter> <chapter label="1" id="Acerca-de-este-documento"> <title>Acerca de este documento</title> -<!-- end vincentb1 --> -<indexterm role="cp"><primary>Knuth, Donald E.</primary></indexterm> -<indexterm role="cp"><primary>Lamport, Leslie</primary></indexterm> -<indexterm role="cp"><primary>Equipo del Proyecto &latex;</primary></indexterm> -<para>&latex; está implementado como un paquete de macros por -Donald E. Knuth’s para el programa de composición tipográfica -&tex;. &latex; originalmente fue creado por Leslie Lamport; este -ahora es mantenido por un grupo de voluntarios en -(<ulink url="http://latex-project.org">http://latex-project.org</ulink>). La documentación oficial escrita por -el proyecto &latex; está disponible allí. -</para> -<!-- begin vincentb1 --> -<indexterm role="cp"><primary>informes de errores</primary></indexterm> +<indexterm role="cp"><primary>página oficial para el manual</primary></indexterm> +<para>Este es un manual de referencia extraoficial para el sistema de +preparación de documentos &latex;2e, que es un paquete de macros para +el programa de composición tipográfica &tex; (véase <link linkend="Descripci_00f3n">Descripción</link>). +</para> +<para>La página oficial de este documento es +<ulink url="https://latexref.xyz">https://latexref.xyz</ulink>; Tiene páginas web separadas para +cada tema. Alternativamente +<ulink url="https://latexref.xyz/dev/latex2e.html">https://latexref.xyz/dev/latex2e.html</ulink> tiene el documento +completo en una sola página. Para otros formatos de salida, las +fuentes y mucho más información, consulta +<ulink url="https://latexref.xyz/dev/">https://latexref.xyz/dev/</ulink>. +</para> +<indexterm role="cp"><primary>&latex; vs. &latex;2e</primary></indexterm> +<para>En este documento, principalmente usaremos ‘&latex;’ en lugar de +‘&latex;2e’, ya que la versión anterior de &latex; (2.09) está +congelada hace décadas. +</para> +<indexterm role="cp"><primary>naturaleza extraoficial de este manual</primary></indexterm> +<indexterm role="cp"><primary>Equipo del proyecto &latex;</primary></indexterm> <indexterm role="fn"><primary><email>latexrefman@tug.org</email> dirección de correo electrónico</primary></indexterm> -<!-- end vincentb1 --> -<para>Una vez más, el presente documento no es oficial y no ha sido revisado -por los responsables del proyecto &latex;. -<!-- begin vincentb1 --> -No enviar informes de error o cualquier otra cosa sobre este documento a -ellos. En su lugar, por favor, envíe todos comentarios a +<para>&latex; es mantenido por un grupo de voluntarios +(<ulink url="https://latex-project.org">https://latex-project.org</ulink>). La documentación oficial escrita +por el proyecto &latex; está disponible en su sitio web. El presente +documento es completamente extraoficial y, no ha sido escrito ni +revisado por los mantenedores de &latex;. +<indexterm role="cp"><primary>informar errores</primary></indexterm> +<indexterm role="cp"><primary>reportar errores</primary></indexterm> +No envíes informes de errores o cualquier otra cosa sobre este +documento. En su lugar, envía todos los comentarios a <email>latexrefman@tug.org</email>. </para> -<para>La página principal de este documento es -<ulink url="http://puszcza.gnu.org.ua/software/latexrefman/">http://puszcza.gnu.org.ua/software/latexrefman/</ulink>. Esa página tiene enlaces al -resultado actual de la compilación de este documento en varios formatos, -a fuentes, a listas de correo, y a otros infraestructura. +<para>Este documento es una referencia, no un tutorial. Hay una gran +variedad de otra información disponible sobre &latex;, en todos los +niveles. Aquí tienes algunas introducciones. </para> -<para>Por supuesto, hay muchas otras muchas fuentes de información sobre, -&latex;. Éstos son algunos de ellos: +<variablelist><varlistentry><term><ulink url="https://ctan.org/pkg/latex-doc-ptr">https://ctan.org/pkg/latex-doc-ptr</ulink> +</term><listitem><indexterm role="fn"><primary>latex-doc-ptr document</primary></indexterm> +<para>Dos páginas de referencias recomendadas para la documentación de +&latex;. </para> -<variablelist><varlistentry><term><ulink url="http://www.ctan.org/pkg/latex-doc-ptr">http://www.ctan.org/pkg/latex-doc-ptr</ulink> -</term><listitem><para>Dos páginas de referencias recomendadas a &latex; documentación. +</listitem></varlistentry><varlistentry><term><ulink url="https://ctan.org/pkg/first-latex-doc">https://ctan.org/pkg/first-latex-doc</ulink> +</term><listitem><indexterm role="fn"><primary>first-latex-doc document</primary></indexterm> +<para>Escribe tu primer documento, con un poco de texto y matemáticas. </para> -</listitem></varlistentry><varlistentry><term><ulink url="http://www.ctan.org/pkg/first-latex-doc">http://www.ctan.org/pkg/first-latex-doc</ulink> -</term><listitem><para>Escribir su primer documento, con un poco de texto y matemáticas. +</listitem></varlistentry><varlistentry><term><ulink url="https://ctan.org/pkg/lshort">https://ctan.org/pkg/lshort</ulink> +</term><listitem><indexterm role="fn"><primary>lshort document</primary></indexterm> +<para>Una introducción más larga a &latex;, traducida a muchos idiomas. </para> -</listitem></varlistentry><varlistentry><term><ulink url="http://www.ctan.org/pkg/usrguide">http://www.ctan.org/pkg/usrguide</ulink> -</term><listitem><para>La guía para los autores de documentos mantenidos como parte de &latex;; hay -varios otros. +</listitem></varlistentry><varlistentry><term><ulink url="https://tug.org/begin.html">https://tug.org/begin.html</ulink> +</term><listitem><para>Introducción al sistema &tex;, incluido &latex;, con más referencias </para> -</listitem></varlistentry><varlistentry><term><ulink url="http://tug.org/begin.html">http://tug.org/begin.html</ulink> -</term><listitem><para>Introducción al &tex; sistema, incluyendo &latex;. -</para></listitem></varlistentry></variablelist><!-- end vincentb1 --> +</listitem></varlistentry></variablelist> </chapter> <chapter label="2" id="Descripci_00f3n"> <title>Descripción de &latex;</title> <indexterm role="cp"><primary>descripción de &latex;</primary></indexterm> -<indexterm role="cp"><primary>&latex;, descripción</primary></indexterm> - -<para>Las instrucciones &latex; componen tipográficamente un archivo de texto -usando el programa &tex; y el “paquete de macros” &latex; para -&tex;. Para ser más específicos, este procesa un archivo de entrada que -contiene el texto de un documento con instrucciones intercaladas que -describen cómo se debe dar formato al texto. -Este produce al menos tres archivos de salida: -</para> -<orderedlist numeration="arabic"><listitem><para>Un archivo de salida principal, que es uno de: -</para> -<orderedlist numeration="arabic"><listitem><para>Si se invoca como <command>latex</command>, un archivo “independiente del -dispositivo” (<filename>.dvi</filename>). Este contiene las instrucciones que se -pueden traducir en órdenes para una variedad de dispositivos de salida. -Usted puede ver estos archivos <filename>.dvi</filename> producidos por &latex; -utilizando un programa como <command>xdvi</command> (visualización directa) o -<command>dvips</command> (los convierte a PostScript). -</para> -</listitem><listitem><para>Si es invocado como <command>pdflatex</command>, produce un archivo de -“Documento de Formato Portátil” (<filename>.pdf</filename>). Normalmente, este es -un archivo autocontenido, con todos los tipos de letra e imágenes -incrustadas. Este puede ser muy útil, pero hace que produzca un archivo -mucho más grande que el <filename>.dvi</filename> producido a partir del mismo -documento. -</para></listitem></orderedlist> -<para>Existen otras variantes menos comunes de &latex; (y &tex;), de modo -que puede producir HTML, XML y otras cosas. +<indexterm role="cp"><primary>conceptos básicos de &latex;</primary></indexterm> +<indexterm role="cp"><primary>Knuth, Donald E.</primary></indexterm> +<indexterm role="cp"><primary>Lamport, Leslie</primary></indexterm> +<indexterm role="cp"><primary>&latex; descripción</primary></indexterm> + +<para>&latex; es un sistema para la composición tipográfica de documentos. +Originalmente fue creado por Leslie Lamport en 1984, pero ha sido +mantenido por un grupo de voluntarios desde hace muchos años +(<ulink url="https://latex-project.org">https://latex-project.org</ulink>). Se utiliza ampliamente, en +particular, pero no exclusivamente, para matemáticas y documentos +técnicos. +</para> +<indexterm role="cp"><primary>UTF-8, codificación de entrada &latex; predeterminada</primary></indexterm> +<para>Un usuario de &latex; escribe un archivo de entrada que contiene +texto para componer junto con comandos intercalados. La codificación +predeterminada para el texto es UTF-8 (a partir de 2018). Los comandos +especifican, por ejemplo, cómo se debe formatear el texto. +</para> +<para>&latex; se implementa como un conjunto de las llamadas “macros” +relacionadas que usa Donald E. El programa de composición +tipográfica &tex; de Knuth o uno de sus derivados, conocidos +colectivamente como “motores”. Así, el usuario produce una salida, +normalmente PDF, entregando el archivo de entrada a un motor +&tex;. (Las siguientes secciones describen todo esto con más +detalle). +</para> +<para>(El término &latex; también se usa a veces para indicar el lenguaje +en el que el documento de entrada está marcado, es decir, para +especificar el conjunto de comandos disponible para un usuario de +&latex;. +</para> +<indexterm role="cp"><primary>Lamport &tex;</primary></indexterm> +<indexterm role="cp"><primary>pronunciación</primary></indexterm> +<para>El nombre &latex; es la abreviatura de “Lamport &tex;”. Se +pronuncia LAH-teck o LAY-teck, o a veces LAY-tecks. Dentro de un +documento, puedes producir el logo con <literal>\LaTeX</literal>. Cuando el uso +del logotipo no es sensible, como en texto sin formato, escríbelo como +‘<literal>LaTeX</literal>’. +</para> + + +<sect1 label="2.1" id="Comenzar-y-terminar"> +<title>Comenzar y terminar</title> + +<anchor id="Iniciar-y-finalizar"/><!-- nombre anterior --> +<indexterm role="cp"><primary>comenzar y terminar</primary></indexterm> +<indexterm role="cp"><primary>finalizar e iniciar</primary></indexterm> +<indexterm role="cp"><primary>Hola, mundo</primary></indexterm> + +<para>Los archivos &latex; tienen una estructura global simple, con un +comienzo y fin estándar. Este es un pequeño ejemplo. +</para> +<screen>\documentclass{article} +\begin{document} +Hola, mundo \LaTeX\. +\end{document} +</screen> +<para>Cada documento &latex; tiene una línea <literal>\begin{document}</literal> y +una línea <literal>\end{document}</literal>. </para> -</listitem><listitem><para>Un archivo de“transcripción” o <filename>.log</filename> que contiene información -resumida y mensajes de diagnóstico para cualquier error descubierto en el -archivo de entrada. +<indexterm role="cp"><primary>clase de documento, definida</primary></indexterm> +<para>Aquí, ‘<literal>article</literal>’ es la <firstterm>clase de documento</firstterm>. Se implementa en +un archivo <filename>article.cls</filename>. Puedes utilizar cualquier clase de +documento en tu sistema. Algunas clases de documentos están definidas +por el mismo &latex; y hay una gran variedad de otras clases +ampliamente disponibles. Véase <link linkend="Clases-de-documentos">Clases de documentos</link>. </para> -</listitem><listitem><para>Un archivo “auxiliar” o <filename>.aux</filename>. Este es usado por &latex; mismo, -para diversas cosas como el seccionado. -</para></listitem></orderedlist> -<para>Una instrucción &latex; comienza con el nombre de la instrucción, la -cual consiste de una <literal>\</literal> seguida por o bien (a) una cadena de -letras o (b) un único carácter no letra. Los argumentos que -figuran entre corchetes, <literal>[]</literal>, son opcionales, mientras que los -argumentos contenidos entre llaves, <literal>{}</literal>, son obligatorios. +<indexterm role="cp"><primary>preámbulo, definido</primary></indexterm> +<para>Puedes incluir otros comandos &latex; entre los comandos +<literal>\documentclass</literal> y <literal>\begin{document}</literal>. Esta área se llama +<firstterm>preámbulo</firstterm>. +</para> +<para>El par <literal>\begin{document}</literal>, <literal>\end{document}</literal> define un +<indexterm role="cp"><primary>entorno</primary></indexterm> +<firstterm>entorno</firstterm>; el entorno ‘<literal>document</literal>’ (y no otros) es obligatorio +en todos los documentos &latex; (véase <link linkend="document">document</link>). &latex; pone a +tu disposición muchos entornos que están documentados aquí +(véase <link linkend="Entornos">Entornos</link>). Muchos más están disponibles para ti desde +paquetes externos, sobre todo los disponibles en CTAN (véase <link linkend="CTAN">CTAN</link>). </para> -<para>&latex; es sensible a mayúsculas y minúsculas. Cuando ingresa -instrucciones, use la caja de letras propia a cada -instrucción — tradicionalmente es minúsculas. +<para>Las siguientes secciones tratan sobre cómo producir PDF u otra salida +desde un archivo de entrada &latex;. </para> -</chapter> -<chapter label="3" id="Iniciando-y-Finalizando"> -<title>Iniciando y Finalizando</title> +</sect1> +<sect1 label="2.2" id="Archivos-de-salida"> +<title>Archivos de salida</title> + +<para>&latex; produce un archivo de salida principal y al menos dos +archivos auxiliares. El nombre del archivo de salida principal +termina en <filename>.dvi</filename> o <filename>.pdf</filename>. +</para> +<variablelist><varlistentry><term><literal>.dvi</literal> +</term><listitem><indexterm role="fn"><primary>.dvi archivo</primary></indexterm> +<indexterm role="fn"><primary>latex comando</primary></indexterm> +<indexterm role="fn"><primary>xdvi comando</primary></indexterm> +<indexterm role="fn"><primary>dvips comando</primary></indexterm> +<indexterm role="fn"><primary>dvipdfmx comando</primary></indexterm> +<indexterm role="fn"><primary>dvitype comando</primary></indexterm> +<anchor id="archivos-de-salida-dvi"/><para>Si &latex; se invoca con el comando +del sistema <command>latex</command> entonces produce un archivo independiente +del dispositivo, con extensión <filename>.dvi</filename>. Puedes ver este archivo +con un comando como <command>xdvi</command>, o lo puedes convertir a un archivo +PostScript <literal>.ps</literal> con <command>dvips</command> o a un archivo de formato de +documento portable <literal>.pdf</literal> con <command>dvipdfmx</command>. El contenido +del archivo se puede volcar en forma legible por humanos con +<command>dvitype</command>. Hay disponible una amplia gama de programas DVI +utilitarios (<ulink url="https://mirror.ctan.org/dviware">https://mirror.ctan.org/dviware</ulink>). +</para> +</listitem></varlistentry><varlistentry><term><literal>.pdf</literal> +</term><listitem><indexterm role="fn"><primary>.pdf archivo</primary></indexterm> +<indexterm role="cp"><primary>pdf&tex;</primary></indexterm> +<indexterm role="fn"><primary>pdflatex comando</primary></indexterm> +<anchor id="archivos-de-salida-pdf"/><para>Si &latex; se invoca a través del +comando del sistema <command>pdflatex</command>, entre otros comandos +(véase <link linkend="Motores-TeX">Motores &tex;</link>), entonces la salida principal es un archivo +de formato de documento portable (PDF). Típicamente este es un +archivo independiente, incluyendo todos los tipos de letra e imágenes +necesarias. +</para> +</listitem></varlistentry></variablelist> +<para>&latex; siempre produce al menos dos archivos adicionales. +</para> +<variablelist><varlistentry><term><literal>.log</literal> +</term><listitem><indexterm role="cp"><primary>archivo de transcripción</primary></indexterm> +<indexterm role="cp"><primary>archivo de registro</primary></indexterm> +<indexterm role="fn"><primary>.log archivo</primary></indexterm> +<anchor id="registro-de-archivos-de-salida"/><para>Esta transcripción del archivo +contiene información resumida, como una lista de paquetes cargados. +También incluye mensajes de diagnóstico y quizás información adicional +para cualquier error. +</para> +</listitem></varlistentry><varlistentry><term><literal>.aux</literal> +</term><listitem><indexterm role="cp"><primary>archivo auxiliar</primary></indexterm> +<indexterm role="fn"><primary>archivo .aux</primary></indexterm> +<indexterm role="cp"><primary>referencias cruzadas, resolviendo</primary></indexterm> +<indexterm role="cp"><primary>reenviar referencias, resolviendo</primary></indexterm> +<indexterm role="cp"><primary>referencias, resolver</primary></indexterm> +<anchor id="archivos-de-salida-aux"/><para>La información auxiliar la utiliza +&latex; para cosas como referencias cruzadas. Por ejemplo, la +primera vez que &latex; encuentra una referencia directa — una +referencia cruzada a algo que aún no ha apareció en la fuente — +aparecerá en la salida como un doble signo de interrogación <literal>??</literal>. +Cuando el lugar al que se hace referencia finalmente aparece en la +fuente, entonces &latex; escribe su información de ubicación en este +archivo <literal>.aux</literal>. En la siguiente invocación, &latex; lee la +información de ubicación de este archivo y la usa para resolver la +referencia, sustituyendo el doble signo de interrogación por la +ubicación guardada. +</para> +</listitem></varlistentry></variablelist> +<indexterm role="fn"><primary>archivo .lof</primary></indexterm> +<indexterm role="cp"><primary>archivo de lista de figuras</primary></indexterm> +<indexterm role="fn"><primary>.lot archivo</primary></indexterm> +<indexterm role="cp"><primary>archivo de lista de tablas</primary></indexterm> +<indexterm role="fn"><primary>.toc archivo</primary></indexterm> +<indexterm role="cp"><primary>archivo de tabla de contenido</primary></indexterm> +<indexterm role="cp"><primary>contenido del archivo</primary></indexterm> +<para>&latex; puede producir aún más archivos, caracterizados por el nombre +de archivo terminado. Estos incluyen un archivo <literal>.lof</literal> que se +usa para hacer una lista de figuras, un archivo <literal>.lot</literal> usado para +hacer una lista de tablas, y un archivo <literal>.toc</literal> utilizado para +hacer una tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>) Una +clase particular puede crear otras; la lista no tiene límites. +</para> -<indexterm role="cp"><primary>iniciando y finalizando</primary></indexterm> -<indexterm role="cp"><primary>finalizando e iniciando</primary></indexterm> +</sect1> +<sect1 label="2.3" id="Motores-TeX"> +<title>Motores &tex;</title> + +<indexterm role="cp"><primary>motores, &tex;</primary></indexterm> +<indexterm role="cp"><primary>implementaciones de &tex;</primary></indexterm> +<indexterm role="cp"><primary>UTF-8, compatibilidad del motor para</primary></indexterm> +<indexterm role="cp"><primary>Entrada Unicode, nativa</primary></indexterm> +<indexterm role="cp"><primary>Tipos de letra TrueType</primary></indexterm> +<indexterm role="cp"><primary>Tipos de letra OpenType</primary></indexterm> + +<indexterm role="cp"><primary>Archivos de formato &tex; (<literal>.fmt</literal>)</primary></indexterm> +<indexterm role="cp"><primary>&latex; archivos de formato (<literal>.fmt</literal>)</primary></indexterm> +<indexterm role="cp"><primary>archivos de formato, &tex;</primary></indexterm> +<indexterm role="fn"><primary>.fmt archivo</primary></indexterm> +<para>&latex; es un gran conjunto de comandos que ejecuta un programa +&tex; (véase <link linkend="Descripci_00f3n">Descripción</link>). Tal conjunto de comandos se llama +<firstterm>format</firstterm>, y está incorporado en un archivo <literal>.fmt</literal> binario, +que se puede leer mucho más rápido que la fuente &tex; +correspondiente. +</para> +<para>Esta sección ofrece una breve descripción general de los programas +&tex; que comúnmente están disponibles (también <link linkend="Interfaz-de-l_00ednea-de-comandos">Interfaz de +línea de comandos</link>). +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>latex</primary></indexterm><literal>latex</literal> +</term><term><indexterm role="fn"><primary>pdflatex</primary></indexterm><literal>pdflatex</literal> +</term><listitem><indexterm role="fn"><primary>etex comando</primary></indexterm> +<indexterm role="cp"><primary>motor pdf&tex;</primary></indexterm> +<indexterm role="cp"><primary>e-&tex;</primary></indexterm> +<anchor id="motores-tex-de-latex"/><para>En &tex; Live +(<ulink url="https://tug.org/texlive">https://tug.org/texlive</ulink>), si se invoca a &latex; mediante el +comando del sistema <command>latex</command> o <command>pdflatex</command>, luego se +ejecuta el motor pdf&tex; (<ulink url="https://ctan.org/pkg/pdftex">https://ctan.org/pkg/pdftex</ulink>). +Cuando se invoca como <command>latex</command>, la salida principal es un +archivo <filename>.dvi</filename>; como con <command>pdflatex</command>, la salida principal +es un archivo <filename>.pdf</filename>. +</para> +<para>pdf&tex; incorpora las extensiones e-&tex; al original del programa +Knuth (<ulink url="https://ctan.org/pkg/etex">https://ctan.org/pkg/etex</ulink>), incluidas características de +programación y composición tipográfica bidireccional, y tiene un +montón de extensiones propias. e-&tex; está disponible por sí solo +como el comando del sistema <command>etex</command>, pero este es simple &tex; +(y produce <filename>.dvi</filename>). +</para> +<para>En otras distribuciones &tex;, <command>latex</command> puede invocar a +e-&tex; en lugar de pdf&tex;. En cualquier caso, las extensiones +e-&tex; se puede suponer que están disponibles en &latex;. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lualatex</primary></indexterm><literal>lualatex</literal> +</term><listitem><indexterm role="cp"><primary>Lua&tex;</primary></indexterm> +<anchor id="tex-motores-lualatex"/><para>Si &latex; se invoca a través del +comando del sistema <command>lualatex</command>, se ejecuta el motor Lua&tex; +(<ulink url="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</ulink>). Este programa permite escribir +código en el lenguaje de programación Lua (<ulink url="http://luatex.org">http://luatex.org</ulink>) +para interactuar con la composición tipográfica de &tex;. Lua&tex; +maneja la entrada Unicode UTF-8 de forma nativa, puede manejar +OpenType y tipos de letra TrueType, y genera un archivo <filename>.pdf</filename> de +forma predeterminada. También existe <command>dvilualatex</command> para +generar un archivo <filename>.dvi</filename>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>xelatex</primary></indexterm><literal>xelatex</literal> +</term><listitem><indexterm role="cp"><primary>Xe&tex;</primary></indexterm> +<indexterm role="fn"><primary>.xdv archivo</primary></indexterm> +<indexterm role="fn"><primary>xdvipdfmx</primary></indexterm> +<anchor id="tex-motores-xelatex"/><para>Si &latex; se invoca con el comando del +sistema <command>xelatex</command>, se ejecuta el motor Xe&tex; +(<ulink url="https://tug.org/xetex">https://tug.org/xetex</ulink>). Como Lua&tex;, Xe&tex; admite de +forma nativa tipos de letra Unicode UTF-8, TrueType y OpenType, aunque +la implementación es completamente diferente, principalmente usando +bibliotecas externas en lugar de código interno. Xe&tex; produce un +archivo <filename>.pdf</filename> como salida; no es compatible con la salida DVI. +</para> +<para>Internamente, Xe&tex; crea un archivo <literal>.xdv</literal>, una variante de +DVI, y traduce eso a PDF usando el programa (<literal>x</literal>)<literal>dvipdfmx</literal>, +pero este proceso es automático. El archivo <literal>.xdv</literal> es útil solo +para depuración. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>platex</primary></indexterm><literal>platex</literal> +</term><term><indexterm role="fn"><primary>uplatex</primary></indexterm><literal>uplatex</literal> +</term><listitem><para>Estos comandos brindan soporte adicional significativo para japonés y +otros idiomas; la variante <literal>u</literal> es compatible con Unicode. Ve +<ulink url="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</ulink> y <ulink url="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</ulink>. +</para></listitem></varlistentry></variablelist> +<para>A partir de 2019, hay un comando y formato <literal>-dev</literal> complementario +para todos los anteriores: +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>dvilualatex-dev</primary></indexterm><literal>dvilualatex-dev</literal> +</term><term><indexterm role="fn"><primary>latex-dev</primary></indexterm><literal>latex-dev</literal> +</term><term><indexterm role="fn"><primary>lualatex-dev</primary></indexterm><literal>lualatex-dev</literal> +</term><term><indexterm role="fn"><primary>pdflatex-dev</primary></indexterm><literal>pdflatex-dev</literal> +</term><term><indexterm role="fn"><primary>platex-dev</primary></indexterm><literal>platex-dev</literal> +</term><term><indexterm role="fn"><primary>uplatex-dev</primary></indexterm><literal>uplatex-dev</literal> +</term><term><indexterm role="fn"><primary>xelatex-dev</primary></indexterm><literal>xelatex-dev</literal> +</term><listitem><indexterm role="cp"><primary>candidatos de lanzamiento</primary></indexterm> +<indexterm role="cp"><primary>pruebas preliminares</primary></indexterm> +<para>Estos son candidatos para un próximo lanzamiento de &latex;. El +propósito principal es encontrar y abordar los problemas de +compatibilidad antes de un lanzamiento oficial. +</para> +<para>Estos formatos <literal>-dev</literal> facilitan que cualquier persona ayude a +probar documentos y código: puedes ejecutar, digamos, +<literal>pdflatex-dev</literal> en lugar de <literal>pdflatex</literal>, sin cambiar nada más +en tu entorno. De hecho, es más fácil y más útil ejecutar siempre +versiones <literal>-dev</literal> en lugar de molestarte en cambiar de un lado a +otro. Durante el momento de silencio después de un lanzamiento, los +comandos serán equivalentes. +</para> +<para>No se trata de instantáneas diarias ni de código de desarrollo no +probado. Se somete a las mismas pruebas de regresión exhaustiva +realizadas por el equipo de &latex; antes de ser liberado. +</para> +<para>Para obtener más información, consulta “El flujo de trabajo de +lanzamiento de &latex; y los formatos &latex; <literal>dev</literal>” por Frank +Mittelbach, <citetitle>TUGboat</citetitle> 40:2, +<ulink url="https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf">https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf</ulink>. +</para> +</listitem></varlistentry></variablelist> +</sect1> +<sect1 label="2.4" id="Sintaxis-del-comando-LaTeX"> +<title>Sintaxis del comando &latex;</title> + +<indexterm role="cp"><primary>sintaxis del comando</primary></indexterm> +<indexterm role="fn"><primary>\ caracteres de inicio de comandos</primary></indexterm> +<indexterm role="fn"><primary>[...] (para argumentos opcionales)</primary></indexterm> +<indexterm role="fn"><primary>{...} (para argumentos obligatorios)</primary></indexterm> +<para>En el archivo de entrada &latex;, un nombre de comando comienza con +un carácter de barra invertida, <literal>\</literal>. El nombre en sí consiste +entonces en (a) una cadena de letras o (b) una única no +letra. +</para> +<para>Los nombres de los comandos de &latex; distinguen entre mayúsculas y +minúsculas, por lo que <literal>\pagebreak</literal> es diferente de +<literal>\Pagebreak</literal> (este último no es un comando estándar). La mayoría +de los nombres de los comandos están en minúsculas, pero en cualquier +caso debes ingresar todos estos comandos en el mismo caso en que están +definidos. +</para> +<para>Un comando puede ir seguido de cero, uno o más argumentos. Estos +argumentos pueden ser obligatorios u opcionales. Los argumentos +requeridos están contenidos entre llaves, <literal>{...}</literal>. Los +argumentos opcionales están contenidos entre corchetes, <literal>[...]</literal>. +En general, pero no universalmente, si el comando acepta un argumento +opcional, viene primero, antes de cualquier argumento requerido. +</para> +<para>Dentro de un argumento opcional, para usar el carácter de corchete de +cierre (<literal>]</literal> —“bracket”) ocúltalo entre llaves, como +en <literal>\item[corchete de cierre {]}]</literal>. Del mismo modo, si un +argumento opcional viene al final, sin argumento requerido después de +él, entonces, para hacer que el primer carácter del siguiente texto +sea un corchete de apertura, ocúltalo entre llaves. +</para> +<para>&latex; tiene la convención de que algunos comandos tienen un formato +<literal>*</literal> que está relacionado con la forma sin un <literal>*</literal>, como +<literal>\chapter</literal> y <literal>\chapter*</literal>. La diferencia exacta en el +comportamiento varía de comando a comando. +</para> +<para>Este manual describe todas las opciones aceptadas y las formas +<literal>*</literal> para el comando que cubre (salvo omisiones involuntarias, +alias: bugs). +</para> +<indexterm role="cp"><primary>package, <literal>expl3</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>expl3</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>xparse</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xparse</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>sintaxis &latex;3</primary></indexterm> +<para>A partir del lanzamiento 2020-10-01 de &latex;, <literal>expl3</literal> y los +paquetes <literal>xparse</literal> son parte del formato &latex;2e. Ellos +proporcionan una sintaxis del lenguaje de programación subyacente +completamente diferente. No intentaremos cubrirlos en este documento; +ve la documentación del paquete relacionado y otros manuales de +&latex;. +</para> +</sect1> +<sect1 label="2.5" id="Entorno"> +<title>Entorno</title> -<para>Un archivo de entrada mínimo tiene el siguiente aspecto: +<para>Sinopsis: </para> -<screen>\documentclass{<replaceable>clase</replaceable>} -\begin{document} -<replaceable>su texto</replaceable> -\end{document} +<screen>\begin{<replaceable>nombre-entorno</replaceable>} + ... +\end{<replaceable>nombre-entorno</replaceable>} </screen> -<para>donde <replaceable>clase</replaceable> es una clase de documento válida para &latex;. -Véase <link linkend="Clases-de-Documento">Clases de Documento</link>, para detalles de varias clases de documento -disponibles localmente. +<para>Un <firstterm>entorno</firstterm> es un área de la fuente &latex;, dentro de la cual +hay un comportamiento distinto. Por ejemplo, para poesía en &latex; +coloca las líneas entre <literal>\begin{verse}</literal> y <literal>\end{verse}</literal>. </para> -<indexterm role="cp"><primary>preámbulo, definido</primary></indexterm> -<para>Usted puede incluir otras instrucciones &latex; entre las instrucciones -<literal>\documentclass</literal> y <literal>\begin{document}</literal> (esta área se llama el -<firstterm>preámbulo</firstterm>). +<screen>\begin{verse} + Había una vez un hombre de Nantucket \\ + ... +\end{verse} +</screen> +<para>Véase <link linkend="Entornos">Entornos</link>, para obtener una lista de entornos. Particularmente +notable es que todo documento &latex; debe tener un entorno +<literal>document</literal>, un par <literal>\begin{document} +... \end{document}</literal>. +</para> +<para>El <replaceable>nombre-entorno</replaceable> al principio debe coincidir exactamente con el +de el fin. Esto incluye el caso donde <replaceable>nombre-entorno</replaceable> termina en +una estrella (<literal>*</literal>); los textos <literal>\begin</literal> y <literal>\end</literal> +deben incluir la estrella. +</para> +<para>Los entornos pueden tener argumentos, incluidos argumentos opcionales. +Este ejemplo produce una tabla. El primer argumento es opcional (y +provoca que la tabla se alinee en su fila superior) mientras que el +segundo argumento es requerido (especifica el formato de las +columnas). +</para> +<screen>\begin{tabular}[t]{r|l} + ... filas de la tabla ... +\end{tabular} +</screen> + +</sect1> +<sect1 label="2.6" id="CTAN"> +<title>CTAN: La red integral de archivo &tex;</title> + +<indexterm role="cp"><primary>CTAN</primary></indexterm> + +<para>La red integral de archivos &tex;, CTAN, es el repositorio de +material gratuito de la comunidad &tex; y &latex;. Es un conjunto +de sitios de Internet de todo el mundo que ofrecen material +relacionado con &latex; para descargar. Visita CTAN en la web en +<ulink url="https://ctan.org">https://ctan.org</ulink>. +</para> +<para>Este material está organizado en paquetes, paquetes discretos que +típicamente ofrecen alguna funcionalidad coherente y son mantenidos +por una persona o un pequeño número de personas. Por ejemplo, muchos +editores tienen un paquete que permite a los autores dar formato a los +artículos según especificaciones del editor. +</para> +<para>Además de las existencias masivas, el sitio web <literal>ctan.org</literal> ofrece +funciones como la búsqueda por nombre o por funcionalidad. +</para> +<indexterm role="cp"><primary>DANTE e.V.</primary></indexterm> +<para>CTAN no es un solo anfitrión, sino un conjunto de anfitriones, uno de +los cuales es el llamado “maestro”. El anfitrión maestro administra +activamente el material, por ejemplo, aceptando cargas de material +nuevo o paquetes actualizados. Durante muchos años, ha sido alojado +por el grupo &tex; alemán, DANTE e.V. +</para> +<indexterm role="cp"><primary>espejos de CTAN</primary></indexterm> +<para>Otros sitios alrededor del mundo ayudan con la duplicación, es decir, +sincronizar automáticamente sus colecciones con el sitio maestro y +luego, a su vez, ponen sus copias a disposición del público. Esto +proporciona a los usuarios cercanos a su ubicación mejor acceso y +alivia la carga en el sitio maestro. La lista de espejos está en +<ulink url="https://ctan.org/mirrors">https://ctan.org/mirrors</ulink>. </para> +</sect1> </chapter> -<chapter label="4" id="Clases-de-Documento"> -<title>Clases de Documento</title> +<chapter label="3" id="Clases-de-documentos"> +<title>Clases de documentos</title> -<indexterm role="cp"><primary>clases de documento</primary></indexterm> <indexterm role="cp"><primary>clases de documentos</primary></indexterm> +<indexterm role="cp"><primary>documentos, clases de</primary></indexterm> <indexterm role="fn"><primary>\documentclass</primary></indexterm> -<para>La clase de un determinado documento se define con la instrucción: +<para>La clase general del documento se define con este comando, que +normalmente es el primer comando en un archivo fuente &latex;. </para> -<screen>\documentclass[<replaceable>opciones</replaceable>]{<replaceable>clase</replaceable>} +<screen>\documentclass[<replaceable>options</replaceable>]{<replaceable>class</replaceable>} </screen> -<para>La instrucción <literal>\documentclass</literal> debe ser la primer instrucción en un -archivo fuente &latex;. +<indexterm role="fn"><primary>article class</primary></indexterm> +<indexterm role="fn"><primary>report class</primary></indexterm> +<indexterm role="fn"><primary>book class</primary></indexterm> +<indexterm role="fn"><primary>letter class</primary></indexterm> +<indexterm role="fn"><primary>diapositivas clase</primary></indexterm> +<para>Los siguientes nombres de <replaceable>class</replaceable> de documento están integrados en +&latex;. (Muchas otras clases de documentos están disponibles como +paquetes separados; véase <link linkend="Descripci_00f3n">Descripción</link>). +</para> +<variablelist><varlistentry><term><literal>article</literal> +</term><listitem><anchor id="clase-de-documento-article"/><para>Para un artículo de revista, una +presentación y varios usos generales. +</para> +</listitem></varlistentry><varlistentry><term><literal>book</literal> +</term><listitem><anchor id="clase-de-documento-book"/><para>Libros completos, incluidos capítulos +y posiblemente una contra portada en el anverso, como un prefacio, y +asunto posterior, como un apéndice (véase <link linkend="Material-de-portada_002fcontraportada">Material de +portada/contraportada</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>letter</literal> +</term><listitem><anchor id="clase-de-documento-letter"/><para>Correo, opcionalmente incluyendo +etiquetas postales (véase <link linkend="Cartas">Cartas</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>report</literal> +</term><listitem><anchor id="clase-de-documento-report"/><para>Para documentos de longitud entre +un <literal>article</literal> y un <literal>book</literal>, como informes técnicos o tesis, +que pueden contener varios capítulos. +</para> +</listitem></varlistentry><varlistentry><term><literal>slides</literal> +</term><listitem><anchor id="clase-de-documento-slides"/><para>Para presentación de +diapositivas—rara vez utilizado hoy día. El paquete <literal>beamer</literal> +es quizás el más frecuentemente utilizado +(<ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>). Véase <link linkend="Plantilla-beamer">Plantilla beamer</link>, para una +pequeña plantilla para un documento beamer. </para> -<indexterm role="fn"><primary>clase article</primary></indexterm> -<indexterm role="fn"><primary>clase report</primary></indexterm> -<indexterm role="fn"><primary>clase book</primary></indexterm> -<indexterm role="fn"><primary>clase letter</primary></indexterm> -<indexterm role="fn"><primary>clase slides</primary></indexterm> -<para>Los nombres integrados de <replaceable>clases</replaceable> de documento &latex; (muchas -otras clases de documento están disponibles como complementos; -véase <link linkend="Descripci_00f3n">Descripción</link>): -</para> -<screen>article report book letter slides -</screen> -<!-- xx describir brevemente cada una --> - -<para>Las <replaceable>opciones</replaceable> estándar están descritas más adelante. +</listitem></varlistentry></variablelist> +<para>Las <replaceable>options</replaceable> estándar se describen en la siguiente sección. </para> -<sect1 label="4.1" id="Opciones-de-Clase-de-Documento"> -<title>Opciones de Clase de Documento</title> +<sect1 label="3.1" id="Opciones-de-la-clase-documento"> +<title>Opciones de la clase documento</title> -<indexterm role="cp"><primary>opciones de clase de documento</primary></indexterm> +<indexterm role="cp"><primary>opciones de la clase documento</primary></indexterm> <indexterm role="cp"><primary>opciones, clase de documento</primary></indexterm> <indexterm role="cp"><primary>opciones de clase</primary></indexterm> <indexterm role="cp"><primary>opciones globales</primary></indexterm> -<para>Usted puede especificar las así llamadas <firstterm>opciones globales</firstterm> u -<firstterm>opciones de clase</firstterm> en la instrucción <literal>\documentclass</literal> -encerrándolas entre corchetes de la manera usual. Para especificar más -de una <replaceable>opción</replaceable>, deberá separarlas con una coma: +<para>Puedes especificar <firstterm>opciones globales</firstterm> u <firstterm>opciones de clase</firstterm> +al comando <literal>\documentclass</literal> encerrándolas entre corchetes. Para +especificar más de una <replaceable>opción</replaceable>, sepáralas con una coma. </para> -<screen>\documentclass[<replaceable>opción1</replaceable>,<replaceable>opción2</replaceable>,...]{<replaceable>clase</replaceable>} +<screen>\documentclass[<replaceable>option1</replaceable>,<replaceable>option2</replaceable>,...]{<replaceable>class</replaceable>} </screen> -<para>Esta es la lista de las opciones de clase estándar. +<para>Aquí está la lista de las opciones de clase estándar. </para> -<indexterm role="fn"><primary>opción 10pt</primary></indexterm> -<indexterm role="fn"><primary>opción 11pt</primary></indexterm> -<indexterm role="fn"><primary>opción 12pt</primary></indexterm> -<para>Todas las clases estándar salvo <literal>slides</literal> aceptan las siguientes -opciones para seleccionar el tamaño del tipo de letra (el predeterminado -es <literal>10pt</literal>): +<indexterm role="fn"><primary>10pt option</primary></indexterm> +<indexterm role="fn"><primary>11pt option</primary></indexterm> +<indexterm role="fn"><primary>12pt opción</primary></indexterm> +<para>Todas las clases estándar excepto <literal>slides</literal> aceptan las siguientes +opciones para seleccionar el tamaño del tipo de letra (el valor +predeterminado es <literal>10pt</literal>): </para> <screen>10pt 11pt 12pt </screen> -<indexterm role="fn"><primary>opción a4paper</primary></indexterm> -<indexterm role="fn"><primary>opción a5paper</primary></indexterm> -<indexterm role="fn"><primary>opción b5paper</primary></indexterm> -<indexterm role="fn"><primary>opción executivepaper</primary></indexterm> -<indexterm role="fn"><primary>opción legalpaper</primary></indexterm> -<indexterm role="fn"><primary>opción letterpaper</primary></indexterm> -<para>Todas las clases estándar aceptan estas opciones para seleccionar el -tamaño del papel (el predeterminado es <literal>letterpaper</literal>): -</para> -<screen>a4paper a5paper b5paper executivepaper legalpaper letterpaper -</screen> -<indexterm role="fn"><primary>opción draft</primary></indexterm> -<indexterm role="fn"><primary>opción final</primary></indexterm> -<indexterm role="fn"><primary>opción fleqn</primary></indexterm> -<indexterm role="fn"><primary>opción landscape</primary></indexterm> -<indexterm role="fn"><primary>opción leqno</primary></indexterm> -<indexterm role="fn"><primary>opción openbib</primary></indexterm> -<indexterm role="fn"><primary>opción titlepage</primary></indexterm> -<indexterm role="fn"><primary>opción notitlepage</primary></indexterm> -<para>Otras opciones diversas: -</para> -<variablelist><varlistentry><term><literal>draft, final</literal> -</term><listitem><indexterm role="cp"><primary>omitiendo, cajas negras</primary></indexterm> -<para>marca/no marca el desbordamiento de cajas con una gran caja negra; el -predeterminado es <literal>final</literal>. -</para></listitem></varlistentry><varlistentry><term><literal>fleqn</literal> -</term><listitem><para>Coloca las fórmulas mostradas alineadas a la izquierda; el -predeterminado es centrado. -</para></listitem></varlistentry><varlistentry><term><literal>landscape</literal> -</term><listitem><para>Selecciona el formato apaisado; el predeterminado es vertical. -</para></listitem></varlistentry><varlistentry><term><literal>leqno</literal> -</term><listitem><para>Coloca los números de ecuación en el lado izquierdo de las ecuaciones; -el predeterminado es el lado derecho. -</para></listitem></varlistentry><varlistentry><term><literal>openbib</literal> -</term><listitem><para>Usa el formato de bibliografía “abierto”. -</para></listitem></varlistentry><varlistentry><term><literal>titlepage, notitlepage</literal> -</term><listitem><para>Especifica si la página de título es independiente; de manera -predeterminada depende de la clase. +<indexterm role="fn"><primary>a4paper option</primary></indexterm> +<indexterm role="fn"><primary>a5paper option</primary></indexterm> +<indexterm role="fn"><primary>b5paper option</primary></indexterm> +<indexterm role="fn"><primary>executivepaper option</primary></indexterm> +<indexterm role="fn"><primary>legalpaper option</primary></indexterm> +<indexterm role="fn"><primary>letterpaper opción</primary></indexterm> +<para>Todas las clases estándar aceptan estas opciones para seleccionar el +tamaño del papel (estos muestran alto por ancho): +</para> +<variablelist><varlistentry><term><literal>a4paper</literal> +</term><listitem><para>210 por 297mm (alrededor de 8.25 por 11.75 pulgadas) +</para> +</listitem></varlistentry><varlistentry><term><literal>a5paper</literal> +</term><listitem><para>148 por 210mm (alrededor de 5.8 por 8.3 pulgadas) +</para> +</listitem></varlistentry><varlistentry><term><literal>b5paper</literal> +</term><listitem><para>176 por 250mm (alrededor de 6.9 por 9.8 pulgadas) +</para> +</listitem></varlistentry><varlistentry><term><literal>executivepaper</literal> +</term><listitem><para>7.25 por 10.5 pulgadas +</para> +</listitem></varlistentry><varlistentry><term><literal>legalpaper</literal> +</term><listitem><para>8.5 por 14 pulgadas +</para> +</listitem></varlistentry><varlistentry><term><literal>letterpaper</literal> +</term><listitem><para>8.5 por 11 pulgadas (el predeterminado) +</para></listitem></varlistentry></variablelist> +<indexterm role="fn"><primary>\pdfpagewidth</primary></indexterm> +<indexterm role="fn"><primary>\pdfpageheight</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>geometría</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>geometría</literal> package</primary></indexterm> +<para>Al usar uno de los motores pdf&latex;, +Lua&latex; o Xe&latex; (véase <link linkend="Motores-TeX">Motores &tex;</link>), otras opciones a +que <literal>letterpaper</literal> configura el área de impresión, pero también +debes establecer el tamaño físico del papel. Una manera de hacer eso +es poner <literal>\pdfpagewidth=\paperwidth</literal> y +<literal>\pdfpageheight=\paperheight</literal> en el preámbulo de tu documento. +<indexterm role="cp"><primary>package, <literal>geometría</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>geometría</literal> package</primary></indexterm> + El paquete <literal>geometry</literal> proporciona formas +flexibles de configurar el área de impresión y tamaño de página +física. +</para> +<indexterm role="fn"><primary>draft option</primary></indexterm> +<indexterm role="fn"><primary>final option</primary></indexterm> +<indexterm role="fn"><primary>fleqn option</primary></indexterm> +<indexterm role="fn"><primary>landscape option</primary></indexterm> +<indexterm role="fn"><primary>leqno option</primary></indexterm> +<indexterm role="fn"><primary>openbib option</primary></indexterm> +<indexterm role="fn"><primary>titlepage option</primary></indexterm> +<indexterm role="fn"><primary>notitlepage opción</primary></indexterm> +<para>Varias otras opciones: +</para> +<variablelist><varlistentry><term><literal>draft</literal> +</term><term><literal>final</literal> +</term><listitem><indexterm role="cp"><primary>cajas negras, omitir</primary></indexterm> +<para>Marca cajas (<literal>draft</literal>) o no marcar (<literal>final</literal>) cajas demasiado +llenas con un recuadro negro al margen; el valor predeterminado es +<literal>final</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>fleqn</literal> +</term><listitem><indexterm role="cp"><primary>ecuaciones a la izquierda</primary></indexterm> +<indexterm role="cp"><primary>ecuaciones centradas</primary></indexterm> +<indexterm role="cp"><primary>ecuaciones, vaciar a la izquierda vs. centradas</primary></indexterm> +<para>Coloca las fórmulas mostradas alineadas a la izquierda; de manera +predeterminada están centradas. +</para> +</listitem></varlistentry><varlistentry><term><literal>landscape</literal> +</term><listitem><indexterm role="cp"><primary>orientación landscape</primary></indexterm> +<indexterm role="cp"><primary>orientación retrato</primary></indexterm> +<para>Selecciona el formato apaisado; el valor predeterminado es retrato. +</para> +</listitem></varlistentry><varlistentry><term><literal>leqno</literal> +</term><listitem><indexterm role="cp"><primary>números de ecuación de la izquierda</primary></indexterm> +<indexterm role="cp"><primary>números de ecuación de la derecha</primary></indexterm> +<indexterm role="cp"><primary>números de ecuación, izquierda vs. derecha</primary></indexterm> +<para>Poner números de ecuación en el lado izquierdo de las ecuaciones; de +manera predeterminada es el lado derecho. +</para> +</listitem></varlistentry><varlistentry><term><literal>openbib</literal> +</term><listitem><indexterm role="cp"><primary>Formato de bibliografía, abierto</primary></indexterm> +<para>Utiliza el formato de bibliografía “abierta”. +</para> +</listitem></varlistentry><varlistentry><term><literal>titlepage</literal> +</term><term><literal>notitlepage</literal> +</term><listitem><indexterm role="cp"><primary>página de título, separada o corrida</primary></indexterm> +<para>Especifica si hay una página separada para la información del título y +para el resumen también, si lo hay. El valor predeterminado para la +clase <literal>report</literal> es <literal>titlepage</literal>, para las otras clases es +<literal>notitlepage</literal>. </para></listitem></varlistentry></variablelist> -<para>Estas opciones no están disponibles con la clase <literal>slides</literal>: -</para> -<indexterm role="fn"><primary>opción onecolumn</primary></indexterm> -<indexterm role="fn"><primary>opción twocolumn</primary></indexterm> -<indexterm role="fn"><primary>opción oneside</primary></indexterm> -<indexterm role="fn"><primary>opción twoside</primary></indexterm> -<indexterm role="fn"><primary>opción openright</primary></indexterm> -<indexterm role="fn"><primary>opción openany</primary></indexterm> +<para>Las siguientes opciones no están disponibles con la clase +<literal>slides</literal>. +</para> +<indexterm role="fn"><primary>onecolumn option</primary></indexterm> +<indexterm role="fn"><primary>twocolumn option</primary></indexterm> +<indexterm role="fn"><primary>oneside option</primary></indexterm> +<indexterm role="fn"><primary>twoside option</primary></indexterm> +<indexterm role="fn"><primary>openright option</primary></indexterm> +<indexterm role="fn"><primary>openany option</primary></indexterm> <variablelist><varlistentry><term><literal>onecolumn</literal> </term><term><literal>twocolumn</literal> -</term><listitem><para>Composición tipográfica en una o dos columnas; el predeterminado es -<literal>onecolumn</literal>. +</term><listitem><para>Composición tipográfica en una o dos columnas; el valor predeterminado +es <literal>onecolumn</literal>. </para> </listitem></varlistentry><varlistentry><term><literal>oneside</literal> </term><term><literal>twoside</literal> </term><listitem><indexterm role="fn"><primary>\evensidemargin</primary></indexterm> <indexterm role="fn"><primary>\oddsidemargin</primary></indexterm> -<para>Selecciona el diseño de una o dos caras; el predeterminado es -<literal>oneside</literal>, excepto para la clase <literal>book</literal>. -</para> -<para>El parámetro <literal>\evensidemargin</literal> (<literal>\oddsidemargin</literal>) determina la -distancia en páginas par (impar) numeradas entre el lado izquierdo de la -página y el margen excedente del texto. Los valores predeterminados -varían con el tamaño del papel y si el diseño seleccionado es de uno o -dos lados. Para imprimir texto en un lado es centrado, para dos lados, -<literal>\oddsidemargin</literal> es 40% de la diferencia entre <literal>\paperwidth</literal> y -<literal>\textwidth</literal> con el resto de <literal>\evensidemargin</literal>. +<!-- xx TODO vuelve a alinear en la versión francesa, que es más --> +<!-- precisa. --> +<para>Selecciona el diseño de uno o dos lados; el valor predeterminado es +<literal>oneside</literal>, excepto que en la clase <literal>book</literal> el valor +predeterminado es <literal>twoside</literal>. +</para> +<para>Para la impresión a una cara, el texto se centra en la página. Para +impresión a dos caras, el parámetro <literal>\evensidemargin</literal> +(<literal>\oddsidemargin</literal>) determina la distancia en páginas pares +(impares) entre el lado izquierdo de la página y el margen izquierdo +del texto, con <literal>\oddsidemargin</literal> siendo el 40% de la diferencia +entre <literal>\paperwidth</literal> y <literal>\textwidth</literal> y <literal>\evensidemargin</literal> +es el resto. </para> </listitem></varlistentry><varlistentry><term><literal>openright</literal> </term><term><literal>openany</literal> -</term><listitem><para>Determina si un capítulo debe iniciar en una página del lado derecho; -para <literal>book</literal>, el predeterminado es <literal>openright</literal>. +</term><listitem><para>Determina si un capítulo debe comenzar en una página de la derecha; el +valor predeterminado es <literal>openright</literal> para <literal>book</literal> y +<literal>openany</literal> para <literal>report</literal>. </para></listitem></varlistentry></variablelist> -<para>La clase <literal>slides</literal> ofrece la opción <literal>clock</literal> para imprimir la +<indexterm role="fn"><primary>clock opción para la clase <literal>slides</literal></primary></indexterm> +<para>La clase <literal>slides</literal> ofrece la opción <literal>clock</literal> para imprimir lo hora en la parte inferior de cada nota. </para> -<indexterm role="cp"><primary>paquetes, cargando</primary></indexterm> +</sect1> +<sect1 label="3.2" id="Paquetes-adicionales"> +<title>Paquetes adicionales</title> + <indexterm role="cp"><primary>cargando paquetes adicionales</primary></indexterm> +<indexterm role="cp"><primary>paquetes, cargando adicionales</primary></indexterm> +<indexterm role="cp"><primary>paquetes adicionales, cargando</primary></indexterm> <indexterm role="fn"><primary>\usepackage</primary></indexterm> -<para>Los paquetes adicionales se cargan de la siguiente manera: +<para>Carga un paquete <replaceable>pkg</replaceable>, con las opciones de paquete dadas en la +lista <replaceable>options</replaceable> separada por comas, como aquí. </para> -<screen>\usepackage[<replaceable>opciones</replaceable>]{<replaceable>paquete</replaceable>} +<screen>\usepackage[<replaceable>options</replaceable>]{<replaceable>pkg</replaceable>}. </screen> -<para>Para especificar más de un <replaceable>paquete</replaceable>, usted puede separarlos con una -coma, o utilizar múltiples instrucciones<literal>\usepackage</literal>. +<para>Para especificar más de un paquete, lo puedes separar con una coma, +como en <literal>\usepackage{<replaceable>pkg1</replaceable>,<replaceable>pkg2</replaceable>,...}</literal>, o usa +múltiples comandos <literal>\usepackage</literal>. </para> <indexterm role="cp"><primary>opciones globales</primary></indexterm> -<indexterm role="cp"><primary>opciones, globales</primary></indexterm> -<para>Cualquiera de las opciones que figuran en la instrucción -<literal>\documentclass</literal> que no son conocidas por la clase de documento -seleccionada son transmitidas a los paquetes cargados con -<literal>\usepackage</literal>. +<indexterm role="cp"><primary>globales, opciones</primary></indexterm> +<para>Cualquier opción dada en el comando <literal>\documentclass</literal> que sea +desconocida para la clase document seleccionada se pasa a los paquetes +cargados con <literal>\usepackage</literal>. +</para> + +</sect1> +<sect1 label="3.3" id="Construcci_00f3n-de-clase-y-paquete"> +<title>Construcción de clase y paquete</title> + +<indexterm role="cp"><primary>comandos de clase de documento</primary></indexterm> +<indexterm role="cp"><primary>comandos, clase de documento</primary></indexterm> +<indexterm role="cp"><primary>nuevos comandos de clase</primary></indexterm> + +<para>Puedes crear nuevas clases de documentos y nuevos paquetes. Por +ejemplo, si tus memorandos deben cumplir con algunos requisitos +locales, como un encabezado estándar para cada página, entonces +podrías crear una nueva clase <literal>smcmemo.cls</literal> y comienza tus +documentos con <literal>\documentclass{smcmemo}</literal>. +</para> +<para>Lo que separa a un paquete de una clase de documento es que los +comandos en un paquete son útiles en todas las clases, mientras que +los de una clase de documento son específicos de esa clase. Por lo +tanto, un comando para establecer encabezados de página es para un +paquete mientras que un comando para hacer que los encabezados de +página digan <literal>Memo desde el departamento de matemáticas SMC</literal> es +para una clase. +<indexterm role="cp"><primary>diferencia de clase y paquete</primary></indexterm> +<indexterm role="cp"><primary>diferencia entre clase y paquete</primary></indexterm> +</para> +<para>Dentro de un archivo de clase o paquete, puedes usar el signo +<literal>@</literal> como carácter en nombres de comandos sin tener que rodear el +código que contiene ese comando con <literal>\makeatletter</literal> y +<literal>\makeatother</literal>. Véase <link linkend="_005cmakeatletter-y-_005cmakeatother">\makeatletter y \makeatother</link>. Esto te +permite crear comandos que los usuarios no redefinirán +accidentalmente. Otra técnica es prefijar comandos específicos de +clase o paquete con alguna cadena para evitar que tu clase o paquete +interfiera con otros. Por ejemplo, la clase <literal>smcmemo</literal> podría +tener comandos <literal>\smc@tolist</literal>, <literal>\smc@fromlist</literal>, etc. +</para> + + + +<sect2 label="3.3.1" id="Estructura-de-clase-y-paquete"> +<title>Estructura de clase y paquete</title> + +<indexterm role="cp"><primary>estructura de clase y paquete</primary></indexterm> +<indexterm role="cp"><primary>composición del archivo de clase</primary></indexterm> +<indexterm role="cp"><primary>composición del archivo del paquete</primary></indexterm> +<indexterm role="cp"><primary>opciones, clase de documento</primary></indexterm> +<indexterm role="cp"><primary>opciones, paquete</primary></indexterm> +<indexterm role="cp"><primary>opciones de clase</primary></indexterm> +<indexterm role="cp"><primary>opciones de paquete</primary></indexterm> + +<para>Un archivo de clase o un archivo de paquete normalmente consta de +cuatro partes. +</para><orderedlist numeration="arabic"><listitem><para>En la <firstterm>parte de identificación</firstterm>, el archivo dice que es un paquete +o clase &latex; y se describe a sí mismo, usando +<literal>\NeedsTeXFormat</literal> y los comandos <literal>\ProvidesClass</literal> o +<literal>\ProvidesPackage</literal>. +</para> +</listitem><listitem><para>La <firstterm>parte de declaraciones preliminares</firstterm> declara algunos comandos +y también puede cargar otros archivos. Generalmente, estos comandos +serán los necesarios para el código utilizado en la siguiente parte. +Por ejemplo, una clase <literal>smcmemo</literal> se puede llamar con una opción +para leer un archivo con una lista de personas para el encabezado, +como <literal>\documentclass[mathto]{smcmemo}</literal>, y por lo tanto +necesitas definir un comando +<literal>\newcommand{\setto}[1]{\def\@tolist{#1}}</literal> usado en ese +archivo. +</para> +</listitem><listitem><para>En <firstterm>manejar la parte de opciones</firstterm> la clase o paquete declara y +procesa sus opciones. Las opciones de clase permiten que un usuario +comience su documento como <literal>\documentclass[<replaceable>lista de +opciones</replaceable>]{<replaceable>nombre de clase</replaceable>}</literal>, para modificar el comportamiento +de la clase. Un ejemplo es cuando declaras +<literal>\documentclass[11pt]{article}</literal> para establecer el valor +predeterminado para el tamaño del tipo de letra del documento. +</para> +</listitem><listitem><para>Finalmente, en la <firstterm>parte de más declaraciones</firstterm> la clase o paquete +suele hacer la mayor parte de su trabajo: declarar nuevas variables, +comandos y tipos de letra y cargar otros archivos. +</para></listitem></orderedlist> +<para>Aquí hay un archivo de clase inicial, que se debe guardar como +<filename>stub.cls</filename> donde &latex; lo pueda encontrar, por ejemplo en el +mismo directorio que el archivo <filename>.tex</filename>. +</para> +<screen>\NeedsTeXFormat{LaTeX2e} \ProvidesClass{stub}[2017/07/06 auxiliar +para comenzar a crear clases desde] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax \LoadClass{article} +</screen><indexterm role="cp"><primary>ejemplo de archivo de clase</primary></indexterm> + +<para>Se identifica a sí mismo, maneja las opciones de clase a través del +valor predeterminado pasándolos todos a la clase <literal>article</literal>, y +luego carga la clase <literal>article</literal> para proporcionar la base para el +código de esta clase. +</para> +<para>Para obtener más información, consulta la guía oficial para escritores +de clases y paquetes, la clase Guide, en +<ulink url="https://www.latex-project.org/help/documentation/clsguide.pdf">https://www.latex-project.org/help/documentation/clsguide.pdf</ulink> +(muchas de las descripciones aquí se derivan de este documento), o el +tutorial <ulink url="https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf">https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf</ulink>. +</para> + +</sect2> +<sect2 label="3.3.2" id="Comandos-class-y-package"> +<title>Comandos class y package</title> +<indexterm role="cp"><primary>Comandos class y package</primary></indexterm> +<indexterm role="cp"><primary>comandos, clase y paquete</primary></indexterm> + +<para>Estos son los comandos diseñados para ayudar a los escritores de +clases o paquetes. +</para> +<variablelist><varlistentry><term><literal>\AtBeginDvi{especiales}</literal> +</term><listitem><indexterm role="fn"><primary>\AtBeginDvi</primary></indexterm> +<para>Guarda en un cuadro de registro las cosas que se escriben en el +archivo <filename>.dvi</filename> al comienzo del envío de la primera página del +documento. </para> +</listitem></varlistentry><varlistentry><term><literal>\AtEndOfClass{<replaceable>code</replaceable>}</literal> +</term><term><literal>\AtEndOfPackage{<replaceable>code</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\AtEndOfClass</primary></indexterm> +<indexterm role="fn"><primary>\AtEndOfPackage</primary></indexterm> +<para>Gancho para insertar <replaceable>code</replaceable> para que se ejecute cuando &latex; +termine procesando la clase o paquete actual. Puedes usar estos +ganchos varias veces; el <literal>código</literal> se ejecutará en el orden en que +lo llames. Consulta también <link linkend="_005cAtBeginDocument">\AtBeginDocument</link>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\CheckCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term><term><literal>\CheckCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\CheckCommand</primary></indexterm> +<indexterm role="fn"><primary>\CheckCommand*</primary></indexterm> +<indexterm role="cp"><primary>nuevo comando, comprobar</primary></indexterm> +<para>Similar a <literal>\newcommand</literal> (véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>) +pero no define <replaceable>cmd</replaceable>; en su lugar, comprueba que la definición +actual de <replaceable>cmd</replaceable> es o no es exactamente como la <replaceable>definition</replaceable> +<indexterm role="cp"><primary>comando long</primary></indexterm> +<firstterm>long</firstterm> como se esperaba. Un comando largo es un comando que +acepta <literal>\par</literal> dentro de un argumento. Se espera que el comando +<replaceable>cmd</replaceable> sea largo con la versión sin estrella de +<literal>\CheckCommand</literal>. Levanta un error cuando la comprobación falla. +Esto te permite comprobar antes de empezar a redefinir <literal>cmd</literal> tú +mismo que ningún otro paquete ya haya redefinido este comando. +</para> +</listitem></varlistentry><varlistentry><term><literal>\ClassError{<replaceable>class name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal> +</term><term><literal>\ClassWarning{<replaceable>class name</replaceable>}{<replaceable>warning text</replaceable>}</literal> +</term><term><literal>\ClassWarningNoLine{<replaceable>class name</replaceable>}{<replaceable>warning text</replaceable>}</literal> +</term><term><literal>\ClassInfo{<replaceable>class name</replaceable>}{<replaceable>info text</replaceable>}</literal> +</term><term><literal>\ClassInfoNoLine{<replaceable>class name</replaceable>}{<replaceable>info text</replaceable>}</literal> +</term><term><literal>\PackageError{<replaceable>package name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal> +</term><term><literal>\PackageWarning{<replaceable>package name</replaceable>}{<replaceable>warning text</replaceable>}</literal> +</term><term><literal>\PackageWarningNoLine{<replaceable>package name</replaceable>}{<replaceable>warning text</replaceable>}</literal> +</term><term><literal>\PackageInfo{<replaceable>package name</replaceable>}{<replaceable>info text</replaceable>}</literal> +</term><term><literal>\PackageInfoNoLine{<replaceable>package name</replaceable>}{<replaceable>info text</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\ClassError</primary></indexterm> +<indexterm role="fn"><primary>\PackageError</primary></indexterm> +<indexterm role="fn"><primary>\ClassWarning</primary></indexterm> +<indexterm role="fn"><primary>\PackageWarning</primary></indexterm> +<indexterm role="fn"><primary>\ClassWarningNoLine</primary></indexterm> +<indexterm role="fn"><primary>\PackageWarningNoLine</primary></indexterm> +<indexterm role="fn"><primary>\ClassInfo</primary></indexterm> +<indexterm role="fn"><primary>\PackageInfo</primary></indexterm> +<indexterm role="fn"><primary>\ClassInfoNoLine</primary></indexterm> +<indexterm role="fn"><primary>\PackageInfoNoLine</primary></indexterm> +<para>Produce un mensaje de error, o mensajes de advertencia o informativo. +</para> +<para>Para <literal>\ClassError</literal> y <literal>\PackageError</literal> el mensaje es +<replaceable>texto de error</replaceable>, seguido del indicador de error <literal>?</literal> de +&tex;. Si el usuario luego, pide ayuda escribiendo <literal>h</literal>, ve el +mensaje <replaceable>texto de ayuda</replaceable>. +</para> +<para>Los cuatro comandos de advertencia son similares excepto que escriben +<replaceable>texto de advertencia</replaceable> en la pantalla sin mensaje de error. Los +cuatro comandos escriben <replaceable>texto info</replaceable> solo en el archivo de +transcripción. Las versiones de <literal>NoLine</literal> no muestran el número +de la línea que genera el mensaje, mientras que las otras versiones +muestran ese número. +</para> +<para>Para dar formato a los mensajes, incluido el <replaceable>texto de ayuda</replaceable>: usa +<literal>\protect</literal> para evitar que un comando se expanda, obtén un salto +de línea con <literal>\MessageBreak</literal>, y obtén un espacio con +<literal>\space</literal> cuando un carácter de espacio no lo permite, como +después de un comando. Ten en cuenta que &latex; añade un punto a +los mensajes. +</para> +</listitem></varlistentry><varlistentry><term><literal>\CurrentOption</literal> +</term><listitem><indexterm role="fn"><primary>\CurrentOption</primary></indexterm> +<para>Expande al nombre de la opción que se está procesando actualmente. +Sólo se pueden usar dentro del argumento <replaceable>code</replaceable> de +<literal>\DeclareOption</literal> o <literal>\DeclareOption*</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\DeclareOption{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}</literal> +</term><term><literal>\DeclareOption*{<replaceable>code</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\DeclareOption</primary></indexterm> +<indexterm role="fn"><primary>\DeclareOption*</primary></indexterm> +<indexterm role="cp"><primary>opciones de clase</primary></indexterm> +<indexterm role="cp"><primary>opciones de paquete</primary></indexterm> +<indexterm role="cp"><primary>opciones, clase</primary></indexterm> +<indexterm role="cp"><primary>opciones, paquete</primary></indexterm> +<para>Hace que una opción esté disponible para que un usuario la invoque en +su comando <literal>\documentclass</literal>. Por ejemplo, la clase +<literal>smcmemo</literal> podría tener una opción +<literal>\documentclass[logo]{smcmemo}</literal> que permita a los usuarios +colocar el logo institucional en la primera página. El archivo de +clase debe contener <literal>\DeclareOption{logo}{<replaceable>code</replaceable>}</literal> (y más +tarde, <literal>\ProcessOptions</literal>). +</para> +<para>Si solicitas una opción que no ha sido declarada, de manera +predeterminada esta producirá una advertencia como <literal>Opciones +globales no utilizadas: [badoption]</literal>. Cambia este comportamiento con +la versión destacada <literal>\DeclareOption*{<replaceable>code</replaceable>}</literal>. Por +ejemplo, muchas clases extienden una clase existente, usando un +comando como <literal>\LoadClass{article}</literal>, y para pasar opciones +adicionales al código de uso de clase subyacente como este. +</para> +<screen>\DeclareOption*{% \PassOptionsToClass{\CurrentOption}{article}% +} +</screen> +<para>Otro ejemplo es que la clase <literal>smcmemo</literal> puede permitir a los +usuarios mantener listas de destinatarios de notas en archivos +externos. Entonces el usuario podría invocar +<literal>\documentclass[math]{smcmemo}</literal> y leerá el archivo +<literal>math.memo</literal>. Este código maneja el archivo si existe y de lo +contrario pasa la opción a la clase <literal>article</literal>. +</para> +<screen>\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% + \PassOptionsToClass{\CurrentOption}{article}}} +</screen> +</listitem></varlistentry><varlistentry><term><literal>\DeclareRobustCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term></varlistentry><varlistentry><term><literal>* \DeclareRobustCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\DeclareRobustCommand</primary></indexterm> +<indexterm role="fn"><primary>\DeclareRobustCommand*</primary></indexterm> +<indexterm role="cp"><primary>nuevo comando, definición</primary></indexterm> +<para>Como <literal>\newcommand</literal> y <literal>\newcommand*</literal> (véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y +\renewcommand</link>) pero estos declaran un comando robusto, incluso si +algún código dentro de la <replaceable>definición</replaceable> es frágil. (Para una +discusión de comandos robustos y frágiles véase <link linkend="_005cprotect">\protect</link>). Usa este +comando para definir nuevos comandos robustos o para redefinir +comandos existentes y hacerlos robustos. A diferencia de +<literal>\newcommand</literal>, estos no dan un error si la macro <replaceable>cmd</replaceable> ya +existe; en su lugar, se coloca un mensaje de registro en el archivo de +transcripción si se redefine un comando. +</para> +<para>Los comandos definidos de esta manera son un poco menos eficientes que +los definidos usando <literal>\newcommand</literal> así que, a menos que los datos +del comando sean frágiles y el comando se use dentro de un argumento +en movimiento, usa <literal>\newcommand</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>etoolbox</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>etoolbox</literal> package</primary></indexterm> +<para>El paquete <literal>etoolbox</literal> ofrece los comandos +<literal>\newrobustcmd</literal>, <literal>\newrobustcmd*</literal>, así como los comandos +<literal>\renewrobustcmd</literal>, <literal>\renewrobustcmd*</literal> y los comandos +<literal>\providerobustcmd</literal> y <literal>\providerobustcmd*</literal>. Estos son +similares a <literal>\newcommand</literal>, <literal>\newcommand*</literal>, +<literal>\renewcommand</literal>, <literal>\renewcommand*</literal>, <literal>\providecommand</literal> y +<literal>\providecommand*</literal>, pero define un <replaceable>cmd</replaceable> robusto con dos +ventajas en comparación con <literal>\DeclareRobustCommand</literal>: +</para><orderedlist numeration="arabic"><listitem><para>Utilizan el mecanismo de protección de bajo nivel e-&tex; en lugar +del mecanismo <literal>\protect</literal> &latex; de nivel superior, por lo que +no incurren la ligera pérdida de rendimiento mencionada anteriormente, +y +</para></listitem><listitem><para>Hacen la misma distinción entre <literal>\new…</literal>, +<literal>\renew…</literal> y <literal>\provide…</literal>, como comandos estándar, +por lo que no solo hacen un mensaje de registro cuando redefines +<replaceable>cmd</replaceable> que ya existe, en ese caso necesitas usar +<literal>\renew…</literal> o <literal>\provide…</literal> o recibes un error. +</para></listitem></orderedlist> +</listitem></varlistentry><varlistentry><term><literal>\IfFileExists{<replaceable>filename</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal> +</term><term><literal>\InputIfFileExists{<replaceable>filename</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\IfFileExists</primary></indexterm> +<indexterm role="fn"><primary>\InputIfFileExists</primary></indexterm> +<para>Ejecuta <replaceable>código verdadero</replaceable> si &latex; encuentra el archivo +<filename><replaceable>nombre de archivo</replaceable></filename> o <replaceable>código falso</replaceable> de lo contrario. +En el primer caso se ejecuta <replaceable>código verdadero</replaceable> y entonces ingresa +el archivo. Así el comando +</para> +<screen>\IfFileExists{img.pdf}{% + \includegraphics{img.pdf}}{\typeout{!! img.pdf no encontrado} +</screen> +<para>incluirá el gráfico <filename>img.pdf</filename> si se encuentra y de lo contrario +dará un aviso. +</para> +<para>Este comando busca el archivo en todas las rutas de búsqueda que usa +&latex;, no solo en el directorio actual. Mirar solo en el +directorio actual hace algo como +<literal>\IfFileExists{./filename}{<replaceable>código +verdadero</replaceable>}{<replaceable>código falso</replaceable>}</literal>. Si solicitas un nombre de +archivo sin una extensión <literal>.tex</literal> entonces &latex; primero +buscará el archivo agregando la extensión <literal>.tex</literal>; para obtener +más información sobre cómo &latex; maneja las extensiones de archivo +<link linkend="_005cinput">\input</link>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\LoadClass[<replaceable>options list</replaceable>]{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><term><literal>\LoadClassWithOptions{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><listitem><indexterm role="fn"><primary>\LoadClass</primary></indexterm> +<indexterm role="fn"><primary>\LoadClassWithOptions</primary></indexterm> +<para>Carga una clase, como con <literal>\documentclass[<replaceable>lista de +opciones</replaceable>]{<replaceable>nombre de clase</replaceable>}[<replaceable>información de +publicación</replaceable>]</literal>. Un ejemplo es <literal>\LoadClass[twoside]{article}</literal>. +</para> +<para>La <replaceable>options list</replaceable>, si está presente, es una lista separada por +comas. La <replaceable>fecha de lanzamiento</replaceable> es opcional. Si está presente +debe tener la forma <replaceable>AAAA/MM/DD</replaceable>. +<!-- Por cierto, hay at-macros documentadas en macros2e.pdf para --> +<!-- comprobar la versión y, condicionalmente, realizar algunas acciones --> +<!-- en la versión posterior o no en algunas fechas. --> +</para> +<para>Si solicitas una <replaceable>fecha de lanzamiento</replaceable> y la fecha del paquete +instalado en tu sistema es anterior, recibes una advertencia en la +pantalla y en el registro como esta. +</para> +<screen>Has solicitado, en la línea de entrada 4, la versión `2038/01/19' de +la clase de documento ``article'', pero solo la versión `2014/09/29 +v1.4h La clase de documento LaTeX estándar' está disponible. +</screen> +<para>La versión del comando <literal>\LoadClassWithOptions</literal> usa la lista de +opciones para la clase actual. Esto significa que ignora cualquier +opción pasada a través de <literal>\PassOptionsToClass</literal>. Este es un +comando de conveniencia que te permite construir clases sobre las +existentes, como la clase <literal>article</literal> estándar, sin tener que +rastrear qué opciones se pasaron. +</para> +</listitem></varlistentry><varlistentry><term><literal>\ExecuteOptions{<replaceable>options-list</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\ExecuteOptions</primary></indexterm> +<para>Para cada opción <replaceable>option</replaceable> en la <replaceable>lista de opciones</replaceable>, en orden, +este comando ejecuta el comando <literal>\ds@<replaceable>option</replaceable></literal>. Si este +comando no está definido, entonces esa opción se ignora +silenciosamente. +</para> +<para>Se puede utilizar para proporcionar una lista de opciones +predeterminada antes <literal>\ProcessOptions</literal>. Por ejemplo, si en un +archivo de clase deseas que el predeterminado sea el tipo de letra de +11 puntos, entonces podrías especificar +<literal>\ExecuteOptions{11pt}\ProcessOptions\relax</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\NeedsTeXFormat{<replaceable>format</replaceable>}[<replaceable>formato de fecha</replaceable>]</literal> +</term><listitem><indexterm role="fn"><primary>\NeedsTeXFormat</primary></indexterm> +<para>Especifica el formato con el que se debe ejecutar esta clase. A +menudo emitido como la primera línea de un archivo de clase, y se usa +con mayor frecuencia como: <literal>\NeedsTeXFormat{LaTeX2e}</literal>. Cuando +un documento que usa esa clase es procesado, el nombre de formato +proporcionado aquí debe coincidir con el formato que en realidad se +está ejecutando (incluyendo que la cadena <replaceable>format</replaceable> es sensible a +mayúsculas y minúsculas). Si no coincide, la ejecución se detiene con +un error como ‘<literal>Este archivo necesita formato `LaTeX2e' pero es +`xxx'.</literal>’ +</para> +<para>Para especificar una versión del formato que sabes que tiene ciertas +características, incluye el <replaceable>formato de fecha</replaceable> opcional en el que +esas características fueron implementadas. Si está presente, debe +tener el formato <literal>YYYY/MM/DD</literal>. Si la versión del formato +instalada en tu sistema es anterior al <replaceable>formato de fecha</replaceable>, +entonces recibes una advertencia como esta. +</para> +<screen>Has solicitado la liberación `2038/01/20' de LaTeX, pero solo la +versión `2016/02/01' está disponible. +</screen> +</listitem></varlistentry><varlistentry><term><literal>\OptionNotUsed</literal> +</term><listitem><indexterm role="fn"><primary>\OptionNotUsed</primary></indexterm> +<para>Agrega la opción actual a la lista de opciones no utilizadas. Solo se +puede usar dentro del argumento <replaceable>code</replaceable> de <literal>\DeclareOption</literal> o +<literal>\DeclareOption*</literal>. +</para> +<!-- No puedo reproducir este comportamiento como está documentado en --> +<!-- clsguide. En ausencia de una declaración @code{\DeclareOption*}, --> +<!-- @LaTeX{} emite una advertencia en la consola como @code{Advertencia --> +<!-- de LaTeX: Global no utilizadas opción(es): [opción no utilizada].} --> +<!-- con la lista de opciones no utilizadas cuando llega a --> +<!-- @code{\begin@{document@}}. --> + +</listitem></varlistentry><varlistentry><term><literal>\PassOptionsToClass{<replaceable>options list</replaceable>}{<replaceable>class name</replaceable>}</literal> +</term><term><literal>\PassOptionsToPackage{<replaceable>options list</replaceable>}{<replaceable>package name</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\PassOptionsToClass</primary></indexterm> +<indexterm role="fn"><primary>\PassOptionsToPackage</primary></indexterm> +<para>Agrega las opciones en la lista separada por comas <replaceable>lista de +opciones</replaceable> a las opciones utilizadas por cualquier futuro comando +<literal>\RequirePackage</literal> o <literal>\usepackage</literal> para el paquete +<replaceable>nombre del paquete</replaceable> o la clase <replaceable>nombre de clase</replaceable>. +</para> +<para>El motivo de estos comandos es: puedes cargar un paquete cualquier +cantidad de veces sin opciones, pero, si deseas opciones, solo las +puedes proporcionar cuando cargues el paquete por primera vez. Al +cargar un paquete con opciones más de una vez obtendrás un error como +<literal>Conflicto de opción para el paquete Foo.</literal> (&latex; arroja un +error incluso si no hay conflicto entre opciones). +</para> +<para>Si tu propio código trae un paquete dos veces, entonces puedes +colapsar eso a una vez, por ejemplo reemplazando los dos +<literal>\RequirePackage[landscape]{geometry}</literal> y +<literal>\RequirePackage[margins=1in]{geometry}</literal> con el comando único +<literal>\RequirePackage[landscape,margins=1in]{geometry}</literal>. +</para> +<para>Sin embargo, imagina que estás cargando <filename>firstpkg</filename> y dentro de +ese paquete que carga <filename>secondpkg</filename>, y necesitas que el segundo +paquete sea cargado con la opción <literal>draft</literal>. Entonces antes de +hacer el primer paquete debes poner en cola las opciones para el +segundo paquete, así. +</para> +<screen>\PassOptionsToPackage{draft}{secondpkg} +\RequirePackage{firstpkg} +</screen> +<para>(Si <literal>firstpkg.sty</literal> carga una opción en conflicto con lo que +deseas entonces posiblemente tengas que alterar tu fuente). +</para> +<para>Estos comandos son útiles para usuarios generales, así como para +clases y paquetes. Por ejemplo, supongamos que un usuario quiere +cargar el paquete <literal>graphicx</literal> con la opción <literal>draft</literal> y también +quieres usar una clase <literal>foo</literal> que carga el paquete +<literal>graphicx</literal>, pero sin esa opción. El usuario podría iniciar su +archivo &latex; con +<literal>\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>\ProcessOptions</literal> +</term><term><literal>\ProcessOptions*<replaceable>\@options</replaceable></literal> +</term><listitem><indexterm role="fn"><primary>\ProcessOptions</primary></indexterm> +<indexterm role="fn"><primary>\ProcessOptions*</primary></indexterm> +<para>Ejecuta el código para cada opción que el usuario haya invocado. +Incluirlo en el archivo de clase como <literal>\ProcessOptions\relax</literal> +(debido a la existencia del comando con asterisco). +</para> +<para>Las opciones vienen en dos tipos. <firstterm>Opciones locales</firstterm> se han +especificado para este paquete particular en el argumento +<replaceable>options</replaceable> de <literal>\PassOptionsToPackage{<replaceable>options</replaceable>}</literal>, +<literal>\usepackage[<replaceable>options</replaceable>]</literal>, o +<literal>\RequirePackage[<replaceable>options</replaceable>]</literal>. <firstterm>Opciones globales</firstterm> son +las dadas por el usuario de la clase en +<literal>\documentclass[<replaceable>options</replaceable>]</literal> (si una opción se especifica +tanto local como globalmente, entonces es local). +</para> +<para>Cuando se llama a <literal>\ProcessOptions</literal> para un paquete +<filename>pkg.sty</filename>, lo siguiente sucede: +</para><orderedlist numeration="arabic"><listitem><para>Para cada opción <replaceable>option</replaceable> declarada hasta ahora con +<literal>\DeclareOption</literal>, busca si esa opción es una opción global o +local para <literal>pkg</literal>. Si es así, ejecuta el código declarado. Esto +se hace en el orden en que estas opciones fueron dadas en +<filename>pkg.sty</filename>. +</para></listitem><listitem><para>Para cada opción local restante, ejecuta el comando +<literal>\ds@</literal><replaceable>option</replaceable> si se ha definido en algún lugar (que no sea +por una <literal>\DeclareOption</literal>); de lo contrario, ejecuta el código de +opción predeterminada dada en <literal>\DeclareOption*</literal>. Si no se ha +introducido ningún código de opción predeterminado declarado entonces +da un mensaje de error. Esto se hace en el orden en que se +especificaron estas opciones. +</para></listitem></orderedlist> +<para>Cuando se llama a <literal>\ProcessOptions</literal> para una clase, funciona en +la misma manera salvo que todas las opciones son locales y el +<replaceable>code</replaceable> predeterminado para <literal>\DeclareOption*</literal> es +<literal>\OptionNotUsed</literal> en lugar de un error. +</para> +<para>La versión destacada <literal>\ProcessOptions*</literal> ejecuta las opciones en +el orden especificado en las llamadas a comandos, en lugar de en el +orden de declaración en la clase o paquete. Para un paquete esto +significa que las opciones globales se procesan primero. +</para> +</listitem></varlistentry><varlistentry><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal> +</term><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal> +</term><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><listitem><indexterm role="fn"><primary>\ProvidesClass</primary></indexterm> +<indexterm role="fn"><primary>\ProvidesPackage</primary></indexterm> +<para>Identifica la clase o paquete, imprimiendo un mensaje en pantalla y en +el archivo de registro. +</para> +<para>Cuando cargas una clase o paquete, por ejemplo con +<literal>\documentclass{smcmemo}</literal> o <literal>\usepackage{test}</literal>, +&latex; ingresa un archivo. Si el nombre del archivo no coincide con +la clase o nombre del paquete declarado en él, entonces recibes una +advertencia. Así, si invocas <literal>\documentclass{smcmemo}</literal>, y el +archivo <filename>smcmemo.cls</filename> tiene la instrucción +<literal>\ProvidesClass{xxx}</literal> luego recibes una advertencia como +<literal>Has solicitado la clase de documento `smcmemo', pero la clase +del documento proporciona 'xxx'.</literal> Esta advertencia no evita que +&latex; procese el resto del archivo de clase normalmente. +</para> +<para>Si incluyes el argumento opcional, debes incluir una fecha, antes de +cualquier espacio, en la forma <literal>AAAA/MM/DD</literal>. El resto del +argumento opcional es de forma libre, aunque tradicionalmente +identifica la clase, y se escribe en la pantalla durante la +compilación y en el archivo de registro. Por lo tanto, si tu archivo +<filename>smcmemo.cls</filename> contiene la línea +<literal>\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC clase memo]</literal> y la +primera línea de tu documento es <literal>\documentclass{smcmemo}</literal> +entonces verás <literal>Clase de documento: smcmemo 2008/06/01 v1.0 SMC +clase memo</literal>. +</para> +<para>La fecha en el argumento opcional permite a los usuarios de clases y +paquetes preguntar para ser advertido si la versión de la clase o +paquete es anterior a la <replaceable>fecha de lanzamiento</replaceable>. Por ejemplo, un +usuario puede ingresar <literal>\documentclass{smcmemo}[2018/10/12]</literal> o +<literal>\usepackage{foo}[[2017/07/07]]</literal> para requerir una clase o +paquete con ciertas características especificando que no se debe +lanzar antes que la fecha dada. (Aunque, en la práctica, los usuarios +de paquetes rara vez incluyen una fecha, y los usuarios de clases casi +nunca lo hacen). +</para> +</listitem></varlistentry><varlistentry><term><literal>\ProvidesFile{<replaceable>filename</replaceable>}[<replaceable>additional information</replaceable>]</literal> +</term><listitem><indexterm role="fn"><primary>\ProvidesFile</primary></indexterm> +<para>Declara un archivo que no sea la clase principal y los archivos del +paquete, como archivos de configuración o archivos de definición del +tipo de letra. Pon este comando en ese archivo y obtienes en el +registro una cadena como <literal>File: test.config 2017/10/12 archivo de +configuración para test.cls</literal> para <replaceable>filename</replaceable> igual a +‘<literal>test.config</literal>’ e <replaceable>información adicional</replaceable> igual a +‘<literal>2017/10/12 archivo de configuración para test.cls</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><literal>\RequirePackage[<replaceable>options list</replaceable>]{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><term><literal>\RequirePackageWithOptions{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal> +</term><listitem><indexterm role="fn"><primary>\RequirePackage</primary></indexterm> +<indexterm role="fn"><primary>\RequirePackageWithOptions</primary></indexterm> +<para>Carga un paquete, como el comando <literal>\usepackage</literal> (véase <link linkend="Paquetes-adicionales">Paquetes +adicionales</link>). El equipo de desarrollo de &latex; recomienda +encarecidamente el uso de estos comandos sobre el <literal>\input</literal> de +&tex; estándar; ve la Guía de clase. Un ejemplo es +<literal>\RequirePackage[landscape,margin=1in]{geometry}</literal>. +</para> +<para>La <replaceable>lista de opciones</replaceable>, si está presente, es una lista separada +por comas. La <replaceable>fecha de lanzamiento</replaceable>, si está presente, debe +tener el formato <replaceable>AAAA/MM/DD</replaceable>. Si la fecha de lanzamiento del +paquete instalado en tu sistema es anterior que la <replaceable>fecha de +lanzamiento</replaceable>, recibes una advertencia como <literal>Has solicitado, en la +línea de entrada 9, la versión `2017/07/03' del paquete jhtest, pero +solo está disponible la versión `2000/01/01'</literal>. +</para> +<para>La versión <literal>\RequirePackageWithOptions</literal> usa la lista de opciones +para la clase actual. Esto significa que ignoras cualquier opción que +se le pase a través de <literal>\PassOptionsToClass</literal>. Este es un comando +de conveniencia para facilitar la construcción de clases sobre las +existentes sin tener que rastrear cuáles opciones se pasaron. +</para> +<para>La diferencia entre <literal>\usepackage</literal> y <literal>\RequirePackage</literal> es +pequeña. El comando <literal>\usepackage</literal> está diseñado para el archivo +del documento mientras que <literal>\RequirePackage</literal> está diseñado para +paquetes y archivos de clase. Por lo tanto, usar <literal>\usepackage</literal> +antes del comando <literal>\documentclass</literal> hace que &latex; dé un error +como <literal>\usepackage antes de \documentclass</literal>, pero allí puedes usar +<literal>\RequirePackage</literal>. +</para></listitem></varlistentry></variablelist> +</sect2> </sect1> </chapter> -<chapter label="5" id="Tipos-de-Letra"> -<title>Tipos de Letra</title> +<chapter label="4" id="Tipos-de-letra"> +<title>Tipos de letra</title> +<anchor id="Tipograf_00eda"/><!-- nombre antiguo --> -<indexterm role="cp"><primary>Tipos de Letra</primary></indexterm> +<indexterm role="cp"><primary>tipografía</primary></indexterm> <indexterm role="cp"><primary>tipos de letra</primary></indexterm> -<para>Dos aspectos importantes de la selección de un <firstterm>tipo de letra</firstterm> son -la especificación del tamaño y del estilo. Las -instrucciones &latex; para hacer esto se describen a continuación. +<para>&latex; viene con poderosas capacidades de tipos de letra. Por un +lado, este nuevo esquema de selección de tipos de letra te permite +trabajar fácilmente con las familias de tipos de letra en tu documento +(por ejemplo, <link linkend="Estilos-de-tipos-de-letra">Estilos de tipos de letra</link>). Y, los documentos +&latex; pueden usar la mayoría de los tipos de letra disponibles +actualmente, incluyendo versiones de Times Roman, Helvetica, Courier, +etc. (Nota sin embargo que, muchos tipos de letra no son compatibles +con matemáticas). +</para> +<para>El primer tipo de letra en el mundo &tex; fue la familia Computer +Modern, desarrollado por Donald Knuth. Es el predeterminado para los +documentos &latex; y sigue siendo el más utilizado. Pero cambiar a +otro tipo de letra a menudo solo implica algunos comandos. Por +ejemplo, poner lo siguiente en tu preámbulo te da un tipo de letra +similar a Palatino, que es hermoso y más legible en línea que muchos +otros tipos de letra, al mismo tiempo que te permite tipografía de +matemáticas. (Este ejemplo es de Michael Sharpe, +<ulink url="https://math.ucsd.edu/~msharpe/RcntFnts.pdf">https://math.ucsd.edu/~msharpe/RcntFnts.pdf</ulink>). +</para> +<screen>\usepackage[osf]{newpxtext} % osf para texto, no matemáticas +\usepackage{cabin} % sans serif +\usepackage[varqu,varl]{inconsolata} % máquina de escribir sans serif +\usepackage[bigdelims,vvarbb]{newpxmath} % bb de STIX +\usepackage[cal=boondoxo]{mathalfa} % mathcal +</screen> +<para>Además, los motores <command>xelatex</command> o <command>lualatex</command> permiten +que uses cualquier tipo de letra en tu sistema que esté en formato +OpenType o TrueType (véase <link linkend="Motores-TeX">Motores &tex;</link>). +</para> +<para>El catálogo de tipos de letra &latex; +(<ulink url="https://tug.org/FontCatalogue">https://tug.org/FontCatalogue</ulink>) muestra gráficos de ejemplo del +tipo de letra y fuente que se puede copiar y pegar para usar muchos +tipos de letra, incluyendo muchos compatibles con matemáticas. +Pretende abarcar todos los tipos de letra Latin alfabéticas libres +disponibles para un uso sencillo con &latex;. +</para> +<para>También hay más información disponible en los grupos de usuarios +&tex;, en <ulink url="https://www.tug.org/fonts/">https://www.tug.org/fonts/</ulink>. </para> -<sect1 label="5.1" id="Estilos-del-Tipo-de-Letra"> -<title>Estilos del Tipo de Letra</title> +<sect1 label="4.1" id="paquete-fontenc"> +<title>paquete <literal>fontenc</literal></title> -<indexterm role="cp"><primary>estilos del tipo de letra</primary></indexterm> -<indexterm role="cp"><primary>estilos de tipografía</primary></indexterm> -<indexterm role="cp"><primary>estilos de texto</primary></indexterm> +<indexterm role="cp"><primary>font codificación</primary></indexterm> +<indexterm role="cp"><primary>UTF-8, tipo de letra compatible con</primary></indexterm> +<indexterm role="cp"><primary>T1</primary></indexterm> +<indexterm role="cp"><primary>OT1</primary></indexterm> +<indexterm role="fn"><primary>fontenc</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\usepackage[<replaceable>font_encoding</replaceable>]{fontenc} +</screen> +<para>o +</para> +<screen>\usepackage[<replaceable>font_encoding1</replaceable>, <replaceable>font_encoding2</replaceable>, ...]{fontenc} +</screen> +<para>Especifica la codificación del tipo de letra. Una codificación de +tipo de letra es una asignación de códigos de caracteres a los glifos +del tipo de letra que se utilizan para escribir +</para> +<indexterm role="cp"><primary>package, <literal>fontspec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fontspec</literal> package</primary></indexterm> +<para>Este paquete solo se aplica si usas el motor +<literal>pdflatex</literal> (véase <link linkend="Motores-TeX">Motores &tex;</link>). Si usas el comando +<command>xelatex</command> o el motor <command>lualatex</command> entonces usa el +paquete <literal>fontspec</literal>. +</para> +<para>La familia de tipos de letra original de &tex;, Computer Modern, +tiene un conjunto de caracteres limitado. Por ejemplo, para hacer +caracteres acentuados comunes, debes usar <literal>\accent</literal> +(véase <link linkend="_005caccent">\accent</link>) pero esto deshabilita la separación silábica. Los +usuarios &tex; han acordado una serie de estándares para acceder a +conjuntos de caracteres más grandes proporcionados por los tipos de +letra modernos. Si estás usando <command>pdflatex</command> entonces pon esto +en el preámbulo +</para> +<screen>\usepackage[T1]{fontenc} +</screen> +<para>te brinda soporte para los idiomas europeos ampliamente extendidos, +incluidos francés, alemán, italiano, polaco y otros. En particular, +si tienes palabras con letras acentuadas entonces &latex; las +dividirá y tu salida se puede copiar y pegar. (La segunda línea +opcional te permite ingresar directamente caracteres acentuados en tu +archivo fuente). +</para> +<indexterm role="cp"><primary>package, <literal>lmodern</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>lmodern</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>cm-super</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cm-super</literal> package</primary></indexterm> +<para>Si estás utilizando una +codificación como <literal>T1</literal> y los caracteres aparecen borrosos o no se +amplían bien, entonces tus tipos de letra pueden estar en mapas de +bits, a veces llamado raster o Type 3. Quieres tipos de letra +vectoriales. Utiliza un paquete como <literal>lmodern</literal> o +<literal>cm-super</literal> para obtener un tipo de letra que extiende el valor +predeterminado de &latex; usando tipos de letra vectoriales. +</para> +<para>Para cada <replaceable>font_encoding</replaceable> dado como opción pero aún no declarado, +este paquete carga los archivos de definición de codificación, +denominados <filename><replaceable>font_encoding</replaceable>enc.def</filename>. También establece +<literal>\encodingdefault</literal> para ser la última codificación en la lista de +opciones. +</para> +<para>Estos son los valores comunes para <replaceable>font_encoding</replaceable>. +</para> +<variablelist><varlistentry><term><literal>OT1</literal> +</term><listitem><para>La codificación original para &tex;. Limitada a caracteres en su +mayoría en inglés. +</para> +</listitem></varlistentry><varlistentry><term><literal>OMS, OML</literal> +</term><listitem><para>Símbolos matemáticos y codificación de letras matemáticas. +</para> +</listitem></varlistentry><varlistentry><term><literal>T1</literal> +</term><listitem><para>Texto &tex; extendido. A veces se llama la codificación de Cork para +la reunión de usuarios del grupo donde se desarrolló. Da acceso a la +mayoría de los caracteres acentuados europeos. La opción más común +para este paquete. +</para> +</listitem></varlistentry><varlistentry><term><literal>TS1</literal> +</term><listitem><para>Codificación de Text Companion. +</para></listitem></varlistentry></variablelist> +<para>El valor predeterminado de &latex; es cargar <literal>OML</literal>, <literal>T1</literal>, +<literal>OT1</literal> y luego <literal>OMS</literal>, y establece el valor predeterminado en +<literal>OT1</literal>. +</para> +<para>Incluso si no usas letras acentuadas, es posible que debas especificar una +codificación de tipo de letra si tu tipo de letra lo requiere. +</para> +<para>Si usas codificación<literal>T1</literal>  en los tipos de letra que no sean +las familias Modern predeterminadas, es posible que debas cargar el +paquete que selecciona tus tipos de letra antes de cargar +<filename>fontenc</filename>, para evitar que el sistema cargue cualquier tipo de +letra codificada <literal>T1</literal> de la predeterminada. +</para> +<para>El equipo de &latex; reserva nombres de codificación que comienzan +con: ‘<literal>T</literal>’ para codificaciones de texto estándar con 256 +caracteres, ‘<literal>TS</literal>’ para símbolos que extienden las codificaciones T +correspondientes, ‘<literal>X</literal>’ para codificaciones de prueba, ‘<literal>M</literal>’ +para codificaciones matemáticas estándar con 256 caracteres, ‘<literal>A</literal>’ +para aplicaciones especiales, ‘<literal>OT</literal>’ para codificaciones de texto +estándar con 128 caracteres y ‘<literal>OM</literal>’ para codificaciones +matemáticas estándar con 128 caracteres (‘<literal>O</literal>’ significa +‘<literal>obsoleto</literal>’). +</para> +<para>Este paquete proporciona una serie de comandos, que se detallan a +continuación. Muchos de ellos son específicos de codificación, por lo +que si has definido un comando que funciona para una codificación pero +la codificación actual es diferente, entonces el comando no está en +vigor. +</para> + + +<sect2 label="4.1.1" id="_005cDeclareFontEncoding"> +<title><literal>\DeclareFontEncoding</literal></title> + +<indexterm role="cp"><primary>codificación del tipo de letra, declarado</primary></indexterm> +<indexterm role="cp"><primary>codificación, tipo de letra</primary></indexterm> +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareFontEncoding</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareFontEncoding{<replaceable>encoding</replaceable>}{<replaceable>text-settings</replaceable>}{<replaceable>math-settings</replaceable>} +</screen> +<para>Declara la codificación del tipo de letra <replaceable>encoding</replaceable>. También +guarda el valor de <replaceable>encoding</replaceable> en <literal>\LastDeclaredEncoding</literal> +(véase <link linkend="_005cLastDeclaredEncoding">\LastDeclaredEncoding</link>). +</para> +<para>El archivo <filename>t1enc.def</filename> contiene esta línea (seguida de muchas +otras). +</para> +<screen>\DeclareFontEncoding{T1}{}{} +</screen> +<para>Los <replaceable>text-settings</replaceable> son los comandos que &latex; ejecutará cada +vez que cambias de una codificación a otra con los comandos +<literal>\selectfont</literal> y <literal>\fontencoding</literal>. Los <replaceable>math-settings</replaceable> +son los comandos que &latex; usará siempre que el tipo de letra se +accede como un alfabeto matemático. +</para> +<para>&latex; ignora cualquier carácter de espacio dentro de +<replaceable>text-settings</replaceable> y <replaceable>math-settings</replaceable>, para evitar espacios no +deseados en la salida. +</para> +<para>Si inventas una codificación, debes elegir un nombre de dos o tres +letras comenzando con ‘<literal>L</literal>’ para ‘<literal>local</literal>’, o ‘<literal>E</literal>’ para +‘<literal>experimental</literal>’. +</para> +<para>Ten en cuenta que &latex; puede leer varias veces los archivos de +codificación de salida, por lo que usar, por ejemplo, +<literal>\newcommand</literal> puede causar un error. Además, tales archivos +deben contener la línea <literal>\ProvidesFile</literal> (véase <link linkend="Comandos-class-y-package">Comandos class y +package</link>). +</para> +<para>Ten en cuenta también que debes usar los comandos <literal>\...Default</literal> +solo en un paquete, no en los archivos de definición de codificación, +ya que esos archivos solo deben contener declaraciones específicas +para esa codificación. +</para> + +</sect2> +<sect2 label="4.1.2" id="_005cDeclareTextAccent"> +<title><literal>\DeclareTextAccent</literal></title> + +<indexterm role="cp"><primary>font codificación</primary></indexterm> +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextAccent</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextAccent{<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>slot</replaceable>} +</screen> +<para>Define un acento, para colocarlo encima de otros glifos, en la +codificación <replaceable>encoding</replaceable> en la ubicación <replaceable>slot</replaceable>. +</para> +<indexterm role="cp"><primary>slot, tipo de letra</primary></indexterm> +<para>Un <firstterm>slot</firstterm> es el número que identifica un glifo dentro de un tipo +de letra. +</para> +<para>Esta línea de <filename>t1enc.def</filename> declara que para hacer un acento +circunflejo como en <literal>\^A</literal>, el sistema pondrá el acento en el +slot 2 sobre el carácter ‘<literal>A</literal>’, que se representa en ASCII +como 65. (Esto se mantiene a menos que haya un +<literal>DeclareTextComposite</literal> relevante o una declaración +<literal>\DeclareTextCompositeCommand</literal>; véase <link linkend="_005cDeclareTextComposite">\DeclareTextComposite</link>). +</para> +<screen>\DeclareTextAccent{\^}{T1}{2} +</screen> +<para>Si <replaceable>cmd</replaceable> ya se ha definido, entonces <literal>\DeclareTextAccent</literal> no +da error pero si registra la redefinición en el archivo de +transcripción. +</para> + +</sect2> +<sect2 label="4.1.3" id="_005cDeclareTextAccentDefault"> +<title><literal>\DeclareTextAccentDefault</literal></title> + +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextAccent</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextAccentDefault</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextAccentDefault{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>} +</screen> +<para>Si hay un comando específico de codificación de acento \<replaceable>cmd</replaceable> pero +no hay un <literal>\DeclareTextAccent</literal> asociado para esa codificación, +entonces este comando tomará el relevo, diciendo que lo use como se +describe para <replaceable>encoding</replaceable>. +</para> +<para>Por ejemplo, para hacer que la codificación <literal>OT1</literal> sea la +codificación predeterminada para el acento <literal>\"</literal>, declara esto. +</para> +<screen>\DeclareTextAccentDefault{\"}{OT1} +</screen> +<para>Si emites un <literal>\"</literal> cuando la codificación actual no tiene una +definición para ese acento entonces &latex; usará la definición desde +<literal>OT1</literal> +</para> +<para>Es decir, este comando es equivalente a esta llamada +(véase <link linkend="_005cUseTextSymbol-y-_005cUseTextAccent">\UseTextSymbol y \UseTextAccent</link>). +</para> +<screen>\DeclareTextCommandDefault[1]{\<replaceable>cmd</replaceable>} + {\UseTextAccent{<replaceable>encoding</replaceable>}{\<replaceable>cmd</replaceable>}{#1}} +</screen> +<para>Ten en cuenta que <literal>\DeclareTextAccentDefault</literal> funciona para +cualquier comando <filename>fontenc</filename> de argumento único, no solo el +comando de acento. +</para> + +</sect2> +<sect2 label="4.1.4" id="_005cDeclareTextCommand-y-_005cProvideTextCommand"> +<title><literal>\DeclareTextCommand</literal> y <literal>\ProvideTextCommand</literal></title> + +<anchor id="_005cDeclareTextCommand"/><anchor id="_005cProvideTextCommand"/><indexterm role="fn"><primary>\DeclareTextCommand</primary></indexterm> +<indexterm role="fn"><primary>\ProvideTextCommand</primary></indexterm> +<para>Sinopsis, una de: +</para> +<screen>\DeclareTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>defn</replaceable>} +\DeclareTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn}</replaceable> +\DeclareTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +</screen> +<para>o una de: +</para> +<screen>\ProvideTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>defn</replaceable>} +\ProvideTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\ProvideTextCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +</screen> +<para>Define el comando <literal>\<replaceable>cmd</replaceable></literal>, que será específico para una +codificación. El nombre del comando <replaceable>cmd</replaceable> debe estar precedido +por una barra invertida, <literal>\</literal>. Estos comandos solo pueden +aparecer en el preámbulo. Redefinir \<replaceable>cmd</replaceable> no provoca un +error. El comando definido será robusto incluso si el código en +<replaceable>defn</replaceable> es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Por ejemplo, el archivo <filename>t1enc.def</filename> contiene esta línea. +</para> +<screen>\DeclareTextCommand{\textperthousand}{T1}{\%\char 24 } +</screen> +<para>Con eso, puedes expresar partes por mil. +</para> +<screen>\usepackage[T1]{fontenc} % en el preámbulo + ... +El límite legal es \(0.8 \)\textperthousand. +</screen> +<para>Si cambias la codificación del tipo de letra a <literal>OT1</literal>, obtendrás +un error como ‘<literal>Error de LaTeX: Comando \textperthousand no +disponible en codificación OT1</literal>’. +</para> +<indexterm role="fn"><primary>\DeclareTextSymbol</primary></indexterm> +<para>La variante <literal>\ProvideTextCommand</literal> hace lo mismo, excepto que no +hace nada si <literal>\<replaceable>cmd</replaceable></literal> ya está definido. El comando +<literal>\DeclareTextSymbol</literal> es más rápido que este por simple asociación +de slot a glifo (véase <link linkend="_005cDeclareTextSymbol">\DeclareTextSymbol</link>) +</para> +<para>Los argumentos opcionales <replaceable>nargs</replaceable> y <replaceable>optargdefault</replaceable> juegan el +mismo rol aquí como en <literal>\newcommand</literal> (véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y +\renewcommand</link>). Brevemente, <replaceable>nargs</replaceable> es un número entero de 0 a 9 +especificando el número de argumentos que el comando definido +<literal>\<replaceable>cmd</replaceable></literal> toma. Este número incluye cualquier argumento +opcional. Omitir este argumento es lo mismo que especificar 0, lo +cual significa que <literal>\<replaceable>cmd</replaceable></literal> no tendrá argumentos. Y, si +<replaceable>optargdefault</replaceable> está presente, entonces el primer argumento de +<literal>\<replaceable>cmd</replaceable></literal> es opcional, con el valor predeterminado +<replaceable>optargdefault</replaceable> (que puede ser la cadena vacía). Si +<replaceable>optargdefault</replaceable> no está presente, entonces <literal>\<replaceable>cmd</replaceable></literal> +tampoco toma un argumento opcional. +</para> + +</sect2> +<sect2 label="4.1.5" id="_005cDeclareTextCommandDefault-y-_005cProvideTextCommandDefault"> +<title><literal>\DeclareTextCommandDefault</literal> y <literal>\ProvideTextCommandDefault</literal></title> + +<anchor id="_005cDeclareTextCommandDefault"/><anchor id="_005cProvideTextCommandDefault"/><indexterm role="fn"><primary>\DeclareTextCommandDefault</primary></indexterm> +<indexterm role="fn"><primary>\ProvideTextCommandDefault</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextCommandDefault{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +</screen> +<para>o: +</para> +<screen>\ProvideTextCommandDefault{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +</screen> +<para>Proporciona una definición predeterminada para <literal>\<replaceable>cmd</replaceable></literal>, para +cuando ese comando no está definido en la codificación actualmente en +vigor. Este valor predeterminado debería utilizar únicamente +codificaciones que sepas que están disponibles. +</para> +<para>Esto hace que <literal>\copyright</literal> esté disponible. +</para> +<screen>\DeclareTextCommandDefault{\copyright}{\textcircled{c}} +</screen> +<para>Utiliza solo una codificación (OMS) que siempre está disponible. +</para> +<para>El <literal>\DeclareTextCommandDefault</literal> no debería aparecer en la +definición de codificación de archivos ya que esos archivos solo deben +declarar comandos para su uso cuando seleccionas esa codificación. En +cambio, debería estar en un paquete. +</para> +<para>Al igual que con los comandos no predeterminados relacionados, +<literal>\ProvideTextCommandDefault</literal> tiene exactamente el mismo +comportamiento que +</para> +<para><literal>\DeclareTextCommandDefault</literal> excepto que no hace nada si +<literal>\<replaceable>cmd</replaceable></literal> ya está definido (véase <link linkend="_005cDeclareTextCommand-y-_005cProvideTextCommand">\DeclareTextCommand y +\ProvideTextCommand</link>). Entonces, los paquetes lo pueden usar para +proporcionar respaldos que otros paquetes pueden mejorar. +</para> + +</sect2> +<sect2 label="4.1.6" id="_005cDeclareTextComposite"> +<title><literal>\DeclareTextComposite</literal></title> + +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextComposite</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextComposite{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>simple_object</replaceable>}{<replaceable>slot</replaceable>} +</screen> +<para>Accede a un glifo acentuado directamente, es decir, sin tener que +poner un acento sobre un carácter separado. +</para> +<para>Esta línea de <filename>t1enc.def</filename> significa que <literal>\^o</literal> provocará a +&latex; para componer la minúscula ‘<literal>o</literal>’ tomando el carácter +directamente desde el slot 224 en el tipo de letra. +</para> +<screen>\DeclareTextComposite{\^}{T1}{o}{244} +</screen> +<para>Véase <link linkend="paquete-fontenc">paquete fontenc</link>, para obtener una lista de codificaciones +comunes. El <replaceable>simple_object</replaceable> debe ser un solo carácter o un solo +comando. El argumento <replaceable>slot</replaceable> suele ser un entero positivo +representado en decimal (aunque son posibles octal o hexadecimal). +Normalmente \<replaceable>cmd</replaceable> ya se ha declarado para esta codificación, ya +sea con <literal>\DeclareTextAccent</literal> o con un solo argumento +<literal>\DeclareTextCommand</literal>. En <filename>t1enc.def</filename>, sigue la línea +anterior al comando <literal>\DeclareTextAccent{\^}{T1}{2}</literal>. +</para> + +</sect2> +<sect2 label="4.1.7" id="_005cDeclareTextCompositeCommand"> +<title><literal>\DeclareTextCompositeCommand</literal></title> + +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextCompositeCommand</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextCompositeCommand{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>arg</replaceable>}{<replaceable>code</replaceable>} +</screen> +<para>Una versión más general de <literal>\DeclareTextComposite</literal> que ejecuta +código arbitrario con <literal>\<replaceable>cmd</replaceable></literal>. +</para> +<para>Esto permite que los acentos en ‘<literal>i</literal>’ actúen como acentos en +dotless i, <literal>\i</literal>. +</para> +<screen>\DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i} +</screen> +<para>Véase <link linkend="paquete-fontenc">paquete fontenc</link>, para obtener una lista de codificaciones +comunes. Normalmente <literal>\<replaceable>cmd</replaceable></literal> ya se habrá declarado con +<literal>\DeclareTextAccent</literal> o como un argumento +<literal>\DeclareTextCommand</literal>. +</para> + +</sect2> +<sect2 label="4.1.8" id="_005cDeclareTextSymbol"> +<title><literal>\DeclareTextSymbol</literal></title> + +<indexterm role="cp"><primary>símbolo, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextSymbol</primary></indexterm> -<para>Las siguientes instrucciones para el estilo del tipo de letra son -compatibles con &latex;. +<para>Sinopsis: </para> -<para>Este primer grupo de instrucciones se utiliza normalmente con un -argumento, como en <literal>\textit{texto en cursiva}</literal>. En la -siguiente tabla, las instrucciones correspondientes -entre paréntesis son la “forma declarativa”, la cual no toma -argumentos. El ámbito de aplicación de la forma declarativa dura hasta la siguiente instucción para el -estilo del tipo de letra o hasta el final del grupo actual. +<screen>\DeclareTextSymbol{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>}{<replaceable>slot</replaceable>} +</screen> +<para>Define un símbolo en la codificación <replaceable>encoding</replaceable> en la ubicación +<replaceable>slot</replaceable>. Los símbolos definidos de esta manera son para usar en +texto, no matemáticas. </para> -<para>Estos commandos, tanto en las formas con argumento o en -las formas declarativas, son -acumulativas; es decir, usted puede decir ya sea -<literal>\sffamily\bfseries</literal> o <literal>\bfseries\sffamily</literal> para obtener sans -serif en negrita. +<para>Por ejemplo, esta línea de <filename>t1enc.def</filename> declara el número del +glifo a usar para «, el guillemet +izquierdo. </para> -<para>También puede utilizar la forma de entorno de las formas declarativas; -por ejemplo, <literal>\begin{ttfamily}...\end{ttfamily}</literal>. +<screen>\DeclareTextSymbol{\guillemotleft}{T1}{19} +</screen> +<para>El comando <literal>\DeclareTextCommand{\guillemotleft}{T1}{\char +19}</literal> tiene el mismo efecto pero es más lento +(véase <link linkend="_005cDeclareTextCommand-y-_005cProvideTextCommand">\DeclareTextCommand y \ProvideTextCommand</link>). </para> -<para>Estas instrucciones proporcionan automáticamente una corrección en -cursiva si es necesario. -</para><variablelist><varlistentry><term><literal>\textrm (\rmfamily)</literal> +<para>Véase <link linkend="paquete-fontenc">paquete fontenc</link>, para obtener una lista de codificaciones +comunes. El <replaceable>slot</replaceable> se puede especificar en decimal u octal (como +en <literal>'023</literal>), o hexadecimal (como en <literal>"13</literal>), aunque el decimal +tiene la ventaja de que las comillas simples o dobles se pueden +redefinir por otro paquete. +</para> +<para>Si <literal>\<replaceable>cmd</replaceable></literal> ya se ha definido, entonces +<literal>\DeclareTextSymbol</literal> no da un error pero registra la redefinición +en el archivo de transcripción. +</para> + +</sect2> +<sect2 label="4.1.9" id="_005cDeclareTextSymbolDefault"> +<title><literal>\DeclareTextSymbolDefault</literal></title> + +<indexterm role="cp"><primary>acentos, definir</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextSymbol</primary></indexterm> +<indexterm role="fn"><primary>\DeclareTextSymbolDefault</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareTextSymbolDefault{\<replaceable>cmd</replaceable>}{<replaceable>encoding</replaceable>} +</screen> +<para>Si hay un comando de símbolo específico de codificación +<literal>\<replaceable>cmd</replaceable></literal> pero no hay un <literal>\DeclareTextSymbol</literal> asociado +para esa codificación, entonces este comando tomará el relevo, +diciendo que obtenga el símbolo como se describe para <replaceable>encoding</replaceable>. +</para> +<para>Por ejemplo, para declarar que si la codificación actual no tiene +significado para <literal>\textdollar</literal> entonces usa el de <literal>OT1</literal>, +declara esto. +</para> +<screen>\DeclareTextSymbolDefault{\textdollar}{OT1} +</screen> +<para>Es decir, este comando es equivalente a esta llamada +(véase <link linkend="_005cUseTextSymbol-y-_005cUseTextAccent">\UseTextSymbol y \UseTextAccent</link>). +</para> +<screen>\DeclareTextCommandDefault{\<replaceable>cmd</replaceable>} + {\UseTextSymbol{<replaceable>encoding</replaceable>}{\<replaceable>cmd</replaceable>}} +</screen> +<para>Ten en cuenta que <literal>\DeclareTextSymbolDefault</literal> se puede usar para +definir un predeterminado para cualquier comando <filename>fontenc</filename> de +cero argumentos. +</para> + +</sect2> +<sect2 label="4.1.10" id="_005cLastDeclaredEncoding"> +<title><literal>\LastDeclaredEncoding</literal></title> + +<indexterm role="fn"><primary>\LastDeclaredEncoding</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\LastDeclaredEncoding +</screen> +<para>Obtiene el nombre de la codificación declarada más recientemente. El +comando <literal>\DeclareFontEncoding</literal> almacena el nombre para que se +pueda recuperar con este comando (véase <link linkend="_005cDeclareFontEncoding">\DeclareFontEncoding</link>). +</para> +<para>Esto se basa en <literal>\LastDeclaredEncoding</literal> en lugar de dar +explícitamente el nombre de la codificación. +</para> +<screen>\DeclareFontEncoding{JH1}{}{} +\DeclareTextAccent{\'}{\LastDeclaredEncoding}{0} +</screen> + +</sect2> +<sect2 label="4.1.11" id="_005cUseTextSymbol-y-_005cUseTextAccent"> +<title><literal>\UseTextSymbol</literal> y <literal>\UseTextAccent</literal></title> + +<anchor id="_005cUseTextSymbol"/><anchor id="_005cUseTextAccent"/><indexterm role="fn"><primary>\UseTextSymbol</primary></indexterm> +<indexterm role="fn"><primary>\UseTextAccent</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\UseTextSymbol{<replaceable>encoding</replaceable>}{\<replaceable>cmd</replaceable>} +</screen> +<para>o: +</para> +<screen>\UseTextAccent{<replaceable>encoding</replaceable>}{\<replaceable>cmd</replaceable>}{<replaceable>text</replaceable>} +</screen> +<para>Utiliza un símbolo o acento que no sea de la codificación actual. +</para> +<para>En general, para usar un comando <filename>fontenc</filename> en una codificación +donde no está definido, y si el comando no tiene argumentos, lo puedes +usar con algo como esto: +</para> +<screen>\UseTextSymbol{OT1}{\ss} +</screen> +<para>que es equivalente a esto (observa que las llaves exteriores forman un +grupo, por lo que &latex; vuelve a la codificación anterior después +de <literal>\ss</literal>): +</para> +<screen>{\fontencoding{OT1}\selectfont\ss} +</screen> +<para>De manera similar, para usar un comando <filename>fontenc</filename> en una +codificación donde no está definido, y si el comando tiene un +argumento, lo puedes usar así: +</para> +<screen>\UseTextAccent{OT1}{\'}{a} +</screen> +<para>que es equivalente a esto (nuevamente, ten en cuenta las llaves +exteriores que forman un grupo): +</para> +<screen>{fontencoding{OT1}\selectfont\'{\fontencoding{<replaceable>enc_in_use</replaceable>}\selectfont a}} +</screen> +<para>Aquí, <replaceable>enc_in_use</replaceable> es la codificación vigente antes de esta +secuencia de comandos, de modo que ‘<literal>a</literal>’ se escribe utilizando la +codificación actual y solo se toma el acento de <literal>OT1</literal>. +</para> + +</sect2> +</sect1> +<sect1 label="4.2" id="Estilos-de-tipos-de-letra"> +<title>Estilos de tipos de letra</title> + +<indexterm role="cp"><primary>estilos de tipos de letra</primary></indexterm> +<indexterm role="cp"><primary>estilos de letra</primary></indexterm> +<indexterm role="cp"><primary>estilos de texto</primary></indexterm> + +<para>Los siguientes comandos de estilo de letra son compatibles con +&latex;. +</para> +<indexterm role="cp"><primary>Forma de declaración de los comandos de estilo del tipo de letra</primary></indexterm> +<para>En la tabla de abajo de los comandos enumerados, los comandos +<literal>\text...</literal>, se usan con un argumento como en +<literal>\textit{<replaceable>text</replaceable>}</literal>. Esta es la forma preferida. Pero se +muestra después entre paréntesis si la correspondiente <firstterm>forma de +declaración</firstterm>, que suele ser útil. Esta forma no toma argumentos, como +en <literal>{\itshape <replaceable>text</replaceable>}</literal>. El alcance de la forma de +declaración dura hasta el siguiente comando de estilo de tipo o el +final del grupo actual. Además, cada uno tiene un entorno como +<literal>\begin{itshape}...\end{itshape}</literal>, que describiremos al final +de la sección. +</para> +<para>Estos comandos, en cualquiera de las tres formas, son acumulativos; +por ejemplo puedes obtener negrita sans serif diciendo cualquiera de +<literal>\sffamily\bfseries</literal> o <literal>\bfseries\sffamily</literal>. +</para> +<anchor id="_005cnocorrlist"/><anchor id="_005cnocorr"/><indexterm role="fn"><primary>\nocorrlist</primary></indexterm> +<indexterm role="fn"><primary>\nocorr</primary></indexterm> +<para>Una ventaja de estos comandos es que automáticamente insertan +correcciones en cursiva si es necesario (véase <link linkend="_005c_002f">\/</link>). En concreto, +insertan la corrección en cursiva a menos que el siguiente carácter +esté en la lista <literal>\nocorrlist</literal>, que de manera predeterminada +consta de punto y coma. Para suprimir la inserción automática de la +corrección en cursiva, utiliza <literal>\nocorr</literal> al principio o al final +del argumento del comando, como <literal>\textit{\nocorr text}</literal> o +<literal>\textsc{text \nocorr}</literal>. +</para> +<variablelist><varlistentry><term><literal>\textrm (\rmfamily)</literal> </term><listitem><indexterm role="fn"><primary>\textrm</primary></indexterm> <indexterm role="fn"><primary>\rmfamily</primary></indexterm> -<para>Romana. +<para>Roman. </para> </listitem></varlistentry><varlistentry><term><literal>\textit (\itshape)</literal> </term><listitem><indexterm role="fn"><primary>\textit</primary></indexterm> <indexterm role="fn"><primary>\itshape</primary></indexterm> -<para>cursivas. -</para> -</listitem></varlistentry><varlistentry><term><literal>\emph</literal> -</term><listitem><indexterm role="fn"><primary>\emph</primary></indexterm> -<indexterm role="cp"><primary>Énfasis</primary></indexterm> -<para>Énfasis (cambia entre <literal>\textit</literal> y <literal>\textrm</literal>). +<para>Italics. </para> </listitem></varlistentry><varlistentry><term><literal>\textmd (\mdseries)</literal> </term><listitem><indexterm role="fn"><primary>\textmd</primary></indexterm> <indexterm role="fn"><primary>\mdseries</primary></indexterm> -<para>Peso medio (predeterminado). +<para>Medium weight (predeterminado). </para> </listitem></varlistentry><varlistentry><term><literal>\textbf (\bfseries)</literal> </term><listitem><indexterm role="fn"><primary>\textbf</primary></indexterm> <indexterm role="fn"><primary>\bfseries</primary></indexterm> -<para>Negrita. -</para></listitem></varlistentry><varlistentry><term><literal>\textup (\upshape)</literal> +<para>Boldface. +</para> +</listitem></varlistentry><varlistentry><term><literal>\textup (\upshape)</literal> </term><listitem><indexterm role="fn"><primary>\textup</primary></indexterm> <indexterm role="fn"><primary>\upshape</primary></indexterm> -<para>Vertical (predeterminado). Lo opuesto a inclinada. -</para></listitem></varlistentry><varlistentry><term><literal>\textsl (\slshape)</literal> +<para>Upright (predefinido). +</para> +</listitem></varlistentry><varlistentry><term><literal>\textsl (\slshape)</literal> </term><listitem><indexterm role="fn"><primary>\textsl</primary></indexterm> <indexterm role="fn"><primary>\slshape</primary></indexterm> -<para>Oblicua. -</para></listitem></varlistentry><varlistentry><term><literal>\textsf (\sffamily)</literal> +<para>Slanted. +</para> +</listitem></varlistentry><varlistentry><term><literal>\textsf (\sffamily)</literal> </term><listitem><indexterm role="fn"><primary>\textsf</primary></indexterm> <indexterm role="fn"><primary>\sffamily</primary></indexterm> <para>Sans serif. -</para></listitem></varlistentry><varlistentry><term><literal>\textsc (\scshape)</literal> +</para> +</listitem></varlistentry><varlistentry><term><literal>\textsc (\scshape)</literal> </term><listitem><indexterm role="fn"><primary>\textsc</primary></indexterm> <indexterm role="fn"><primary>\scshape</primary></indexterm> -<para>Versales. -</para></listitem></varlistentry><varlistentry><term><literal>\texttt (\ttfamily)</literal> +<para>Small caps. +</para> +</listitem></varlistentry><varlistentry><term><literal>\texttt (\ttfamily)</literal> </term><listitem><indexterm role="fn"><primary>\texttt</primary></indexterm> <indexterm role="fn"><primary>\ttfamily</primary></indexterm> -<para>Máquina de escribir. -</para></listitem></varlistentry><varlistentry><term><literal>\textnormal (\normalfont)</literal> +<para>Typewriter. +</para> +</listitem></varlistentry><varlistentry><term><literal>\textnormal (\normalfont)</literal> </term><listitem><indexterm role="fn"><primary>\textnormal</primary></indexterm> <indexterm role="fn"><primary>\normalfont</primary></indexterm> -<para>Tipo de letra principal del documento. -</para></listitem></varlistentry><varlistentry><term><literal>\mathrm</literal> -</term><listitem><indexterm role="fn"><primary>\mathrm</primary></indexterm> -<para>Romana, para usar en modo math. -</para></listitem></varlistentry><varlistentry><term><literal>\mathbf</literal> -</term><listitem><indexterm role="fn"><primary>\mathbf</primary></indexterm> -<para>Negrita, para usarse en modo math. -</para></listitem></varlistentry><varlistentry><term><literal>\mathsf</literal> -</term><listitem><indexterm role="fn"><primary>\mathsf</primary></indexterm> -<para>Sans serif, para usarse en modo math. -</para></listitem></varlistentry><varlistentry><term><literal>\mathtt</literal> -</term><listitem><indexterm role="fn"><primary>\mathtt</primary></indexterm> -<para>Máquina de escribir, para usarse en modo math. -</para> -</listitem></varlistentry><varlistentry><term><literal>\mathit</literal> -</term><term><literal>(\mit)</literal> -</term><listitem><para>cursivas, para utilizarse en modo math. +<para>Tipo de letra del documento principal. </para> -</listitem></varlistentry><varlistentry><term><literal>\mathnormal</literal> -</term><listitem><indexterm role="fn"><primary>\mathnormal</primary></indexterm> -<para>Para usarse en modo math, por ejemplo dentro de otra declaración de -estilo de letra. -</para></listitem></varlistentry><varlistentry><term><literal>\mathcal</literal> -</term><listitem><indexterm role="fn"><primary>\mathcal</primary></indexterm> -<para>Letras ‘caligráficas’, para usarse en modo math. -</para></listitem></varlistentry></variablelist> -<para>Además, la instrucción <literal>\mathversion{bold}</literal> -<indexterm role="fn"><primary>\mathversion</primary></indexterm> -<!-- begin vincentb1 20140226 --> -<indexterm role="cp"><primary>matemáticas, negrita</primary></indexterm> -<indexterm role="cp"><primary>negrita matemáticas</primary></indexterm> -<!-- end vincentb1 20140226 --> -se pude utilizar para cambiar a letras y símbolos en negrita dentro de -fórmulas. <literal>\mathversion{normal}</literal> restablece el valor -predeterminado. -</para> -<para>&latex; también proporciona las siguientes -instrucciones, que incondicionalmente cambian a determinado estilo, es -decir, <emphasis>no</emphasis> son acumulativas. Estas se utilizan de forma diferente -que las instrucciones anteriores, también: <literal>{\<replaceable>instrucción</replaceable> -...}</literal> en lugar de <literal>\<replaceable>instrucción</replaceable>{...}</literal>. Son dos cosas muy -distintas. +</listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>emphasis</primary></indexterm> +<indexterm role="fn"><primary>\emph</primary></indexterm> +<para>Aunque también cambia los tipos de letra, el comando +<literal>\emph{<replaceable>text</replaceable>}</literal> es semántico, para que se enfatice +<replaceable>text</replaceable>, y no se debe usar como sustituto de <literal>\textit</literal>. Por +ejemplo, <literal>\emph{<replaceable>start text</replaceable> \emph{<replaceable>middle text</replaceable>} +<replaceable>end text</replaceable>}</literal> resultará en <replaceable>start text</replaceable> y <replaceable>end text</replaceable> en +cursiva, pero <replaceable>middle text</replaceable> estará en romano. +</para> +<para>&latex; también proporciona los siguientes comandos, que +incondicionalmente cambia al estilo dado, es decir, <emphasis>no</emphasis> son +acumulativos. Están usados como declaraciones: +<literal>{\<replaceable>cmd</replaceable>...}</literal> en lugar de <literal>\<replaceable>cmd</replaceable>{...}</literal>. +</para> +<para>(Los comandos incondicionales a continuación son una versión anterior +de tipo de letra traspuesta. Los comandos anteriores son una mejora en +la mayoría de las circunstancias. Pero a veces un cambio de tipo de +letra incondicional es necesario). </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\bf</primary></indexterm><literal>\bf</literal> </term><listitem><indexterm role="cp"><primary>tipo de letra negrita</primary></indexterm> -<para>Cambia a <emphasis role="bold">tipo de letra negrita</emphasis>. +<para>Cambia a negrita. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cal</primary></indexterm><literal>\cal</literal> -</term><listitem><indexterm role="cp"><primary>letras script para math</primary></indexterm> -<indexterm role="cp"><primary>letras caligráficas para math</primary></indexterm> -<para>Cambia a letras caligráficas para math. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\em</primary></indexterm><literal>\em</literal> -</term><listitem><indexterm role="cp"><primary>énfasis</primary></indexterm> -<para>Énfasis (cursivas con romana, romana con cursivas). +</term><listitem><indexterm role="cp"><primary>script de letras para matemáticas</primary></indexterm> +<indexterm role="cp"><primary>letras caligráficas para matemáticas</primary></indexterm> +<para>Cambia a letras caligráficas para matemáticas. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\it</primary></indexterm><literal>\it</literal> -</term><listitem><indexterm role="cp"><primary>tipo de letra cursiva</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>italic font</primary></indexterm> <para>cursivas. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rm</primary></indexterm><literal>\rm</literal> -</term><listitem><indexterm role="cp"><primary>tipo de letra romana</primary></indexterm> -<para>Romana. +</term><listitem><indexterm role="cp"><primary>roman font</primary></indexterm> +<para>Roman. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sc</primary></indexterm><literal>\sc</literal> -</term><listitem><indexterm role="cp"><primary>tipo de letra versales</primary></indexterm> -<para>Versales. +</term><listitem><indexterm role="cp"><primary>small caps font</primary></indexterm> +<para>Small caps. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sf</primary></indexterm><literal>\sf</literal> -</term><listitem><indexterm role="cp"><primary>tipo de letra sans serif</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>sans serif font</primary></indexterm> <para>Sans serif. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sl</primary></indexterm><literal>\sl</literal> -</term><listitem><indexterm role="cp"><primary>tipo de letra oblicua</primary></indexterm> -<indexterm role="cp"><primary>tipo de letra oblicua</primary></indexterm> -<para>Oblicua (oblicua). +</term><listitem><indexterm role="cp"><primary>tipo de letra inclinada</primary></indexterm> +<indexterm role="cp"><primary>oblique font</primary></indexterm> +<para>Slanted (oblicua). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tt</primary></indexterm><literal>\tt</literal> </term><listitem><indexterm role="cp"><primary>tipo de letra de máquina de escribir</primary></indexterm> <indexterm role="cp"><primary>tipo de letra monoespacio</primary></indexterm> -<indexterm role="cp"><primary>tipo de letra de ancho fijo</primary></indexterm> -<para>Máquina de escribir (monoespacio, de ancho fijo). +<indexterm role="cp"><primary>fixed-width font</primary></indexterm> +<para>Typewriter (monoespacio, ancho fijo). </para> </listitem></varlistentry></variablelist> +<para>El comando <literal>\em</literal> es la versión incondicional de <literal>\emph</literal>. +</para> +<para>Los siguientes comandos se utilizan en modo matemático. Ellos no son +acumulativos, por lo que <literal>\mathbf{\mathit{<replaceable>symbol</replaceable>}}</literal> no +crea una negrita y cursiva <replaceable>symbol</replaceable>; en cambio, solo estará en +cursiva. Esto se debe a que, por lo general, los símbolos matemáticos +necesitan tratamiento tipográfico, independientemente del entorno +circundante. +</para> +<variablelist><varlistentry><term><literal>\mathrm</literal> +</term><listitem><indexterm role="fn"><primary>\mathrm</primary></indexterm> +<para>Roman, para usar en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathbf</literal> +</term><listitem><indexterm role="fn"><primary>\mathbf</primary></indexterm> +<para>Negrita (boldface), para usar en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathsf</literal> +</term><listitem><indexterm role="fn"><primary>\mathsf</primary></indexterm> +<para>Sans serif, para usar en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathtt</literal> +</term><listitem><indexterm role="fn"><primary>\mathtt</primary></indexterm> +<para>Typewriter, para usar en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathit</literal> +</term><term><literal>(\mit)</literal> +</term><listitem><para>Italics, para usar en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathnormal</literal> +</term><listitem><indexterm role="fn"><primary>\mathnormal</primary></indexterm> +<para>Para usar en modo matemático, por ejemplo, dentro de otra declaración +de estilo de tipo. +</para> +</listitem></varlistentry><varlistentry><term><literal>\mathcal</literal> +</term><listitem><indexterm role="fn"><primary>\mathcal</primary></indexterm> +<para>Letras caligráficas, para uso en modo matemático. +</para> +</listitem></varlistentry></variablelist> +<anchor id="_005cmathversion"/><indexterm role="fn"><primary>\mathversion</primary></indexterm> +<indexterm role="cp"><primary>matemáticas, negrita</primary></indexterm> +<indexterm role="cp"><primary>bold math</primary></indexterm> +<para>Además, el comando <literal>\mathversion{bold}</literal> se puede usar para +cambiar a letras y símbolos en negrita en fórmulas +<literal>\mathversion{normal}</literal> restaura el valor predeterminado. +</para> +<anchor id="_005coldstylenums"/><indexterm role="fn"><primary>\oldstylenums</primary></indexterm> +<indexterm role="cp"><primary>numerales, estilo antiguo</primary></indexterm> +<indexterm role="cp"><primary>números de estilo antiguo</primary></indexterm> +<indexterm role="cp"><primary>lining numerals</primary></indexterm> +<para>Finalmente, el comando <literal>\oldstylenums{<replaceable>numerals</replaceable>}</literal> compone +los llamados números de “estilo antiguo”, que tienen diferentes +alturas y profundidades (y a veces anchos) del “revestimiento" +estándar de números, que tienen todos la misma altura que las letras +mayúsculas. Los tipos de letra predeterminados de &latex; admiten +esto y respetarán <literal>\textbf</literal> (pero no otros estilos; no hay +números en estilo cursiva antiguo en Informática Moderna). Muchos +otros tipos de letra también tienen números de estilo antiguo; a veces +se proporcionan opciones de paquetes para que sean las +predeterminadas. Preguntas frecuentes entrada: +<ulink url="https://www.texfaq.org/FAQ-osf">https://www.texfaq.org/FAQ-osf</ulink>. +</para> </sect1> -<sect1 label="5.2" id="Tama_00f1os-del-Tipo-de-Letra"> -<title>Tamaños del Tipo de Letra</title> -<indexterm role="cp"><primary>tamaños del tipo de letra</primary></indexterm> -<indexterm role="cp"><primary>tamaños del tipo de letra</primary></indexterm> -<indexterm role="cp"><primary>tamaño del texto</primary></indexterm> +<sect1 label="4.3" id="Tama_00f1os-de-los-tipos-de-letra"> +<title>Tamaños de los tipos de letra</title> + +<indexterm role="cp"><primary>Tamaños de los tipos de letra</primary></indexterm> +<indexterm role="cp"><primary>tamaños de letra</primary></indexterm> +<indexterm role="cp"><primary>tamaños de texto</primary></indexterm> -<para>Las siguientes instrucciones para el tamaño del tipo de letra estándar -son compatibles con &latex;. -La tabla muestra el nombre de la -instrucción y el tamaño real (en puntos) del tipo de letra -correspondiente utilizado con las opciones de tamaño del documento -‘<literal>10pt</literal>’, ‘<literal>11pt</literal>’ y ‘<literal>12pt</literal>’, respectivamente (véase <link linkend="Opciones-de-Clase-de-Documento">Opciones -de Clase de Documento</link> ). +<para>Los siguientes comandos de tamaño de letra estándar son compatibles +con &latex;. La tabla muestra el nombre del comando y el tipo de +letra en el tamaño real correspondiente utilizado (en puntos) con +‘<literal>10pt</literal>’, ‘<literal>11pt</literal>’ y ‘<literal>12pt</literal>’ opciones de tamaño del +documento, respectivamente (véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase documento</link>). </para> <indexterm role="fn"><primary>\tiny</primary></indexterm> <indexterm role="fn"><primary>\scriptsize</primary></indexterm> @@ -605,7 +2114,7 @@ de Clase de Documento</link> ). <indexterm role="fn"><primary>\huge</primary></indexterm> <indexterm role="fn"><primary>\Huge</primary></indexterm> -<informaltable><tgroup cols="4"><colspec colwidth="28*"></colspec><colspec colwidth="5*"></colspec><colspec colwidth="5*"></colspec><colspec colwidth="5*"></colspec><thead><row><entry><para>Instrucción </para></entry><entry><para><literal>10pt</literal> </para></entry><entry><para><literal>11pt</literal> </para></entry><entry><para><literal>12pt</literal> +<informaltable><tgroup cols="4"><colspec colwidth="30*"></colspec><colspec colwidth="7*"></colspec><colspec colwidth="7*"></colspec><colspec colwidth="5*"></colspec><thead><row><entry><para>Comando </para></entry><entry><para><literal>10pt</literal> </para></entry><entry><para><literal>11pt</literal> </para></entry><entry><para><literal>12pt</literal> </para></entry></row></thead><tbody><row><entry><para><literal>\tiny</literal> </para></entry><entry><para>5 </para></entry><entry><para>6 </para></entry><entry><para>6 </para></entry></row><row><entry><para><literal>\scriptsize</literal> @@ -621,1044 +2130,3298 @@ de Clase de Documento</link> ). </para></entry></row><row><entry><para><literal>\Large</literal> </para></entry><entry><para>14.4 </para></entry><entry><para>14.4 </para></entry><entry><para>17.28 </para></entry></row><row><entry><para><literal>\LARGE</literal> -</para></entry><entry><para>14.4 </para></entry><entry><para>14.4 </para></entry><entry><para>17.28 +</para></entry><entry><para>17.28 </para></entry><entry><para>17.28 </para></entry><entry><para>20.74 </para></entry></row><row><entry><para><literal>\huge</literal> </para></entry><entry><para>20.74 </para></entry><entry><para>20.74 </para></entry><entry><para>24.88 </para></entry></row><row><entry><para><literal>\Huge</literal> </para></entry><entry><para>24.88 </para></entry><entry><para>24.88 </para></entry><entry><para>24.88 </para></entry></row></tbody></tgroup></informaltable> -<para>Las instrucciones tal como están listadas aquí son “formas -declarativas”. El ámbito de aplicación de la forma declarativa dura -hasta la instrucción “end” del estilo del tipo de letra o hasta el -final del grupo actual. También puede utilizar la forma de entorno en -estas instrucciones; por ejemplo, <literal>\begin{tiny}...\end{tiny}</literal>. +<indexterm role="cp"><primary>forma de declaración de los comandos de tamaño del tipo de letra</primary></indexterm> +<para>Los comandos se enumeran aquí en forma de declaración (no de entorno), +ya que así es como se usan típicamente. Por ejemplo: +</para> +<screen>\begin{quotation} \small + El Tao que se puede nombrar no es el Tao eterno. +\end{quotation} +</screen> +<para>Aquí, el alcance del <literal>\small</literal> dura hasta el final del entorno +<literal>quotation</literal>. También terminaría en el siguiente comando de +estilo de tipo o el final del grupo actual, por lo tanto lo podrías +encerrar entre llaves <literal>{\small Este texto está escrito en letra +pequeña.}</literal>. +</para> +<para>Tratar de usar estos comandos en matemáticas, como con <literal>$\small +mv^2/2$</literal>, da como resultado ‘<literal>Advertencia de fuentes LaTeX: +Comando \small inválido en modo matemático</literal>’, y el tamaño del tipo de +letra no cambia. Para trabajar con una fórmula demasiado grande, a +menudo la mejor opción es usar el entorno <literal>displaymath</literal> +(véase <link linkend="F_00f3rmulas-math">Fórmulas math</link>), o uno de los entornos del paquete +<literal>amsmath</literal>. Para matemáticas en línea, como en una tabla de +fórmulas, una alternativa es algo como <literal>{\small $mv^2/2$}</literal>. (A +veces <literal>\scriptsize</literal> y <literal>\scriptstyle</literal> se confunden. Ambos +cambian el tamaño del tipo de letra, pero el último también cambia una +serie de otros aspectos de cómo se componen las +matemáticas. Véase <link linkend="Estilos-math">Estilos math</link>). +</para> +<indexterm role="cp"><primary>Forma de entorno de comandos de tamaño de fuente</primary></indexterm> +<para>También se define un <firstterm>entorno form</firstterm> de cada uno de estos comandos; +por ejemplo, <literal>\begin{tiny}...\end{tiny}</literal>. Sin embargo, en la +práctica esta forma puede conducir fácilmente a espacios no deseados +al principio y/o final del entorno sin una cuidadosa consideración, +por lo que generalmente es menos propenso a errores apegarse a la +forma de declaración. +</para> +<para>(Aparte: Técnicamente, debido a la forma en que &latex; define +<literal>\begin</literal> y <literal>\end</literal>, casi todos los comandos que no toman un +argumento técnicamente tiene una forma de entorno. Pero en casi todos +los casos, solo sería causa de confusión al usarlo. La razón de +mencionar la forma de entorno de las declaraciones de tamaño del tipo +de letra específicamente es que este uso particular no es raro). </para> </sect1> -<sect1 label="5.3" id="Instrucciones-de-Bajo-Nivel-para-el-Tipo-de-Letra"> -<title>Instrucciones de Bajo Nivel para el Tipo de Letra</title> -<indexterm role="cp"><primary>Instrucciones de Bajo Nivel para el Tipo de Letra</primary></indexterm> -<indexterm role="cp"><primary>instrucciones de tipo de letra, de bajo nivel</primary></indexterm> +<sect1 label="4.4" id="Comandos-de-bajo-nivel-del-tipo-de-letra"> +<title>Comandos de bajo nivel del tipo de letra</title> + +<indexterm role="cp"><primary>comandos de tipo de letra de bajo nivel</primary></indexterm> +<indexterm role="cp"><primary>comandos de tipo de letra, bajo nivel</primary></indexterm> -<para>Estas instrucciones están destinadas principalmente para los escritores -de macros y paquetes. Las instrucciones listadas anteriormente son sólo -un subconjunto de las disponibles. +<para>Estos comandos están destinados principalmente a los escritores de +macros y paquetes. Los comandos enumerados aquí son solo un +subconjunto de los disponibles. +<!-- xx pero debería estar completo --> +<!-- xx algo sobre leer ENCFAM.fd en última instancia? --> </para> -<variablelist><varlistentry><term><literal>\fontencoding{codificación}</literal> +<variablelist><anchor id="comandos-de-tipos-de-letra-de-bajo-nivel-fontencoding"/><varlistentry><term><literal>\fontencoding{<replaceable>encoding</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontencoding</primary></indexterm> -<para>Selecciona la codificación del tipo de letra. Las codificaciones válidas -incluyen a <literal>OT1</literal> y <literal>T1</literal>. -</para> -</listitem></varlistentry><varlistentry><term><literal>\fontfamily{familia}</literal> +<para>Selecciona la codificación del tipo de letra, la codificación del tipo +de letra de salida. Hay un gran número de codificaciones válidas. Las +más comunes son <literal>OT1</literal>, La codificación original de Knuth para +Computer Modern (la predeterminada), y <literal>T1</literal>, también conocida +como la codificación de Cork, que admite caracteres acentuados +utilizados por los idiomas europeos más extendidos (alemán, francés, +italiano, polaco y otros), lo que permite a &tex; separar con guiones +las palabras que contengan letras acentuadas. Para más, ve +<ulink url="https://ctan.org/pkg/encguide">https://ctan.org/pkg/encguide</ulink>. +</para> +<anchor id="comandos-de-tipo-de-letra-de-bajo-nivel-fontfamily"/></listitem></varlistentry><varlistentry><term><literal>\fontfamily{<replaceable>family</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontfamily</primary></indexterm> -<para>Selecciona la familia del tipo de letra. Las familias válidas incluyen: -</para> -<itemizedlist><listitem><para><literal>cmr</literal> para Romana de Computadora Moderna -</para></listitem><listitem><para><literal>cmss</literal> para Sans Serif de Computadora Moderna -</para></listitem><listitem><para><literal>cmtt</literal> para Máquina de Escribir de Computadora Moderna -</para></listitem></itemizedlist> -<para>y muchas otras. -</para> -</listitem></varlistentry><varlistentry><term><literal>\fontseries{series}</literal> +<indexterm role="cp"><primary>familias, de tipos de letra</primary></indexterm> +<indexterm role="cp"><primary>catálogo de fuentes</primary></indexterm> +<para>Selecciona la familia del tipo de letra. La página web +<ulink url="https//tug.org/FontCatalogue/">https//tug.org/FontCatalogue/</ulink> proporciona una forma de navegar a +través de muchos de los tipos de letra que se usan fácilmente con +&latex;. Aquí hay ejemplos de algunas familias comunes. +</para> +<informaltable><tgroup cols="2"><colspec colwidth="14*"></colspec><colspec colwidth="51*"></colspec><tbody><row><entry><para><literal>pag</literal> +</para></entry><entry><para>Avant Garde +</para></entry></row><row><entry><para><literal>fvs</literal> +</para></entry><entry><para>Bitstream Vera Sans +</para></entry></row><row><entry><para><literal>pbk</literal> +</para></entry><entry><para>Bookman +</para></entry></row><row><entry><para><literal>bch</literal> +</para></entry><entry><para>Charter +</para></entry></row><row><entry><para><literal>ccr</literal> +</para></entry><entry><para>Computer Concrete +</para></entry></row><row><entry><para><literal>cmr</literal> +</para></entry><entry><para>Computer Modern +</para></entry></row><row><entry><para><literal>cmss</literal> +</para></entry><entry><para>Computer Modern Sans Serif +</para></entry></row><row><entry><para><literal>cmtt</literal> +</para></entry><entry><para>Computer Modern Typewriter +</para></entry></row><row><entry><para><literal>pcr</literal> +</para></entry><entry><para>Courier +</para></entry></row><row><entry><para><literal>phv</literal> +</para></entry><entry><para>Helvetica +</para></entry></row><row><entry><para><literal>fi4</literal> +</para></entry><entry><para>Inconsolata +</para></entry></row><row><entry><para><literal>lmr</literal> +</para></entry><entry><para>Latin Modern +</para></entry></row><row><entry><para><literal>lmss</literal> +</para></entry><entry><para>Latin Modern Sans +</para></entry></row><row><entry><para><literal>lmtt</literal> +</para></entry><entry><para>Latin Modern Typewriter +</para></entry></row><row><entry><para><literal>pnc</literal> +</para></entry><entry><para>New Century Schoolbook +</para></entry></row><row><entry><para><literal>ppl</literal> +</para></entry><entry><para>Palatino +</para></entry></row><row><entry><para><literal>ptm</literal> +</para></entry><entry><para>Times +</para></entry></row><row><entry><para><literal>uncl</literal> +</para></entry><entry><para>Uncial +</para></entry></row><row><entry><para><literal>put</literal> +</para></entry><entry><para>Utopia +</para></entry></row><row><entry><para><literal>pzc</literal> +</para></entry><entry><para>Zapf Chancery +</para></entry></row></tbody></tgroup></informaltable> + +<anchor id="comandos-de-tipo-de-letra-de-bajo-nivel-fontseries"/></listitem></varlistentry><varlistentry><term><literal>\fontseries{<replaceable>series</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontseries</primary></indexterm> -<para>Selecciona las series del tipo de letra. Las series válidas incluyen: -</para> -<itemizedlist><listitem><para><literal>m</literal> Mediana (normal) -</para></listitem><listitem><para><literal>b</literal> Negrita -</para></listitem><listitem><para><literal>c</literal> Condensada -</para></listitem><listitem><para><literal>bc</literal> Negrita condensada -</para></listitem><listitem><para><literal>bx</literal> Negrita extendida -</para></listitem></itemizedlist> -<para>y otras combinaciones diferentes. +<indexterm role="cp"><primary>serie, de tipos de letra</primary></indexterm> +<para>Selecciona la serie de tipos de letra. Una <firstterm>serie</firstterm> combina un +<firstterm>weight</firstterm> y un <firstterm>width</firstterm>. Por lo general, un tipo de letra solo +admite algunas de las posibles combinaciones. Algunos valores comunes +de series combinadas incluyen: +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="17*"></colspec><tbody><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium (normal) +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Bold +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensed +</para></entry></row><row><entry><para><literal>bc</literal> +</para></entry><entry><para>Bold condensed +</para></entry></row><row><entry><para><literal>bx</literal> +</para></entry><entry><para>Bold extended +</para></entry></row></tbody></tgroup></informaltable> +<indexterm role="cp"><primary>grosor, tipos de letra</primary></indexterm> +<para>Los posibles valores de grosor, individualmente, son: +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="18*"></colspec><tbody><row><entry><para><literal>ul</literal> +</para></entry><entry><para>Ultra light +</para></entry></row><row><entry><para><literal>el</literal> +</para></entry><entry><para>Extra light +</para></entry></row><row><entry><para><literal>l</literal> +</para></entry><entry><para>Light +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Semi light +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium (normal) +</para></entry></row><row><entry><para><literal>sb</literal> +</para></entry><entry><para>Semi bold +</para></entry></row><row><entry><para><literal>b</literal> +</para></entry><entry><para>Bold +</para></entry></row><row><entry><para><literal>eb</literal> +</para></entry><entry><para>Extra bold +</para></entry></row><row><entry><para><literal>ub</literal> +</para></entry><entry><para>Ultra bold +</para></entry></row></tbody></tgroup></informaltable> +<indexterm role="cp"><primary>anchos, de tipos de letra</primary></indexterm> +<para>Los valores posibles para el ancho, individualmente, son (el +significado y relación de estos términos varía con los tipos de letra +individuales): +</para> +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="15*"></colspec><tbody><row><entry><para><literal>uc</literal> +</para></entry><entry><para>Ultra condensed +</para></entry></row><row><entry><para><literal>ec</literal> +</para></entry><entry><para>Extra condensed +</para></entry></row><row><entry><para><literal>c</literal> +</para></entry><entry><para>Condensed +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Semi condensed +</para></entry></row><row><entry><para><literal>m</literal> +</para></entry><entry><para>Medium +</para></entry></row><row><entry><para><literal>sx</literal> +</para></entry><entry><para>Semi expanded +</para></entry></row><row><entry><para><literal>x</literal> +</para></entry><entry><para>Expanded +</para></entry></row><row><entry><para><literal>ex</literal> +</para></entry><entry><para>Extra expanded +</para></entry></row><row><entry><para><literal>ux</literal> +</para></entry><entry><para>Ultra expanded +</para></entry></row></tbody></tgroup></informaltable> +<para>Al formar la cadena <replaceable>series</replaceable> a partir del peso y el ancho, la +<literal>m</literal> suelta significa grosor medio o ancho medio, a menos que +ambos, el grosor y el ancho sean <literal>m</literal>, en cuyo caso usa solo una +(‘<literal><literal>m</literal></literal>’). </para> -</listitem></varlistentry><varlistentry><term><literal>\fontshape{forma}</literal> +<anchor id="comandos-de-tipos-de-letra-de-bajo-nivel-fontshape"/></listitem></varlistentry><varlistentry><term><literal>\fontshape{<replaceable>shape</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontshape</primary></indexterm> +<indexterm role="cp"><primary>formas, de tipos de letra</primary></indexterm> <para>Selecciona la forma del tipo de letra. Las formas válidas son: </para> -<itemizedlist><listitem><para><literal>n</literal> Vertical (normal) -</para></listitem><listitem><para><literal>it</literal> Cursiva -</para></listitem><listitem><para><literal>sl</literal> Oblicua (oblicua) -</para></listitem><listitem><para><literal>sc</literal> Versales -</para></listitem><listitem><para><literal>ui</literal> Cursiva vertical -</para></listitem><listitem><para><literal>ol</literal> Esquema -</para></listitem></itemizedlist> -<para>Las dos últimas formas no están disponibles para la mayoría de las familias de tipos de letra. +<informaltable><tgroup cols="2"><colspec colwidth="2*"></colspec><colspec colwidth="19*"></colspec><tbody><row><entry><para><literal>n</literal> +</para></entry><entry><para>Upright (normal) +</para></entry></row><row><entry><para><literal>it</literal> +</para></entry><entry><para>Italic +</para></entry></row><row><entry><para><literal>sl</literal> +</para></entry><entry><para>Slanted (oblique) +</para></entry></row><row><entry><para><literal>sc</literal> +</para></entry><entry><para>Small caps +</para></entry></row><row><entry><para><literal>ui</literal> +</para></entry><entry><para>Upright italics +</para></entry></row><row><entry><para><literal>ol</literal> +</para></entry><entry><para>Outline +</para></entry></row></tbody></tgroup></informaltable> +<para>Las dos últimas formas no están disponibles para la mayoría de las +familias de tipos de letra, y a menudo también faltan las versalitas. </para> -</listitem></varlistentry><varlistentry><term><literal>\fontsize{tamaño}{espaciado}</literal> +<anchor id="comandos-fontsize-de-bajo-nivel"/></listitem></varlistentry><varlistentry><term><literal>\fontsize{<replaceable>size</replaceable>}{<replaceable>skip</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\fontsize</primary></indexterm> +<indexterm role="cp"><primary>tamaño del tipo de letra</primary></indexterm> <indexterm role="fn"><primary>\baselineskip</primary></indexterm> -<para>Establece el tamaño de letra. El primer parámetro es el tamaño a cambiar -el tipo de letra y el segundo es el espaciado de línea a usar; este se -almacena en un parámetro denominado <literal>\baselineskip</literal>. La unidad de -ambos parámetros de manera predeterminada es pt. El valor -predeterminado de <literal>\baselineskip</literal> para el tipo de letra Computadora -Moderna es 1.2 veces <literal>\fontsize</literal>. -</para> -<indexterm role="fn"><primary>\baselinestretch</primary></indexterm> -<indexterm role="cp"><primary>paquete <literal>setspace</literal></primary></indexterm> -<indexterm role="cp"><primary>interlineado doble</primary></indexterm> -<para>El interlineado de espacio doble también es multiplicado por el valor -del parámetro <literal>\baselinestretch</literal> cuando cambia el tamaño del tipo -de letra; el predeterminado es 1. Sin embargo, la mejor manera de hacer -un documento con “doble espacio”, si tiene la suficiente mala suerte -de tener que producirlo, es usar el paquete <literal>setspace</literal>; vea -<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace</ulink>. -</para> -<indexterm role="fn"><primary>\linespread</primary></indexterm> -</listitem></varlistentry><varlistentry><term><literal>\linespread{<replaceable>factor</replaceable>}</literal> -</term><listitem><para>Equivalente a <literal>\renewcommand{\baselinestretch}{<replaceable>factor</replaceable>}</literal>, -y por lo tanto debe estar seguido por <literal>\selectfont</literal> para que tenga -algún efecto. Es mejor especificarlo en el preámbulo, o utilizar el -paquete <literal>setspace</literal>, justo como se acaba de describir anteriormente. -</para> -<indexterm role="fn"><primary>\selectfont</primary></indexterm> -<para>Las modificaciones introducidas por llamar a la fuente de las -instrucciones descritas anteriormente no entrará en vigor sino hasta que -se invoque a <literal>\selectfont</literal>. -</para> -</listitem></varlistentry><varlistentry><term><literal>\usefont{codificación}{familia}{series}{forma}</literal> +<para>Establece el tamaño del tipo de letra y el espacio entre líneas. La +unidad de ambos parámetros el valor predeterminado es puntos +(<literal>pt</literal>). El interlineado es el espacio vertical nominal entre +líneas, línea base a línea base. Se almacena en el parámetro +<literal>\baselineskip</literal>. El <literal>\baselineskip</literal> predeterminado para el +tipo de letra Computer Modern es 1.2 veces el <literal>\fontsize</literal>. +Cambiar <literal>\baselineskip</literal> directamente no es recomendable ya que su +valor se restablece cada vez que ocurre un cambio de tamaño; en su +lugar usa <literal>\baselinestretch</literal>. (véase <link linkend="_005cbaselineskip-y-_005cbaselinestretch">\baselineskip y +\baselinestretch</link>). +</para> +<anchor id="lines-de-comandos-de-tipo-de-letra-de-bajo-nivel"/></listitem></varlistentry><varlistentry><term><literal>\linespread{<replaceable>factor</replaceable>}</literal> +</term><listitem><indexterm role="fn"><primary>\linespread</primary></indexterm> +<para>Equivalente a +<literal>\renewcommand{\baselinestretch}{<replaceable>factor</replaceable>}</literal>, y por lo +tanto debe ir seguido de <literal>\selectfont</literal> para tener cualquier +efecto. Mejor especificado en el preámbulo. Véase <link linkend="_005cbaselineskip-y-_005cbaselinestretch">\baselineskip y +\baselinestretch</link>, por usar el paquete <literal>setspace</literal> en su lugar. +</para> +<anchor id="comandos-de-tipos-de-letra-de-bajo-nivel-selectfont"/></listitem></varlistentry><varlistentry><term><literal>\selectfont</literal> +</term><listitem><indexterm role="fn"><primary>\selectfont</primary></indexterm> +<para>Los efectos de los comandos de tipo de letra descritos anteriormente +no suceden hasta que se llama a <literal>\selectfont</literal>, como en +<literal>\fontfamily{<replaceable>familyname</replaceable>}\selectfont</literal>. A menudo es útil +poner esto en una macro: + +<literal>\newcommand*{\myfont}{\fontfamily{<replaceable>familyname</replaceable>}\selectfont}</literal> + +(véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>). +</para> +<anchor id="comandos-de-tipos-de-letra-de-bajo-nivel-usefont"/></listitem></varlistentry><varlistentry><term><literal>\usefont{<replaceable>enc</replaceable>}{<replaceable>family</replaceable>}{<replaceable>series</replaceable>}{<replaceable>shape</replaceable>}</literal> </term><listitem><indexterm role="fn"><primary>\usefont</primary></indexterm> -<para>Lo mismo que invocar a <literal>\fontencoding</literal>, <literal>\fontfamily</literal>, -<literal>\fontseries</literal> y <literal>\fontshape</literal> con los parámetros dados, seguida -por <literal>\selectfont</literal>. +<para>Lo mismo que invocar a <literal>\fontencoding</literal>, <literal>\fontfamily</literal>, +<literal>\fontseries</literal> y <literal>\fontshape</literal> con los parámetros dados, +seguidos de <literal>\selectfont</literal>. Por ejemplo: </para> +<screen>\usefont{ot1}{cmr}{m}{n} +</screen> </listitem></varlistentry></variablelist> </sect1> </chapter> -<chapter label="6" id="Dise_00f1o"> -<title>Diseño</title> -<indexterm role="cp"><primary>instrucciones de diseño</primary></indexterm> +<chapter label="5" id="Composici_00f3n"> +<title>Composición</title> -<para>Varias instrucciones para controlar el diseño general de la página. +<indexterm role="cp"><primary>comandos de composición</primary></indexterm> + +<para>Comandos para controlar la composición general de página. </para> -<sect1 label="6.1" id="_005conecolumn"> +<sect1 label="5.1" id="_005conecolumn"> <title><literal>\onecolumn</literal></title> + <indexterm role="fn"><primary>\onecolumn</primary></indexterm> -<indexterm role="cp"><primary>produce una columna</primary></indexterm> +<indexterm role="cp"><primary>one-column output</primary></indexterm> -<para>La declaración <literal>\onecolumn</literal> comienza una nueva página y la produce -con una sola columna. Este es el valor predeterminado. +<para>Sinopsis: +</para> +<screen>\onecolumn +</screen> +<para>Inicia una nueva página y genera una salida de una sola columna. Si +al documento le es dada la opción de clase <literal>onecolumn</literal> entonces +este es el valor predeterminado del comportamiento (véase <link linkend="Opciones-de-la-clase-documento">Opciones de +la clase documento</link>). Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). </para> </sect1> -<sect1 label="6.2" id="_005ctwocolumn"> +<sect1 label="5.2" id="_005ctwocolumn"> <title><literal>\twocolumn</literal></title> + <indexterm role="fn"><primary>\twocolumn</primary></indexterm> <indexterm role="cp"><primary>texto multicolumna</primary></indexterm> -<indexterm role="cp"><primary>produce dos columnas</primary></indexterm> +<indexterm role="cp"><primary>salida de dos columnas</primary></indexterm> <para>Sinopsis: </para> -<screen>\twocolumn[<replaceable>textocolumna1</replaceable>] +<screen>\twocolumn +\twocolumn[<replaceable>texto preliminar de una columna</replaceable>] </screen> -<para>La declaración <literal>\twocolumn</literal> comienza una nueva página y la produce -con dos columnas. Si el argumento opcional <replaceable>textocolumna1</replaceable> está -presente, esta es compuesta en modo de una columna antes de comenzar la -composición de las dos columnas. +<para>Inicia una nueva página y genera un resultado de dos columnas. Si se +entrega al documento la opción de clase <literal>twocolumn</literal> entonces esta +es la predeterminada (véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase documento</link>). Este +comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Si el argumento opcional <replaceable>texto preliminar de una columna</replaceable> está +presente, se escribe en el modo de una columna antes de que comience +la composición tipográfica de dos columnas. </para> -<para>Estos parámetros controlan la tipografía en la producción de dos -columnas: +<para>Estos parámetros controlan la composición tipográfica en la salida de +dos columnas: </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\columnsep</primary></indexterm><literal>\columnsep</literal> -</term><listitem><para>La distancia entre las columnas (de manera predeterminada a 35pt). +</term><listitem><anchor id="doscolumnas-columnasep"/><para>La distancia entre columnas. El valor +predeterminado es 35 puntos. Cámbialo con un comando como +<literal>\setlength{\columnsep}{40pt}</literal>. Lo debes cambiar antes de que +comience el modo de dos columnas; en el preámbulo es un buen lugar. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\columnseprule</primary></indexterm><literal>\columnseprule</literal> -</term><listitem><para>El ancho de la regla entre columnas; el predeterminado es 0pt, por lo -tanto no hay regla. +</term><listitem><anchor id="doscolumnas-columnasseprule"/><para>El ancho de la regla entre +columnas. El valor predeterminado es 0pt, lo cual significa que no hay +regla. De lo contrario, la regla aparece a medio camino entre las dos +columnas. Cámbialo con un comando como +<literal>\setlength{\columnseprule}{0.4pt}</literal>, antes de comenzar el +modo de dos columnas. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\columnwidth</primary></indexterm><literal>\columnwidth</literal> -</term><listitem><para>El ancho de la columna actual; este es igual a <literal>\textwidth</literal> -en texto de una sola columna. +</term><listitem><anchor id="doscolumnas-columnwidth"/><para>El ancho de una sola columna. En el +modo de una columna esto es igual a <literal>\textwidth</literal>. En el modo de +dos columnas de manera predeterminada, &latex; establece el ancho de +cada una de las dos columnas, para que <literal>\columnwidth</literal> sea la +mitad de <literal>\textwidth</literal> menos <literal>\columnsep</literal>. </para> </listitem></varlistentry></variablelist> -<para>Estos parámetros controlan el comportamiento de la flotación de las dos -columnas producidas: -</para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\dbltopfraction</primary></indexterm><literal>\dbltopfraction</literal> -</term><listitem><para>Máxima fracción en la parte superior de una página de dos columna que -pueden ocupar los flotantes. El predeterminado es ‘<literal>.7</literal>’, puede ser -útil redefinirlo a (digamos) ‘<literal>.9</literal>’ para evitar llegar tan pronto a -páginas flotantes. +<para>En un documento de dos columnas, los entornos destacados <literal>table*</literal> +y <literal>figure*</literal> tienen dos columnas de ancho, mientras que los +entornos sin estrellas <literal>table</literal> y <literal>figure</literal> ocupan solo una +columna (véase <link linkend="figure">figure</link> y véase <link linkend="table">table</link>). &latex; coloca flotantes +con estrellas en la parte superior de una página. Los siguientes +parámetros controlan el comportamiento flotante de la salida de dos +columnas. +</para> +<variablelist><anchor id="doscolumnas-dbltopfraction"/><varlistentry><term><indexterm role="fn"><primary>\dbltopfraction</primary></indexterm><literal>\dbltopfraction</literal> +</term><listitem><para>La fracción máxima en la parte superior de una página de dos columnas +que pueden ocupar flotantes de dos columnas de ancho. El valor +predeterminado es 0.7, lo cual significa que la altura de un entorno +<literal>table*</literal> o <literal>figure*</literal> no debe superar <literal>0.7\textheight</literal>. +Si la altura de tu entorno flotante estrellado excede esto, entonces +puedes tomar una de las siguientes acciones para evitar que flote +hasta el final del documento: +</para> +<itemizedlist><listitem><para>Usa el especificador de ubicación <literal>[tp]</literal> para decirle a &latex; +que intente poner el voluminoso flotante en una página por sí mismo, +así como en la parte superior de una página. +</para> +</listitem><listitem><para>Utiliza el especificador de ubicación <literal>[t!]</literal> para anular el +efecto de <literal>\dbltopfraction</literal> para este flotante en particular. +</para> +</listitem><listitem><para>Aumenta el valor de <literal>\dbltopfraction</literal> a un número adecuadamente +grande, para evitar ir a páginas flotantes tan pronto como sea +posible. +</para></listitem></itemizedlist> +<para>Lo puedes redefinir, como con +<literal>\renewcommand{\dbltopfraction}{0.9}</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatpagefraction</primary></indexterm><literal>\dblfloatpagefraction</literal> -</term><listitem><para>La mínima fracción de una página con flotantes que deben ocupar los -flotantes, para una página de dos columnas con flotantes. El -predeterminado es ‘<literal>.5</literal>’. +</term><listitem><anchor id="doscolumnas-dblfloatpagefraction"/><para>Para una página flotante de +dos columnas de ancho flotantes, esta es la fracción mínima que deben +ocupar los flotantes, limitando la cantidad de espacio en blanco. El +valor predeterminado de &latex; es <literal>0.5</literal>. Cámbialo con +<literal>\renewcommand</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dblfloatsep</primary></indexterm><literal>\dblfloatsep</literal> -</term><listitem><para>Distancia entre flotantes en la parte superior o inferior de una página -de dos columnas con flotantes. Predeterminado a ‘<literal>12pt plus2pt -minus2pt</literal>’ para ‘<literal>10pt</literal>’ y ‘<literal>11pt</literal>’ para documentos, ‘<literal>14pt -plus2pt minus4pt</literal>’ para ‘<literal>12pt</literal>’. +</term><listitem><anchor id="doscolumnas-dblfloatsep"/><para>En una página flotante de flotantes +de dos columnas de ancho, esta longitud es la distancia entre +flotantes, tanto en la parte superior como en la inferior de la +página. El valor predeterminado es <literal>12pt plus2pt minus2pt</literal> para +un documento establecido en <literal>10pt</literal> o <literal>11pt</literal> y <literal>14pt +plus2pt minus4pt</literal> para un documento establecido en <literal>12pt</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltextfloatsep</primary></indexterm><literal>\dbltextfloatsep</literal> -</term><listitem><para>Distancia entre un flotante multicolumna en la parte superior o inferior -de una página y el texto principal. De manera predeterminada es -‘<literal>20pt plus2pt minus4pt</literal>’. +</term><listitem><anchor id="doscolumnas-dbltextfloatsep"/><para>Esta longitud es la distancia +entre un flotante de varias columnas en la parte superior o la parte +inferior de una página y el texto principal. El valor predeterminado +es <literal>20pt plus2pt minus4pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dbltopnumber</primary></indexterm><literal>\dbltopnumber</literal> +</term><listitem><anchor id="doscolumnas-dbltopnumber"/><para>En una página flotante de flotantes +de dos columnas de ancho, este contador da el número máximo de +flotantes permitidos en la parte superior de la página. El valor +predeterminado de &latex; es <literal>2</literal>. </para> </listitem></varlistentry></variablelist> +<!-- De egreg en https://tex.stackexchange.com/a/142232/339 --> +<para>Este ejemplo usa el argumento opcional de <literal>\twocolumn</literal> para crear +un título que abarca el artículo de dos columnas: +</para> +<screen>\documentclass[twocolumn]{article} +\newcommand{\authormark}[1]{\textsuperscript{#1}} +\begin{document} +\twocolumn[{% dentro de este argumento opcional va texto de una columna + \centering + \LARGE El título \\[1.5em] + \large Autor uno\authormark{1}, + Autor dos\authormark{2}, + Autor tres\authormark{1} \\[1em] + \normalsize + \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} + \authormark{1}Departamento uno &\authormark{2}Departamento dos \\ + Escuela uno &Escuela dos + \end{tabular}\\[3em] % espacio debajo de la parte del título + }] + +Texto de dos columnas aquí. +</screen> </sect1> -<sect1 label="6.3" id="_005cflushbottom"> +<sect1 label="5.3" id="_005cflushbottom"> <title><literal>\flushbottom</literal></title> <indexterm role="fn"><primary>\flushbottom</primary></indexterm> -<para>La declaración <literal>\flushbottom</literal> hace que todas las páginas tengan la -misma altura, añadiendo espacio vertical extra donde sea necesario para -llenar la página. +<para>Hace que todas las páginas del documento después de esta declaración +tengan la misma altura, estirando el espacio vertical donde sea +necesario para llenar la página. Esto se usa con más frecuencia +cuando se hacen documentos de dos caras ya que las diferencias en las +páginas opuestas pueden ser evidentes. +</para> +<para>Si &tex; no puede estirar satisfactoriamente el espacio vertical en +una página luego obtienes un mensaje como ‘<literal>Infralleno \vbox +(maliciosos 10000) ocurrió mientras \output está activa</literal>’. Si lo +consigues, una opción es cambiar a <literal>\raggedbottom</literal> +(véase <link linkend="_005craggedbottom">\raggedbottom</link>). Alternativamente, puedes ajustar el +<literal>textheight</literal> para hacer páginas compatibles, o puedes agregar un +poco de pegamento de estiramiento vertical entre líneas o entre +párrafos, como en <literal>\setlength{\parskip}{0ex plus0.1ex}</literal>. Tu +última opción es, en una etapa de edición final, ajustar la altura de +las páginas individuales (véase <link linkend="_005cenlargethispage">\enlargethispage</link>). </para> -<para>Este es el predeterminado si se selecciona el modo <literal>twocolumn</literal> -(véase <link linkend="Opciones-de-Clase-de-Documento">Opciones de Clase de Documento</link>). +<para>El estado <literal>\flushbottom</literal> es el predeterminado solo si seleccionas +la opción <literal>twocolumn</literal> de la clase documento (véase <link linkend="Opciones-de-la-clase-documento">Opciones de +la clase documento</link>), y para índices hechos con <literal>makeidx</literal>. </para> </sect1> -<sect1 label="6.4" id="_005craggedbottom"> +<sect1 label="5.4" id="_005craggedbottom"> <title><literal>\raggedbottom</literal></title> + <indexterm role="fn"><primary>\raggedbottom</primary></indexterm> -<indexterm role="cp"><primary>reducción, omitiendo vertical</primary></indexterm> +<indexterm role="cp"><primary>estirar, omitiendo vertical</primary></indexterm> -<para>La declaración <literal>\raggedbottom</literal> hace que todas las páginas tengan la -altura natural del material en esa página. Sin longitudes flexibles que -se deban ajustar. +<para>Hace que todas las páginas posteriores tengan la altura natural del +material en esa página; no se estirarán las longitudes verticales +elásticas. Así, en documentos de dos caras las páginas opuestas +pueden tener diferentes alturas. Este comando puede ir en cualquier +punto del cuerpo del documento. Véase <link linkend="_005cflushbottom">\flushbottom</link>. +</para> +<para>Este es el valor predeterminado a menos que selecciones la opción +<literal>twocolumn</literal> de la clase documento (véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase +documento</link>). </para> </sect1> -<sect1 label="6.5" id="Par_00e1metros-para-el-Dise_00f1o-de-P_00e1gina"> -<title>Parámetros para el Diseño de Página</title> +<sect1 label="5.5" id="Par_00e1metros-de-composici_00f3n-de-p_00e1gina"> +<title>Parámetros de composición de página</title> -<indexterm role="cp"><primary>parámetros para el diseño de página</primary></indexterm> -<indexterm role="cp"><primary>parámetros, diseño de página</primary></indexterm> -<indexterm role="cp"><primary>diseño, parámetros de página para</primary></indexterm> -<indexterm role="cp"><primary>header, parámetros para</primary></indexterm> -<indexterm role="cp"><primary>footer, parámetros para</primary></indexterm> -<indexterm role="cp"><primary>ejecutando header y footer</primary></indexterm> +<indexterm role="cp"><primary>parámetros de la composición de página</primary></indexterm> +<indexterm role="cp"><primary>parámetros, composición de página</primary></indexterm> +<indexterm role="cp"><primary>composición, parámetros de página para</primary></indexterm> +<indexterm role="cp"><primary>encabezado, parámetros para</primary></indexterm> +<indexterm role="cp"><primary>pie de página, parámetros para</primary></indexterm> +<indexterm role="cp"><primary>ejecutando encabezados y pie de página</primary></indexterm> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\headheight</primary></indexterm><literal>\headheight</literal> -</term><listitem><para>Altura de la caja que contiene el encabezado. El predeterminado es -‘<literal>30pt</literal>’, salvo en la clase <literal>book</literal>, donde este varía con el -tamaño de letra. +<variablelist><varlistentry><term><indexterm role="fn"><primary>\columnsep</primary></indexterm><literal>\columnsep</literal> +</term><term><indexterm role="fn"><primary>\columnseprule</primary></indexterm><literal>\columnseprule</literal> +</term><term><indexterm role="fn"><primary>\columnwidth</primary></indexterm><literal>\columnwidth</literal> +</term><listitem><indexterm role="fn"><primary>\columnsep</primary></indexterm> +<indexterm role="fn"><primary>\columnseprule</primary></indexterm> +<indexterm role="fn"><primary>\columnwidth</primary></indexterm> +<anchor id="par_00e1metros-columnasep-del-dise_00f1o-de-p_00e1gina"/><anchor id="par_00e1metros-columnseprule-del-dise_00f1o-de-p_00e1gina"/><anchor id="par_00e1metros-columnwidth-del-dise_00f1o-de-p_00e1gina"/><para>La distancia entre las dos columnas, el ancho de una +regla entre las columnas y el ancho de las columnas, cuando la opción +de clase de documento <literal>twocolumn</literal> está en vigor (véase <link linkend="Opciones-de-la-clase-documento">Opciones +de la clase documento</link>). Véase <link linkend="_005ctwocolumn">\twocolumn</link>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\headheight</primary></indexterm><literal>\headheight</literal> +</term><listitem><indexterm role="fn"><primary>\headheight</primary></indexterm> +<anchor id="par_00e1metros-headheight-del-dise_00f1o-de-p_00e1gina"/><para>Altura de la caja +que contiene la cabecera móvil. El valor predeterminado en las clases +<literal>article</literal>, <literal>report</literal> y <literal>book</literal> son ‘<literal>12pt</literal>’, en todos +los tamaños de letra. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\headsep</primary></indexterm><literal>\headsep</literal> -</term><listitem><para>Distancia vertical entre la línea inferior de la cabecera y la parte -superior del texto principal. El predeterminado es ‘<literal>25pt</literal>’, salvo -en la clase <literal>book</literal>, donde este varía con el tamaño de letra. +</term><listitem><indexterm role="fn"><primary>\headsep</primary></indexterm> +<anchor id="par_00e1metros-headep-del-dise_00f1o-de-p_00e1gina"/><para>Distancia vertical +entre la parte inferior de la línea de cabecera y la parte superior +del texto principal. El valor predeterminado en las clases +<literal>article</literal> y <literal>report</literal> es ‘<literal>25pt</literal>’. En la clase +<literal>book</literal> el valor predeterminado es: si el documento está +configurado en 10pt, entonces es ‘<literal>0.25in</literal>’, y en 11pt o 12pt es +‘<literal>0.275in</literal>’. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\footskip</primary></indexterm><literal>\footskip</literal> -</term><listitem><para>Distancia desde la línea base de la última línea de texto a la línea -base del pié de página. El predeterminado es ‘<literal>30pt</literal>’, salvo en la -clase <literal>book</literal>, donde este varía con el tamaño de letra. +</term><listitem><indexterm role="fn"><primary>\footskip</primary></indexterm> +<anchor id="par_00e1metros-de-dise_00f1o-de-p_00e1gina-footskip"/><para>Distancia desde la +línea base de la última línea de texto hasta la línea base de el pie +de página. El valor predeterminado en las clases <literal>article</literal> y +<literal>report</literal> es ‘<literal>30pt</literal>’. En la clase <literal>book</literal> el valor +predeterminado es: cuando el tamaño de letra es de 10 puntos, el +predeterminado es ‘<literal>0.35in</literal>’, mientras que en 11pt es +‘<literal>0.38in</literal>’, y en 12pt es ‘<literal>30pt</literal>’. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\linewidth</primary></indexterm><literal>\linewidth</literal> -</term><listitem><para>Ancho de la línea actual; el predeterminado varía con el tamaño de -fuente, el ancho del papel, el modo two-column, etc. Para un documento -<literal>article</literal> en ‘<literal>10pt</literal>’, este se establece a ‘<literal>345pt</literal>’; en modo -two-column, este cambia a ‘<literal>229.5pt</literal>’. +</term><listitem><indexterm role="fn"><primary>\linewidth</primary></indexterm> +<anchor id="par_00e1metros-linewidth-del-dise_00f1o-de-p_00e1gina"/><para>Ancho de la línea +actual, disminuido para cada <literal>lista</literal> anidada (véase <link linkend="list">list</link>). Es +decir, el valor nominal de <literal>\linewidth</literal> es igual a +<literal>\textwidth</literal> pero para cada <literal>\linewidth</literal> de la lista anidada +se reduce por la suma del <literal>\leftmargin</literal> de esa lista y +<literal>\rightmargin</literal> (véase <link linkend="itemize">itemize</link>). +<!-- El valor predeterminado varía con el tamaño del tipo de letra, el --> +<!-- ancho del papel, el modo de dos columnas, etc. Para un documento --> +<!-- @code{article} configurado en 10 puntos, el valor predeterminado es --> +<!-- @samp{345pt}, mientras que en modo de dos columnas se convierte en --> +<!-- @samp{229.5pt}. --> +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\marginparpush</primary></indexterm><literal>\marginparpush</literal> +</term><term><indexterm role="fn"><primary>\marginsep</primary></indexterm><literal>\marginsep</literal> +</term><term><indexterm role="fn"><primary>\marginparwidth</primary></indexterm><literal>\marginparwidth</literal> +</term><listitem><indexterm role="fn"><primary>\marginparpush</primary></indexterm> +<indexterm role="fn"><primary>\marginsep</primary></indexterm> +<indexterm role="fn"><primary>\marginparwidth</primary></indexterm> +<anchor id="par_00e1metros-marginparpush-del-dise_00f1o-de-p_00e1gina"/><anchor id="par_00e1metros-marginsep-del-dise_00f1o-de-p_00e1gina"/><anchor id="par_00e1metros-marginparwidth-del-dise_00f1o-de-p_00e1gina"/><para>El espacio vertical mínimo entre +dos notas marginales, el espacio horizontal entre el cuerpo del texto +y las notas marginales, y el ancho horizontal de las notas. +</para> +<para>Normalmente, las notas marginales aparecen en el exterior de la +página, pero la declaración <literal>\reversemarginpar</literal> cambia eso (y +<literal>\normalmarginpar</literal> lo vuelve a cambiar). +</para> +<para>Los valores predeterminados para <literal>\marginparpush</literal> tanto en +<literal>book</literal> como en las clases <literal>article</literal> son: ‘<literal>7pt</literal>’ si el +documento se establece en 12pt, y ‘<literal>5pt</literal>’ si el documento está +configurado en 11 o 10 puntos. +</para> +<para>Para <literal>\marginsep</literal>, en la clase <literal>article</literal> el valor +predeterminado es ‘<literal>10pt</literal>’ excepto si el documento está configurado +en 10pt y en modo de dos columnas donde el valor predeterminado es +‘<literal>11pt</literal>’. +</para> +<para>Para <literal>\marginsep</literal> en la clase <literal>book</literal>, el valor +predeterminado es ‘<literal>10pt</literal>’ en modo de dos columnas y ‘<literal>7pt</literal>’ en +modo de una columna. +</para> +<para>Para <literal>\marginparwidth</literal> tanto en las clases <literal>book</literal> como +<literal>article</literal>, en el modo de dos columnas, el valor predeterminado es +el 60 % de <literal>\paperwidth − \textwidth</literal>, mientras que en el +modo de una columna es el 50% de esa distancia. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\oddsidemargin</primary></indexterm><literal>\oddsidemargin</literal> +</term><term><indexterm role="fn"><primary>\evensidemargin</primary></indexterm><literal>\evensidemargin</literal> +</term><listitem><indexterm role="fn"><primary>\oddsidemargin</primary></indexterm> +<indexterm role="fn"><primary>\evensidemargin</primary></indexterm> +<anchor id="par_00e1metros-oddsidemargin-del-dise_00f1o-de-p_00e1gina"/><anchor id="par_00e1metros-evensidemargin-del-dise_00f1o-de-p_00e1gina"/><!-- xx TODO vuelve a alinear en la versión francesa que es más --> +<!-- completa/precisa. --> +<para>La longitud de <literal>\oddsidemargin</literal> es la distancia adicional entre +el lado izquierdo de la página y el margen izquierdo del texto, en las +páginas impares cuando se elige la opción de clase documento +<literal>twoside</literal> y en todas las páginas cuando <literal>oneside</literal> está en +vigor. Cuando <literal>twoside</literal> está en vigor, en páginas pares, la +distancia adicional a la izquierda es <literal>\evensidemargin</literal>. +</para> +<para>El valor predeterminado de &latex; es que <literal>\oddsidemargin</literal> es el +40% de la diferencia entre <literal>\paperwidth</literal> y <literal>\textwidth</literal>, y +<literal>\evensidemargin</literal> es el resto. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paperheight</primary></indexterm><literal>\paperheight</literal> +</term><listitem><indexterm role="fn"><primary>\paperheight</primary></indexterm> +<anchor id="par_00e1metros-paperheight-del-dise_00f1o-de-p_00e1gina"/><para>La altura del +papel, a diferencia de la altura del área de impresión. Normalmente +se establece con una opción de la clase documento, como en +<literal>\documentclass[a4paper]{article}</literal> (véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase +documento</link>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paperwidth</primary></indexterm><literal>\paperwidth</literal> +</term><listitem><indexterm role="fn"><primary>\paperwidth</primary></indexterm> +<anchor id="par_00e1metros-paperwidth-del-dise_00f1o-de-p_00e1gina"/><para>El ancho del +papel, a diferencia del ancho del área de impresión. Normalmente se +establece con una opción de la clase documento, como en +<literal>\documentclass[a4paper]{article}</literal> (véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase +documento</link>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textheight</primary></indexterm><literal>\textheight</literal> -</term><listitem><para>La altura vertical normal del cuerpo de la página; el predeterminado -varía con el tamaño de letra, clase de documento, etc. Para un -documento <literal>article</literal> o <literal>report</literal> en ‘<literal>10pt</literal>’, este se fija a -‘<literal>43\baselineskip</literal>’; para <literal>book</literal>, es ‘<literal>41\baselineskip</literal>’. -Para ‘<literal>11pt</literal>’, es ‘<literal>38\baselineskip</literal>’ y para ‘<literal>12pt</literal>’, -‘<literal>36\baselineskip</literal>’. +</term><listitem><indexterm role="fn"><primary>\textheight</primary></indexterm> +<anchor id="par_00e1metros-textheight-del-dise_00f1o-de-p_00e1gina"/><para>La altura vertical +normal del cuerpo de la página. Si el documento se establece en un +tamaño de letra nominal de 10pt entonces para un <literal>article</literal> o +<literal>report</literal> el valor predeterminado es ‘<literal>43\baselineskip</literal>’, +mientras que para un <literal>book</literal> es ‘<literal>41\baselineskip</literal>’. Con un +tamaño de letra de 11pt, el valor predeterminado es +‘<literal>38\baselineskip</literal>’ para todas las clases de documento. A 12pt es +‘<literal>36\baselineskip</literal>’ para todas las clases. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textwidth</primary></indexterm><literal>\textwidth</literal> -</term><listitem><para>El ancho horizontal normal del cuerpo de la página; el predeterminado -varía de la manera usual. Para un documento <literal>article</literal> o -<literal>report</literal>, es ‘<literal>345pt</literal>’ en ‘<literal>10pt</literal>’, ‘<literal>360pt</literal>’ en -‘<literal>11pt</literal>’ y ‘<literal>390pt</literal>’ en ‘<literal>12pt</literal>’. Para un documento -<literal>book</literal>, es ‘<literal>4.5in</literal>’ en ‘<literal>10pt</literal>’ y ‘<literal>5in</literal>’ en ‘<literal>11pt</literal>’ -o ‘<literal>12pt</literal>’. +</term><listitem><indexterm role="fn"><primary>\textwidth</primary></indexterm> +<anchor id="par_00e1metros-textwidth-del-dise_00f1o-de-p_00e1gina"/><para>El ancho horizontal +completo de todo el cuerpo de la página. Para un documento +<literal>article</literal> o <literal>report</literal>, el valor predeterminado es +‘<literal>345pt</literal>’ cuando el tamaño de letra elegido es 10pt, el valor +predeterminado es ‘<literal>360pt</literal>’ a 11pt, y es ‘<literal>390pt</literal>’ a 12pt. Para +un documento <literal>book</literal>, el valor predeterminado es ‘<literal>4.5in</literal>’ con +un tamaño de letra de 10pt y ‘<literal>5in</literal>’ con 11pt o 12pt. +</para> +<para>En la salida de varias columnas, <literal>\textwidth</literal> sigue siendo el +ancho de todo el cuerpo de la página, mientras que <literal>\columnwidth</literal> +es el ancho de una columna (véase <link linkend="_005ctwocolumn">\twocolumn</link>). +</para> +<para>En las listas (véase <link linkend="list">list</link>), <literal>\textwidth</literal> sigue siendo el ancho +de todo el cuerpo de la página (y <literal>\columnwidth</literal> el ancho de toda +la columna), mientras que <literal>\linewidth</literal> puede disminuir para las +listas anidadas. +</para> +<para>Dentro de una minipágina (véase <link linkend="minipage">minipage</link>) o <literal>\parbox</literal> +(véase <link linkend="_005cparbox">\parbox</link>), todos los parámetros relacionados con el ancho se +establecen en el ancho especificado, y vuelven a sus valores normales +al final de <literal>minipage</literal> o <literal>\parbox</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hsize</primary></indexterm><literal>\hsize</literal> +</term><listitem><indexterm role="fn"><primary>\hsize</primary></indexterm> +<anchor id="par_00e1metros-hsize-del-dise_00f1o-de-p_00e1gina"/><para>Esta entrada se incluye +para completar: <literal>\hsize</literal> es el parámetro primitivo &tex; +utilizado cuando el texto se divide en líneas. No se debería usar en +documentos &latex; normales. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topmargin</primary></indexterm><literal>\topmargin</literal> -</term><listitem><para>Espacio entre la parte superior de la página &tex; (de manera -predeterminada, una pulgada en la parte superior del papel) y en la -parte superior del encabezado. El predeterminado se calcula basándose -en muchos otros parámetros: <literal>\paperheight − 2in − -\headheight − \headsep − \textheight − \footskip</literal>, -y luego se divide entre dos. +</term><listitem><indexterm role="fn"><primary>topmargin</primary></indexterm> +<anchor id="par_00e1metros-topmargin-del-dise_00f1o-de-p_00e1gina"/><!-- xxx TODO se vuelve a alinear en la versión francesa que es más --> +<!-- precisa. --> +<para>Espacio entre la parte superior de la página &tex; (una pulgada desde +la parte superior del papel, de manera predeterminada) y la parte +superior de la cabecera. El valor se calcula basado en muchos otros +parámetros: <literal>\paperheight − 2in − \headheight +− \headsep − \textheight − \footskip</literal>, y luego +dividido por dos. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topskip</primary></indexterm><literal>\topskip</literal> -</term><listitem><para>La distancia mínima entre la parte superior del cuerpo de la página y la -línea base de la primer línea de texto. Para clases estándar, el -predeterminado es el mismo que el tamaño de letra, por ejemplo, -‘<literal>10pt</literal>’ en ‘<literal>10pt</literal>’. +</term><listitem><indexterm role="fn"><primary>\topskip</primary></indexterm> +<anchor id="par_00e1metros-topskip-del-dise_00f1o-de-p_00e1gina"/><para>Distancia mínima +entre la parte superior del cuerpo de la página y la línea base de la +primera línea de texto. Para las clases estándar, el valor +predeterminado es igual que el tamaño de letra, por ejemplo, +‘<literal>10pt</literal>’ en un tamaño de letra de 10pt. </para> </listitem></varlistentry></variablelist> </sect1> +<sect1 label="5.6" id="_005cbaselineskip-y-_005cbaselinestretch"> +<title><literal>\baselineskip</literal> y <literal>\baselinestretch</literal></title> + +<anchor id="_005cbaselineskip"/><anchor id="_005cbaselinestretch"/><indexterm role="fn"><primary>\baselineskip</primary></indexterm> +<indexterm role="fn"><primary>\baselinestretch</primary></indexterm> +<indexterm role="fn"><primary>\linespread</primary></indexterm> +<indexterm role="cp"><primary>espacio entre lineas</primary></indexterm> +<indexterm role="cp"><primary>espacio interlinea</primary></indexterm> +<indexterm role="cp"><primary>inicial</primary></indexterm> +<indexterm role="cp"><primary>doble espacio</primary></indexterm> + +<para>El <literal>\baselineskip</literal> es una longitud elástica (véase <link linkend="Longitudes">Longitudes</link>). +Da la <firstterm>inicial</firstterm>, la distancia normal entre líneas en un párrafo, +desde línea base a línea base. +</para> +<para>Por lo general, los autores de documentos no cambian directamente +<literal>\baselineskip</literal> mientras escribían. En su lugar, se establece +mediante el comando de selección <literal>\fontsize</literal> del tamaño de letra +de bajo nivel (véase <link linkend="comandos-fontsize-de-bajo-nivel">comandos fontsize de bajo nivel</link>). El valor de +<literal>\baselineskip</literal> se restablece cada vez que sucede un cambio de +tipo de letra, por lo que cualquier cambio directo a +<literal>\baselineskip</literal> desaparecerá la próxima vez que haya un cambio de +letra. Para cómo influir en el espaciado de línea, ve la explicación +de <literal>\baselinestretch</literal> a continuación. +</para> +<para>Por lo general, el diseñador del tipo de letra asigna el tamaño de +letra y el salto de línea base. Estos números son nominales en el +sentido de que si, por ejemplo, el archivo de estilo de una letra +tiene el comando <literal>\fontsize{10pt}{12pt}</literal> entonces eso no +significa que los caracteres en el tipo de letra tenga una altura de +10pt; por ejemplo, los paréntesis y las mayúsculas acentuadas +pueden ser más altas. Ni tampoco significa que si las líneas están +separadas menos de 12pt entonces corren el riesgo de tocarse. +Más bien estos números son juicios tipográficos. (A menudo, el +<literal>\baselineskip</literal> es un veinte por ciento más grande que el tamaño +de la letra). +</para> +<!-- adaptado de preguntas frecuentes --> +<para>El <literal>\baselineskip</literal> no es una propiedad de cada línea sino del +párrafo completo. Como resultado, texto grande en medio de un +párrafo, como una sola enorme <literal>{\Huge Q}</literal>, se aplastará en su +línea. &tex; se asegurará de que no raspe la línea de arriba, pero +no cambiará el <literal>\baselineskip</literal> para esa línea para hacer espacio +extra arriba. Para solucionarlo, usa un <literal>\strut</literal> +(véase <link linkend="_005cstrut">\strut</link>). +</para> +<para>El valor de <literal>\baselineskip</literal> que usa &tex; para el párrafo es el +valor en vigor en la línea en blanco o comando que finaliza la unidad +párrafo. Entonces, si un documento contiene este párrafo, sus líneas +se estrecharán juntas, en comparación con las líneas en los párrafos +circundantes. +</para> +<!-- Adaptado de "Lapsos en TeX" de B Beeton TB 42:1 p 13. --> +<screen>Mucha gente ve un salto de página entre el texto y una ecuación +mostrada como mal estilo, por lo que en efecto la pantalla es parte +del párrafo. Porque esto se muestra en footnotesize, todo el párrafo +tiene el espaciado de línea base que coincide con ese tamaño. +{\footnotesize $$a+b = c$$} +</screen> +<indexterm role="fn"><primary>\lineskip</primary></indexterm> +<indexterm role="fn"><primary>\lineskiplimit</primary></indexterm> +<indexterm role="fn"><primary>\prevdepth</primary></indexterm> +<para>El proceso para crear párrafos es que cuando se agrega una nueva +línea, si la profundidad de la línea anterior más la altura de la +nueva línea es menor que <literal>\baselineskip</literal>, entonces, &tex; +inserta pegamento vertical para compensar la diferencia. Hay dos +puntos finos. El primero es que si las líneas estarían demasiado +juntas, más cerca que <literal>\lineskiplimit</literal>, entonces, &tex; en su +lugar usa <literal>\lineskip</literal> como el pegamento entre líneas. El segundo +es que &tex; en realidad no usa la profundidad de la línea anterior. +En su lugar, usa <literal>\prev depth</literal>, que generalmente contiene esa +profundidad. Pero al comienzo del párrafo (o cualquier lista +vertical) o justo después de una regla, <literal>\prevdepth</literal> tiene el +valor -1000pt y este valor especial le dice a &tex; que no +inserte ningún pegamento entre líneas en el inicio de párrafo. +</para> +<para>En las clases estándar <literal>\lineskiplimit</literal> es 0pt y +<literal>\lineskip</literal> es 1pt. Por el párrafo anterior entonces, la +distancia entre líneas se puede aproximar a cero, pero si llega a ser +cero (o menos de cero), entonces las líneas saltan a 1pt aparte. +</para> +<para>A veces los autores deben, con fines de edición, poner el documento en +espacio doble o espacio y medio. La forma correcta de influir en la +distancia entre líneas es a través de <literal>\baselinestretch</literal>. Escala +<literal>\baselineskip</literal> y tiene un valor predeterminado de 1.0. Es un +comando, no una longitud, y no surte efecto hasta que ocurre el cambio +del tipo de letra, así que establece el factor de escala de esta +manera: <literal>\renewcommand{\baselinestretch}{1.5}\selectfont</literal>. +</para> +<para>La forma más sencilla de cambiar el espacio entre líneas para un +documento es poner <literal>\linespread{<replaceable>factor</replaceable>}</literal> en el preámbulo. +Para espacios dobles, toma <replaceable>factor</replaceable> como 1.6 y como un espacio y +medio usa 1.3. Estos números son aproximados: por ejemplo, dado que +el <literal>\baselineskip</literal> es aproximadamente 1.2 veces el tamaño de +letra, multiplicado por 1.6 suministra una proporción del tamaño de +letra de salto de referencia de aproximadamente 2. (El comando +<literal>\linespread</literal> se define como +<literal>\renewcommand{\baselinestretch}{<replaceable>factor</replaceable>}</literal> por lo que +también no tendrá efecto hasta que ocurra una configuración del tipo +de letra. Pero eso siempre se lleva a cabo al comienzo de un +documento, por lo que no es necesario que lo sigas con +<literal>\selectfont</literal>). +</para> +<indexterm role="cp"><primary>package, <literal>setspace</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>setspace</literal> package</primary></indexterm> +<para>Un enfoque más simple es el paquete +<literal>setspace</literal>. El ejemplo básico: +</para> +<screen>\usepackage{setspace} +\doublespacing % o \onehalfspacing para 1.5 +</screen> +<para>En el preámbulo, estos comenzarán el documento con ese tamaño. Pero +también puedes usar estas declaraciones en el cuerpo del documento +para cambiar el espacio desde ese punto en adelante, y en consecuencia +hay <literal>\singlespacing</literal> para devolver el espacio a la normalidad. +En el cuerpo del documento, una mejor práctica que usar las +declaraciones es usar entornos, como <literal>\begin{doublespace} +... \end{doublespace}</literal>. El paquete también tiene comandos para +hacer espaciado arbitrario: <literal>\setstretch{<replaceable>factor</replaceable>}</literal> y +<literal>\begin{spacing}{<replaceable>factor</replaceable>} ... \end{spacing}</literal>. Este +paquete también mantiene el interlineado de espacio simple en lugares +donde eso es típicamente deseable, como notas al pie y subtítulos de +figura. Consulta la documentación del paquete. +</para> +</sect1> +<sect1 label="5.7" id="Flotantes"> +<title>Flotantes</title> + +<para>Algunos elementos tipográficos, como figuras y tablas, no se pueden +romper a través de las páginas. Deben estar escritos fuera del flujo +normal de texto, por ejemplo, flotando en la parte superior de una +página posterior. +</para> +<para>&latex; puede tener varias clases diferentes de material flotante. +El valor predeterminado son las dos clases, <literal>figure</literal> +(véase <link linkend="figure">figure</link>) y <literal>table</literal> (véase <link linkend="table">table</link>), pero puedes crear una +nueva clase con el paquete <literal>float</literal>. +</para> +<para>Dentro de cualquier clase float, &latex; siempre respeta el orden, de +modo que la primera figura en un documento fuente debe estar compuesta +tipográficamente antes que la segunda figura. Sin embargo, &latex; +puede mezclar las clases, por lo que puede suceder que mientras que la +primera tabla aparece en la fuente antes de la primera figura, aparece +en la salida después de ella. +</para> +<para>La colocación de flotantes está sujeta a parámetros, que se indican a +continuación, que limitan el número de flotantes que pueden aparecer +en la parte superior de una página, y el fondo, etc. Si hay tantos +flotantes en cola que los límites impiden para que no encajen en una +página, entonces &latex; coloca lo que puede y aplaza el resto a la +página siguiente. De esta manera, los flotantes pueden terminar +siendo tipografíados lejos de su lugar en la fuente. En particular, +un flotante que es grande puede migrar al final del documento. En cuyo +caso, porque todos los flotantes en una clase deben aparecer en orden +secuencial, cada flotante siguiente en esa clase también aparece al +final. +</para> +<indexterm role="cp"><primary>colocación de flotantes</primary></indexterm> +<indexterm role="cp"><primary>especificador, ubicación flotante</primary></indexterm> +<para>Además de cambiar los parámetros, para cada flotante puedes ajustar +dónde el algoritmo de colocación flotante intenta colocarlo usando su +argumento <replaceable>placement</replaceable>. Los valores posibles son una secuencia de +las letras debajo. El valor predeterminado para <literal>figure</literal> y +<literal>table</literal>, en ambas clases, <literal>article</literal> y <literal>book</literal>, es +<literal>tbp</literal>. +</para> +<variablelist><varlistentry><term><literal>t</literal> +</term><listitem><para>(Top)—en la parte superior de una página de texto. +</para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><para>(Bottom)—en la parte inferior de una página de texto. (Sin embargo, +<literal>b</literal> no es permitido para flotantes de ancho completo +(<literal>figure*</literal>) con producción en doble columna. Para mejorar esto, +usa <filename>stfloats</filename> o el paquete <filename>dblfloatfix</filename>, pero ve la +discusión en las advertencias en las preguntas frecuentes: +<ulink url="https://www.texfaq.org/FAQ-2colfloat">https://www.texfaq.org/FAQ-2colfloat</ulink>. +</para> +</listitem></varlistentry><varlistentry><term><literal>h</literal> +</term><listitem><para>(Here)—en la posición en el texto donde el entorno <literal>figure</literal> +aparece. Sin embargo, <literal>h</literal> no está permitido por sí mismo; +<literal>t</literal> se añade automáticamente. +</para> +<indexterm role="cp"><primary>aquí, poniendo flotantes</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>float</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>float</literal> package</primary></indexterm> +<para>Para forzar absolutamente que un flotante aparezca +“aquí”, puedes <literal>\usepackage{float}</literal> y usa el especificador +<literal>H</literal> que define. Para obtener más información, consulta la +entrada de preguntas frecuentes en +<ulink url="https://www.texfaq.org/FAQ-figurehere">https://www.texfaq.org/FAQ-figurehere</ulink>. +</para> +</listitem></varlistentry><varlistentry><term><literal>p</literal> +</term><listitem><indexterm role="cp"><primary>página flotante</primary></indexterm> +<para>(Página de flotantes)—en una <firstterm>página flotante</firstterm> separada, que es +una página que no contiene texto, solo flotantes. +</para> +</listitem></varlistentry><varlistentry><term><literal>!</literal> +</term><listitem><para>Se utiliza además de uno de los anteriores; solo para este flotante, +&latex; ignora las restricciones tanto en el número de flotantes que +pueden aparecer y las cantidades relativas de texto flotante y no +flotante en la página. El especificador <literal>!</literal> <emphasis>no</emphasis> significa +“pon el flotante aquí”, ve más arriba. +</para> +</listitem></varlistentry></variablelist> +<para>Nota: el orden en que aparecen las letras en el argumento +<replaceable>placement</replaceable> no cambia el orden en que &latex; intenta colocar el +flotante; por ejemplo, <literal>btp</literal> tiene el mismo efecto que +<literal>tbp</literal>. Todo lo que <replaceable>placement</replaceable> hace es que si una letra no +está presente entonces el algoritmo no intenta esa ubicación. Por lo +tanto, el valor predeterminado de &latex; de <literal>tbp</literal> es probar +cada ubicación excepto colocar el flotante donde ocurre en la fuente. +</para> +<para>Para evitar que &latex; mueva flotantes al final del documento o un +capítulo puede usar un comando <literal>\clearpage</literal> para comenzar una +nueva página e inserta todos los flotantes pendientes. Si no deseas un +salto de página, puedes usar el paquete <filename>afterpage</filename> y emitir +<literal>\afterpage{\clearpage}</literal>. Esto esperará hasta que la página +actual haya terminado y entonces vuelca todos los flotantes +pendientes. +</para> +<indexterm role="cp"><primary>package, <literal>flafter</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>flafter</literal> package</primary></indexterm> +<para>&latex; puede escribir un flotante antes de donde +aparece en la fuente (aunque en la misma página de salida) si hay un +especificador <literal>t</literal> en el parámetro <replaceable>placement</replaceable>. Si esto no se +desea, y se elimina la <literal>t</literal> no es aceptable ya que evita que se +coloque el flotante en la parte superior de la página siguiente, lo +puedes evitar usando el paquete <literal>flafter</literal> o usando el comando +<indexterm role="fn"><primary>\suppressfloats</primary></indexterm> +<literal>\suppressfloats[t]</literal>, lo que provoca flotantes para la posición +superior en esta página para pasar a la página siguiente. +</para> +<para>Parámetros relativos a las fracciones de páginas ocupadas por float y +texto no flotante (cámbialos con +<literal>\renewcommand{<replaceable>parameter</replaceable>}{<replaceable>decimal entre 0 y 1</replaceable>}</literal>): +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\bottomfraction</primary></indexterm><literal>\bottomfraction</literal> +</term><listitem><indexterm role="fn"><primary>\bottomfraction</primary></indexterm> +<anchor id="fracci_00f3n-flotante-inferior"/><para>La fracción máxima de la página +que se permite sea ocupada por flotantes en el fondo; predeterminado +‘<literal>.3</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\floatpagefraction</primary></indexterm><literal>\floatpagefraction</literal> +</term><listitem><indexterm role="fn"><primary>\floatpagefraction</primary></indexterm> +<anchor id="flotantes-floatpagefraction"/><para>La fracción mínima de una página +flotante que debe estar ocupada por flotantes; predeterminado +‘<literal>.5</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfraction</primary></indexterm><literal>\textfraction</literal> +</term><listitem><indexterm role="fn"><primary>\textfraction</primary></indexterm> +<anchor id="fracci_00f3n-de-texto-flotante"/><para>Fracción mínima de una página que +debe ser texto; si los flotantes también ocupan mucho espacio para +conservar tanto texto, los flotantes se moverán a una pagina +diferente. El valor predeterminado es ‘<literal>.2</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topfraction</primary></indexterm><literal>\topfraction</literal> +</term><listitem><indexterm role="fn"><primary>\topfraction</primary></indexterm> +<anchor id="fracci_00f3n-superior-flotante"/><para>Fracción máxima en la parte +superior de una página que se puede ocupar antes por flotantes; +predeterminado ‘<literal>.7</literal>’. +</para></listitem></varlistentry></variablelist> +<para>Parámetros relacionados con el espacio vertical alrededor de los +flotantes (cámbialos con un comando de la forma +<literal>\setlength{<replaceable>parameter</replaceable>}{<replaceable>expresión length</replaceable>}</literal>): +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\floatsep</primary></indexterm><literal>\floatsep</literal> +</term><listitem><indexterm role="fn"><primary>\floatsep</primary></indexterm> +<anchor id="flotantes-floatsep"/><para>Espacio entre flotantes en la parte +superior o inferior de una página; predefinido ‘<literal>12pt más 2pt +menos 2pt</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\intextsep</primary></indexterm><literal>\intextsep</literal> +</term><listitem><indexterm role="fn"><primary>\intextsep</primary></indexterm> +<anchor id="flotantes-intextsep"/><para>Espacio encima y debajo de un flotante en +medio del texto principal; predeterminado ‘<literal>12pt plus2pt minus2pt</literal>’ +para documentos de 10 y 11 puntos, y ‘<literal>14pt plus4pt minus4pt</literal>’ para +documentos de 12 puntos. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfloatsep</primary></indexterm><literal>\textfloatsep</literal> +</term><listitem><indexterm role="fn"><primary>\textfloatsep</primary></indexterm> +<anchor id="flotante-textfloatsep"/><para>Espacio entre el último (primer) +flotante en la parte superior (inferior) de una página; predeterminado +‘<literal>20pt plus2pt minus4pt</literal>’. +</para></listitem></varlistentry></variablelist> +<para>Contadores relacionados con el número de flotantes en una página +(cámbialos con un comando de la forma +<literal>\setcounter{<replaceable>ctrname</replaceable>}{<replaceable>número natural</replaceable>}</literal>): +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>bottomnumber</primary></indexterm><literal>bottomnumber</literal> +</term><listitem><indexterm role="fn"><primary>bottomnumber</primary></indexterm> +<anchor id="flotante-bottomnumber"/><para>Número máximo de flotantes que pueden +aparecer en la parte inferior de una página de texto; predeterminado +1. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>dbltopnumber</primary></indexterm><literal>dbltopnumber</literal> +</term><listitem><indexterm role="fn"><primary>dbltopnumber</primary></indexterm> +<anchor id="flotantes-dbltopnumber"/><para>Número máximo de flotantes de tamaño +completo que pueden aparecer en la parte superior de una página de dos +columnas; predeterminado 2. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>topnumber</primary></indexterm><literal>topnumber</literal> +</term><listitem><indexterm role="fn"><primary>topnumber</primary></indexterm> +<anchor id="flotante-topnumber"/><para>Número máximo de flotantes que pueden +aparecer en la parte superior de una página de texto; predeterminado +2. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>totalnumber</primary></indexterm><literal>totalnumber</literal> +</term><listitem><indexterm role="fn"><primary>totalnumber</primary></indexterm> +<anchor id="flotante-totalnumber"/><para>Número máximo de flotantes que pueden +aparecer en una página de texto; predeterminado 3. +</para></listitem></varlistentry></variablelist> +<para>La entrada principal de preguntas frecuentes +&tex; relacionada con los flotantes +<ulink url="https//www.texfaq.org/FAQ-floats">https//www.texfaq.org/FAQ-floats</ulink> contiene sugerencias para +relajar los parámetros predeterminados de &latex; para reducir el +problema de los flotantes empujados hasta el final. Una explicación +completa del algoritmo de colocación de flotantes se encuentra en el +artículo de Frank Mittelbach “Cómo influir en la posición de los +entornos flotantes como figure y table en &latex;?” +(<ulink url="https//www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf">https//www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf</ulink>). +</para> + + +<sect2 label="5.7.1" id="_005ccaption"> +<title><literal>\caption</literal></title> + +<indexterm role="fn"><primary>\caption</primary></indexterm> +<indexterm role="cp"><primary>leyendas</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\caption{<replaceable>caption-text</replaceable>} +</screen> +<para>o +</para> +<screen>\caption[<replaceable>short-caption-text</replaceable>]{<replaceable>caption-text</replaceable>} +</screen> +<para>Crea un título para un entorno flotante, como <literal>figure</literal> o entorno +<literal>table</literal> (véase <link linkend="figure">figure</link> o <link linkend="table">table</link>). +</para> +<para>En este ejemplo, &latex; coloca un título debajo del espacio en +blanco vertical, espacio que deja el autor para la posterior inclusión +de una imagen. +</para> + +<screen>\begin{figure} + \vspace*{1cm} + \caption{Alonzo Cushing, Batería A, 4ª artillería de EE. UU.} + \label{fig:CushingPic} +\end{figure} +</screen> +<para>El comando <literal>\caption</literal> etiquetará <replaceable>caption-text</replaceable> con algo como +‘<literal>Figura 1:</literal>’ para un artículo o ‘<literal>Figura 1.1:</literal>’ para +un libro. El texto está centrado si está más corto que el ancho del +texto, o establecido como un párrafo sin sangría si toma más de una +línea. +</para> +<para>Además de colocar el <replaceable>caption-text</replaceable> en la salida, el comando +<literal>\caption</literal> también guarda esa información para usarla en una +lista de figuras o lista de tablas (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>). +</para> +<para>Aquí el comando <literal>\caption</literal> usa el comando opcional +<replaceable>short-caption-text</replaceable>, para que el texto más corto aparezca en la +lista de tablas, en lugar del <replaceable>caption-text</replaceable> más largo. +</para> +<screen>\begin{table} + \centering + \begin{tabular}{|*{3}{c}|} + \hline + 4 &9 &2 \\ + 3 &5 &7 \\ + 8 &1 &6 \\ + \hline + \end{tabular} + \caption[\textit{Lo Shu} cuadrado mágico]{% + The \textit{Lo Shu} que es único entre + cuadrados de orden tres hasta rotación y reflexión.} + \label{tab:LoShu} +\end{table} +</screen> +<para>&latex; etiquetará <replaceable>caption-text</replaceable> con algo como +‘<literal>Tabla 1:</literal>’ para un artículo o ‘<literal>Tabla 1.1:</literal>’ para un +libro. +</para> +<para>El título puede aparecer en la parte superior de la <literal>figura</literal> o +<literal>tabla</literal>. Por ejemplo, eso sucedería en el ejemplo anterior +poniendo el <literal>\caption</literal> entre el <literal>\centering</literal> y el +<literal>\begin{tabular}</literal>. +</para> +<para>Los distintos entornos flotantes se numeran por separado, de forma +predeterminada. Eso es <literal>\caption</literal> que actualiza el contador, por +lo que cualquier <literal>\label</literal> debe ir después del <literal>\caption</literal>. +El contador para el entorno <literal>figure</literal> se llama <literal>figure</literal>, y de +manera similar el contador para el entorno <literal>table</literal> es +<literal>table</literal>. +</para> +<para>El texto que se pondrá en la lista de figuras o lista de tablas es +argumento móvil. Si recibes el error &latex; ‘<literal>! Argumento de +\@caption tiene un extra}</literal>’, entonces debes poner <literal>\protect</literal> +delante de cualquier comando frágil. Véase <link linkend="_005cprotect">\protect</link>. +</para> +<indexterm role="cp"><primary>package, <literal>caption</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>caption</literal> package</primary></indexterm> +<para>El paquete <literal>caption</literal> tiene muchas opciones +para ajustar cómo aparece el título, por ejemplo, cambiando el tamaño +del texto, haciendo que el título sea colgar texto en lugar de +establecerlo como un párrafo, o hacer el título siempre establecido +como un párrafo en lugar de centrado cuando es corto. +</para> + +</sect2> +</sect1> </chapter> -<chapter label="7" id="Seccionado"> +<chapter label="6" id="Seccionado"> <title>Seccionado</title> -<indexterm role="cp"><primary>seccionado</primary></indexterm> - -<para>Las instrucciones de seccionado proporcionan los medios para estructurar -su texto en unidades: -</para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\part</primary></indexterm><literal>\part</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\chapter</primary></indexterm><literal>\chapter</literal> -</term><listitem><para>(únicamente las clases <literal>report</literal> y <literal>book</literal>) -</para></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\section</primary></indexterm><literal>\section</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subsection</primary></indexterm><literal>\subsection</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subsubsection</primary></indexterm><literal>\subsubsection</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\paragraph</primary></indexterm><literal>\paragraph</literal> -</term></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subparagraph</primary></indexterm><literal>\subparagraph</literal> -</term></varlistentry></variablelist> -<para>Todas las instrucciones de seccionado tienen la misma forma general, por -ejemplo, -</para> -<screen>\chapter[<replaceable>títulobreve</replaceable>]{<replaceable>título</replaceable>} -</screen> -<para>Además de proporcionar el encabezado <replaceable>título</replaceable> en el texto principal, -el título de la sección puede aparecer en otros dos lugares: -</para> -<orderedlist numeration="arabic"><listitem><para>La tabla de contenido. -</para></listitem><listitem><para>El título breve en la parte superior de la página. -</para></listitem></orderedlist> -<para>Tal vez no quiera el mismo texto en estos lugares como en el texto -principal. Para controlar esto, las instrucciones de seccionado tienen -un argumento opcional, <replaceable>toctitle</replaceable> que, cuando se proporciona, -especifica el texto de esos otros lugares. + +<indexterm role="cp"><primary>comandos de Seccionado</primary></indexterm> +<indexterm role="cp"><primary>parte</primary></indexterm> +<indexterm role="cp"><primary>capítulo</primary></indexterm> +<indexterm role="cp"><primary>sección</primary></indexterm> +<indexterm role="cp"><primary>subsección</primary></indexterm> +<indexterm role="cp"><primary>subsubsección</primary></indexterm> +<indexterm role="cp"><primary>párrafo</primary></indexterm> +<indexterm role="cp"><primary>subpárrafo</primary></indexterm> +<indexterm role="fn"><primary>\part</primary></indexterm> +<indexterm role="fn"><primary>\chapter</primary></indexterm> +<indexterm role="fn"><primary>\section</primary></indexterm> +<indexterm role="fn"><primary>\subsection</primary></indexterm> +<indexterm role="fn"><primary>\subsubsection</primary></indexterm> +<indexterm role="fn"><primary>\paragraph</primary></indexterm> +<indexterm role="fn"><primary>\subparagraph</primary></indexterm> + +<para>Estructura tu texto en divisiones: partes, capítulos, secciones, +etc. Todos los comandos de seccionado tienen la misma forma, una de: +</para> +<screen><replaceable>sectioning-command</replaceable>{<replaceable>title</replaceable>} +<replaceable>sectioning-command</replaceable>*{<replaceable>title</replaceable>} +<replaceable>sectioning-command</replaceable>[<replaceable>toc-title</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>Por ejemplo, declarar el comienzo de una subsección como con +<literal>\subsection{Motivación}</literal>. +</para> +<para>La tabla tiene cada <replaceable>sectioning-command</replaceable> en &latex;. Todos están +disponibles en todas las clases de documentos estándar de &latex; +<literal>book</literal>, <literal>report</literal> y <literal>article</literal>, excepto que +<literal>\chapter</literal> no está disponible en <literal>article</literal>. +</para> +<informaltable><tgroup cols="3"><colspec colwidth="25*"></colspec><colspec colwidth="25*"></colspec><colspec colwidth="40*"></colspec><thead><row><entry><para>Unidad de seccionado </para></entry><entry><para>Comando </para></entry><entry><para>Nivel +</para></entry></row></thead><tbody><row><entry><para>Parte +</para></entry><entry><para><literal>\part</literal> </para></entry><entry><para>-1 (<literal>book</literal>, <literal>report</literal>), 0 (<literal>article</literal>) +</para></entry></row><row><entry><para>Capítulo +</para></entry><entry><para><literal>\chapter</literal> </para></entry><entry><para>0 +</para></entry></row><row><entry><para>Sección +</para></entry><entry><para><literal>\section</literal> </para></entry><entry><para>1 +</para></entry></row><row><entry><para>Subsección +</para></entry><entry><para><literal>\subsection</literal> </para></entry><entry><para>2 +</para></entry></row><row><entry><para>Subsubsección +</para></entry><entry><para><literal>\subsubsection</literal> </para></entry><entry><para>3 +</para></entry></row><row><entry><para>Párrafo +</para></entry><entry><para><literal>\paragraph</literal> </para></entry><entry><para>4 +</para></entry></row><row><entry><para>Subpárrafo +</para></entry><entry><para><literal>\subparagraph</literal> </para></entry><entry><para>5 +</para></entry></row></tbody></tgroup></informaltable> +<indexterm role="cp"><primary>forma-<literal>*</literal> de comandos de seccionado</primary></indexterm> +<para>Todos estos comandos tienen una forma <literal>*</literal> que imprime +<replaceable>título</replaceable> como de costumbre pero no lo numera y no hace una entrada +en la tabla de contenido. Un ejemplo de cómo usar esto es para un +apéndice en un <literal>article</literal>. Las entradas +<literal>\appendix\section{Appendix}</literal> da como resultado ‘<literal>Apéndice +A</literal>’ (véase <link linkend="_005cappendix">\appendix</link>). Puedes perder la numeración ‘<literal>A</literal>’ +ingresando en su lugar <literal>\section*{Appendix}</literal> (los artículos a +menudo omiten una tabla de contenido y tienen encabezados de página +simples para que las otras diferencias del comando <literal>\section</literal> +puedan no importar). +</para> +<para>El título de la sección <replaceable>título</replaceable> proporciona el título en el texto +principal, pero también puede aparecer en la tabla de contenido y en +el encabezado o pie (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). Es posible que no +desees el mismo texto en estos lugares como en el texto principal. +Todos estos comandos tienen un argumento <replaceable>toc-title</replaceable> opcional para +esos otros lugares. +</para> +<para>El número de nivel en la tabla anterior determina qué unidades +seccionales son numeradas, y que aparecen en la tabla de contenido. +Si los comandos de seccionado <replaceable>level</replaceable> son menores o iguales que el +valor del contador <literal>secnumdepth</literal> entonces los títulos para este +comando de seccionado serán numerados +(véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link>). Y, si <replaceable>level</replaceable> es menor que o +igual al valor del contador <literal>tocdepth</literal> luego la tabla de +contenido tendrá una entrada para esta unidad de seccionado +(véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<para>&latex; espera que antes de tener una <literal>\subsection</literal> tengas una +<literal>\section</literal> y, en un documento de clase <literal>book</literal>, que antes de +una <literal>\section</literal> tendrás un <literal>\chapter</literal>. De lo contrario, +puedes obtener algo así como una subsección numerada ‘<literal>3.0.1</literal>’. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>&latex; te permite cambiar la apariencia de las +unidades seccionales. Como un ejemplo simple, puedes cambiar la +numeración de la sección a letras mayúsculas con esto (en el +preámbulo): + <literal>\renewcommand\thesection{\Alph{section}}</literal> . +(Véase <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). CTAN tiene +muchos paquetes que facilitan este ajuste, en particular +<literal>titlesec</literal>. +</para> +<para>Dos contadores se relacionan con la apariencia de los encabezados +realizados por comandos de seccionado. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>secnumdepth</primary></indexterm><literal>secnumdepth</literal> +</term><listitem><indexterm role="fn"><primary>secnumdepth counter</primary></indexterm> +<indexterm role="cp"><primary>números de sección, imprimir</primary></indexterm> +<anchor id="seccionado-secnumdepth"/><anchor id="Seccionado_002fsecnumdepth"/><para>Controla qué unidades de seccionado están numeradas. Poniendo el +contador con <literal>\setcounter{secnumdepth}{<replaceable>level</replaceable>}</literal> +suprimirá numeración de seccionado a cualquier profundidad superior a +<replaceable>level</replaceable> (véase <link linkend="_005csetcounter">\setcounter</link>). Consulta la tabla anterior para +ver los números de nivel. Por ejemplo, si <literal>secnumdepth</literal> es 1 en +un <literal>article</literal> entonces un comando <literal>\section{Introducción}</literal> +producirá una salida como ‘<literal>1 Introducción</literal>’ mientras que +<literal>\subsection{Discusión}</literal> produce una salida como +‘<literal>Discusión</literal>’, sin número. &latex; <literal>secnumdepth</literal> +predeterminado es 3 en la clase <filename>article</filename> y 2 en las +clases <filename>book</filename> y <filename>report</filename>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>tocdepth</primary></indexterm><literal>tocdepth</literal> +</term><listitem><indexterm role="fn"><primary>tocdepth counter</primary></indexterm> +<indexterm role="cp"><primary>tabla de contenido, números de seccionado impresos</primary></indexterm> +<anchor id="seccionado-tocdepth"/><anchor id="Seccionado_002ftocdepth"/><para>Controla qué +unidades de seccionado se enumeran en la tabla de contenido. La +configuración <literal>\setcounter{tocdepth}{<replaceable>level</replaceable>}</literal> hace que +las unidades de Seccionado en <replaceable>level</replaceable> sean las más pequeñas +enumeradas (véase <link linkend="_005csetcounter">\setcounter</link>). Consulta la tabla anterior para ver +los números de nivel. Por ejemplo, si <literal>tocdepth</literal> es 1 +entonces la tabla de contenido enumera secciones pero no subsecciones. +Predeterminado de &latex; <literal>tocdepth</literal> es 3 en la clase +<filename>article</filename> y 2 en la clase <filename>book</filename> y <filename>report</filename>. +</para> +</listitem></varlistentry></variablelist> + + +<sect1 label="6.1" id="_005cpart"> +<title><literal>\part</literal></title> + +<indexterm role="fn"><primary>\part</primary></indexterm> +<indexterm role="cp"><primary>parte</primary></indexterm> +<indexterm role="cp"><primary>seccionado, parte</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\part{<replaceable>título</replaceable>} +\part*{<replaceable>título</replaceable>} +\part[<replaceable>toc-title</replaceable>]{<replaceable>título</replaceable>} +</screen> +<para>Inicia una parte del documento. Las clases estándar de &latex; +<literal>book</literal>, <literal>report</literal> y <literal>article</literal>, todas tienen este +comando. +</para> +<para>Esto produce una parte del documento, en un libro. +</para> +<screen>\part{VOLUMEN I \\ + MEMORIAS PERSONALES DE U.\ S.\ GRANT} +\chapter{ANCESTRIA--NACIMIENTO--INFANCIA.} +Mi familia es estadounidense, y lo ha sido durante generaciones, en +todas sus ramas, directas y colaterales. +</screen> +<para>En cada clase estándar, el comando <literal>\part</literal> genera un número de +pieza como ‘<literal>Parte I</literal>’, solo en su línea, en negrita y en grandes +letras. Entonces &latex; genera <replaceable>título</replaceable>, también solo en su +línea, en negrita y en letra aún más grande. En la clase <literal>book</literal>, +el &latex; predeterminado pone cada parte sola en su propia +página. Si el libro tiene dos caras entonces &latex; saltará una +página si es necesario para tener la nueva parte en una página impar. +En <literal>report</literal> nuevamente está solo en una página, pero &latex; no +forzará una página impar. En un <literal>article</literal> &latex; no lo coloca +en una página nueva, sino que genera el número de parte y título de la +parte en la página principal del documento. +</para> +<para>La forma <literal>*</literal> muestra <replaceable>título</replaceable> pero no muestra el número +de parte, no incrementa el contador <literal>parte</literal>, y no produce ninguna +entrada de tabla de contenido. +</para> +<para>El argumento opcional <replaceable>toc-title</replaceable> aparecerá como el título de la +parte en la tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>) y, al +ejecutar cabeceras (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). Si no está presente, +entonces <replaceable>título</replaceable> estará ahí. Este ejemplo pone un salto de línea +en <replaceable>título</replaceable> pero omite el salto en la tabla de contenido. +</para> +<screen>\part[Arriba desde abajo; mi vida]{Arriba desde abajo\\ mi vida} +</screen> +<para>Para determinar qué unidades seccionales están numeradas y cuáles +aparecen en la tabla de contenido, el número de nivel de una parte +es -1 (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link> y +<link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>En la clase <literal>article</literal>, si un párrafo sigue +inmediatamente a la parte título entonces no está sangrado. Para +obtener una sangría, puedes usar el paquete <literal>indentfirst</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>Un paquete para cambiar el comportamiento de +<literal>\part</literal> es <literal>titlesec</literal>. Consulta su documentación en +CTAN. +</para> + +</sect1> +<sect1 label="6.2" id="_005cchapter"> +<title><literal>\chapter</literal></title> + +<indexterm role="fn"><primary>\chapter</primary></indexterm> +<indexterm role="cp"><primary>capítulo</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\chapter{<replaceable>título</replaceable>} +\chapter*{<replaceable>título</replaceable>} +\chapter[<replaceable>toc-title</replaceable>]{<replaceable>título</replaceable>} +</screen> +<para>Inicia un capítulo. Las clases estándar de &latex; <literal>book</literal> y +<literal>report</literal> tienen este comando pero no <literal>article</literal>. +</para> +<para>Esto produce un capítulo. +</para> +<screen>\chapter{Acechantes} + +Llámame Ismael. Hace algunos años---no importa cuánto tiempo +exactamente---teniendo poco dinero en mi bolsa o nada, y nada en +particular que me interese en tierra, pensé en navegar un poco y ver +la parte acuosa del mundo. +</screen> +<para>El valor predeterminado de &latex; comienza cada capítulo en una +nueva página, una página impar si el documento tiene dos caras. +Produce un capitulo número como ‘<literal>Capítulo 1</literal>’ en negrita grande +(el tamaño es <literal>\huge</literal>). Luego pone <replaceable>título</replaceable> en una nueva +línea, en tipo negrita que es aún más grande (tamaño <literal>\Huge</literal>). +También incrementa el contador <literal>chapter</literal>, agrega una entrada a la +tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>), y establece la +cabecera de información en ejecución (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). +</para> +<para>La forma <literal>*</literal> muestra <replaceable>título</replaceable> en una nueva línea, en +negrita. Pero no muestra el número de capítulo, ni incrementa el +contador <literal>chapter</literal>, no produce una entrada de tabla de contenido +y no afecta la cabecera en ejecución. (Si usas el estilo de página +<literal>headings</literal> en un documento de dos caras, entonces la cabecera +será del capítulo anterior). +</para> +<screen>\chapter*{Preamble} +</screen> +<para>El argumento opcional <replaceable>toc-title</replaceable> aparecerá como título del +capítulo en la tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>) y +en ejecutar cabeceras (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). Si no está +presente entonces <replaceable>título</replaceable> estará allí. Esto muestra el nombre +completo en el título del capítulo, +</para> +<screen>\chapter[Weyl]{Hermann Klaus Hugo (Peter) Weyl (1885--1955)} +</screen> +<para>pero solo ‘<literal>Weyl</literal>’ en la página de contenido. Esto pone un salto +de línea en el título, pero eso no funciona bien con las cabeceras en +ejecución, por lo que omite el salto en el contenido. +</para> +<screen>\chapter[Dado todo; mi historia]{Dado todo\\ mi historia} +</screen> +<para>Para determinar qué unidades seccionales están numeradas y cuáles +aparecen en la tabla de contenido, el número de nivel de un capítulo +es 0 (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link> y +véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>El párrafo que sigue al título del capítulo no +tiene sangría, al igual que una práctica tipográfica estándar. Para +obtener una sangría, usa el paquete <literal>indentfirst</literal>. +</para> +<para>Puedes cambiar lo que se muestra para el número de capítulo. Para +cambiarlo a algo como ‘<literal>Conferencia 1</literal>’, pon en el preámbulo +<literal>\renewcommand{\chaptername}{Conferencia}</literal> o esto +(véase <link linkend="_005cmakeatletter-y-_005cmakeatother">\makeatletter y \makeatother</link>). +</para> +<screen>\makeatletter +\renewcommand{\@chapapp}{Conferencia} +\makeatother +</screen> +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> + +<para>Para hacer este cambio debido al idioma principal de el documento, +consulta el paquete <literal>babel</literal>. +</para> +<para>En un documento de dos caras, &latex; coloca un capítulo en una +página impar, si es necesario dejar una página par que esté en blanco +excepto por cualquier cabecera en ejecución. Para dejar esa página +completamente en blanco, <link linkend="_005cclearpage-y-_005ccleardoublepage">\clearpage y \cleardoublepage</link>. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>Para cambiar el comportamiento del comando +<literal>\chapter</literal>, puedes copiar su definición del archivo de formato +&latex; y realizar ajustes. Pero también hay muchos paquetes en CTAN +que abordan esto. Uno es <literal>titlesec</literal>. Ve su documentación, +pero el ejemplo a continuación da un sentido de lo que puede hacer. +</para> +<screen>\usepackage{titlesec} % en el preámbulo +\titleformat{\chapter} + {\Huge\bfseries} % formato del título + {} % etiqueta, tal como 1.2 para una subsección + {0pt} % longitud de la separación entre la etiqueta y + % el título + {} % gancho antes del código +</screen> +<para>Esto omite el número de capítulo ‘<literal>Capítulo 1</literal>’ de la página pero a +diferencia de <literal>\chapter*</literal> mantiene el capítulo en la tabla de +contenido y la ejecución de cabeceras. +</para> + +</sect1> +<sect1 label="6.3" id="_005csection"> +<title><literal>\section</literal></title> + +<indexterm role="fn"><primary>\section</primary></indexterm> +<indexterm role="cp"><primary>sección</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\section{<replaceable>título</replaceable>} +\section*{<replaceable>título</replaceable>} +\section[<replaceable>toc-title</replaceable>]{<replaceable>título</replaceable>} +</screen> +<para>Inicia una sección. Las clases estándar <literal>article</literal> de &latex;, +<literal>book</literal> y <literal>report</literal> tienen este comando. +</para> +<para>Esto produce una sección. +</para> +<screen>En esta Parte tendemos a estar más interesados en la función, en el +comportamiento de entrada-salida, que en los detalles de implementar +ese comportamiento. + +\section{Máquinas de Turing} + +A pesar de este deseo de minimizar la implementación, seguimos el +enfoque de A~Turing de que el primer paso hacia la definición del +conjunto de funciones computables es reflexionar sobre los detalles de +lo que pueden hacer los mecanismos. +</screen> +<para>Para las clases estándar de &latex; <literal>book</literal> y <literal>report</literal> la +salida predeterminada es como ‘<literal>1.2 <replaceable>título</replaceable></literal>’ (para +capítulo 1, sección 2), solo en su línea y alineado a la +izquierda, en negrita y letra más grande (el tamaño de letra es +<literal>\Large</literal>). Lo mismo se sostiene en <literal>article</literal> excepto que no +hay capítulos en esa clase por lo que parece ‘<literal>2 <replaceable>título</replaceable></literal>’. +</para> +<para>La forma <literal>E*</literal> muestra <replaceable>título</replaceable>. Pero no muestra el +número de sección, no incrementa el contador <literal>section</literal>, no +produce ninguna entrada en la tabla de contenido y no afecta la +cabecera en ejecución. (Si usas el estilo de página <literal>headings</literal> +en un documento de dos caras, entonces el encabezado será de la parte +anterior). +</para> +<para>El argumento opcional <replaceable>toc-title</replaceable> aparecerá como título de la +sección en la tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>) y +encabezados en ejecución (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). Si no está +presente entonces <replaceable>título</replaceable> estará allí. Esto muestra el nombre +completo en el título de la sección: +</para> +<screen>\section[Isabel~II]{Isabel Segunda, + por la Gracia de Dios Reina del Reino Unido, + Canadá y sus otros reinos y territorios, + Jefe de la Commonwealth, Defensor de la Fe.} +</screen> +<para>pero solo ‘<literal>Isabel II</literal>’ en la página de contenido y en los +encabezados. Esto tiene un salto de línea en <replaceable>title</replaceable> pero eso no +funciona con encabezados por lo que se omite de los contenidos y +encabezados. +</para> +<screen>\section[La verdad es que hice trampa; la historia de mi vida]{La verdad es + que hice trampa\\la historia de mi vida} +</screen> +<para>Para determinar qué unidades seccionales están numeradas y cuáles +aparecen en la tabla de contenido, el número de nivel de una sección +es 1 (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link> y +véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>El párrafo que sigue al título de la sección no +tiene sangría, al igual que una práctica tipográfica estándar. Una +forma de obtener una sangría es usar el paquete <literal>indentfirst</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>En general, para cambiar el comportamiento del +comando <literal>\section</literal>, hay varias opciones. Una es el comando +<literal>\@startsection</literal> (véase <link linkend="_005c_0040startsection">\@startsection</link>). También hay muchos +paquetes en CTAN que abordan esto, incluido <literal>titlesec</literal>. Ve la +documentación pero el siguiente ejemplo da una idea de lo que pueden +hacer. +</para> +<!-- crédito: egreg https://groups.google.com/forum/#!topic/comp.text.tex/tvc8oM5P4y4 --> +<screen>\usepackage{titlesec} % en el preámbulo +\titleformat{\section} + {\normalfont\Large\bfseries} % formato del título + {\makebox[1pc][r]{\thesection\hspace{1pc}}} % etiqueta + {0pt} % Longitud de la separación entre la etiqueta y el título + {} % gancho antes del código +\titlespacing*{\section} + {-1pc}{18pt}{10pt}[10pc] +</screen> +<para>Eso pone el número de sección en el margen. +</para> + +</sect1> +<sect1 label="6.4" id="_005csubsection"> +<title><literal>\subsection</literal></title> + +<indexterm role="fn"><primary>\subsection</primary></indexterm> +<indexterm role="cp"><primary>subsección</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\subsection{<replaceable>title</replaceable>} +\subsection*{<replaceable>title</replaceable>} +\subsection[<replaceable>toc-title</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>Inicia una subsección. Las clases estándar <literal>article</literal> de +&latex;, <literal>book</literal> y <literal>report</literal> tienen este comando. +</para> +<para>Esto produce una subsección. +</para> +<screen>Mostraremos que hay más funciones que las máquinas de Turing y que por +tanto, algunas funciones no tienen máquina asociada. + +\subsection{Cardinalidad} + +Comenzaremos con dos paradojas que dramatizan el desafío a nuestra +intuición planteado al comparar los tamaños de conjuntos infinitos. +</screen> +<para>Para las clases estándar de &latex; <literal>book</literal> y <literal>report</literal> la +salida predeterminada es como ‘<literal>1.2.3 <replaceable>title</replaceable></literal>’ (para +capítulo 1, sección 2, subsección 3), solo en su línea +y alineado a la izquierda, en negrita y una letra más grande (el +tamaño de letra es <literal>\large</literal>). Lo mismo contiene <literal>article</literal> +excepto que no hay capítulos en esa clase por lo que parece ‘<literal>2.3 +<replaceable>título</replaceable></literal>’. +</para> +<para>La forma <literal>E*</literal> muestra <replaceable>título</replaceable>. Pero no muestra el +número de subsección, no incrementa el contador <literal>subsection</literal> y no +produce ninguna entrada en la tabla de contenido. +</para> +<para>El argumento opcional <replaceable>toc-title</replaceable> aparecerá como título de la +subsección en la tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>). +Si esto no está presente, <replaceable>title</replaceable> estará allí. Este muestra el +texto completo en el título de la subsección: +</para> +<screen>\subsection[$\alpha,\beta,\gamma$ paper]{\textit{El origen de + Elementos químicos} por R.A.~Alpher, H.~Bethe y G.~Gamow} +</screen> +<para>pero solo ‘<literal>α,β,γ +paper</literal>’ en la página de contenido. +</para> +<para>Para determinar qué unidades seccionales están numeradas y cuáles +aparecen en la tabla de contenido, el número de nivel de una +subsección es 2 (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link> y +véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>El párrafo que sigue al título de la subsección +no tiene sangría, al igual que una práctica tipográfica estándar. Una +forma de obtener una sangría es usar el paquete <literal>indentfirst</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>Hay varias maneras de cambiar el comportamiento +del comando <literal>\subsection</literal>. Una es el comando +<literal>\@startsection</literal> (véase <link linkend="_005c_0040startsection">\@startsection</link>). También hay muchos +paquetes en CTAN que abordan esto, incluido <literal>titlesec</literal>. Ve la +documentación pero el siguiente ejemplo da una idea de lo que pueden +hacer. +</para> +<screen>\usepackage{titlesec} % en el preámbulo +\titleformat{\subsection}[runin] + {\normalfont\normalsize\bfseries} % formato del título + {\thesubsection} % etiqueta + {0.6em} % espacio entre la etiqueta y + % el título + {} % gancho antes del código +</screen> +<para>Eso pone el número de subsección y <replaceable>title</replaceable> en la primera línea de +texto. +</para> + +</sect1> +<sect1 label="6.5" id="_005csubsubsection-_002d-_005cparagraph-y-_005csubparagraph"> +<title><literal>\subsubsection</literal>, <literal>\paragraph</literal>, <literal>\subparagraph</literal></title> + +<anchor id="_005csubsubsection"/><indexterm role="fn"><primary>\subsubsection</primary></indexterm> +<indexterm role="cp"><primary>subsubsección</primary></indexterm> +<!-- --> +<anchor id="_005cparagraph"/><indexterm role="fn"><primary>\paragraph</primary></indexterm> +<indexterm role="cp"><primary>párrafo</primary></indexterm> +<!-- --> +<anchor id="_005csubparagraph"/><indexterm role="fn"><primary>\subparagraph</primary></indexterm> +<indexterm role="cp"><primary>subpárrafo</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\subsubsection{<replaceable>title</replaceable>} +\subsubsection*{<replaceable>title</replaceable>} +\subsubsection[<replaceable>toc-title</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>o una de: </para> -<indexterm role="cp"><primary>forma con * de instrucciones de seccionado</primary></indexterm> -<para>Además, todas las instrucciones de seccionado tienen formas con <literal>*</literal> -que imprimen el <replaceable>título</replaceable> de la manera usual, pero no incluyen un -número y no producen una entrada en la tabla de contenido. Por ejemplo: +<screen>\paragraph{<replaceable>title</replaceable>} +\paragraph*{<replaceable>title</replaceable>} +\paragraph[<replaceable>toc-title</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>o una de: </para> -<screen>\section*{Preámbulo} +<screen>\subparagraph{<replaceable>title</replaceable>} +\subparagraph*{<replaceable>title</replaceable>} +\subparagraph[<replaceable>toc-title</replaceable>]{<replaceable>title</replaceable>} </screen> +<para>Inicia una subsección, párrafo o subpárrafo. Las clases estandar de +&latex; <literal>article</literal>, <literal>book</literal> y <literal>report</literal> tienen todas +estos comandos, aunque no son de uso común. +</para> +<para>Esto produce una subsección. +</para> +<screen>\subsubsection{Compresores de anillos de pistón: rendimiento estructural} + +Proporciona ensamblajes de revestimiento de paredes +exteriores/interiores capaces de resistir los efectos de la carga y +las tensiones de anillos de pistón de motor de gasolina de grado de +consumo. +</screen> +<para>La salida predeterminada de cada uno de los tres no cambia sobre las +clases &latex; estándar <literal>article</literal>, <literal>book</literal> y <literal>report</literal>. +Para <literal>\subsubsection</literal> el <replaceable>title</replaceable> está solo en su línea, en +negrita y tipo de letra de tamaño normal. Para <literal>\paragraph</literal> el +<replaceable>title</replaceable> está alineado con el texto, sin sangría, en negrita y +letra de tamaño normal. Para <literal>\subparagraph</literal> el <replaceable>title</replaceable> está +en línea con el texto, con sangría de párrafo, en negrita y letra de +tamaño normal (Debido a que un <literal>article</literal> no tiene capítulos, sus +subsubsecciones son numeradas y así se ve como ‘<literal>1.2.3 +<replaceable>title</replaceable></literal>’, por sección 1, subsección 2 y +subsubsección 3. Las otras dos divisiones no están numeradas). +</para> +<para>La forma <literal>E*</literal> muestra <replaceable>título</replaceable>. Pero no incrementa el +contador asociado y no produce entrada en la tabla de contenido (y no +muestra el número de <literal>\subsubsection</literal>). +</para> +<para>El argumento opcional <replaceable>toc-title</replaceable> aparecerá como el título de la +división en la tabla de contenido (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>). +Si esto no está presente, <replaceable>title</replaceable> estará allí. +</para> +<para>Para determinar qué unidades seccionales están numeradas y cuáles +aparecen en la tabla de contenido, el número de nivel de una +subsubsección es 3, de un párrafo es 4, y de un subpárrafo +es 5 (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link> y +véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>El párrafo que sigue al título de la +subsubsección no tiene sangría, al igual que una práctica tipográfica +estándar. Una forma de obtener una sangría es usar el paquete +<literal>indentfirst</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>titlesec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>titlesec</literal> package</primary></indexterm> +<para>Hay varias formas de cambiar el comportamiento de +estos comandos. Una es el comando <literal>\@startsection</literal> +(véase <link linkend="_005c_0040startsection">\@startsection</link>). También hay muchos paquetes en CTAN que +abordan esto, incluyendo <literal>titlesec</literal>. Consulta la +documentación en CTAN. +</para> + +</sect1> +<sect1 label="6.6" id="_005cappendix"> +<title><literal>\appendix</literal></title> + + <indexterm role="fn"><primary>\appendix</primary></indexterm> -<indexterm role="cp"><primary>apéndices, creando</primary></indexterm> -<para>La instrucción <literal>\appendix</literal> cambia la manera en que se numeran las -siguientes unidades de sección. La instrucción <literal>\appendix</literal> en sí -misma no genera texto y no afecta la númeración de las partes. El uso -normal de esta instrucción es algo así como: -</para> -<screen>\chapter{Un Capítulo} -… +<indexterm role="cp"><primary>apéndice</primary></indexterm> +<indexterm role="cp"><primary>apéndices</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\appendix +</screen> +<para>Este no produce directamente ningún resultado. Pero en un documento +<literal>book</literal> o <literal>report</literal> declara que los subsiguientes comandos +<literal>\chapter</literal> comienzan un apéndice. En un artículo hace lo mismo, +para los comandos <literal>\section</literal>. También restablece los contadores +<literal>chapter</literal> y <literal>section</literal> a 0 en un libro o informe, y en +un artículo restablece los contadores <literal>section</literal> y +<literal>subsection</literal>. +</para> +<para>En este libro +</para> +<screen>\chapter{Uno} ... +\chapter{Dos} ... + ... \appendix -\chapter{El Primer Apéndice} +\chapter{Tres} ... +\chapter{Cuatro} ... </screen> -<indexterm role="fn"><primary>contador secnumdepth</primary></indexterm> -<indexterm role="cp"><primary>números de sección, imprimiendo</primary></indexterm> -<para>El contador <literal>secnumdepth</literal> controla la impresión de los números de -sección. La configuración +<para>los dos primeros generarán una salida numerada ‘<literal>Capítulo 1</literal>’ y +‘<literal>Capítulo 2</literal>’. Después del <literal>\appendix</literal> la numeración será +‘<literal>Apéndice A</literal>’ y ‘<literal>Apéndice B</literal>’. Véase <link linkend="Plantilla-de-libro-Larger">Plantilla de libro +Larger</link>, para otro ejemplo. +</para> +<indexterm role="cp"><primary>package, <literal>appendix</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>appendix</literal> package</primary></indexterm> +<para>El paquete <literal>appendix</literal> agrega el comando +<literal>\appendixpage</literal> para poner ‘<literal>Apéndices</literal>’ separados en el +cuerpo del documento antes del primer apéndice y el comando +<literal>\addappheadtotoc</literal> hace lo mismo en la tabla de contenido. +Puedes restablecer el nombre ‘<literal>Apéndices</literal>’ con un comando como +<literal>\renewcommand{\appendixname}{Especificación}</literal>, así como una +serie de otras características. Consulta la documentación en CTAN. +</para> + +</sect1> +<sect1 label="6.7" id="_005cfrontmatter-_002d-_005cmainmatter-y-_005cbackmatter"> +<title><literal>\frontmatter</literal>, <literal>\mainmatter</literal>, <literal>\backmatter</literal></title> + +<anchor id="_005cfrontmatter"/><indexterm role="fn"><primary>\frontmatter</primary></indexterm> +<indexterm role="cp"><primary>libro, portada</primary></indexterm> +<indexterm role="cp"><primary>portada de un libro</primary></indexterm> +<!-- --> +<anchor id="_005cmainmatter"/><indexterm role="fn"><primary>\mainmatter</primary></indexterm> +<indexterm role="cp"><primary>libro, asunto principal</primary></indexterm> +<indexterm role="cp"><primary>asunto principal de un libro</primary></indexterm> +<!-- --> +<anchor id="_005cbackmatter"/><indexterm role="fn"><primary>\backmatter</primary></indexterm> +<indexterm role="cp"><primary>libro, asunto contraportada</primary></indexterm> +<indexterm role="cp"><primary>libro, asunto final</primary></indexterm> +<indexterm role="cp"><primary>asunto de contraportada de un libro</primary></indexterm> +<indexterm role="cp"><primary>asunto final de un libro</primary></indexterm> + +<para>Sinopsis, una o más de: </para> -<screen>\setcounter{secnumdepth}{<replaceable>nivel</replaceable>} +<screen>\frontmatter +... +\mainmatter +... +\backmatter +... </screen> -<para>suprime los números en encabezados y cualquier profundidad <inlineequation><mathphrase>> -<replaceable>nivel</replaceable></mathphrase></inlineequation>, donde <literal>chapter</literal> es el nivel cero. -(Véase <link linkend="_005csetcounter">\setcounter</link>.) +<para>Da formato a un documento de clase <literal>book</literal> de forma diferente +según la parte del documento que se está produciendo. Los tres +comandos son opcionales. +</para> +<para>Tradicionalmente, la portada de un libro contiene elementos como la +página de título, un resumen, un índice, un prefacio, una lista de +anotaciones, una lista de figuras y una lista de tablas. (Algunas de +estas páginas de asuntos frontales, como la página del título, +tradicionalmente no están numeradas). El material anterior puede +contener cosas tales como un glosario, notas, una bibliografía y un +índice. +</para> +<para>El comando <literal>\frontmatter</literal> hace que las páginas se numeren en +romanos minúsculas, y hace que los capítulos no estén numerados, +aunque el título de cada capítulo aparece en la tabla de contenido; si +usas otros comandos de seccionado aquí, usa la versión +<literal>*</literal>-versión (véase <link linkend="Seccionado">Seccionado</link>). +</para> +<para>El comando <literal>\mainmatter</literal> cambia el comportamiento de nuevo a la +versión esperada y restablece el número de página. +</para> +<para>El comando <literal>\backmatter</literal> deja la numeración de páginas sola pero +cambia los capítulos de nuevo a no estar numerados. +</para> +<para>Véase <link linkend="Plantilla-de-libro-Larger">Plantilla de libro Larger</link>, por ejemplo, usando estos tres +comandos. </para> -</chapter> -<chapter label="8" id="Referencias-Cruzadas"> -<title>Referencias Cruzadas</title> -<indexterm role="cp"><primary>referencias cruzadas</primary></indexterm> +</sect1> +<sect1 label="6.8" id="_005c_0040startsection"> +<title><literal>\@startsection</literal>, composición tipográfica de encabezados de unidades seccionales</title> -<para>Una razón para numerar cosas como figuras y ecuaciones es para referir -al lector a ellas, como en “Vea la Figura 3 para más detalles”. +<indexterm role="fn"><primary>\@startsection</primary></indexterm> +<indexterm role="cp"><primary>sección, redefiniendo</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\@startsection{<replaceable>name</replaceable>}{<replaceable>level</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>beforeskip</replaceable>}{<replaceable>afterskip</replaceable>}{<replaceable>style</replaceable>} +</screen> +<para>Se usa para ayudar a redefinir el comportamiento de los comandos que +comienzan a seccionar divisiones como <literal>\section</literal> o +<literal>\subsection</literal>. +</para> +<para>Ten en cuenta que el paquete <literal>titlesec</literal> facilita la +manipulación de la sección. Además, mientras que la mayoría de los +requisitos para los comandos de seccionado los puede satisfacer +<literal>\@startsection</literal>, algunos no pueden. por ejemplo, en las clases +&latex; estándar <literal>book</literal> y <literal>report</literal> los comandos +<literal>\chapter</literal> y <literal>\report</literal> no se construyen de esta forma. +Hacer un comando de este tipo, es posible que desees utilizar el +comando <literal>\secdef</literal>. +<!-- xx define y hace una referencia cruzada a secdef. --> +</para> +<para>Técnicamente, <literal>\@startsection</literal> tiene la forma +</para> +<screen>\@startsection{<replaceable>name</replaceable>} + {<replaceable>level</replaceable>} + {<replaceable>indent</replaceable>} + {<replaceable>beforeskip</replaceable>} + {<replaceable>afterskip</replaceable>} + {<replaceable>style</replaceable>}*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>por lo tanto emite +</para> +<screen>\renewcommand{\section}{\@startsection{<replaceable>name</replaceable>} + {<replaceable>level</replaceable>} + {<replaceable>indent</replaceable>} + {<replaceable>beforeskip</replaceable>} + {<replaceable>afterskip</replaceable>} + {<replaceable>style</replaceable>}} +</screen> +<para>redefine <literal>\section</literal> manteniendo su forma de llamada estándar +<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (en el que, como +recordatorio, el star <literal>*</literal> es opcional). Véase <link linkend="Seccionado">Seccionado</link>. +Esto implica que cuando escribes un comando como +<literal>\renewcommand{\section}{...}</literal>, el +<literal>\@startsection{...}</literal> debe ser el último en la definición. Ve +los ejemplos a continuación. </para> +<variablelist> +<varlistentry><term><replaceable>name</replaceable> +</term><listitem><anchor id="nombre-de-la-secci_00f3n-de-inicio"/><anchor id="_005c_0040startsection_002fname"/><para>Nombre del contador utilizado para numerar la cabecera de seccionado. +Este contador se debe definir por separado. Lo más común es que esto +sea <literal>sección</literal>, <literal>subsección</literal> o <literal>párrafo</literal>. Aunque en +esos casos el nombre del contador es el mismo que el comando de +seccionado en sí mismo, no tienes que usar el mismo nombre. +</para> +<para>Entonces <literal>\the</literal><replaceable>name</replaceable> muestra el número del título y +<literal>\</literal><replaceable>name</replaceable><literal>mark</literal> es para los encabezados de página. Ve +el tercer ejemplo a continuación. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>level</replaceable> +</term><listitem><anchor id="startsection-level"/><anchor id="_005c_0040startsection_002flevel"/><para>Un número +entero que proporciona la profundidad del comando de seccionado. +Véase <link linkend="Seccionado">Seccionado</link>, para la lista de números de nivel estándar. +</para> +<para>Si <replaceable>level</replaceable> es menor o igual que el valor del contador +<literal>secnumdepth</literal> entonces los títulos para este comando de +seccionado serán numerados (véase <link linkend="Seccionado_002fsecnumdepth">Seccionado/secnumdepth</link>). Por +ejemplo, si <literal>secnumdepth</literal> es 1 en un <literal>article</literal> luego el +comando <literal>\section{Introducción}</literal> producirá una salida como “1 +Introducción” mientras que <literal>\subsection{Debate}</literal> producirá +salida como “Debate”, sin el prefijo numérico. +</para> +<para>Si <replaceable>level</replaceable> es menor o igual que el valor del contador +<replaceable>tocdepth</replaceable> entonces la tabla de contenido tendrá una entrada para +esta unidad de seccionado (véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>). Por ejemplo, +en un <literal>article</literal>, si <replaceable>tocdepth</replaceable> es 1, la tabla de contenido +será listar secciones pero no subsecciones. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>indent</replaceable> +</term><listitem><anchor id="startsection-indent"/><anchor id="_005c_0040startsection_002findent"/><para>Una +longitud que da la sangría de todas las líneas del título con respecto +al margen izquierdo. Para que el título quede alineado con el uso de +la margen <literal>0pt</literal>. Una sangría negativa como <literal>-\parindent</literal> se +moverá el título en el margen izquierdo. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>beforeskip</replaceable> +</term><listitem><anchor id="startsection-beforeskip"/><anchor id="_005c_0040startsection_002fbeforeskip"/><para>El valor absoluto de esta longitud es la cantidad de espacio vertical +que se inserta antes del título de esta unidad de seccionado. Este +espacio será descartado si la unidad de seccionado comienza al +principio de una página. Si este número es negativo, el primer +párrafo que sigue al encabezado no tendrá sangría, si no es negativo +entonces el primer párrafo estará sangrado. (Ten en cuenta que el +negativo de <literal>1pt plus 2pt minus 3pt</literal> es <literal>-1pt plus -2pt +minus -3pt</literal>). +</para> +<para>Por ejemplo, si <replaceable>beforeskip</replaceable> es <literal>-3.5ex plus -1ex minus +-0.2ex</literal> entonces, para iniciar la nueva unidad de seccionado, &latex; +agregará unas 3.5 veces la altura de una letra x en espacio vertical, +y el primer párrafo en la sección no tendrá sangría. Usando una +longitud elástica, con <literal>plus</literal> y <literal>minus</literal>, es una buena +práctica aquí ya que da &latex; más flexibilidad para crear la página +(véase <link linkend="Longitudes">Longitudes</link>). +</para> +<para>La contabilización completa del espacio vertical entre la línea base +de la línea anterior al encabezado de esta unidad de seccionado y la +línea base del encabezado es que es la suma del <literal>\parskip</literal> de la +letra del texto, el <literal>\baselineskip</literal> de la letra del título y el +valor absoluto de <replaceable>beforeskip</replaceable>. Este espacio suele ser elástico, +por lo que se puede estirar o encoger. (Si la unidad de seccionado +comienza en una página nueva de modo que el espacio vertical se +descarta, la línea base del texto del encabezado será donde &latex; +pondría la línea base de la primera línea de texto en esa página). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>afterskip</replaceable> +</term><listitem><anchor id="startsection-afterskip"/><anchor id="_005c_0040startsection_002fafterskip"/><para>Esta es una longitud. Si <replaceable>afterskip</replaceable> no es negativo, entonces +este es el espacio vertical insertado después del encabezado del +título de la unidad de seccionado. Si es negativo, entonces el +encabezado del título se convierte en un encabezado en ejecución, de +modo que pasa a formar parte del párrafo siguiente. En este caso el +valor absoluto de la longitud da el espacio horizontal entre el final +del título y el comienzo del siguiente párrafo. (Ten en cuenta que el +negativo de <literal>1pt plus 2pt minus 3pt</literal> es <literal>-1pt plus -2pt +minus -3pt</literal>). +</para> +<para>Al igual que con <replaceable>beforeskip</replaceable>, usando una longitud elástica, con +<literal>plus</literal> y <literal>minus</literal> componentes, es una buena práctica aquí ya +que da a &latex; más flexibilidad en la elaboración de la página. +</para> +<para>Si <literal>afterskip</literal> no es negativo, la contabilidad completa del +espacio vertical entre la línea base de la cabecera de la unidad de +seccionado y la línea base de la primera línea del siguiente párrafo +es que es la suma del <literal>\parskip</literal> de la letra del título, el +<literal>\baselineskip</literal> de la letra del texto y el valor de <replaceable>after</replaceable>. +Ese espacio suele ser elástico, por lo que se puede estirar o encoger. +(Ten en cuenta que debido a que el signo de <literal>afterskip</literal> cambia la +unidad de seccionado encabezado independiente de la ejecución, no +puedes usar un <literal>afterskip</literal> negativo para cancelar parte del +<literal>\parskip</literal>). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>style</replaceable> +</term><listitem><anchor id="estilo-de-startsection"/><anchor id="_005c_0040startsection_002fstyle"/><para>Controla el estilo del título. Ve los ejemplos a continuación. Los +comandos típicos para usar aquí son <literal>\centering</literal>, +<literal>\raggedright</literal>, <literal>\normalfont</literal>, <literal>\hrule</literal> o +<literal>\newpage</literal>. El ultimo comando en <replaceable>style</replaceable> puede ser uno que +tome un argumento, como <literal>\MakeUppercase</literal> o <literal>\fbox</literal> que toma +un argumento. El título de la sección se proporcionará como argumento +para este comando. Por ejemplo, establecer <replaceable>style</replaceable> en +<literal>\bfseries\MakeUppercase</literal> sería producir títulos en negrita y +mayúsculas. +</para></listitem></varlistentry></variablelist> +<para>Estos son los valores predeterminados de &latex; para las primeras +tres unidades de seccionado que se definen con <literal>\@startsection</literal>, +para las clases <filename>article</filename>, <filename>book</filename> y <filename>report</filename>. +</para> +<itemizedlist><listitem><para>Para <literal>section</literal>: <replaceable>level</replaceable> es 1, <replaceable>indent</replaceable> es 0pt, +<replaceable>beforeskip</replaceable> es <literal>-3.5ex plus -1ex minus -0.2ex</literal>, +<replaceable>afterskip</replaceable> es <literal>2.3ex plus 0.2ex</literal> y <replaceable>style</replaceable> es +<literal>\normalfont\Large\bfseries</literal>. +</para> +</listitem><listitem><para>Para <literal>subsection</literal>: <replaceable>level</replaceable> es 2, <replaceable>indent</replaceable> es 0pt, +<replaceable>beforeskip</replaceable> es <literal>-3.25ex plus -1ex minus -0.2ex<!-- /@w --></literal>, +<replaceable>afterskip</replaceable> es <literal>1.5ex plus 0.2ex</literal> y <replaceable>style</replaceable> es +<literal>\normalfont\large\bfseries</literal>. +</para> +</listitem><listitem><para>Para <literal>subsubsection</literal>: <replaceable>level</replaceable> es 3, <replaceable>indent</replaceable> es +0pt, <replaceable>beforeskip</replaceable> es <literal>-3.25ex plus -1ex minus -0.2ex</literal>, +<replaceable>afterskip</replaceable> es <literal>1.5ex plus 0.2ex</literal> y <replaceable>style</replaceable> es +<literal>\normalfont\normalsize\bfseries</literal>. +</para></listitem></itemizedlist> +<para>A continuación se presentan algunos ejemplos. Estos van en un paquete +o archivo de clase o en el preámbulo de un documento &latex;. Si los +pones en el preámbulo deben ir entre un comando <literal>\makeatletter</literal> y +un <literal>\makeatother</literal>. (Probablemente el mensaje de error <literal>No +puedes usar `\spacefactor' en modo vertical.</literal> significa que se te +olvidó esto). Véase <link linkend="_005cmakeatletter-y-_005cmakeatother">\makeatletter y \makeatother</link>. +</para> +<para>Esto colocará los títulos de las secciones en negrita grande, +centrados. Dice <literal>\renewcommand</literal> porque las clases estándar de +&latex; ya han definió una <literal>\section</literal>. Por la misma razón, no +define un contador <literal>section</literal>, o los comandos <literal>\thesection</literal> y +<literal>\l@section</literal>. +</para> +<screen>\renewcommand\section{% + \@startsection{section}% + <link linkend="_005c_0040startsection_002fname"><replaceable>name</replaceable></link> + {1}% <link linkend="_005c_0040startsection_002flevel"><replaceable>level</replaceable></link> + {0pt}% <link linkend="_005c_0040startsection_002findent"><replaceable>indent</replaceable></link> + {-3.5ex plus -1ex minus -.2ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>beforeskip</replaceable></link> + {2.3ex plus.2ex}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>afterskip</replaceable></link> + {\centering\normalfont\Large\bfseries}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link> + } +</screen> +<para>Esto pondrá los títulos de <literal>subsection</literal> en letras minúsculas, +alineados con el párrafo. +</para> +<screen>\renewcommand\subsection{% + \@startsection{subsection}% <link linkend="_005c_0040startsection_002fname"><replaceable>name</replaceable></link> + {2}% <link linkend="_005c_0040startsection_002flevel"><replaceable>level</replaceable></link> + {0em}% <link linkend="_005c_0040startsection_002findent"><replaceable>indent</replaceable></link> + {-1ex plus 0.1ex minus -0.05ex}% <link linkend="_005c_0040startsection_002fbeforeskip"><replaceable>beforeskip</replaceable></link> + {-1em plus 0,2em}% <link linkend="_005c_0040startsection_002fafterskip"><replaceable>afterskip</replaceable></link> + {\scshape}% <link linkend="_005c_0040startsection_002fstyle"><replaceable>style</replaceable></link> + } +</screen> +<para>Los ejemplos anteriores redefinieron los comandos de título de +unidades seccionales existentes. Esto define uno nuevo, ilustrando el +contador y las macros necesarias para mostrar ese contador. +</para> +<!-- De --> +<!-- https//groups.google.com/forum/#!searchin/comp.text.tex/startsection%7Csort:relevance/comp.text.tex/sB-nTS-oL08/ZZeKYdG0llMJ --> +<screen>\setcounter{secnumdepth}{6}% muestra los contadores tan abajo +\newcounter{subsubparagraph}[subparagraph]% contador para numeración +\renewcommand{\thesubsubparagraph}% cómo mostrar + {\thesubparagraph.\@arabic\c@subsubparagraph}% numeración +\newcommand{\subsubparagraph}{\@startsection + {subsubparagraph}% + {6}% + {0em}% + {\baselineskip}% + {0.5\baselineskip}% + {\normalfont\normalsize}}\newcommand*\l@subsubparagraph{\@dottedtocline{6}{10em}{5em}}% para toc +\newcommand{\subsubparagraphmark}[1]{}% para encabezados de página +</screen> +</sect1> +</chapter> +<chapter label="7" id="Referencias-cruzadas"> +<title>Referencias cruzadas</title> + +<indexterm role="cp"><primary>referencias cruzadas</primary></indexterm> -<sect1 label="8.1" id="_005clabel"> +<indexterm role="cp"><primary>label</primary></indexterm> +<para>A menudo queremos algo como ‘<literal>Ve Teorema~31</literal>’. Pero escribir a +mano el 31 es mala práctica. En su lugar, debes escribir un +<firstterm>label</firstterm> como <literal>\label{eq:GreensThm}</literal> y luego +<firstterm>reference</firstterm>, como con <literal>Ve ecuación~\ref{eq:GreensThm}</literal>. +&latex; automáticamente calcula el número, lo pone en la salida y +cambiará ese número más tarde si es necesario. +</para> +<screen> +Veremos esto con el Teorema~\ref{th:GreensThm}. % referencia +directa:GreensThm} + ... +\end{theorem} + ... +Ve Teorema~\ref{th:GreensThm} en la página~\pageref{th:GreensThm}. +</screen> +<para>&latex; rastrea información de referencias cruzadas en un archivo que +tiene la extensión <filename>.aux</filename> y con el mismo nombre base que el +archivo que contiene la <literal>\label</literal>. Entonces, si <literal>\label</literal> +está en <filename>calculus.tex</filename> entonces la información está en +<filename>calculus.aux</filename>. &latex; pone la información en ese archivo cada +vez que se encuentra con un <literal>\label</literal>. +</para> +<indexterm role="cp"><primary>referencia directa</primary></indexterm> +<indexterm role="cp"><primary>referencia, adelantada</primary></indexterm> +<para>El comportamiento descrito en el párrafo anterior da como resultado +una peculiaridad que sucede cuando tu documento tiene una +<firstterm>referencia hacia adelante</firstterm>, una <literal>\ref</literal> que aparece antes del +<literal>\label</literal> asociado. Si esta es la primera vez que estás +compilando el documento, obtendrás la ‘<literal>Advertencia LaTeX: : La(s) +etiqueta(s) pueden haber cambiado. Vuelve a ejecutar para obtener las +referencias cruzadas correctas</literal>’ y en la salida, la referencia directa +aparecerá como dos preguntas mark ‘<literal>??</literal>’, en negrita. Algo +similar sucede si cambias algunas cosas para que cambien las +referencias; recibes la misma advertencia y la salida contiene la +información de referencia anterior. En ambos casos, resuelve esto +compilando el documento por segunda vez. +</para> +<indexterm role="cp"><primary>package, <literal>cleveref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cleveref</literal> package</primary></indexterm> +<para>El paquete <literal>cleveref</literal> mejora las +características de referencias cruzadas de &latex;. Puedes arreglar +eso si entras <literal>\begin{thm}\label{th:Nerode}...\end{thm}</literal> +entonces <literal>\cref{thNerode}</literal> generará ‘<literal>Teorema 3.21</literal>’, sin +que tengas que ingresar el “Teorema.” +</para> + + +<sect1 label="7.1" id="_005clabel"> <title><literal>\label</literal></title> + <indexterm role="fn"><primary>\label</primary></indexterm> <para>Sinopsis: </para> -<screen>\label{<replaceable>clave</replaceable>} +<screen>\label{<replaceable>key</replaceable>} </screen> -<para>Una instrucción <literal>\label</literal> que aparece en un texto normal asigna a -<replaceable>clave</replaceable> el número de la unidad de sección actual; que aparece dentro -de un entorno numerado asignando ese número a <replaceable>clave</replaceable>. +<para>Asigna un número de referencia a <replaceable>key</replaceable>. En texto ordinario +<literal>\label{<replaceable>key</replaceable>}</literal> asigna a <replaceable>key</replaceable> el número de la unidad +de seccionado actual. Dentro de un entorno con numeración, como un +entorno <literal>table</literal> o <literal>theorem</literal>, <literal>\label{<replaceable>clave</replaceable>}</literal> +asigna a <replaceable>key</replaceable> el número de ese entorno. Recuperar el número +asignado con el comando <literal>\ref{<replaceable>key</replaceable>}</literal> (véase <link linkend="_005cref">\ref</link>). +</para> +<para>Un nombre de clave puede consistir en cualquier secuencia de letras, +dígitos o caracteres de puntuación. Las letras mayúsculas y +minúsculas se distinguen, como de costumbre. +</para> +<para>Una convención común es usar etiquetas que consisten en un prefijo y +un sufijo separados por dos puntos o punto. Por lo que, +<literal>\label{fig:Post}</literal> es una etiqueta para una figura con un +retrato de Emil Post. Esto ayuda a evitar crear accidentalmente dos +etiquetas con el mismo nombre, y hace que tu fuente sea más legible. +Algunos prefijos de uso común: </para> -<para>Un nombre de <replaceable>clave</replaceable> puede consistir de cualquier secuencia de -letras, dígitos, o caracteres de puntuación. Distingue entre letras -mayúsculas y minúsculas. +<variablelist><varlistentry><term><literal>ch</literal> +</term><listitem><para>por capítulos </para> -<para>Para evitar la creación accidental de dos etiquetas con el mismo nombre, -es común el uso de etiquetas que consisten de un prefijo y un sufijo, -separados por una coma o un punto. Algunos prefijos utilizados -convencionalmente: +</listitem></varlistentry><varlistentry><term><literal>sec</literal> +</term><term><literal>subsec</literal> +</term><listitem><para>para comandos de seccionado de nivel inferior </para> -<variablelist><varlistentry><term><literal>ch</literal> -</term><listitem><para>para capítulos -</para></listitem></varlistentry><varlistentry><term><literal>sec</literal> -</term><listitem><para>para instrucciones de seccionado de bajo nivel -</para></listitem></varlistentry><varlistentry><term><literal>fig</literal> +</listitem></varlistentry><varlistentry><term><literal>fig</literal> </term><listitem><para>para figuras -</para></listitem></varlistentry><varlistentry><term><literal>tab</literal> +</para> +</listitem></varlistentry><varlistentry><term><literal>tab</literal> </term><listitem><para>para tablas -</para></listitem></varlistentry><varlistentry><term><literal>eq</literal> +</para> +</listitem></varlistentry><varlistentry><term><literal>eq</literal> </term><listitem><para>para ecuaciones </para></listitem></varlistentry></variablelist> -<para>Por lo tanto, una etiqueta para una figura parecería como -<literal>fig:snark</literal> o <literal>fig.snark</literal>. -</para> +<para>En el archivo auxiliar se conserva la información de referencia como +el texto de un comando de la forma +<literal>\newlabel{<replaceable>label</replaceable>}{{<replaceable>currentlabel</replaceable>}{<replaceable>pagenumber</replaceable>}}</literal>. +Aquí <replaceable>currentlabel</replaceable> es el valor actual de la macro +<literal>\@currentlabel</literal> que generalmente se actualiza cada vez que +llamas a <literal>\refstepcounter{<replaceable>counter</replaceable>}</literal>. +</para> +<para>A continuación, la tecla <literal>sec:test</literal> obtendrá el número de sección +actual y la tecla <literal>fig:test</literal> obtendrá el número de la figura. +(Por cierto, coloca etiquetas después de los subtítulos en las figuras +y tablas). +</para> +<screen>\section{nombre sección} +\label{sec:test} +Esta es la Sección~\ref{sec:test}. +\begin{figure} + ... + \caption{del título} + \label{fig:test} +\end{figure} +Ve la figura~\ref{fig:test}. +</screen> </sect1> -<sect1 label="8.2" id="_005cpageref"> -<title><literal>\pageref{<replaceable>clave</replaceable>}</literal></title> +<sect1 label="7.2" id="_005cpageref"> +<title><literal>\pageref</literal></title> + <indexterm role="fn"><primary>\pageref</primary></indexterm> -<indexterm role="cp"><primary>referencias cruzadas con número de página</primary></indexterm> +<indexterm role="cp"><primary>referencias cruzadas con el número de página</primary></indexterm> <indexterm role="cp"><primary>número de página, referencias cruzadas</primary></indexterm> <para>Sinopsis: </para> -<screen>\pageref{<replaceable>clave</replaceable>} +<screen>\pageref{<replaceable>key</replaceable>} +</screen> +<para>Proporciona el número de página del lugar en el texto donde se +encuentra el comando <literal>\label</literal>{<replaceable>key</replaceable>} correspondiente. +</para> +<para>Si no hay <literal>\label{<replaceable>key</replaceable>}</literal> entonces obtienes algo como +‘<literal>Advertencia de LaTeX: Referencia `th:GrensThm' en la página 1 +indefinida en la línea de entrada 11.</literal>’ +</para> +<para>A continuación, el <literal>\label{eq:main}</literal> se usa tanto para el +número de fórmula y para el número de página. (Ten en cuenta que las +dos referencias son referencias directas por lo que este documento +tendría que ser compilado dos veces para resolver aquellos). +</para> +<screen>El resultado principal es formula~\ref{eq:main} en la +página~\pageref{eq:main}. + ... +\begin{equation} \label{eq:main} + \mathbf{P}=\mathbf{NP} +\end{equation} </screen> -<para>La instrucción <literal>\pageref</literal>{<replaceable>clave</replaceable>} produce el número de -página del lugar en el texto en donde aparece la instrucción -<literal>\label</literal>{<replaceable>clave</replaceable>}. -</para> </sect1> -<sect1 label="8.3" id="_005cref"> -<title><literal>\ref{<replaceable>clave</replaceable>}</literal></title> +<sect1 label="7.3" id="_005cref"> +<title><literal>\ref</literal></title> + <indexterm role="fn"><primary>\ref</primary></indexterm> -<indexterm role="cp"><primary>referencias cruzadas, simbólicas</primary></indexterm> +<indexterm role="cp"><primary>referencias cruzadas, simbólico</primary></indexterm> <indexterm role="cp"><primary>número de sección, referencias cruzadas</primary></indexterm> <indexterm role="cp"><primary>número de ecuación, referencias cruzadas</primary></indexterm> <indexterm role="cp"><primary>número de figura, referencias cruzadas</primary></indexterm> -<indexterm role="cp"><primary>número de pie de página, referencias cruzadas</primary></indexterm> +<indexterm role="cp"><primary>número de nota al pie, referencias cruzadas</primary></indexterm> <para>Sinopsis: </para> -<screen>\ref{<replaceable>clave</replaceable>} +<screen>\ref{<replaceable>key</replaceable>} </screen> -<para>La instrucción <literal>\ref</literal> produce el número de la unidad de sección de -la ecuación, pie de página, figura, …, de la instrucción -<literal>\label</literal> correspondiente (véase <link linkend="_005clabel">\label</link>). Esta no produce ningún -texto, como por ejemplo la palabra ‘Sección’ o ‘figura’, únicamente el -número. +<para>Produce el número de la unidad seccional, ecuación, pie de página, +figura, …, del comando <literal>\label</literal> correspondiente +(véase <link linkend="_005clabel">\label</link>). No produce ningún texto, como la palabra ‘Sección’ +o ‘Figura’, simplemente el número en sí. +</para> +<para>Si no hay <literal>\label{<replaceable>key</replaceable>}</literal> entonces obtienes algo como +‘<literal>Advertencia de LaTeX: Referencia `th:GrensThm' en la página 1 +indefinida en la línea de entrada 11.</literal>’ +</para> +<para>En este ejemplo, <literal>\ref{popular}</literal> produce ‘<literal>2</literal>’. Ten en +cuenta que es una referencia directa ya que viene antes de +<literal>\label{popular}</literal> por lo que este documento tendría que +compilarse dos veces. +</para> +<screen>El formato más utilizado es el número de artículo~\ref{popular}. +\begin{enumerate} +\item Plain \TeX +\item \label{popular} \LaTeX +\item Con\TeX t +\end{enumerate} +</screen> +<indexterm role="cp"><primary>package, <literal>cleveref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cleveref</literal> package</primary></indexterm> +<para>El paquete <literal>cleveref</literal> incluye texto como +‘<literal>Theorem</literal>’ en la referencia. Consulta la documentación en CTAN. +</para> + +</sect1> +<sect1 label="7.4" id="paquete-xr"> +<title>paquete <literal>xr</literal></title> + +<indexterm role="cp"><primary>package, <literal>xr</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xr</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>xr-hyper</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xr-hyper</literal> package</primary></indexterm> + +<indexterm role="fn"><primary>\externaldocument</primary></indexterm> +<indexterm role="cp"><primary>referencias cruzadas, entre documentos</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\usepackage{xr} + \externaldocument{<replaceable>document-basename</replaceable>} +</screen> +<para>o +</para> +<screen>\usepackage{xr} + \externaldocument[<replaceable>reference-prefix</replaceable>]{<replaceable>document-basename</replaceable>} +</screen> +<para>Hacer referencias cruzadas al documento externo +<filename><replaceable>document-basename</replaceable>.tex</filename>. +</para> +<para>Aquí tienes un ejemplo: Si <filename>lectures.tex</filename> tiene esto en el +preámbulo +</para> +<screen>\usepackage{xr} + \externaldocument{exercises} + \externaldocument[H-]{hints} + \externaldocument{answers} +</screen> +<para>entonces puede usar etiquetas de referencias cruzadas de los otros +tres documentos. Supón que <filename>exercises.tex</filename> tiene una lista +enumerada que contiene este, +</para> +<screen>\item \label{exer:EulersThm} ¿Qué pasa si cada vértice tiene un grado impar? +</screen> +<para>y <filename>hints.tex</filename> tiene una lista enumerada con este, +</para> +<screen>\item \label{exerEulersThm} Distingue el caso de dos vértices. +</screen> +<para>y <filename>answers.tex</filename> tiene una lista enumerada con este, +</para> +<screen>\item \label{ansEulersThm} No hay camino de Euler, excepto si hay + exactamente dos vértices. +</screen> +<para>Después de compilar los ejercicios, sugerencias y documentos de +respuestas, ingresar esto en el cuerpo de <filename>lectures.tex</filename> dará +como resultado la obtención de los números de referencia de las +conferencias utilizadas en los otros documentos. +</para> +<screen>Ve el ejercicio~\ref{exer:EulersThm}, con +Sugerencia~\ref{H-exer:EulersThm}. La solución es la +respuesta~\ref{ans:EulersThm}. +</screen> +<para>Se necesita el prefijo <literal>H-</literal> para la referencia del archivo de +sugerencias porque la etiqueta en el archivo de sugerencias es la +misma que la etiqueta en el archivo de ejercicios. Sin ese prefijo, +ambas referencias obtendrían el número del archivo posterior. +</para> +<para>Nota: si el documento usa el paquete <literal>hyperref</literal> entonces en +lugar de <literal>xr</literal>, coloca <literal>\usepackage{xr-hyper}</literal> antes del +<literal>\usepackage{hyperref}</literal>. Además, si alguno de los múltiples +documentos usa <literal>hyperref</literal> entonces todos lo deben usar. </para> </sect1> </chapter> -<chapter label="9" id="Entornos"> +<chapter label="8" id="Entornos"> <title>Entornos</title> -<indexterm role="cp"><primary>entornos</primary></indexterm> +<indexterm role="cp"><primary>entornos</primary></indexterm> <indexterm role="fn"><primary>\begin</primary></indexterm> <indexterm role="fn"><primary>\end</primary></indexterm> -<para>&latex; proporciona muchos entornos para marcar cierto texto. Cada -entorno comienza y termina de la misma manera: +<para>&latex; proporciona muchos entornos para delimitar cierto +comportamiento. Un entorno comienza con <literal>\begin</literal> y termina con +<literal>\end</literal>, como este: </para> -<screen>\begin{<replaceable>nombreentorno</replaceable>} -... -\end{<replaceable>nombreentorno</replaceable>} +<screen>\begin{<replaceable>nombre-entorno</replaceable>} + ... +\end{<replaceable>nombre-entorno</replaceable>} </screen> +<para>El <replaceable>nombre-entorno</replaceable> al principio debe coincidir exactamente con el +de el fin. Por ejemplo, la entrada +<literal>\begin{table*}...\end{table}</literal> generará un error como: +‘<literal>! Error de LaTeX: \begin{table*} en la línea de entrada 5 +terminada en \end{table}.</literal>’ +</para> +<indexterm role="cp"><primary>grupo, y entornos</primary></indexterm> +<para>Los entornos se ejecutan dentro de un grupo. +</para> -<sect1 label="9.1" id="abstract"> +<sect1 label="8.1" id="abstract"> <title><literal>abstract</literal></title> -<indexterm role="fn"><primary>entorno <literal>abstract</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>abstract</literal>, entorno</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>abstract</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>abstract</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>resúmenes</primary></indexterm> <para>Sinopsis: -</para><screen>\begin{abstract} +</para> +<screen>\begin{abstract} ... \end{abstract} </screen> -<para>Entorno para producir un resumen, posiblemente de varios párrafos. -</para> +<para>Produce un resumen, posiblemente de varios párrafos. Este entorno +solo se define en las clases de documentos <literal>article</literal> y +<literal>report</literal> (véase <link linkend="Clases-de-documentos">Clases de documentos</link>). +</para> +<para>Usar el ejemplo a continuación en la clase <literal>article</literal> produce la +exhibición de un párrafo. La opción de clase de documento +<literal>titlepage</literal> genera el resumen en una página separada +(véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase documento</link>); este es el predeterminado +solo en la clase <literal>report</literal>. +</para> +<screen>\begin{abstract} + Comparamos todos los relatos conocidos de la propuesta realizada por + Porter Alexander + a Robert E Lee en el Palacio de Justicia de Appomattox que el + ejército continúa en una guerra de guerrillas, a que Lee se negó. +\end{abstract} +</screen> +<indexterm role="cp"><primary>package, <literal>abstract</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>abstract</literal> package</primary></indexterm> +<para>El siguiente ejemplo produce un resumen de una +columna en un documento de dos columnas (para una solución más +flexible, usa el paquete <literal>abstract</literal>). +</para> +<!-- Adoptado de http://www.tex.ac.uk/FAQ-onecolabs.html --> +<screen>\documentclass[twocolumn]{article} + ... +\begin{document} +\title{Babe Ruth como progenitor cultural: un enfoque atávico} +\author{Smith \\ Jones \\ Robinson\thanks{Subvención de seguimiento + ferroviario.}} +\twocolumn[ + \begin{@twocolumnfalse} + \maketitle + \begin{abstract} + Ruth no era solo el sultán del Swat, era todo el equipo swat. + \end{abstract} + \end{@twocolumnfalse} + ] +{ % inserta a mano una nota al pie de página al final de la página + \renewcommand{\thefootnote}{\fnsymbol{footnote}} + \footnotetext[1]{Gracias por todo el pescado.} +} +</screen> </sect1> -<sect1 label="9.2" id="array"> +<sect1 label="8.2" id="array"> <title><literal>array</literal></title> -<indexterm role="fn"><primary>entorno <literal>array</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>array</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>matrices, matemáticas</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>array</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>array</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>arreglos, matemáticos</primary></indexterm> <para>Sinopsis: </para> -<screen>\begin{array}{<replaceable>plantilla</replaceable>} -<replaceable>texto col1</replaceable>&<replaceable>texto col1</replaceable>&<replaceable>coln</replaceable>}\\ -... +<screen>\begin{array}{<replaceable>cols</replaceable>} + <replaceable>column 1 entry</replaceable> &<replaceable>column 2 entry</replaceable> ... &<replaceable>column n entry</replaceable> \\ + ... \end{array} </screen> -<para>Las matrices matemáticas se producen con el entorno <literal>array</literal>, -normalmente dentro de un entorno <literal>equation</literal> (véase <link linkend="equation">equation</link>). -Tiene un único argumento <replaceable>plantilla</replaceable> obligatorio que describe el -número de columnas y la alineación dentro de ellas. Cada columna -<replaceable>col</replaceable> se especifica por una sola letra que indica cual -formato debe tener cada linea en esta columna de la siguiente manera: -</para> -<variablelist><varlistentry><term><literal>c</literal> -</term><listitem><para>centrada -</para></listitem></varlistentry><varlistentry><term><literal>l</literal> -</term><listitem><para>alineada a la izquierda -</para></listitem></varlistentry><varlistentry><term><literal>r</literal> -</term><listitem><para>alineada a la derecha -</para></listitem></varlistentry></variablelist> -<indexterm role="fn"><primary>\\ (para <literal>array</literal>)</primary></indexterm> -<para>La entradas de columna son separadas con <literal>&</literal>. Las entradas de -columna pueden incluir otras instrucciones &latex;. Cada fila de la -matriz se termina con <literal>\\</literal>. -</para> -<indexterm role="fn"><primary>@{...}</primary></indexterm> -<para>En la plantilla, la construcción <literal>@{<replaceable>texto</replaceable>}</literal> coloca -<replaceable>texto</replaceable> entre columnas en cada fila. -</para> -<para>He aquí un ejemplo: +<para>o: </para> -<screen>\begin{equation} - \begin{array}{lrc} - izquierda1 & derecha1 & centrado1 \\ - izquierda2 & derecha2 & centrado2 \\ - \end{array} -\end{equation} +<screen>\begin{array}[<replaceable>pos</replaceable>]{<replaceable>cols</replaceable>} + <replaceable>column 1 entry</replaceable> &<replaceable>column 2 entry</replaceable> ... &<replaceable>column n entry</replaceable> \\ + ... +\end{array} </screen> +<para>Produce un arreglo de matemáticas. Este entorno solo se puede usar en +modo math (véase <link linkend="Modos">Modos</link>), y normalmente aparece dentro de un entorno +math como <literal>equation</literal> (véase <link linkend="equation">equation</link>). Dentro de cada fila, +las entradas de la columna están separadas por un ampersand, +(<literal>&</literal>). Las filas terminan con barras invertidas dobles +(véase <link linkend="_005c_005c">\\</link>). +</para> +<para>Este ejemplo muestra un arreglo de tres por tres. +</para> +<screen>\begin{equation*} + \chi(x) = + \left| % cerca de la barra vertical + \begin{array}{ccc} + x-a &-b &-c \\ + -d &x-e &-f \\ + -g &-h &x-i + \end{array} + \right| +\end{equation*} +</screen> +<para>El argumento requerido <replaceable>cols</replaceable> describe el número de columnas, su +alineación y el formato de las regiones entre columnas. Por ejemplo, +<literal>\begin{array}{rcl}...\end{array}</literal> da tres columnas: el +primero alineado a la derecha, el segundo centrado y el tercero +alineado a la izquierda. <link linkend="tabular">tabular</link> para la descripción completa +de <replaceable>cols</replaceable> y de otras características comunes de los dos entornos, +incluido el argumento opcional <replaceable>pos</replaceable>. +</para> +<para>Hay dos formas en que <literal>array</literal> difiere de <literal>tabular</literal>. La +primera es que las entradas de <literal>array</literal> se escriben en modo math, +en estilo texto (véase <link linkend="Estilos-math">Estilos math</link>) excepto si la definición +<replaceable>cols</replaceable> especifica la columna con <literal>p{...}</literal>, lo que hace que +la entrada se escriba en modo de texto. La segunda es que, en lugar +del parámetro <literal>tabular</literal> <literal>\tabcolsep</literal>, el espacio entre +columnas de &latex; en un <literal>array</literal> está gobernado por <indexterm role="fn"><primary>\arraycolsep</primary></indexterm> -<para>El parámetro <literal>\arraycolsep</literal> define la mitad del ancho del espacio -de separación entre columnas; el predeterminado es ‘<literal>5pt</literal>’. -Véase <link linkend="tabular">tabular</link>, para otros parámetros que afectan el formato en entornos -<literal>array</literal>, a saber <literal>\arrayrulewidth</literal> y <literal>\arraystretch</literal>. -</para> -<para>El entorno <literal>array</literal> únicamente se puede utilizar en modo math. +<literal>\arraycolsep</literal>, que da la mitad del ancho entre columnas. El +predeterminado para esto es ‘<literal>5pt</literal>’ por lo que entre dos columnas +viene 10pt de espacio. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>Para obtener arreglos con llaves el estándar es +usar el paquete <literal>amsmath</literal>. Viene con entornos <literal>pmatrix</literal> +para un arreglo rodeado de paréntesis <literal>(...)</literal>, +<literal>bmatrix</literal> para un arreglo entre corchetes <literal>[...]</literal>, +<literal>Bmatrix</literal> para un arreglo rodeado de llaves <literal>{...}</literal>, +<literal>vmatrix</literal> para un arreglo rodeado de barras +verticales <literal>|...|</literal>, y <literal>Vmatrix</literal> para un arreglo rodeado +por dobles barras verticales <literal>||...||</literal>, junto con otras +construcciones de arreglo. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> + +<para>El siguiente ejemplo usa el paquete <literal>amsmath</literal>. +</para> +<screen>\usepackage{amsmath} % en el preámbulo + +\begin{equation} + \begin{vmatrix}{cc} % arreglo con líneas verticales + a &b \\ + c &d + \end{vmatrix}=ad-bc +\end{equation} +</screen> +<indexterm role="cp"><primary>package, <literal>array</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>array</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>dcolumn</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>dcolumn</literal> package</primary></indexterm> +<para>Hay muchos paquetes relacionados +con arreglos. El paquete <literal>array</literal> tiene muchas extensiones +útiles, incluidos más tipos de columnas. El paquete <literal>dcolumn</literal> +agrega un tipo de columna para centrarse en un punto decimal. Para +ambos ve la documentación en CTAN. </para> </sect1> -<sect1 label="9.3" id="center"> +<sect1 label="8.3" id="center"> <title><literal>center</literal></title> -<indexterm role="fn"><primary>entorno <literal>center</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>center</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>centrar texto, entorno para</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>center</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>center</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>texto centrado, entorno para</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{center} -<replaceable>línea1</replaceable> \\ -<replaceable>línea2</replaceable> \\ + <replaceable>line1</replaceable> \\ + <replaceable>line2</replaceable> \\ + ... \end{center} </screen> -<indexterm role="fn"><primary>\\ (para <literal>centrar</literal>)</primary></indexterm> -<para>El entorno <literal>center</literal> le permite crear un párrafo consistente de -líneas que están centradas respecto al margen izquierdo y derecho de la -página actual. Cada línea es terminada con dobles barras inversas -<literal>\\</literal>. +<para>Crea un nuevo párrafo que consta de una secuencia de líneas que está +centrado dentro de los márgenes izquierdo y derecho. Usa doble barra +invertida, <literal>\\</literal>, para obtener un salto de línea (véase <link linkend="_005c_005c">\\</link>). +<indexterm role="fn"><primary>\\ (para <literal>centro</literal>)</primary></indexterm> +Si algún texto es demasiado largo para caber en una línea, entonces +&latex; insertará un salto de línea que evita la separación de +sílabas y evita estirar o encoger cualquier espacio entre palabras. +</para> +<para>Este entorno inserta espacio por encima y por debajo del cuerpo del +texto. <link linkend="_005ccentering">\centering</link> para evitar dicho espacio, por ejemplo dentro +de un entorno <literal>figure</literal>. +</para> +<para>Este ejemplo produce tres líneas centradas. Hay espacio extra +vertical entre las dos últimas líneas. +</para> +<screen>\begin{center} + Una Tesis Presentada en Cumplimiento Parcial \\ + de los Requisitos de \\[0.5ex] + la Escuela de Ingeniería Ambiental +\end{center} +</screen> +<para>En este ejemplo, según el ancho de línea de la página, &latex; puede +elegir un salto de línea para la parte anterior a la barra invertida +doble. Si es así, será centrar cada una de las dos líneas y si no +centrará la única línea. Entonces &latex; se romperá en la barra +invertida doble y centrará el final. +</para> +<screen>\begin{center} + Mi padre consideraba que cualquiera que fuera a la capilla y no + bebiera alcohol no debía ser tolerado.\\ + Crecí en esa creencia. ---Richard Burton +\end{center} +</screen> +<para>Una barra invertida doble después de la línea final es opcional. Si +está presente no agrega ningún espacio vertical. +</para> +<para>En un documento de dos columnas, el texto está centrado en una +columna, no en la página completa. </para> -<sect2 label="9.3.1" id="_005ccentering"> +<sect2 label="8.3.1" id="_005ccentering"> <title><literal>\centering</literal></title> <indexterm role="fn"><primary>\centering</primary></indexterm> -<indexterm role="cp"><primary>centrar texto, declaración para</primary></indexterm> +<indexterm role="cp"><primary>texto centrado, declaración para</primary></indexterm> -<para>La declaración <literal>\centering</literal> corresponde al entorno <literal>center</literal>. -Esta declaración se puede utilizar dentro de un entorno tal como -<literal>quote</literal> o en un <literal>parbox</literal>. Por lo tanto, el texto de una -figura o una tabla se puede centrar en la página poniendo una -instrucción <literal>\centering</literal> al principio de la figura o en el entorno -table. +<para>Sinopsis: </para> -<para>A diferencia del entorno <literal>center</literal>, la instrucción <literal>\centering</literal> -no comienza un nuevo párrafo; esta simplemente cambia el formato que -&latex; aplica a las unidades de párrafo. Para afectar el formato de -la unidad de párrafo, el alcance de la declaración debe contener una -línea en blanco o la instrucción <literal>\end</literal> (de un entorno tal como -quote), que finaliza la unidad de párrafo. +<screen>{\centering ... } +</screen> +<para>o </para> -<para>He aquí un ejemplo: +<screen>\begin{group} + \centering ... +\end{group} +</screen> +<para>Centra el material en su entorno. Se utiliza con mayor frecuencia +dentro de un entorno como <literal>figure</literal>, o en un <literal>parbox</literal>. </para> -<screen>\begin{quote} -\centering -primer línea \\ -segunda línea \\ -\end{quote} +<para>La declaración <literal>\centering</literal> de este ejemplo hace que el gráfico +sea centrado horizontalmente. +</para> +<screen>\begin{figure} + \centering + \includegraphics[width=0.6\textwidth]{ctan_lion.png} + \caption{CTAN Lion} \label{fig:CTANLion} +\end{figure} </screen> +<para>El entorno de este <literal>\centering</literal> termina con +<literal>\end{figure}</literal>. +</para> +<para>A diferencia del entorno <literal>center</literal>, el comando <literal>\centering</literal> +no agrega espacio vertical por encima y por debajo del texto. Esa es +su ventaja en el ejemplo anterior; no hay un exceso de espacio. +</para> +<para>Tampoco comienza un nuevo párrafo; simplemente cambia cómo &latex; da +formato a las unidades de párrafo. Si <literal>ww {\centering xx \\ +yy} zz</literal> está rodeado de líneas en blanco, entonces &latex; creará un +párrafo cuya primera línea ‘<literal>ww xx</literal>’ está centrada y cuya segunda +línea, no centrada, contiene ‘<literal>yy zz</literal>’. Usualmente lo que se desea +es para el alcance de la declaración para contener una línea en blanco +o el comando <literal>\end</literal> de un entorno como <literal>figure</literal> o +<literal>table</literal> que termina la unidad de párrafo. Por lo tanto, si +<literal>{\centering xx \\ yy\par} zz</literal> está rodeado de líneas en +blanco, entonces crea un nuevo párrafo con dos líneas centradas +‘<literal>xx</literal>’ y ‘<literal>yy</literal>’, seguidas de un nuevo párrafo con ‘<literal>zz</literal>’ que +tiene el formato habitual. +</para> </sect2> </sect1> -<sect1 label="9.4" id="description"> -<title><literal>description</literal></title> +<sect1 label="8.4" id="description"> +<title><literal>Description</literal></title> + +<indexterm role="fn"><primary>environment, <literal>Description</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>Description</literal> environment</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>description</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>description</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>listas etiquetadas, creando</primary></indexterm> -<indexterm role="cp"><primary>listas de descripción, creando</primary></indexterm> +<indexterm role="cp"><primary>listas etiquetadas, crear</primary></indexterm> +<indexterm role="cp"><primary>listas de descripción, crear</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{description} -\item [<replaceable>etiqueta1</replaceable>] <replaceable>elemento1</replaceable> -\item [<replaceable>etiqueta2</replaceable>] <replaceable>elemento2</replaceable> -... + \item[<replaceable>etiqueta del primer elemento</replaceable>] <replaceable>texto del primer + elemento</replaceable> + \item[<replaceable>etiqueta del segundo elemento</replaceable>] <replaceable>texto del segundo + elemento</replaceable> + ... \end{description} </screen> -<indexterm role="fn"><primary>\item</primary></indexterm> -<para>El entorno <literal>description</literal> se utiliza para hacer listas etiquetadas. -Cada <replaceable>etiqueta</replaceable> es compuesta tipográficamente en negrita, alineada a -la derecha. El texto del <replaceable>elemento</replaceable> puede contener múltiples -párrafos. +<para>Entorno para hacer una lista de elementos etiquetados. La <replaceable>label</replaceable> +de cada elemento está escrita en negrita y alineada a la izquierda, de +modo que las etiquetas largas continúan en la primera línea del texto +del elemento. Debe haber al menos un elemento; al no tener alguno +causa el error &latex; ‘<literal>Algo anda mal, tal vez un \item +perdido</literal>’. </para> -<indexterm role="cp"><primary>máquina de escribir en negrita, evitando</primary></indexterm> -<indexterm role="cp"><primary>etiquetas en máquina de escribir en listas</primary></indexterm> -<para>Otra variación: debido a que el estilo negrita se aplica a las -etiquetas, si usted compone una etiqueta en máquina de escribir usando -<literal>\texttt</literal>, obtendrá una máquina de escribir en negrita: -<literal>\item[\texttt{máquina de escribir y negrita}]</literal>. Esta también -puede estar en negrita, entre otras cuestiones. Para obtener sólo en -máquina de escribir, use <literal>\tt</literal>, que restablece todas las -variaciones de otros estilos: <literal>\item[{\tt máquina de escribir -simple}]</literal>. +<para>Este ejemplo muestra el entorno utilizado para una secuencia de +definiciones. </para> -<para>Para detalles acerca del espaciado en listas, vea <link linkend="itemize">itemize</link>. +<screen>\begin{description} + \item[lama] un sacerdote. + \item[llama] a una bestia. +\end{description} +</screen> +<para>Las etiquetas ‘<literal>lama</literal>’ y ‘<literal>llama</literal>’ se muestran en negrita, con +el borde izquierdo en el margen izquierdo. +</para> +<indexterm role="fn"><primary>\item</primary></indexterm> +<para>Inicia la lista de elementos con el comando <literal>\item</literal> +(véase <link linkend="_005citem">\item</link>). Utiliza las etiquetas opcionales, como en +<literal>\item[Main point]</literal>, porque hay ningún valor predeterminado +sensato. Después de <literal>\item</literal> hay texto opcional, que puede +contener varios párrafos. </para> +<indexterm role="cp"><primary>máquina de escribir en negrita, evitando</primary></indexterm> +<indexterm role="cp"><primary>etiquetas de máquina de escribir en listas</primary></indexterm> +<para>Dado que las etiquetas están en negrita, si el texto de la etiqueta +requiere un cambio de letra dado en el estilo del argumento +(<link linkend="Estilos-de-tipos-de-letra">Estilos de tipos de letra</link>) entonces vendrá en negrita. Por +ejemplo, si el texto de la etiqueta requiere una máquina de escribir +con <literal>\item[\texttt{label text}]</literal> entonces aparecerá en negrita +máquina de escribir, si está disponible. La forma más sencilla de +evitar esto, en este ejemplo para obtener una máquina de escribir sin +negrita, es usar un estilo declarativo: <literal>\item[{\tt label +text}]</literal>. Del mismo modo, obtiene la letra romana estándar con +<literal>\item[{\rm texto etiqueta}]</literal>. +</para> +<para>Para otros entornos principales de listas etiquetadas &latex;, +<link linkend="itemize">itemize</link> y <link linkend="enumerate">enumerate</link>. A diferencia de esos entornos, +anidar entornos <literal>description</literal> no cambia la etiqueta +predeterminada; es negrita y alineada a la izquierda en todos los +niveles. +</para> +<para>Para obtener información sobre los parámetros de diseño de la lista, +incluido el valor predeterminado y para obtener información sobre cómo +personalizar el diseño de la lista, <link linkend="list">list</link>. El paquete +<literal>enumitem</literal> es útil para personalizar listas. +</para> +<para>Este ejemplo cambia las etiquetas de descripción a versalitas. +</para> +<screen>\renewcommand{\descriptionlabel}[1]{% + {\hspace{\labelsep}\textsc{#1}}} +</screen> </sect1> -<sect1 label="9.5" id="displaymath"> +<sect1 label="8.5" id="displaymath"> <title><literal>displaymath</literal></title> +<!-- https://tex.stackexchange.com/questions/40492/what-are-the-differences-between-align-equation-and-displaymath --> + +<indexterm role="fn"><primary>environment, <literal>displaymath</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>displaymath</literal> environment</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>displaymath</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>displaymath</literal>, entorno</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{displaymath} -<replaceable>fórmula matemática</replaceable> + <replaceable>texto matemático</replaceable> \end{displaymath} </screen> -<para>o +<para>Entorno para componer el <replaceable>texto matemático</replaceable> en su propia línea, en +estilo de visualización y centrado. Para hacer que el texto quede +alineado a la izquierda, usa la opción global <literal>fleqn</literal>; +<link linkend="Opciones-de-la-clase-documento">Opciones de la clase documento</link>. +</para> +<para>En el entorno <literal>displaymath</literal> no se agrega ningún número de +ecuación al texto de matemáticas. Una forma de obtener un número de +ecuación es usar el entorno <literal>equation</literal> (véase <link linkend="equation">equation</link>). +</para> +<para>&latex; no dividirá el <replaceable>texto matemático</replaceable> entre líneas. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>Ten en cuenta que el paquete <literal>amsmath</literal> +tiene significativamente más extensas facilidades de ecuación +mostradas. Por ejemplo, hay una serie de formas en ese paquete para +dividir el texto matemático en líneas. +</para> +<indexterm role="fn"><primary>\[...\] mostrar matemáticas</primary></indexterm> +<para>La construcción <literal>\[<replaceable>math</replaceable>\]</literal> es un sinónimo del entorno +<literal>\begin{displaymath} <replaceable>math</replaceable> \end{displaymath}</literal> pero este +último es más fácil de trabajar en la fuente; por ejemplo, la búsqueda +de un corchete puede dar falsos positivos, pero la palabra +<literal>displaymath</literal> probablemente será único. +</para> +<indexterm role="fn"><primary>$$...$$ normal &tex; matemáticas de visualización</primary></indexterm> +<para>(Aparte: la construcción <literal>$$<replaceable>math</replaceable>$$</literal> de Plain &tex; a +veces se usa erróneamente como sinónimo de <literal>displaymath</literal>. Esté +no es un sinónimo, y no se admite oficialmente en &latex; en +absoluto; <literal>$$</literal> no admite la opción <literal>fleqn</literal> (véase <link linkend="Opciones-de-la-clase-documento">Opciones +de la clase documento</link>), tiene un espaciado vertical diferente y no +realiza comprobaciones de consistencia). +</para> +<para>La salida de este ejemplo está centrada y sola en su línea. </para> -<screen>\[<replaceable>math</replaceable>\] +<screen>\begin{displaymath} + \int_1^2 x^2\,dx=7/3 +\end{displaymath} </screen> -<para>El entorno <literal>displaymath</literal> (<literal>\[...\]</literal> es un sinónimo) de -composición tipográfica de texto <replaceable>math</replaceable> en una línea independiente, -centrada de manera predeterminada. La opción global <literal>fleqn</literal> -produce ecuaciones alineadas a la izquierda; vea <link linkend="Opciones-de-Clase-de-Documento">Opciones de Clase -de Documento</link>. -</para> -<para>No se añade un número de ecuación al texto de <literal>displaymath</literal>; Para -obtener un número de ecuación, utilice el entorno <literal>equation</literal> -(véase <link linkend="equation">equation</link>). +<para>Además, el signo integral es más grande que la versión en línea que +produce <literal>\( \int_1^2 x^2\,dx=7/3 \)</literal>. </para> </sect1> -<sect1 label="9.6" id="document"> +<sect1 label="8.6" id="document"> <title><literal>document</literal></title> -<indexterm role="fn"><primary>entorno <literal>document</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>document</literal>, entorno</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>document</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>document</literal> environment</primary></indexterm> -<para>El entorno <literal>document</literal> encierra el cuerpo de un documento. este es -obligatorio en cada documento &latex;. Véase <link linkend="Iniciando-y-Finalizando">Iniciando y Finalizando</link>. + +<para>El entorno <literal>document</literal> incluye todo el cuerpo de un documento. Se +requiere en todos los documentos &latex;. Véase <link linkend="Comenzar-y-terminar">Comenzar y +terminar</link>. </para> + +<sect2 label="8.6.1" id="_005cAtBeginDocument"> +<title><literal>\AtBeginDocument</literal></title> + +<indexterm role="fn"><primary>\AtBeginDocument</primary></indexterm> +<indexterm role="cp"><primary>comienzo del gancho del documento</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\AtBeginDocument{<replaceable>code</replaceable>} +</screen> +<para>Guarda <replaceable>code</replaceable> y ejecútelo cuando <literal>\begin{document}</literal> sea +ejecutado, al final del preámbulo. El código se ejecuta después de +las tablas de selección de letras se han configurado, por lo que la +letra normal para el documento es la letra actual. Sin embargo, el +código se ejecuta como parte del preámbulo para que no puedas hacer +ninguna composición tipográfica con él. +</para> +<para>Puedes emitir este comando más de una vez; las líneas de código +sucesivas se ejecutarán en el orden que les diste. +</para> + +</sect2> +<sect2 label="8.6.2" id="_005cAtEndDocument"> +<title><literal>\AtEndDocument</literal></title> + +<indexterm role="fn"><primary>\AtEndDocument</primary></indexterm> +<indexterm role="cp"><primary>gancho final del documento</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\AtEndDocument{<replaceable>code</replaceable>} +</screen> +<para>Guarda <replaceable>code</replaceable> y ejecútalo cerca del final del documento. +Específicamente, se ejecuta cuando se ejecuta <literal>\end{document}</literal>, +antes de que termine la página final y antes de que quede flotando se +procesan los entornos. Si deseas que parte del código se ejecute +después de estos dos procesos, incluye un <literal>\clearpage</literal> en el +punto apropiado en <replaceable>code</replaceable>. +</para> +<para>Puedes emitir este comando más de una vez; las líneas de código +sucesivas se ejecutarán en el orden que les diste. +</para> + +</sect2> </sect1> -<sect1 label="9.7" id="enumerate"> +<sect1 label="8.7" id="enumerate"> <title><literal>enumerate</literal></title> -<indexterm role="fn"><primary>entorno <literal>enumerate</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>enumerate</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>lista de elementos, numerados</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>enumerate</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>enumerate</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>listas de elementos, numerados</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{enumerate} -\item <replaceable>elemento1</replaceable> -\item <replaceable>elemento2</replaceable> -... + \item[<replaceable>etiqueta opcional del primer elemento</replaceable>] <replaceable>texto del + primer elemento</replaceable> + \item[<replaceable>etiqueta opcional del segundo elemento</replaceable>] <replaceable>texto del + segundo elemento</replaceable> + ... \end{enumerate} </screen> -<para>El entorno <literal>enumerate</literal> produce una lista numerada. Las -enumeraciones se pueden anidar unas dentro de otras, hasta cuatro -niveles de profundidad. Estas también se pueden anidar en otros -entornos de párrafo, tal como <literal>itemize</literal> (véase <link linkend="itemize">itemize</link>) y -<literal>description</literal> (véase <link linkend="description">description</link>). +<para>Entorno para producir una lista numerada de elementos. El formato de +la numeración de las etiquetas depende del nivel de anidamiento de +este entorno; ve abajo. La numeración de nivel superior predeterminada +es ‘<literal>1.</literal>’, ‘<literal>2.</literal>’, etc. Cada entorno de lista <literal>enumerate</literal> +debe tener al menos un elemento; no tiene ninguna causa el error +&latex; ‘<literal>Algo anda mal, tal vez un \item perdido</literal>’. </para> -<indexterm role="fn"><primary>\item</primary></indexterm> -<para>Cada elemento de una lista enumerada comienza con una instrucción -<literal>\item</literal>. En el entorno por lo menos debe haber una instrucción -<literal>\item</literal>. +<para>Este ejemplo muestra a los dos primeros finalistas en el maratón +olímpico de 1908. Como lista de nivel superior, las etiquetas +aparecerían como ‘<literal>1.</literal>’ y ‘<literal>2.</literal>’. </para> -<para>De manera predeterminada, la numeración de cada nivel se hace de la -siguiente manera: +<screen>\begin{enumerate} + \item Johnny Hayes (USA) + \item Charles Hefferon (RSA) +\end{enumerate} +</screen> +<indexterm role="fn"><primary>\item</primary></indexterm> +<para>Inicia la lista de elementos con el comando <literal>\item</literal> +(véase <link linkend="_005citem">\item</link>). Si le das a <literal>\item</literal> un argumento opcional +siguiéndolo con corchetes, como en <literal>\item[Etiqueta +intersticial]</literal>, entonces el siguiente elemento continuará la secuencia +interrumpida (véase <link linkend="_005citem">\item</link>). Es decir, obtendrás etiquetas como +‘<literal>1.</literal>’, entonces ‘<literal>Etiqueta intersticial</literal>’, luego ‘<literal>2.</literal>’. +Después de <literal>\item</literal> hay texto opcional, que puede contener varios +párrafos. </para> -<orderedlist numeration="arabic"><listitem><para>1., 2., … -</para></listitem><listitem><para>(a), (b), … -</para></listitem><listitem><para>i., ii., … -</para></listitem><listitem><para>A., B., … +<para>Las enumeraciones se pueden anidar dentro de otros entornos +<literal>enumerate</literal>, o dentro de cualquier entorno de creación de +párrafos como <literal>itemize</literal> (véase <link linkend="itemize">itemize</link>), hasta cuatro niveles +de profundidad. Esto le proporciona el valor &latex; predeterminado +para el formato en cada nivel de anidamiento, donde 1 es el nivel +superior, el nivel más exterior. +</para> +<orderedlist numeration="arabic"><listitem><para>número arábigo seguido de un punto: ‘<literal>1.</literal>’, ‘<literal>2.</literal>’, … +</para></listitem><listitem><para>letra minúscula entre paréntesis: ‘<literal>(a)</literal>’, ‘<literal>(b)</literal>’ … +</para></listitem><listitem><para>número romano en minúsculas seguido de un punto: ‘<literal>i.</literal>’, ‘<literal>ii.</literal>’, … +</para></listitem><listitem><para>letra mayúscula seguida de un punto: ‘<literal>A.</literal>’, ‘<literal>B.</literal>’, … </para></listitem></orderedlist> <indexterm role="fn"><primary>\enumi</primary></indexterm> <indexterm role="fn"><primary>\enumii</primary></indexterm> <indexterm role="fn"><primary>\enumiii</primary></indexterm> <indexterm role="fn"><primary>\enumiv</primary></indexterm> -<para>El entorno <literal>enumerate</literal> usa los contadores <literal>\enumi</literal> hasta -<literal>\enumiv</literal> (véase <link linkend="Contadores">Contadores</link>). Si se proporciona el argumento -opcional a <literal>\item</literal>, el contador no se incrementa por cada elemento. +<anchor id="enumerate-enumi"/><anchor id="enumerate-enumii"/><anchor id="enumerate-enumiii"/><anchor id="enumerate-enumiv"/><para>El entorno <literal>enumerate</literal> utiliza +los contadores <literal>\enumi</literal> hasta <literal>\enumiv</literal> +(véase <link linkend="Contadores">Contadores</link>). +</para> +<para>Para otros entornos principales de listas etiquetadas &latex;, +<link linkend="description">description</link> e <link linkend="itemize">itemize</link>. Para obtener información sobre el +diseño de parámetros de lista, incluidos los valores predeterminados, +y para obtener información sobre personalizar el diseño de la lista, +<link linkend="list">list</link>. El paquete <literal>enumitem</literal> es útil para personalizar +listas. </para> <indexterm role="fn"><primary>\labelenumi</primary></indexterm> <indexterm role="fn"><primary>\labelenumii</primary></indexterm> <indexterm role="fn"><primary>\labelenumiii</primary></indexterm> <indexterm role="fn"><primary>\labelenumiv</primary></indexterm> -<para>El entorno <literal>enumerate</literal> utiliza las instrucciones desde -<literal>\labelenumi</literal> hasta <literal>\labelenumiv</literal> para producir la etiqueta -predeterminada. Por lo tanto, usted puede usar <literal>\renewcommand</literal> -para cambiar las etiquetas (véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>). Por -ejemplo, para hacer que el primer nivel use letras mayúsculas: -</para> -<indexterm role="fn"><primary>ejemplo \Alph</primary></indexterm> -<screen>\renewcommand{\labelenumi}{\Alph{enumi}} +<anchor id="enumerate-labelenumi"/><anchor id="enumerate-labelenumii"/><anchor id="enumerate-labelenumiii"/><anchor id="enumerate-labelenumiv"/><para>Para +cambiar el formato de la etiqueta usa <literal>\renewcommand</literal> +(véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>) en los comandos +<literal>\labelenumi</literal> a través de <literal>\labelenumiv</literal>. Por ejemplo, esta +lista de primer nivel será etiquetada con letras mayúsculas, en +negrita y sin punto final. +</para> +<indexterm role="fn"><primary>\Alph example</primary></indexterm> +<screen>\renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} +\begin{enumerate} + \item Se muestra en negrita A + \item Se muestra en negrita B +\end{enumerate} </screen> - +<para>Para obtener una lista de comandos de contraetiquetado, consulta +<link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>. +</para> </sect1> -<sect1 label="9.8" id="eqnarray"> +<sect1 label="8.8" id="eqnarray"> <title><literal>eqnarray</literal></title> -<indexterm role="fn"><primary>entorno <literal>eqnarray</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>eqnarray</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>ecuaciones, alineando</primary></indexterm> -<indexterm role="cp"><primary>alineando Ecuaciones</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>eqnarray</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>eqnarray</literal> environment</primary></indexterm> -<screen>\begin{eqnarray} (o <literal>eqnarray*</literal>) -<replaceable>fórmula1</replaceable> \\ -<replaceable>fórmula2</replaceable> \\ -... +<indexterm role="cp"><primary>ecuaciones, alineando</primary></indexterm> +<indexterm role="cp"><primary>alineando ecuaciones</primary></indexterm> + +<indexterm role="cp"><primary>alinea entorno, de <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary>amsmath package, reemplazar <literal>eqnarray</literal></primary></indexterm> +<indexterm role="cp"><primary>Madsen, Lars</primary></indexterm> +<para>El entorno <literal>eqnarray</literal> está obsoleto. Tiene infelicidades, +incluyendo el espaciado que es inconsistente con otros elementos +matemáticos. (Ve “¡Evita eqnarray!” por Lars Madsen +<ulink url="https://tug.org/TUGboat/tb33-1/tb103madsen.pdf">https://tug.org/TUGboat/tb33-1/tb103madsen.pdf</ulink>). Nuevos +documentos deben incluir el paquete <literal>amsmath</literal> y usar el que +muestra entornos matemáticos proporcionados allí, como el entorno +<literal>align</literal>. Incluimos una descripción solo para completar y para +trabajar con documentos antiguos. +</para> +<para>Sinopsis: +</para> +<screen>\begin{eqnarray} + <replaceable>primera fórmula a la izquierda</replaceable>, <replaceable>primera fórmula en el + medio</replaceable> y <replaceable>primera fórmula a la derecha</replaceable> \\ + ... \end{eqnarray} </screen> +<para>o +</para> +<screen>\begin{eqnarray*} + <replaceable>primera fórmula a la izquierda</replaceable>, <replaceable>primera fórmula en el + medio</replaceable> y <replaceable>primera fórmula a la derecha</replaceable> \\ + ... +\end{eqnarray*} +</screen> <indexterm role="fn"><primary>\\ (para <literal>eqnarray</literal>)</primary></indexterm> -<para>El entorno <literal>eqnarray</literal> se utiliza para mostrar una secuencia de -ecuaciones o desigualdades. Es muy parecido a un entorno <literal>array</literal> -de tres columnas, con filas consecutivas separadas por <literal>\\</literal> y -elementos consecutivos en una fila, separados por un <literal>&</literal>. +<para>Muestra una secuencia de ecuaciones o desigualdades. Los lados +izquierdo y derecho se escriben en el modo display, mientras que el +medio se escribe en el modo texto. </para> +<para>Es similar a un entorno <literal>array</literal> de tres columnas, con elementos +dentro de una fila separada por un ampersand (<literal>&</literal>), y con +filas separadas por dobles barras inversas <literal>\\</literal>). <indexterm role="fn"><primary>\\* (para <literal>eqnarray</literal>)</primary></indexterm> -<para>también puede utilizar <literal>\\*</literal> para separar ecuaciones -independientes, con su propósito normal de no permitir saltos de página -en esa línea. +La forma de estrella del salto de línea (<literal>\\*</literal>) también se puede +usar para separar ecuaciones, y no permitirá un salto de página allí +(véase <link linkend="_005c_005c">\\</link>). </para> <indexterm role="fn"><primary>\nonumber</primary></indexterm> -<indexterm role="cp"><primary>números de ecuación, omitiendo</primary></indexterm> -<para>Se coloca un número de ecuación en cada línea a menos que la línea tenga -una instrucción <literal>\nonumber</literal>. Alternativamente, la forma del -entorno con <literal>*</literal> (<literal>\begin{eqnarray*} ... \end{eqnarray*}</literal>) -debe omitir por completo la numeración de la ecuación, al tiempo que el -mismo comienza con <literal>eqnarray</literal>. +<indexterm role="cp"><primary>números de ecuación, omitir</primary></indexterm> +<para>La forma sin estrella <literal>eqnarray</literal> coloca un número de ecuación en +cada línea (usando el contador <literal>equation</literal>), a menos que esa línea +contenga un comando <literal>\nonumber</literal>. La forma destacada +<literal>eqnarray*</literal> omite numeración de ecuaciones, mientras que por lo +demás son iguales. </para> <indexterm role="fn"><primary>\lefteqn</primary></indexterm> -<para>La instrucción <literal>\lefteqn</literal> se utiliza para dividir grandes fórmulas -a través de varias líneas. Su argumento de composición tipográfica en el -estilo de visualización alinea a la izquierda en una caja de ancho cero. -</para> +<para>El comando <literal>\lefteqn</literal> se usa para dividir fórmulas largas en +líneas. Escribe tu argumento en estilo de visualización alineado a la +izquierda en un cuadro de ancho cero. +</para> +<para>Este ejemplo muestra tres líneas. Las dos primeras líneas forman una +desigualdad, mientras que la tercera línea no tiene entrada por el +lado izquierdo. +</para> +<screen>\begin{eqnarray*} + \lefteqn{x_1+x_2+\cdots+x_n} \\ + &\leq &y_1+y_2+\cdots+y_n \\ + &= &z+y_3+\cdots+y_n +\end{eqnarray*} +</screen> </sect1> -<sect1 label="9.9" id="equation"> +<sect1 label="8.9" id="equation"> <title><literal>equation</literal></title> -<indexterm role="fn"><primary>entorno <literal>equation</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>equation</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>ecuaciones, entornos para</primary></indexterm> -<indexterm role="cp"><primary>fórmulas, entornos para</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>equation</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>equation</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>ecuaciones, entorno para</primary></indexterm> +<indexterm role="cp"><primary>fórmulas, entorno para</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{equation} -<replaceable>fórmula-matemática</replaceable> + <replaceable>texto matemático</replaceable> \end{equation} </screen> -<para>El entorno <literal>equation</literal> comienza un entorno <literal>displaymath</literal> -(véase <link linkend="displaymath">displaymath</link>), por ejemplo, centrando en la página el texto -<replaceable>math</replaceable>, y además colocando el número de ecuación en el margen -derecho. +<para>Lo mismo que un entorno <literal>displaymath</literal> (véase <link linkend="displaymath">displaymath</link>) +excepto que &latex; pone un número de ecuación al ras del margen +derecho. El número de la ecuación se genera usando el contador +<literal>equation</literal>. +</para> +<para>No debe haber líneas en blanco entre <literal>\begin{equation}</literal> y +<literal>\begin{equation}</literal>, o &latex; te dirá que falta el signo de +dólar. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>El paquete <literal>amsmath</literal> tiene una extensas +facilidades para mostrar ecuaciones. Los nuevos documentos deben +incluir este paquete. </para> </sect1> -<sect1 label="9.10" id="figure"> +<sect1 label="8.10" id="figure"> <title><literal>figure</literal></title> -<indexterm role="fn"><primary>entorno <literal>figure</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>figure</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>insertando figuras</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>figure</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>figure</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>insertar figuras</primary></indexterm> <indexterm role="cp"><primary>figuras, insertando</primary></indexterm> -<screen>\begin{figure[*]}[<replaceable>úbicación</replaceable>] -<replaceable>figbody</replaceable> -\label{<replaceable>etiqueta}</replaceable> -\caption[<replaceable>títulobreve</replaceable>]{<replaceable>texto</replaceable>} +<para>Sinopsis: +</para> +<screen>\begin{figure}[<replaceable>placement</replaceable>] + <replaceable>cuerpo de figura</replaceable> + \caption[<replaceable>loftitle</replaceable>]{<replaceable>title</replaceable>} % opcional + \label{<replaceable>label}</replaceable> % opcional \end{figure} </screen> -<para>Las figuras son objetos que no forman parte del texto normal, y en su -lugar son “flotados” a un lugar conveniente, como en la parte superior -de una página. Las figuras no se dividen entre dos páginas. -</para> -<para>Cuando se compone tipográficamente en columnas dobles, la forma favorita -produce un ancho completo (a través de las dos columnas). +<para>o: </para> -<para>El argumento opcional <literal>[ubicación]</literal> determina donde debe tratar de -colocar &latex; su figura. Hay cuatro lugares donde &latex;, -posiblemente, pueda colocar un flotante: -</para> -<variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>(Top)—en lo alto de una página de texto. -</para> -</listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>(Bottom)—en la parte inferior de una página de texto. No obstante, -<literal>b</literal> no se permite para flotantes de ancho completo (<literal>figure*</literal>) -en entornos con columnas dobles. Para mejorar esto, utilice el paquete -<literal>stfloats</literal> o <literal>dblfloatfix</literal>, pero vea el debate de advertencias -en el FAQ: -<ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat</ulink>. -</para> -</listitem></varlistentry><varlistentry><term><literal>h</literal> -</term><listitem><indexterm role="cp"><primary>paquete <literal>float</literal></primary></indexterm> -<para>(Here)—aquí, en la posición donde aparece el entorno <literal>figure</literal> en el -texto. Sin embargo, este no está permitido por sí mismo, -automáticamente se añade <literal>t</literal>. Para forzar que una figura -absolutamente aparezca “aquí”, utilice el paquete <literal>float</literal> y use -la letra de ubicación <literal>H</literal>. (Este paquete también ofrece otras -opciones). -</para> -</listitem></varlistentry><varlistentry><term><literal>p</literal> -</term><listitem><para>(Página de flotantes)—en una página de flotantes separada, misma que -es una página que no contiene texto, únicamente flotantes. -</para> -</listitem></varlistentry></variablelist> -<para>Las clases estándar <literal>report</literal> y <literal>article</literal> utilizan la ubicación -predeterminada <literal>tbp</literal>. -</para> -<para>El cuerpo de la figura se compone de cualquier texto, instrucciones -&latex;, etc., que desee. +<screen>\begin{figure*}[<replaceable>placement</replaceable>] + <replaceable>cuerpo de figura</replaceable> + \caption[<replaceable>loftitle</replaceable>]{<replaceable>title</replaceable>} % opcional + \label{<replaceable>label}</replaceable> % opcional +\end{figure*} +</screen> +<para>Las figuras son para material que no forma parte del texto normal. Un +ejemplo es material que no se puede dividir en dos páginas, tal como +gráficos. Debido a esto, &latex; no escribe cifras en secuencia con +texto normal, sino que los “hace flotar” a un lugar conveniente, +como la parte superior de una página siguiente (véase <link linkend="Flotantes">Flotantes</link>). +</para> +<para>El <replaceable>cuerpo de figura</replaceable> puede consistir en gráficos importados +(véase <link linkend="Gr_00e1ficos">Gráficos</link>), o texto, comandos de &latex;, etc. Está escrito +en un <literal>parbox</literal> de ancho <literal>\textwidth</literal>. +</para> +<para>Los posibles valores de <replaceable>placement</replaceable> son <literal>h</literal> para ‘<literal>aquí</literal>’, +<literal>t</literal> para ‘<literal>top</literal>’, <literal>b</literal> para ‘<literal>bottom</literal>’ y <literal>p</literal> para +‘<literal>en una página de flotantes separada</literal>’. Para el efecto de estas +opciones en el algoritmo de colocación de flotantes, <link linkend="Flotantes">Flotantes</link>. +</para> +<para>La forma destacada <literal>figure*</literal> se usa cuando un documento está en +modo de doble columna (véase <link linkend="_005ctwocolumn">\twocolumn</link>). Produce una figura que +abarca ambas columnas, en la parte superior de la página. Para +agregar la posibilidad de colocar en la parte inferior de una página, +ve la discusión de <replaceable>placement</replaceable> <literal>b</literal> en <link linkend="Flotantes">Flotantes</link>. </para> <indexterm role="fn"><primary>\caption</primary></indexterm> -<para>La instrucción <literal>\caption</literal> especifica el <replaceable>texto</replaceable> del título de -la figura. El título de manera predeterminada lleva el número. Si -<replaceable>loftitle</replaceable> está presente, esta se utiliza en la lista de figuras en -lugar del <replaceable>texto</replaceable> (véase <link linkend="Tablas-de-Contenido">Tablas de Contenido</link>). -</para> -<!-- xx ¿secciones float-placement, float-caption? --> -<variablelist><indexterm role="fn"><primary>\bottomfraction</primary></indexterm> -<para>La fracción máxima de la página que se permite sea ocupada por flotantes -en la parte inferior; el predeterminado es ‘<literal>.3</literal>’. -</para> -<varlistentry><term><indexterm role="fn"><primary>\floatpagefraction</primary></indexterm><literal>\floatpagefraction</literal> -</term><listitem><para>La fracción mínima de una página flotante que deben ocupar los -flotantes; predeterminado a ‘<literal>.5</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\floatsep</primary></indexterm><literal>\floatsep</literal> -</term><listitem><para>Espacio entre flotantes en la parte superior o inferior de una página; -predeterminado a ‘<literal>12pt plus2pt minus2pt</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\intextsep</primary></indexterm><literal>\intextsep</literal> -</term><listitem><para>Espacio por encima y por debajo de un flotante en medio del texto -principal; predeterminado a ‘<literal>12pt plus2pt minus2pt</literal>’ para estilos de -‘<literal>10pt</literal>’ y ‘<literal>11pt</literal>’, ‘<literal>14pt plus4pt minus4pt</literal>’ para -‘<literal>12pt</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfloatsep</primary></indexterm><literal>\textfloatsep</literal> -</term><listitem><para>Espacio entre el último/primero flotante en la parte superior/inferior -de una página; de manera predeterminada a ‘<literal>20pt plus2pt minus4pt</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfraction</primary></indexterm><literal>\textfraction</literal> -</term><listitem><para>Mínima fracción de una página que debe ser texto; si los flotantes -ocupan mucho espacio preserva tanto texto como sea posible, para que los -flotantes sean trasladados a una página diferente. El predeterminado es -‘<literal>.2</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topfraction</primary></indexterm><literal>\topfraction</literal> -</term><listitem><para>Máxima fracción en la parte superior de una página que se puede ocupar -antes de los flotantes; el predeterminado es ‘<literal>.7</literal>’. -</para> -</listitem></varlistentry></variablelist> -<!-- begin vincentb1 20160403 --> +<para>La etiqueta es opcional; se usa para referencias cruzadas +(véase <link linkend="Referencias-cruzadas">Referencias cruzadas</link>). El comando opcional <literal>\caption</literal> +especifica el texto del título para la figura (véase <link linkend="_005ccaption">\caption</link>). De +manera predeterminada está numerado. Si <replaceable>loftitle</replaceable> está presente, +se usa en la lista de figuras en lugar de <replaceable>title</replaceable> (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de +contenido etc.</link>). +</para> +<para>Este ejemplo hace una figura a partir de un gráfico. &latex; +colocará ese gráfico y su título en la parte superior de una página o, +si se empuja al final del documento, en una página de flotantes. +</para> +<screen>\usepackage{graphicx} % en el preámbulo + ... +\begin{figure}[t] + \centering + \includegraphics[width=0.5\textwidth]{CTANlion.png} + \caption{El CTAN lion, por Duane Bibby} +\end{figure} +</screen> + </sect1> -<sect1 label="9.11" id="filecontents"> -<title><literal>filecontents</literal>: Crear un archivo externo</title> -<indexterm role="fn"><primary>entorno <literal>filecontents</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>filecontents</literal>, entorno</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>filecontents*</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>filecontents*</literal>, entorno</primary></indexterm> +<sect1 label="8.11" id="filecontents"> +<title><literal>filecontents</literal></title> + +<indexterm role="fn"><primary>environment, <literal>filecontents</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>filecontents</literal> environment</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>filecontents*</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>filecontents*</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>archivos externos, escritura</primary></indexterm> +<indexterm role="cp"><primary>escribiendo varios archivos desde la fuente.</primary></indexterm> <para>Sinopsis: </para> -<screen>\begin{filecontents}{<replaceable>nombre-del-archivo</replaceable>} -<replaceable>texto</replaceable> +<screen>\begin{filecontents}[<replaceable>option</replaceable>]{<replaceable>filename</replaceable>} + <replaceable>text</replaceable> \end{filecontents} </screen> <para>o </para> -<screen>\begin{filecontents*}{<replaceable>nombre-del-archivo</replaceable>} -<replaceable>texto</replaceable> +<screen>\begin{filecontents*}[<replaceable>option</replaceable>]{<replaceable>filename</replaceable>} + <replaceable>text</replaceable> \end{filecontents*} </screen> -<para>&latex; crea un archivo llamado <replaceable>nombre-del-archivo</replaceable> cuyo contenido -es <replaceable>texto</replaceable>. El entorno sin <literal>*</literal> pone comentario de cabecera ; -ver el ejemplo más abajo. Con <literal>*</literal> <literal>filecontents*</literal> no incluye -el comentario de cabecera. +<para>Crea un archivo llamado <replaceable>filename</replaceable> en el directorio actual (o el +directorio de salida, si se especifica; véase <link linkend="directorio-de-salida">directorio de salida</link>) +y escribir <replaceable>text</replaceable> en él. De forma predeterminada, un archivo +existente no se sobrescribe. +</para> +<para>La versión sin estrella del entorno <literal>filecontents</literal> prefija el +contenido del archivo creado con un encabezado de comentarios &tex;; +ve el siguiente ejemplo. La versión protagonista <literal>filecontents*</literal> +no incluye el encabezado. +</para> +<para>Las opciones posibles son:: +</para> +<variablelist><varlistentry><term><literal>force</literal> +</term><term><literal>overwrite</literal> +</term><listitem><indexterm role="cp"><primary><literal>force</literal> opción para <literal>filecontents</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>force</literal> opción para <literal>filecontents</literal></primary></indexterm> +<para>La opción <literal>overwrite</literal> para <literal>filecontents</literal> +Sobrescribe un archivo existente. +</para> +</listitem></varlistentry><varlistentry><term><literal>noheader</literal> +</term><listitem><indexterm role="cp"><primary>Opción <literal>noheader</literal> para <literal>filecontents</literal></primary></indexterm> +<para>Omite el encabezado. Equivale a usar <literal>filecontents*</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>nosearch</literal> +</term><listitem><indexterm role="cp"><primary>Opción <literal>nosearch</literal> para <literal>filecontents</literal></primary></indexterm> +<para>Solo verifica el directorio actual (y el directorio de salida, si se +ha especificado) para un archivo existente, no la ruta de búsqueda +completa. </para> -<para>Este entorno puede ser utilizado en cualquier lugar en el preámbulo, -aunque aparezca en general antes de la instrucción -<literal>\documentclass</literal>. Es típicamente utilizado cuando el archivo fuente -necesita un archivo no estándar de estilo o de clase. El entorno permite -escribir este archivo en el repertorio que contiene este archivo y así -de devolver el código fuente autónoma. Otra utilización es incluir -referencia al formato <literal>bib</literal> en el archivo fuente, lo mismo para -hacerlo autónomo. +</listitem></varlistentry></variablelist> +<para>Estas opciones se agregaron en una versión de &latex; de 2019. </para> -<para>El entorno verifica si un archivo con lo mismo nombre ya existe, y si -sí, no hace nada. Hay un paquete <filename>filecontents</filename> quién vuelve a -definir el entorno <literal>filecontents</literal> de modo que en lugar de no hacer -nada en este caso, sobrescribe en el archivo existente. +<indexterm role="cp"><primary>fuentes autónomas</primary></indexterm> +<indexterm role="cp"><primary>archivos fuente, que los convierte en autónomos</primary></indexterm> +<para>Este entorno se puede utilizar en cualquier parte del preámbulo, +aunque a menudo aparece antes del comando <literal>\documentclass</literal>. Esta +comúnmente se usa para crear un <literal>.bib</literal> u otro archivo de datos +similar desde el origen del documento principal, para que el archivo +fuente sea autónomo. Del mismo modo, se puede usar para crear un +estilo personalizado o un archivo de clase, nuevamente haciendo que la +fuente sea autónoma. </para> -<para>Por ejemplo, este documento +<para>Por ejemplo, este documento:: </para> <screen>\documentclass{article} \begin{filecontents}{JH.sty} -\newcommand{\minombre}{Jim Hef{}feron} +\newcommand{\myname}{Jim Hef{}feron} \end{filecontents} \usepackage{JH} \begin{document} -Un artículo de \minombre. +Artículo por \myname. \end{document} </screen> -<para>produce este archivo <filename>JH.sty</filename>. +<para>produce este archivo <filename>JH.sty</filename>: </para> -<screen>%% LaTeX2e file `JH.sty' -%% generated by the `filecontents' environment -%% from source `test' on 2015/10/12. +<screen>%% Archivo LaTeX2e `JH.sty' +%% generado por el entorno `filecontents' +%% de la fuente `test' el 12/10/2015. %% -\newcommand{\minombre}{Jim Hef{}feron} +\newcommand{\myname}{Jim Hef{}feron} </screen> -<!-- end vincentb1 20160403 --> - </sect1> -<sect1 label="9.12" id="flushleft"> +<sect1 label="8.12" id="flushleft"> <title><literal>flushleft</literal></title> -<indexterm role="fn"><primary>entorno <literal>flushleft</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>flushleft</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>justificar texto a la izquierda, entornos para</primary></indexterm> -<indexterm role="cp"><primary>texto irregular a la derecha, entorno para</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>flushleft</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>flushleft</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>texto justificado a la izquierda, entorno para</primary></indexterm> +<indexterm role="cp"><primary>texto justificado a la derecha irregular, entorno para</primary></indexterm> + +<para>Sinopsis: +</para> <screen>\begin{flushleft} -<replaceable>línea1</replaceable> \\ -<replaceable>línea2</replaceable> \\ -... + <replaceable>line1</replaceable> \\ + <replaceable>line2</replaceable> \\ + ... \end{flushleft} </screen> -<indexterm role="fn"><primary>\\ para <literal>flushleft</literal></primary></indexterm> -<para>El entorno <literal>flushleft</literal> le permite crear un párrafo consistente de -líneas que están alineadas en el margen de la mano izquierda y no están -justificadas a la derecha. Cada línea se debe terminar con <literal>\\</literal>. -</para> +<indexterm role="fn"><primary>\\ (para <literal>flushleft</literal>)</primary></indexterm> +<para>Un entorno que crea un párrafo cuyas líneas están al ras del margen +izquierdo e irregular al lado derecho. Si tienes filas demasiado +largas entonces &latex; las dividirá de una manera que evite la +separación silábica y alargar o achicar los espacios entre palabras. +Para forzar una nueva línea usa una doble barra invertida, <literal>\\</literal>. +Para la forma de declaración <link linkend="_005craggedright">\raggedright</link>. +</para> +<para>Esto crea un cuadro de texto que tiene como máximo 3 pulgadas de +ancho, con el texto alineado a la izquierda e irregular a la derecha. +</para> +<screen>\noindent\begin{minipage}{3in} +\begin{flushleft} + Una oración larga que será dividida por \LaTeX{} + en un lugar conveniente. \\ + Y, una nueva línea forzada por la doble barra invertida. +\end{flushleft} +\end{minipage} +</screen> + -<sect2 label="9.12.1" id="_005craggedright"> +<sect2 label="8.12.1" id="_005craggedright"> <title><literal>\raggedright</literal></title> + <indexterm role="fn"><primary>\raggedright</primary></indexterm> -<indexterm role="cp"><primary>texto irregular a la derecha</primary></indexterm> -<indexterm role="cp"><primary>justificando texto a la izquierda</primary></indexterm> -<indexterm role="cp"><primary>justificación, alineando a la derecha</primary></indexterm> +<indexterm role="cp"><primary>texto justificado a la derecha irregular</primary></indexterm> +<indexterm role="cp"><primary>texto justificado a la izquierda</primary></indexterm> +<indexterm role="cp"><primary>justificación, irregular a la derecha</primary></indexterm> -<para>La declaración <literal>\raggedright</literal> corresponde al entorno -<literal>flushleft</literal>. Esta declaración se puede utilizar dentro de un -entorno tal como <literal>quote</literal> o en un <literal>parbox</literal>. +<para>Sinopsis: </para> -<para>A diferencia del entorno <literal>flushleft</literal>, la instrucción -<literal>\raggedright</literal> no comienza un nuevo párrafo; esta únicamente cambia -como aplica &latex; el formato a las unidades de párrafo. Para afectar -el formato de la unidad párrafo, el alcance de la declaración debe -contener una línea en blanco o la instrucción <literal>\end</literal> que termina la -unidad de párrafo. +<screen>{\raggedright ... } +</screen> +<para>o </para> +<screen>\begin{<replaceable>environment</replaceable>} \raggedright + ... +\end{<replaceable>environment</replaceable>} +</screen> +<para>Una declaración que hace que las líneas queden al ras del margen +izquierdo e irregular a la derecha. Se puede usar dentro de un +<replaceable>environment</replaceable> como <literal>quote</literal> o en un <literal>parbox</literal>. Para la +forma del entorno <link linkend="flushleft">flushleft</link>. +</para> +<para>A diferencia del entorno <literal>flushleft</literal>, <literal>\raggedright</literal> el +comando no inicia un nuevo párrafo; solo cambia en cómo &latex; da +formato a las unidades de párrafo. Para afectar el formato de una +unidad de párrafo, el alcance de la declaración debe contener la línea +en blanco o el comando <literal>\end</literal> que finaliza la unidad de párrafo. +</para> +<para>Aquí <literal>\raggedright</literal> en cada segunda columna evita que &latex; +haga una composición tipográfica incómoda para encajar el texto en la +columna reducida. Ten en cuenta que <literal>\raggedright</literal> está dentro +de llaves <literal>{...}</literal> para delimitar su efecto. +</para> +<screen>\begin{tabular}{rp{2in}} + Equipo alfa &{\raggedright Este equipo hace todo el trabajo real.} \\ + Equipo beta &{\raggedright Este equipo se asegura de que el + enfriador de agua nunca esté vacío.} \\ +\end{tabular} +</screen> </sect2> </sect1> -<sect1 label="9.13" id="flushright"> +<sect1 label="8.13" id="flushright"> <title><literal>flushright</literal></title> -<indexterm role="fn"><primary>entorno <literal>flushright</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>flushright</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>texto irregular a la izquierda, entorno para</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>flushright</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>flushright</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>texto izquierdo irregular, entorno para</primary></indexterm> <indexterm role="cp"><primary>justificar texto a la derecha, entorno para</primary></indexterm> <screen>\begin{flushright} -<replaceable>línea1</replaceable> \\ -<replaceable>línea2</replaceable> \\ -... + <replaceable>line1</replaceable> \\ + <replaceable>line2</replaceable> \\ + ... \end{flushright} </screen> <indexterm role="fn"><primary>\\ (para <literal>flushright</literal>)</primary></indexterm> -<para>El entorno <literal>flushright</literal> le permite crear un párrafo consistente de -líneas que están alineadas en el margen a mano derecha e irregulares a -la izquierda. Cada línea se debe terminar con <literal>\\</literal>. +<para>Un entorno que crea un párrafo cuyas líneas están al ras del margen +derecho e irregular al izquierdo. Si tienes filas demasiado largas +para ajustarse a los márgenes, entonces &latex; los dividirá de una +manera que evita la división con guiones y la ampliación o reducción +de los espacios entre palabras. Para forzar una nueva línea usa una +barra invertida doble, <literal>\\</literal>. Para la forma de +declaración <link linkend="_005craggedleft">\raggedleft</link>. +</para> +<para>Para ver un ejemplo relacionado con este entorno, <link linkend="flushleft">flushleft</link>, +donde uno solo tiene mutatis mutandis para reemplazar <literal>flushleft</literal> +por <literal>flushright</literal>. </para> -<sect2 label="9.13.1" id="_005craggedleft"> +<sect2 label="8.13.1" id="_005craggedleft"> <title><literal>\raggedleft</literal></title> + <indexterm role="fn"><primary>\raggedleft</primary></indexterm> -<indexterm role="cp"><primary>texto irregular a la izquierda</primary></indexterm> -<indexterm role="cp"><primary>justificación, irregular a la izquierda</primary></indexterm> -<indexterm role="cp"><primary>texto justificado a la derecha</primary></indexterm> +<indexterm role="cp"><primary>texto alineado a la izquierda irregular</primary></indexterm> +<indexterm role="cp"><primary>justificación, desigual izquierda</primary></indexterm> +<indexterm role="cp"><primary>justificación de texto a la derecha</primary></indexterm> -<para>La declaración <literal>\raggedleft</literal> corresponde al entorno -<literal>flushright</literal>. Esta declaración se puede utilizar dentro de un -entorno tal como <literal>quote</literal> o en un <literal>parbox</literal>. +<para>Sinopsis: +</para> +<screen>{\raggedleft ... } +</screen> +<para>o +</para> +<screen>\begin{<replaceable>environment</replaceable>} \raggedleft + ... +\end{<replaceable>environment</replaceable>} +</screen> +<para>Una declaración que hace que las líneas queden al ras del margen +derecho e izquierdo irregular. Se puede usar dentro de un +<replaceable>environment</replaceable> como <literal>quote</literal> o en un <literal>parbox</literal>. Para la +forma del entorno <link linkend="flushright">flushright</link>. </para> -<para>A diferencia del entorno <literal>flushright</literal>, la instrucción -<literal>\raggedleft</literal> no comienza un nuevo párrafo; esta únicamente cambia -como aplica &latex; el formato a las unidades de párrafo. Para afectar -el formato de la unidad párrafo, el alcance de la declaración debe -contener una línea en blanco o la instrucción <literal>\end</literal> que termina la -unidad de párrafo. +<para>A diferencia del entorno <literal>flushright</literal>, <literal>\raggedleft</literal> el +comando no inicia un nuevo párrafo; solo cambia cómo &latex; da +formato a las unidades de párrafo. Para afectar el formato de una +unidad de párrafo, el alcance de la declaración debe contener la línea +en blanco o el comando <literal>\end</literal> que finaliza la unidad de párrafo. +</para> +<para>Para ver un ejemplo relacionado con este entorno, + <link linkend="_005craggedright">\raggedright</link>, donde uno solo tiene mutatis mutandis para +reemplazar <literal>\raggedright</literal> por <literal>\raggedleft</literal>. </para> </sect2> </sect1> -<sect1 label="9.14" id="itemize"> +<sect1 label="8.14" id="itemize"> <title><literal>itemize</literal></title> -<indexterm role="fn"><primary>entorno <literal>itemize</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>itemize</literal>, entorno</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>itemize</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>itemize</literal> environment</primary></indexterm> + <indexterm role="fn"><primary>\item</primary></indexterm> <indexterm role="cp"><primary>listas de elementos</primary></indexterm> <indexterm role="cp"><primary>listas no ordenadas</primary></indexterm> <indexterm role="cp"><primary>listas con viñetas</primary></indexterm> +<indexterm role="cp"><primary>listas de viñetas</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{itemize} -\item <replaceable>elemento1</replaceable> -\item <replaceable>elemento2</replaceable> -... + \item[<replaceable>etiqueta opcional del primer elemento</replaceable>] <replaceable>texto del + primer elemento</replaceable> + \item[<replaceable>etiqueta opcional del segundo elemento</replaceable>] <replaceable>texto del + segundo elemento</replaceable> + ... \end{itemize} </screen> -<para>El entorno <literal>itemize</literal> produce una lista “no ordenada”, “con -viñetas”. Se pueden anidar entorno itemize dentro de otros, hasta -cuatro niveles de profundidad. También se pueden anidar en otros -entornos que marcan párrafos, tal como <literal>enumerate</literal> -(véase <link linkend="enumerate">enumerate</link>). +<para>Produce una <firstterm>lista desordenada</firstterm>, a veces denominada lista con +viñetas. Ahí debe haber al menos un <literal>\item</literal> dentro del entorno; +no tiene ninguna causa el error &latex; ‘<literal>Algo anda mal, tal vez +un \item faltante</literal>’. +</para> +<para>Esto da una lista de dos elementos. </para> -<para>Cada elemento de una lista <literal>itemize</literal> comienza con una instrucción -<literal>\item</literal>. En el entorno por lo menos debe haber una instrucción -<literal>\item</literal>. +<screen>\begin{itemize} + \item Dibujo a lápiz y acuarela por Cassandra + \item Retrato de arroz +\end{itemize} +</screen> +<para>Con la configuración regional predeterminada — sin cargar, por +ejemplo, el paquete <literal>babel</literal> con otro idioma que no sea +inglés—como una lista de nivel superior cada etiqueta saldría como +una viñeta, •. El formato del etiquetado depende del nivel de +anidamiento; ve abajo. </para> -<para>De forma predeterminada, las marcas en cada nivel tienen esta -apariencia: +<indexterm role="fn"><primary>\item</primary></indexterm> +<para>Inicia la lista de elementos con el comando <literal>\item</literal> +(véase <link linkend="_005citem">\item</link>). Si le das a <literal>\item</literal> un argumento opcional entre +corchetes siguiéndolo, como en <literal>\item[<replaceable>Etiqueta optional</replaceable>]</literal>, +entonces de manera predeterminada <replaceable>Etiqueta opcional</replaceable> aparecerá en +negrita y alineada a la derecha, por lo que se podría extender hasta +el margen izquierdo. Para las etiquetas que están niveladas a la +izquierda, consulta el entorno <link linkend="description">description</link>. Después del +<literal>\item</literal> está el texto del elemento, que puede estar vacío o +contener varios párrafos. +</para> +<para>Las listas desordenadas se pueden anidar una dentro de otra, hasta +cuatro niveles de profundidad. También se pueden anidar en otros +entornos de creación de párrafos, como <literal>enumerate</literal> +(véase <link linkend="enumerate">enumerate</link>). </para> -<orderedlist numeration="arabic"><listitem><para>• (bala) -</para></listitem><listitem><para><emphasis role="bold">--<!-- /@w --></emphasis> (guión en negrita) -</para></listitem><listitem><para>* (asterisco) -</para></listitem><listitem><para>. (punto centrado, aquí representado como un punto) -</para></listitem></orderedlist> <indexterm role="fn"><primary>\labelitemi</primary></indexterm> <indexterm role="fn"><primary>\labelitemii</primary></indexterm> <indexterm role="fn"><primary>\labelitemiii</primary></indexterm> <indexterm role="fn"><primary>\labelitemiv</primary></indexterm> -<para>El entorno <literal>itemize</literal> utiliza las instrucciones desde -<literal>\labelitemi</literal> hasta <literal>\labelitemiv</literal> para producir la etiqueta -predeterminada. De modo que, usted puede usar <literal>\renewcommand</literal> para -cambiar las etiquetas. Por ejemplo, para que en primer nivel utilice -diamantes: +<anchor id="itemize-labelitemi"/><anchor id="itemize-labelitemii"/><anchor id="itemize-labelitemiii"/><anchor id="itemize-labelitemiv"/><para>El entorno +<literal>itemize</literal> usa los comandos <literal>\labelitemi</literal> a través de +<literal>\labelitemiv</literal> para generar la etiqueta predeterminada (ten en +cuenta la convención de números romanos en minúsculas al final de los +nombres de los comandos que significan el nivel de anidamiento). +Estas son las marcas predeterminadas en cada nivel. +</para> +<orderedlist numeration="arabic"><listitem><para>• (bullet, de <literal>\textbullet</literal>) +</para></listitem><listitem><para><emphasis role="bold">--<!-- /@w --></emphasis> (bold en-dash, de <literal>\normalfont\bfseries\textendash</literal>) +</para></listitem><listitem><para>* (asterisco, de <literal>\textasteriskcentered</literal>) +</para></listitem><listitem><para>. (verticalmente centrado dot, representado aquí como un punto, de <literal>\textperiodcentered</literal>) +</para></listitem></orderedlist> +<para>Cambia las etiquetas con <literal>\renewcommand</literal>. Por ejemplo, esto hace +que el primer nivel use diamantes. </para> <screen>\renewcommand{\labelitemi}{$\diamond$} </screen> @@ -1669,769 +5432,1755 @@ diamantes: <indexterm role="fn"><primary>\leftmarginiv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginv</primary></indexterm> <indexterm role="fn"><primary>\leftmarginvi</primary></indexterm> -<para>Los parámetros desde <literal>\leftmargini</literal> hasta <literal>\leftmarginvi</literal> -definen la distancia entre el margen izquierdo del entorno envolvente y -el margen izquierdo de la lista. Por convención, <literal>\leftmargin</literal> se -fija al <literal>\leftmargin<replaceable>N</replaceable></literal> adecuado cuando ingresa a un nuevo -nivel de anidamiento. +<anchor id="itemize-leftmargin"/><anchor id="itemize-leftmargini"/><anchor id="itemize-leftmarginii"/><anchor id="itemize-leftmarginiii"/><anchor id="itemize-leftmarginiv"/><anchor id="itemize-leftmarginv"/><anchor id="itemize-leftmarginvi"/><para>La distancia entre el margen izquierdo +del entorno envolvente y el margen izquierdo de la lista +<literal>itemize</literal> está determinado por el parámetros <literal>\leftmargini</literal> +a <literal>\leftmarginvi</literal>. (Esto también usa la convención de usar +números romanos en minúsculas al final del nombre del comando para +indicar el nivel de anidamiento). Los valores predeterminados son: +<literal>2.5em</literal> en el nivel 1 (<literal>2em</literal> en modo de dos columnas), +<literal>2.2em</literal> en el nivel 2, <literal>1.87em</literal> en el nivel 3 y <literal>1.7em</literal> +en el nivel 4, con valores más pequeños para niveles anidados más +profundos. +</para> +<indexterm role="cp"><primary>package, <literal>enumitem</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>enumitem</literal> package</primary></indexterm> +<para>Para otros entornos principales de listas +etiquetadas &latex;, <link linkend="description">description</link> y <link linkend="enumerate">enumerate</link>. +<literal>itemize</literal>, los entornos <literal>enumerate</literal> y <literal>description</literal> +usan la misma lista de parámetros de diseño. Para obtener una +descripción, incluidos los valores predeterminados, y para obtener +información sobre cómo personalizar el diseño de la lista, <link linkend="list">list</link>. +El paquete <literal>enumitem</literal> es útil para personalizar listas. +</para> +<para>Este ejemplo reduce en gran medida el espacio del margen para los +elementos detallados más externos de listas. +</para> +<screen>\setlength{\leftmargini}{1.25em} % predeterminado 2.5em +</screen> +<indexterm role="fn"><primary>\parskip ejemplo</primary></indexterm> +<para>Especialmente para listas con artículos cortos, puede ser deseable +eludir espacio entre elementos. Aquí hay un ejemplo que define un +entorno <literal>itemize*</literal> sin espacios adicionales entre elementos o +entre párrafos dentro de un solo elemento (<literal>\parskip</literal> no es +específico de la lista, véase <link linkend="_005cparindent-y-_005cparskip">\parindent y \parskip</link>): </para> +<screen>\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} +</screen> -<para>El predeterminado varía desde ‘<literal>.5em</literal>’ (el nivel de anidamiento -superior) a ‘<literal>2.5em</literal>’ (el primer nivel), y se reduce un poco en modo -two-column. En este ejemplo se reduce mucho el espacio del margen para -las listas anidadas: +</sect1> +<sect1 label="8.15" id="letter"> +<title>entorno <literal>letter</literal>: escribir cartas</title> + +<indexterm role="fn"><primary>environment, <literal>letter</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>letter</literal> environment</primary></indexterm> + + +<para>Este entorno se utiliza para crear cartas. Véase <link linkend="Cartas">Cartas</link>. </para> -<screen>\setlength{\leftmargini}{1.25em} % predeterminado 2.5em + +</sect1> +<sect1 label="8.16" id="list"> +<title><literal>list</literal></title> + +<indexterm role="fn"><primary>environment, <literal>list</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>list</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>listas de elementos, genérica</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\begin{list}{<replaceable>labeling</replaceable>}{<replaceable>spacing</replaceable>} + \item[<replaceable>etiqueta opcional del primer elemento</replaceable>] <replaceable>texto del + primer elemento</replaceable> + \item[<replaceable>etiqueta opcional del segundo elemento</replaceable>] <replaceable>texto del + segundo elemento</replaceable> + ... +\end{list} +</screen> +<para>Un entorno para la construcción de listas. +</para> +<para>Ten en cuenta que este entorno no suele aparecer en el cuerpo del +documento. La mayoría de las listas creadas por los autores de +&latex; son las que vienen estándar: los entornos <literal>description</literal>, +<literal>enumerate</literal> e <literal>itemize</literal> (véase <link linkend="description">description</link>, +<link linkend="enumerate">enumerate</link> y <link linkend="itemize">itemize</link>). +</para> +<para>En cambio, el entorno <literal>list</literal> se usa con mayor frecuencia en +macros. Por ejemplo, muchos entornos &latex; estándar que no +funcionan inmediatamente parecen ser listas, de hecho están +construidos usando <literal>list</literal>, incluyendo <literal>quotation</literal>, +<literal>quote</literal> y <literal>center</literal> (véase <link linkend="comillas-y-citas">comillas y citas</link>, +véase <link linkend="center">center</link>). +</para> +<para>Este usa el entorno <literal>list</literal> para definir un nuevo entorno +personalizado. +</para> +<screen>\newcounter{namedlistcounter} % número de elementos +\newenvironment{named} + {\begin{list} + {Item~\Roman{namedlistcounter}.} % etiquetado + {\usecounter{namedlistcounter} % establece el contador + \setlength{\leftmargin}{3.5em}} % establece el espaciado + } + {\end{list}} + +\begin{named} + \item Se muestra como ``Item~I.'' + \item[Etiqueta especial.] Se muestra como ``Etiqueta especial.'' + \item Se muestra como ``Item~II.'' +\end{named} </screen> -<!-- xx debe estar en su propia sección genérica --> -<para>Algunos parámetros que afectan el formato de la lista: +<para>El primer argumento obligatorio <replaceable>labeling</replaceable> especifica el valor +predeterminado de etiquetado de los elementos de la lista. Puede +contener comandos de texto y &latex;, como arriba donde contiene +‘<literal>Item</literal>’ y ‘<literal>\Roman{…}</literal>’. &latex; forma la etiqueta +poniendo el argumento <replaceable>labeling</replaceable> en un cuadro de ancho +<literal>\labelwidth</literal>. Si la etiqueta es más ancha que eso, el material +adicional se extiende a la derecha. Al hacer una instancia de una +<literal>list</literal> puedes redefinir el etiquetado predeterminado dando a +<literal>\item</literal> un argumento opcional al incluir corchetes y el texto, +como en la <literal>\item[Etiqueta especial.]</literal>; véase <link linkend="_005citem">\item</link>. +</para> +<para>El segundo argumento obligatorio <replaceable>spacing</replaceable> tiene una lista de +comandos. Esta lista puede estar vacía. Un comando que puede entrar +aquí es <literal>\usecounter{<replaceable>countername</replaceable>}</literal> (véase <link linkend="_005cusecounter">\usecounter</link>). +Utiliza este diciéndole a &latex; que numere los elementos usando el +contador dado. El contador se restablecerá a cero cada vez que +&latex; ingrese al entorno, y el contador se incrementa en uno cada +vez que &latex; encuentra un <literal>\item</literal> que no tiene un argumento +opcional. +</para> +<indexterm role="fn"><primary>\makelabel</primary></indexterm> +<anchor id="list-makelabel"/><para>Otro comando que puede ir en <replaceable>spacing</replaceable> es +<literal>\makelabel</literal>, que construye el cuadro de etiquetas. De manera +predeterminada pone el contenido volcado a la derecha. Su único +argumento es la etiqueta, que composiciones tipográficas en modo LR +(véase <link linkend="Modos">Modos</link>). Un ejemplo de cambiar su definición es la del ejemplo +del <literal>named</literal> anterior, antes de la definición del entorno añade +<literal>\newcommand{\namedmakelabel}[1]{\textsc{#1}}</literal>, y entre el +comando <literal>\setlength</literal> y el paréntesis que cierra el argumento +<replaceable>spacing</replaceable> también agrega <literal>\let\makelabel\namedmakelabel</literal>. +Luego, las etiquetas se compondrán en versalitas. Del mismo modo, +cambiando la segunda línea del código a <literal>\let\makelabel\fbox</literal> +pone las etiquetas dentro de una caja enmarcada. A continuación se +muestra otro ejemplo del comando <literal>\makelabel</literal>, en la definición +del entorno <literal>redlabel</literal>. +</para> +<para>También a menudo en <replaceable>spacing</replaceable> hay comandos para redefinir el +espacio para la lista. A continuación se muestran los parámetros de +espaciado con sus valores predeterminados. (Los valores +predeterminados para entornos derivados como <literal>itemize</literal> pueden ser +diferentes a los valores que se muestran aquí). Consulta también la +siguiente figura de lista. Cada uno tiene una longitud +(véase <link linkend="Longitudes">Longitudes</link>). Los espacios verticales normalmente son +longitudes elásticas, con componentes <literal>plus</literal> y <literal>minus</literal>, para +darle flexibilidad a &tex; en la configuración de la página. Cambiar +cada uno con un comando como <literal>\setlength{itemsep}{2pt plus1pt +minus1pt}</literal>. Para algunos efectos, estas longitudes deben ser cero o +negativas. </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\itemindent</primary></indexterm><literal>\itemindent</literal> -</term><listitem><para>Sangrado extra antes de cada elemento de una lista; predeterminado a -cero. +</term><listitem><anchor id="lista-itemindent"/><para>Sangría de espacio horizontal adicional, más +allá de <literal>leftmargin</literal>, de la primera línea de cada elemento. Su +valor predeterminado es <literal>0pt</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\itemsep</primary></indexterm><literal>\itemsep</literal> +</term><listitem><anchor id="lista-itemsep"/><para>Espacio vertical entre elementos, más allá del +<literal>\parsep</literal>. Los valores predeterminados para los tres primeros +niveles en las clases &latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ y +‘<literal>report</literal>’ con un tamaño de 10 puntos son: <literal>4pt plus2pt minus +1pt</literal>, <literal>\parsep</literal> (es decir, <literal>2pt plus 1pt minus 1pt</literal>), y +<literal>\topsep</literal> (es decir, <literal>2pt plus 1pt minus 1pt</literal>). Los valores +predeterminados en 11 puntos son: <literal>4.5pt plus 2pt minus 1pt</literal>, +<literal>\parsep</literal> (es decir, <literal>2pt plus 1pt minus 1pt</literal>) y +<literal>\topsep</literal> (es decir, <literal>2pt plus 1pt minus 1pt</literal>). Los valores +predeterminados en 12 puntos son: <literal>5pt plus 2.5pt minus 1pt</literal>, +<literal>\parsep</literal> (es decir, <literal>2.5pt plus 1pt minus 1pt</literal>), y +<literal>\topsep</literal> (es decir, <literal>2.5pt plus 1pt minus 1pt</literal>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelsep</primary></indexterm><literal>\labelsep</literal> -</term><listitem><para>Espacio entre la etiqueta y el texto de un elemento; predeterminado a -‘<literal>.5em</literal>’. +</term><listitem><anchor id="lista-labelsep"/><para>Espacio horizontal entre la etiqueta y el +texto de un elemento. El valor predeterminado para las clases +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’, y ‘<literal>report</literal>’ es <literal>0.5em</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\labelwidth</primary></indexterm><literal>\labelwidth</literal> -</term><listitem><para>Ancho de la etiqueta; predeterminado a ‘<literal>2em</literal>’, o ‘<literal>1.5em</literal>’ en -modo two-column. +</term><listitem><anchor id="lista-labelwidth"/><para>Ancho horizontal. La caja que contiene la +etiqueta nominalmente es así de ancha. Si <literal>\makelabel</literal> devuelve +un texto más ancho que este, entonces la primera línea del elemento se +sangrará para dejar espacio para este material adicional. Si +<literal>\makelabel</literal> devuelve texto de ancho menor o igual que +<literal>\labelwidth</literal> entonces el valor predeterminado de &latex; es que +la etiqueta está compuesta al ras en una caja de este ancho. +</para> +<para>El borde izquierdo del cuadro de etiqueta es +<literal>\leftmargin</literal>+<literal>\itemindent</literal>-<literal>\labelsep</literal>-<literal>\labelwidth</literal> +del margen izquierdo del entorno envolvente. +</para> +<para>El valor predeterminado para las clases ‘<literal>article</literal>’, ‘<literal>book</literal>’ y +‘<literal>report</literal>’ de &latex; en el nivel superior es +<literal>\leftmargini</literal>-<literal>\labelsep</literal>, (que es <literal>2em</literal> en modo una +columna y <literal>1.5em</literal> en modo de dos columnas). En el segundo nivel +es <literal>\leftmarginii</literal>-<literal>\labelsep</literal>, y en el tercer nivel es +<literal>\leftmarginiii</literal>-<literal>\labelsep</literal>. Estas definiciones hacen que +el borde izquierdo de la etiqueta coincida con el margen izquierdo del +entorno envolvente. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftmargin</primary></indexterm><literal>\leftmargin</literal> +</term><listitem><anchor id="lista-leftmargin"/><para>Espacio horizontal entre el margen izquierdo +del entorno envolvente (o el margen izquierdo de la página si se trata +de una lista de nivel superior), y el margen izquierdo de esta lista. +No debe ser negativo. +</para> +<para>En las clases de documentos estándar de &latex;, una lista de nivel +superior tiene este conjunto al valor de <literal>\leftmargini</literal>, mientras +que una lista anidada dentro una lista de nivel superior tiene este +margen establecido en <literal>\leftmarginii</literal>. Las listas más +profundamente anidadas obtienen los valores de <literal>\leftmarginiii</literal> a +través de <literal>\leftmarginvi</literal>. (La anidación superior al nivel cinco +genera el mensaje de error ‘<literal>Anidado demasiado profundo</literal>’). +</para> +<para>Los valores predeterminados para los primeros tres niveles en las clases +&latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ y ‘<literal>report</literal>’ son: <literal>\leftmargini</literal> es +<literal>2.5em</literal> (en modo de dos columnas, <literal>2em</literal>), <literal>\leftmarginii</literal> +es +<literal>2.2em</literal> y <literal>\leftmarginiii</literal> es <literal>1.87em</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\listparindent</primary></indexterm><literal>\listparindent</literal> -</term><listitem><para>Sangría extra añadida al segundo y subsecuentes párrafos, dentro de un -elemento de la lista; predeterminado a ‘<literal>0pt</literal>’. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightmargin</primary></indexterm><literal>\rightmargin</literal> -</term><listitem><para>Distancia horizontal entre el margen derecho de la lista y el entorno -envolvente; de manera predeterminada ‘<literal>0pt</literal>’, salbo en los entornos -<literal>quote</literal>, <literal>quotation</literal> y <literal>verse</literal>, donde se hace igual a -<literal>\leftmargin</literal>. +</term><listitem><anchor id="lista-listparindent"/><para>Espacio horizontal de sangría de línea +adicional, más allá de <literal>\leftmargin</literal>, para el segundo y +posteriores párrafos dentro de una lista <literal>item</literal>. Un valor +negativo lo convierte en “outdent”. Su valor predeterminado es +<literal>0pt</literal>. </para> -</listitem></varlistentry></variablelist> -<para>Parámetros que afectan el espaciamiento vertical entre elementos de la -lista (más bien libre, de manera predeterminada). +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parsep</primary></indexterm><literal>\parsep</literal> +</term><listitem><anchor id="lista-parsep"/><para>Espacio vertical entre párrafos dentro de un +elemento. Los valores predeterminados para los primeros tres niveles +en las clases &latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ y ‘<literal>report</literal>’ con +un tamaño de 10 puntos son: <literal>4pt plus 2pt minus 1pt</literal>, <literal>2pt +plus 1pt minus 1pt</literal> y <literal>0pt</literal>. Los valores predeterminados en +tamaño de 11 puntos son: <literal>4.5pt plus 2pt minus 1pt</literal>, <literal>2pt +plus1pt minus1pt</literal>, y <literal>0pt</literal>. Los valores predeterminados en +tamaño de 12 puntos son: <literal>5pt plus 2.5pt minus 1pt</literal>, <literal>2.5pt +plus 1pt minus 1pt</literal> y <literal>0pt</literal>. </para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\itemsep</primary></indexterm><literal>\itemsep</literal> -</term><listitem><para>Espacio vertical entre elementos. El predeterminado es <literal>2pt -plus1pt minus1pt</literal> para <literal>10pt</literal> documentos, <literal>3pt plus2pt -minus1pt</literal> para <literal>11pt</literal> y <literal>4.5pt plus2pt minus1pt</literal> para -<literal>12pt</literal>. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><literal>\partopsep</literal> +</term><listitem><anchor id="lista-partopsep"/><para>Espacio vertical agregado, más allá de +<literal>\topsep</literal>+<literal>\parskip</literal>, en la parte superior y la parte +inferior de todo el entorno si la instancia de la lista está precedida +por una línea en blanco. (Una línea en blanco en la fuente &latex; +antes de la lista cambia el espaciado en la parte superior e inferior +de la lista; si la línea siguiente a la lista está en blanco, no +importa). +</para> +<para>Los valores predeterminados para los primeros tres niveles en las +clases &latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ y ‘<literal>report</literal>’ con un +tamaño de 10 puntos son: <literal>2pt plus 1pt minus 1pt</literal>, <literal>2pt plus +1pt minus 1pt</literal> y <literal>1pt plus0pt minus1pt</literal>. Los valores +predeterminados en 11 puntos son: <literal>3pt plus1pt minus1pt</literal>, +<literal>3pt plus 1pt minus 1pt</literal> y <literal>1pt plus0pt minus 1pt</literal>). Los +valores predeterminados en 12 puntos son: <literal>3pt plus 2pt minus +3pt</literal>, <literal>3pt plus 2pt minus 2pt</literal> y <literal>1pt plus0pt minus 1pt</literal>. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parsep</primary></indexterm><literal>\parsep</literal> -</term><listitem><para>Espacio vertical extra entre párrafos dentro de un elemento de la lista. -Los predeterminados son los mismos que para <literal>\itemsep</literal>. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightmargin</primary></indexterm><literal>\rightmargin</literal> +</term><listitem><anchor id="lista-rightmargin"/><para>Espacio horizontal entre el margen derecho +de la lista y el margen derecho del entorno envolvente. Su valor +predeterminado es <literal>0pt</literal>. No debe ser negativo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\topsep</primary></indexterm><literal>\topsep</literal> -</term><listitem><para>Espacio vertical entre el primer elemento y el párrafo anterior. +</term><listitem><anchor id="lista-topsep"/><para>Espacio vertical agregado a la parte superior e +inferior de la lista, además a <literal>\parskip</literal> (véase <link linkend="_005cparindent-y-_005cparskip">\parindent y +\parskip</link>). Los valores predeterminados para los tres primeros +niveles en las clases &latex; ‘<literal>article</literal>’, ‘<literal>book</literal>’ y +‘<literal>report</literal>’ con un tamaño de 10 puntos son: <literal>8pt plus 2pt minus +4pt</literal>, <literal>4pt plus 2pt minus 1pt</literal> y <literal>2pt plus 1pt minus 1pt</literal>. +Los valores predeterminados en 11 puntos son: <literal>9pt plus 3pt minus +5pt</literal>, <literal>4.5pt plus 2pt minus 1pt</literal> y <literal>2pt plus 1pt minus 1pt</literal>. +Los valores predeterminados para 12 puntos son: <literal>10pt plus 4pt +minus 6pt</literal>, <literal>5pt plus 2.5pt minus 1pt</literal>, y <literal>2.5pt plus 1pt +minus 1pt</literal>. </para> -<para>Para listas de nivel superior, el predeterminado es -<literal>8pt plus2pt minus4pt</literal> para <literal>10pt</literal> documentos, -<literal>9pt plus3pt minus5pt</literal> para <literal>11pt</literal> y -<literal>10pt plus4pt minus6pt</literal> para <literal>12pt</literal>. Estos se reducen -en listas anidadas. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partopsep</primary></indexterm><literal>\partopsep</literal> -</term><listitem><para>Espacio extra añadido a <literal>\topsep</literal> cuando el entorno lista comienza -un párrafo. El valor predeterminado es <literal>2pt plus1pt minus1pt</literal> para -<literal>10pt</literal> documentos, <literal>3pt plus1pt minus1pt</literal> para <literal>11pt</literal> y -<literal>3pt plus2pt minus2pt</literal> para <literal>12pt</literal>. +</listitem></varlistentry></variablelist> +<para>Esto muestra las distancias horizontal y vertical. +</para> +<informalfigure><mediaobject><imageobject><imagedata fileref="latex2e-figures/list.eps" format="EPS"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.pdf" format="PDF"></imagedata></imageobject><imageobject><imagedata fileref="latex2e-figures/list.png" format="PNG"></imagedata></imageobject><textobject><literallayout>....................................................................... +..............Surrounding environment, preceding material.............. - + | v0 + |---h0--|-h1-| | + ..Label.. .....First item..................................... - + ............................................................ + ............................................................ - + | v1 + ........First item, second paragraph .................. - + |-h2-| | v2 + | + ..Label.. .....Second item.................................... - + ............................................................ + ............................................................ - +|-h3--|-h4-| |-h5-| |v3 + | +..............Surrounding environment, following material.............. - +.......................................................................</literallayout></textobject></mediaobject></informalfigure> + +<para>Las longitudes que se muestran se enumeran a continuación. La +relación clave es que el borde derecho del paréntesis para <replaceable>h1</replaceable> es +igual al borde derecho del corchete para <replaceable>h4</replaceable>, de modo que el +borde izquierdo del cuadro de etiqueta esté en +<replaceable>h3</replaceable>+<replaceable>h4</replaceable>-(<replaceable>h0</replaceable>+<replaceable>h1</replaceable>). +</para> +<variablelist><varlistentry><term><replaceable>v0</replaceable> +</term><listitem><para><inlineequation><mathphrase><literal>\topsep</literal> + <literal>\parskip</literal></mathphrase></inlineequation> si el entorno de la lista no +comienza un nuevo párrafo, y +<literal>\topsep</literal>+<literal>\parskip</literal>+<literal>\partopsep</literal> si lo comienza +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v1</replaceable> +</term><listitem><para><literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v2</replaceable> +</term><listitem><para><literal>\itemsep</literal>+<literal>\parsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>v3</replaceable> +</term><listitem><para>Igual que <replaceable>v0</replaceable>. (Este espacio se ve afectado por si una línea en +blanco aparece en la fuente por encima del entorno; si una línea en +blanco aparece en la fuente debajo del entorno no importa). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h0</replaceable> +</term><listitem><para><literal>\labelwidth</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h1</replaceable> +</term><listitem><para><literal>\labelsep</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h2</replaceable> +</term><listitem><para><literal>\listparindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h3</replaceable> +</term><listitem><para><literal>\leftmargin</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h4</replaceable> +</term><listitem><para><literal>\itemindent</literal> +</para> +</listitem></varlistentry><varlistentry><term><replaceable>h5</replaceable> +</term><listitem><para><literal>\rightmargin</literal> </para> </listitem></varlistentry></variablelist> -<indexterm role="fn"><primary>ejemplo \parskip</primary></indexterm> -<para>Sobre todo para listas con elementos cortos, puede ser conveniente -eludir los espacios entre ellos. He aquí un ejemplo de una definición -del entorno <literal>itemize*</literal> sin espacio extra entre elementos o entre -párrafos dentro de un solo elemento (<literal>\parskip</literal> no es específico de -la lista, véase <link linkend="_005cparskip">\parskip</link>): +<para>Los márgenes izquierdo y derecho de la lista, que se muestran arriba +como <replaceable>h3</replaceable> y <replaceable>h5</replaceable>, son con respecto a las proporcionadas por el +entorno circundante, o con respecto a los márgenes de página para una +lista de nivel superior. El ancho de línea utilizado para componer +los elementos de la lista es <literal>\linewidth</literal> (véase <link linkend="Par_00e1metros-de-composici_00f3n-de-p_00e1gina">Parámetros de +composición de página</link>). Por ejemplo, establece el margen izquierdo +de la lista para que sea una cuarta parte de la distancia entre los +márgenes izquierdo y derecho del entorno envolvente con +<literal>\setlength{\leftmargin}{0.25\linewidth}</literal>. +</para> +<para>Los saltos de página en una estructura de lista están controlados por +los tres parámetros a continuación. Para cada uno, el valor +predeterminado de &latex; es <literal>-\@lowpenalty</literal>, es decir, +<literal>-51</literal>. Porque es negativo, de alguna manera fomenta un salto de +página en cada punto. Cambiarlo con, por ejemplo, +<literal>\@beginparpenalty=9999</literal>; un valor de 10000 prohíbe un salto de +página. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\@beginparpenalty</primary></indexterm><literal>\@beginparpenalty</literal> +</term><listitem><anchor id="lista-beginparpenalty"/><para>La penalización de salto de página por +romper antes de la lista (predeterminado <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@itempenalty</primary></indexterm><literal>\@itempenalty</literal> +</term><listitem><anchor id="lista-itempenalty"/><para>La penalización por salto de página al +romper antes de un elemento de lista (predeterminado <literal>-51</literal>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\@endparpenalty</primary></indexterm><literal>\@endparpenalty</literal> +</term><listitem><anchor id="lista-endparpenalty"/><para>La penalización de salto de página por +romper después de una lista (predeterminado <literal>-51</literal>). </para> -<screen>\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} +</listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>package, <literal>enumitem</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>enumitem</literal> package</primary></indexterm> + +<para>El paquete <literal>enumitem</literal> es útil para personalizar listas. +</para> +<para>Este ejemplo tiene las etiquetas en rojo. Están numeradas, y el borde +izquierdo de la etiqueta se alinea con el borde izquierdo del texto +del elemento. Véase <link linkend="_005cusecounter">\usecounter</link>. +</para> +<screen>\usepackage{color} +\newcounter{cnt} +\newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} +\newenvironment{redlabel} + {\begin{list} + {\arabic{cnt}} + {\usecounter{cnt} + \setlength{\labelwidth}{0em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargin}{1.5em} + \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep + \let\makelabel=\makeredlabel + } + } +{\end{list}} </screen> -</sect1> -<sect1 label="9.15" id="letter"> -<title>Entorno <literal>letter</literal>: Escribiendo Cartas</title> -<indexterm role="fn"><primary>entorno <literal>letter</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>letter</literal>, entorno</primary></indexterm> - -<para>Este entorno se utiliza para crear cartas. Véase <link linkend="Cartas">Cartas</link>. -</para> -</sect1> -<sect1 label="9.16" id="list"> -<title><literal>list</literal></title> -<indexterm role="fn"><primary>entorno <literal>list</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>list</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>listas de elementos, genéricas</primary></indexterm> +<sect2 label="8.16.1" id="_005citem"> +<title><literal>\item</literal>: Una entrada en una lista</title> -<para>El entorno <literal>list</literal> es un entorno genérico que se utiliza para -definir mucho de los entornos más específicos. Este rara vez se utiliza -en documentos, pero a muy menudo en las macros. +<para>Sinopsis: </para> -<screen>\begin{list}{<replaceable>etiquetado</replaceable>}{<replaceable>espaciado</replaceable>} -\item <replaceable>elemento1</replaceable> -\item <replaceable>elemento2</replaceable> -... -\end{list} +<screen>\item texto del elemento +</screen> +<para>o +</para> +<screen>\item[<replaceable>optional-label</replaceable>] texto del elemento </screen> -<para>El argumento obligatorio <replaceable>etiquetado</replaceable> especifica como se deben -etiquetar los elementos (a menos que se especifique el argumento -opcional <literal>\item</literal>). Este argumento es una pieza de texto que se -inserta en una caja para formar la etiqueta. Este se puede y suele -contener otras instrucciones &latex;. +<para>Una entrada en una lista. Las entradas están precedidas por una +etiqueta, cuyo valor predeterminado depende del tipo de lista. </para> -<para>El argumento obligatorio <replaceable>spacing</replaceable> contiene instrucciones para -cambiar los parámetros de espaciado para la lista. Este argumento por -lo regular está vacío, es decir, <literal>{}</literal>, lo cual deja el espaciado -predeterminado. +<para>Porque la etiqueta opcional está entre corchetes ‘<literal>[...]</literal>’, si +tienes un elemento cuyo texto comienza con [, tienes que ocultar el +corchete dentro de las llaves, como en: <literal>\item {[} es un +corchete de apertura</literal>; de lo contrario, &latex; pensará en la marca +como el comienzo de una etiqueta opcional. +</para> +<para>Del mismo modo, si el artículo tiene la etiqueta opcional y necesitas +un corchete de cierre dentro de esa etiqueta, lo debes ocultar en la +misma forma: <literal>\item[Corchete de cierre, {]}]</literal>. Véase <link linkend="Sintaxis-del-comando-LaTeX">Sintaxis +del comando &latex;</link>. +</para> +<para>En este ejemplo, la lista de enumeración tiene dos elementos que usan +el valor de etiqueta predeterminado y otra que usa la etiqueta +opcional. +</para> +<screen>\begin{enumerate} + \item Moe + \item[a veces] Shemp + \item Larry +\end{enumerate} +</screen> +<para>El primer elemento está etiquetado como ‘<literal>1.</literal>’, el segundo elemento +está etiquetado ‘<literal>a veces</literal>’, y el tercer elemento está etiquetado +como ‘<literal>2.</literal>’. Porque de la etiqueta opcional en el segundo +artículo, el tercer artículo no está etiquetado ‘<literal>3.</literal>’. </para> +</sect2> +<sect2 label="8.16.2" id="trivlist"> +<title><literal>trivlist</literal>: Una forma restringida de <literal>list</literal></title> + +<para>Sinopsis: +</para> +<screen>\begin{trivlist} + ... +\end{trivlist} +</screen> +<para>Una versión restringida del entorno list, en la que los márgenes no +son sangrados y un <literal>\item</literal> sin un argumento opcional no produce +texto. Se utiliza con mayor frecuencia en macros, para definir un +entorno en el que el comando <literal>\item</literal> es parte de la definición +del entorno. Para instancia, el entorno <literal>center</literal> se define +esencialmente como este: +</para> +<screen>\newenvironment{center} + {\begin{trivlist}\centering\item\relax} + {\end{trivlist}} +</screen> +<para>El uso de <literal>trivlist</literal> de esta manera permite que la macro herede +algún código común: combinar el espacio vertical de dos entornos +adyacentes; detectar si el texto que sigue al entorno debe ser +considerado un nuevo párrafo o una continuación del anterior; ajustar +los márgenes izquierdo y derecho para un posible entorno de lista +anidada. +</para> +<para>Específicamente, <literal>trivlist</literal> usa los valores actuales de los +parámetros de lista (véase <link linkend="list">list</link>), excepto que <literal>\parsep</literal> se +establece en el valor de <literal>\parskip</literal>, y <literal>\leftmargin</literal>, +<literal>\labelwidth</literal>, e <literal>\itemindent</literal> se establecen en cero. +</para> +<para>Este ejemplo genera los elementos como dos párrafos, excepto que (de +manera predeterminada) no tienen sangría de párrafo y están separados +verticalmente. +</para> +<screen>\begin{trivlist} +\item La \textit{Sorpresa} no es antigua; nadie la llamaría vieja. +\item Ella tiene un arco de farol, lindas líneas. +\end{trivlist} +</screen> + +</sect2> </sect1> -<sect1 label="9.17" id="math"> +<sect1 label="8.17" id="math"> <title><literal>math</literal></title> -<indexterm role="fn"><primary>entorno <literal>math</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>math</literal>, entorno</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>math</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>math</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>fórmulas en línea</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{math} -<replaceable>fórmula-matemática</replaceable> +<replaceable>math</replaceable> \end{math} </screen> -<para>El entorno <literal>math</literal> inserta la fórmula <replaceable>math</replaceable> dada dentro del -texto actual. <literal>\(...\))</literal> y <literal>$...$</literal> son sinónimos. -Véase <link linkend="F_00f3rmulas-Matem_00e1ticas">Fórmulas Matemáticas</link>. +<indexterm role="fn"><primary>$ matemáticas en línea</primary></indexterm> +<indexterm role="fn"><primary>\(...\) matemáticas en línea</primary></indexterm> +<para>El entorno <literal>math</literal> inserta material dado <replaceable>math</replaceable> dentro del +texto en ejecución. <literal>\(...\)</literal> y <literal>$...$</literal> son sinónimos. +Véase <link linkend="F_00f3rmulas-math">Fórmulas math</link>. </para> </sect1> -<sect1 label="9.18" id="minipage"> +<sect1 label="8.18" id="minipage"> <title><literal>minipage</literal></title> -<indexterm role="fn"><primary>entorno <literal>minipage</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>minipage</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>minipage, creando una</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>minipage</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>minipage</literal> environment</primary></indexterm> -<screen>\begin{minipage}[<replaceable>posición</replaceable>][<replaceable>alto</replaceable>][<replaceable>pos-interna</replaceable>]{<replaceable>ancho</replaceable>} -<replaceable>texto</replaceable> +<indexterm role="cp"><primary>minipágina, crear una</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\begin{minipage}{<replaceable>width</replaceable>} + <replaceable>contenido</replaceable> \end{minipage} </screen> -<para>El entorno <literal>minipage</literal> compone tipográficamente su cuerpo de -<replaceable>texto</replaceable> en un bloque que no debe abarcar varias páginas. Este es -similar a la instrucción <literal>\parbox</literal> (véase <link linkend="_005cparbox">\parbox</link>), pero a -diferencia de <literal>\parbox</literal>, se pueden utilizar otros entornos de -marcado de párrafos dentro de una minipágina. +<para>o </para> -<!-- (xxref posiciones) --> -<para>Los argumentos son los mismos que para <literal>\parbox</literal> -(véase <link linkend="_005cparbox">\parbox</link>). +<screen>\begin{minipage}[<replaceable>position</replaceable>][<replaceable>height</replaceable>][<replaceable>inner-pos</replaceable>]{<replaceable>width</replaceable>} + <replaceable>contenido</replaceable> +\end{minipage} +</screen> +<para>Pon <replaceable>contenido</replaceable> en un cuadro que tenga un ancho de <replaceable>width</replaceable>. +Esto es como una versión pequeña de una página; puede contener sus +propias notas al pie, listas detalladas, etc. (Hay algunas +restricciones, incluyendo que no puede tener flotante). Este cuadro +no se dividirá entre páginas. Entonces <literal>minipage</literal> es similar a +<literal>\parbox</literal> (véase <link linkend="_005cparbox">\parbox</link>) pero aquí puedes tener párrafos. +</para> +<para>Este ejemplo tendrá 3 pulgadas de ancho y tiene dos párrafos. +</para> +<screen>\begin{minipage}{3in} + Stephen Kleene fue uno de los fundadores de la Teoría de la + Computación. + + Fue estudiante de Iglesia, escribió tres textos influyentes, fue + presidente de la Asociación de Lógica Simbólica, y ganó la Medalla + Nacional de Ciencias. +\end{minipage} +</screen> +<para>Ve adelante, para una explicación de la sangría de párrafo dentro de +una <literal>minipage</literal>. </para> -<indexterm role="cp"><primary>sangría de párrafos, en minipage</primary></indexterm> -<indexterm role="cp"><primary>sangría de párrafos, en minipage</primary></indexterm> -<indexterm role="fn"><primary>\parindent</primary></indexterm> -<para>De forma predeterminada, en el entorno <literal>minipage</literal> los párrafos no -tienen sangría. Usted puede restablecer la sangría con una instrucción -tal como <literal>\setlength{\parindent}{1pc}</literal>. +<para>El argumento requerido <replaceable>width</replaceable> es una longitud rígida +(véase <link linkend="Longitudes">Longitudes</link>). Da el ancho de la caja en la que se compone +<replaceable>contenido</replaceable>. </para> -<indexterm role="cp"><primary>notas al pie en figuras</primary></indexterm> -<indexterm role="cp"><primary>figuras, en notas al pie</primary></indexterm> -<para>La notas al pie en un entorno <literal>minipage</literal> son manipuladas de una -manera que es especialmente útil para poner notas en figuras o tablas. -Una instrucción <literal>\footnote</literal> o <literal>\footnotetext</literal> coloca la nota -al pie en la parte inferior de la minipágina en lugar de en la parte -inferior de la página, y esta utiliza el contador <literal>\mpfootnote</literal> en -lugar del contador normal <literal>footnote</literal> (véase <link linkend="Contadores">Contadores</link>). +<para>Hay tres argumentos opcionales, <replaceable>position</replaceable>, <replaceable>height</replaceable> e +<replaceable>inner-pos</replaceable>. No es necesario incluir los tres. Por ejemplo, +obtener la <replaceable>position</replaceable> predeterminada y establecer <replaceable>height</replaceable> con +<literal>\begin{minipage}[c][2.54cm]{\columnwidth} <replaceable>content</replaceable> +\end{minipage}</literal>. (Obtiene la altura natural con un argumento vacío, +<literal>[]</literal>). +</para> +<para>El argumento opcional <replaceable>position</replaceable> gobierna cómo <literal>minipage</literal> se +alinea verticalmente con el material circundante. +</para> +<variablelist><varlistentry><term><literal>c</literal> +</term><listitem><!-- xx Clarifica lo que significa cuando las líneas de texto adyacentes --> +<!-- no están @c alineadas al centro vertical entre sí --> +<para>(sinónimo <literal>m</literal>) Predeterminado. Posiciona la <literal>minipage</literal> para +que su centro vertical se alinee con el centro de la línea de texto +adyacente. </para> -<para>No obstante, no ponga una minipágina dentro de otra si usted está usando -notas al pie; estas pueden terminar mal en la parte inferior de la -minipágina. +</listitem></varlistentry><varlistentry><term><literal>t</literal> +</term><listitem><indexterm role="fn"><primary>\vtop plain &tex;</primary></indexterm> +<para>Alinea la línea base de la línea superior en la <literal>minipage</literal> con la +línea base del texto circundante (el <literal>\vtop</literal> de &tex; simple). </para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><indexterm role="fn"><primary>\vbox (simple &tex;)</primary></indexterm> +<para>Alinea la línea base de la línea inferior en la <literal>minipage</literal> con la +línea base del texto circundante (el <literal>\vbox</literal> de &tex; simple). +</para></listitem></varlistentry></variablelist> +<para>Para ver los efectos de estos, contrasta esta ejecución +</para> +<screen>---\begin{minipage}[c]{0.25in} + primero\\ segundo\\ tercero +\end{minipage} +</screen> +<para>con los resultados de cambiar <literal>c</literal> a <literal>b</literal> o <literal>t</literal>. +</para> +<!-- xx Aclara qué sucede si el usuario ingresa una longitud elástica en --> +<!-- lugar de una longitud rígida. --> +<para>El argumento opcional <replaceable>height</replaceable> es una longitud rígida +(véase <link linkend="Longitudes">Longitudes</link>). Establece la altura de la <literal>minipage</literal>. +Puedes ingresar cualquier valor más grande que, igual o más pequeño +que el código natural de <literal>minipage</literal> height y &latex; no darán un +error o una advertencia. También puedes establecer a una altura de +cero o un valor negativo. +</para> +<para>El último argumento opcional <replaceable>inner-pos</replaceable> controla la ubicación de +<replaceable>contenido</replaceable> dentro del cuadro. Estos son los valores posibles (el +predeterminado es el valor de <replaceable>position</replaceable>). +</para> +<variablelist><varlistentry><term><literal>t</literal> +</term><listitem><para>Coloca <replaceable>contenido</replaceable> en la parte superior del cuadro. +</para> +</listitem></varlistentry><varlistentry><term><literal>c</literal> +</term><listitem><para>Lo coloca en el centro vertical. +</para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><para>Lo coloca en el fondo de la caja. +</para> +</listitem></varlistentry><varlistentry><term><literal>s</literal> +</term><listitem><para>Estira <replaceable>contenido</replaceable> verticalmente; debe contener espacio elástico +verticalmente. +</para> +</listitem></varlistentry></variablelist> +<para>El argumento <replaceable>inner-pos</replaceable> tiene sentido cuando la opción +<replaceable>height</replaceable> se establece en un valor mayor que la altura natural de +<literal>minipage</literal>. Para ver el efecto de las opciones, ejecuta este +ejemplo con las distintas opciones en lugar de <literal>b</literal>. +</para> +<screen>Texto antes +\begin{center} + ---\begin{minipage}[c][3in][b]{0.25\textwidth} + primero\\ segundo\\ tercero + \end{minipage} +\end{center} +Texto después +</screen> +<indexterm role="cp"><primary>sangría de párrafos, en minipágina</primary></indexterm> +<indexterm role="cp"><primary>sangría, de párrafo en minipágina</primary></indexterm> +<indexterm role="fn"><primary>\parindent</primary></indexterm> +<para>De manera predeterminada, los párrafos no tienen sangría en una +<literal>minipage</literal>. Cambio que con un comando como +<literal>\setlength{\parindent}{1pc}</literal> en el inicio de +<replaceable>contenido</replaceable>. +</para> +<indexterm role="cp"><primary>notas al pie en figuras</primary></indexterm> +<indexterm role="cp"><primary>figuras, notas al pie en</primary></indexterm> +<para>Las notas al pie en un entorno <literal>minipage</literal> se manejan de una +manera que es particularmente útil para poner notas a pie de página en +figuras o tablas. Para el comando <literal>\footnote</literal> o +<literal>\footnotetext</literal> coloca la nota al pie en la parte inferior de la +minipágina en lugar de en la parte inferior de la página, y usa el +contador <literal>\mpfootnote</literal> en lugar del contador ordinario +<literal>footnote</literal> (véase <link linkend="Contadores">Contadores</link>). +</para> +<para>Esto coloca la nota al pie en la parte inferior de la tabla, no en la +parte inferior de la página. +</para> +<screen>\begin{center} % centra la minipágina en la línea +\begin{minipage}{2.5in} + \begin{center} % centra la tabla dentro de la minipágina + \begin{tabular}{ll} + \textsc{Monarca} &\textsc{Reinado} \\ \hline + Isabel II &96 años\footnote{hasta su fallecimiento} \\ + Victoria &63 años \\ + Jorge III &59 años + \end{tabular} + \end{centro} +\end{minipage} +\end{center} +</screen> +<para>Si anidas minipáginas, hay una rareza al usar notas al pie. Las notas +al pie aparecen en la parte inferior del texto terminadas por la +siguiente <literal>\end{minipage}</literal> que puede no ser su lugar lógico. +</para> +<para>Esto coloca una tabla que contiene datos al lado de un gráfico de +mapa. Ellos están centrados verticalmente. +</para> +<indexterm role="cp"><primary>package, <literal>siunitx</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>siunitx</literal> package</primary></indexterm> + +<screen>% siunitx para tener el especificador de columna S, +% que alinea los números en su punto decimal. +\usepackage{siunitx} +\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.3\textwidth]{nyc.png}} + \hspace{0.1\textwidth} + \begin{minipage}{0.5\textwidth} + \begin{tabular}{r|S} + % \multicolumn para eliminar la barra vertical entre los encabezados + % de las columnas + \multicolumn{1}{r}{Borough} & + % llaves para evitar que siunitx malinterprete el + % período como separador decimal + {Pop. (million)} \\ \hline + The Bronx &1.5 \\ + Brooklyn &2.6 \\ + Manhattan &1.6 \\ + Queens &2.3 \\ + Staten Island &0.5 + \end{tabular} + \end{minipage} +\end{center} +</screen> </sect1> -<sect1 label="9.19" id="picture"> +<sect1 label="8.19" id="picture"> <title><literal>picture</literal></title> -<indexterm role="fn"><primary>entorno <literal>picture</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>picture</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>creando imágenes</primary></indexterm> -<indexterm role="cp"><primary>imágenes, creando</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>picture</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>picture</literal> environment</primary></indexterm> -<screen>\begin{picture}(ancho,alto)(desplazamiento x,desplazamiento y) -… <replaceable>instrucciones de imagen</replaceable> … +<indexterm role="cp"><primary>crear imágenes</primary></indexterm> +<indexterm role="cp"><primary>imágenes, crear</primary></indexterm> + +<para>Sinopsis: +</para><screen>\begin{picture}(<replaceable>width</replaceable>,<replaceable>height</replaceable>) + <replaceable>comando picture</replaceable> \end{picture} </screen> -<indexterm role="fn"><primary>\unitlength</primary></indexterm> -<para>El entorno <literal>picture</literal> le permite crear casi cualquier clase de -imagen que desee que contenga su texto, lineas, flechas y círculos. -Usted le dice a &latex; dónde colocar las cosas en la imagen -especificando sus coordenadas. Una coordenada es un número que puede -tener un punto decimal y un signo menos — un número como <literal>5</literal>, -<literal>0.3</literal> o <literal>-3.1416</literal>. Una coordenada especifica una longitud en -múltiplos de la unidad de longitud <literal>\unitlength</literal>, por lo que si -<literal>\unitlength</literal> se ha establecido en <literal>1cm</literal>, entonces la -coordenada 2.54 especifica una longitud de 2.54 centímetros. Sólo debe -cambiar el valor de <literal>\unitlength</literal>, utilizando la instrucción -<literal>\setlength</literal>, fuera del entorno <literal>picture</literal>. -</para> -<para>Una posición es un par de coordenadas, por ejemplo, <literal>(2.4, -5)</literal>, -que especifican el punto con coordenada x <literal>2.4</literal> y coordenada y -<literal>-5</literal>. Las coordenadas se especifican en la forma habitual con -respecto a un origen, que normalmente está en la esquina inferior -izquierda de la imagen. Tenga en cuenta que cuando una posición se -presenta como un argumento, no se encierra entre llaves; los paréntesis -sirven para delimitar el argumento. -</para> -<para>El entorno <literal>picture</literal> tiene un argumento obligatorio, el cual es una -<literal>posición</literal>. este especifica el tamaño de la imagen. El entorno -produce una caja rectangular con la anchura y altura determinada por los -argumentos de las coordenadas x e y. -</para> -<para>El entorno <literal>picture</literal> también tiene un argumento opcional -<literal>posición</literal>, seguido del argumento <literal>tamaño</literal>, que puede cambiar -el origen. (A diferencia de los argumentos opcionales, este argumento -no está contenido entre corchetes). El argumento opcional proporciona -las coordenadas del punto en la esquina inferior izquierda de la imagen -(con el cual se determina el origen). Por ejemplo, si -<literal>\unitlength</literal> se ha fijado a <literal>1mm</literal>, la instrucción +<para>o </para> -<screen>\begin{picture}(100,200)(10,20) +<screen>\begin{picture}(<replaceable>width</replaceable>,<replaceable>height</replaceable>)(<replaceable>xoffset</replaceable>,<replaceable>yoffset</replaceable>) + <replaceable>comando picture</replaceable> +\end{picture} </screen> -<para>produce una imagen de 100 milímetros de ancho y 200 milímetros de -altura, cuya esquina inferior izquierda está en el punto (10,20) y cuya -esquina superior derecha está en el punto (110,220). La primera vez que -haga un dibujo, normalmente se omite el argumento opcional, dejando el -origen en el ángulo inferior izquierdo. Si a continuación desea -modificar su imagen, trasladando todo, basta con añadir el argumento -opcional apropiado. +<para>Donde puede haber cualquier número de <replaceable>comando picture</replaceable>. </para> -<para>El argumento obligatorio del entorno determina el tamaño nominal de la -imagen. Esta no necesita tener ninguna relación con el tamaño de la -imagen real; Felizmente &latex; le permitirá poner cosas fuera de la -imagen, o incluso fuera de la página. El tamaño nominal de la imagen lo -utiliza &latex; para determinar cuánto espacio dejar para ello. +<para>Un entorno para crear imágenes simples que contienen líneas, flechas, +cuadros, círculos y texto. Este entorno no es obsoleto, sino que los +nuevos documentos suelen utilizar sistemas de creación de gráficos +mucho más potentes, como TikZ, PSTricks, MetaPost o Asymptote. +Ninguno de estos están cubiertos en este documento; ve CTAN. </para> -<para>Todo lo que aparece en una imagen es dibujado por la instrucción -<literal>\put</literal>. La instrucción +<para>Para empezar, aquí hay un ejemplo que muestra la ley del paralelogramo +para sumar vectores. </para> -<screen>\put (11.3,-.3){...} +<indexterm role="fn"><primary>\unitlength</primary></indexterm> +<screen>\setlength{\unitlength}{1cm} +\begin{picture}(6,6) % cuadro de imagen tendrá 6 cm de ancho por + % 6 cm de alto + \put(0,0){\vector(2,1){4}} % por cada 2 sobre este vector sube 1 + \put(2,1){\makebox(0,0)[l]{\ primer etapa}} + \put(4,2){\vector(1,2){2}} + \put(5,4){\makebox(0,0)[l]{\ segunda etapa}} + \put(0,0){\vector(1,1){6}} + \put(3,3){\makebox(0,0)[r]{sum\ }} +\end{picture} </screen> -<para>coloca el objeto especificado por <literal>...</literal> en la imagen, con su punto -de referencia en las coordenadas <inlineequation><mathphrase>(11.3, -.3)</mathphrase></inlineequation>. Los puntos de -referencia para distintos objetos se describen a continuación. -</para> -<indexterm role="fn"><primary>caja lR</primary></indexterm> -<para>La instrucción <literal>\put</literal> crea una <firstterm>caja LR</firstterm>. Puede poner -cualquier cosa que vaya en una <literal>\mbox</literal> (véase <link linkend="_005cmbox">\mbox</link>) en el -argumento texto de la instrucción <literal>\put</literal>. Al hacer esto, el punto -de referencia será la esquina inferior izquierda de la caja. +<para>El entorno <literal>picture</literal> tiene un argumento requerido, un par de +números reales positivos (<replaceable>width</replaceable>, <replaceable>height</replaceable>). Multiplica +estos por el valor de <literal>\unitlength</literal> para obtener el tamaño +nominal de la salida, es decir, el espacio que reserva &latex; en +la página de salida. Este tamaño nominal no es necesario saber qué +tan grande es realmente la imagen; &latex; dibujará cosas de picture +fuera de la caja de la imagen. +</para> +<para>Este entorno también tiene un argumento opcional (<replaceable>xoffset</replaceable>, +<replaceable>yoffset</replaceable>). Se utiliza para cambiar el origen. A diferencia de +la mayoría de los argumentos opcionales, éste no está contenido entre +corchetes. Al igual que con el argumento requerido, consiste en un +par de dos números reales, pero estos también pueden ser negativos o +nulos. Multiplica estos por <literal>\unitlength</literal> para obtener las +coordenadas del punto en la esquina inferior izquierda de la imagen. +</para> +<para>Por ejemplo, si <literal>\unitlength</literal> se ha establecido en <literal>1mm</literal>, el +comando </para> -<para>Las instrucciones para <literal>picture</literal> están descritas en las siguientes -secciones. +<screen>\begin{picture}(100,200)(10,20) +</screen> +<para>produce una caja de 100 milímetros de ancho y 200 milímetros de alto. +El origen de la imagen es el punto (10mm, 20mm) y, por lo tanto, la +esquina inferior izquierda está allí, y la esquina superior derecha +está en (110mm, 220 mm). Cuando primero dibujes una imagen, +normalmente omite el argumento opcional, dejando el origen en la +esquina inferior izquierda. Si luego deseas modificar tu imagen +cambiando todo, solo puedes agregar el argumento opcional apropiado. +</para> +<indexterm role="cp"><primary>posición, en imagen</primary></indexterm> +<para>Cada <replaceable>comando picture</replaceable> le dice a &latex; dónde colocar algo +proporcionando su posición. Una <firstterm>position</firstterm> es un par como +<literal>(2.4,-5)</literal> dando las coordenadas x e y. Una <firstterm>coordenada</firstterm> no +es una longitud, es un número real (puede tener un punto decimal o un +signo menos). Eso especifica una longitud en múltiplos de la unidad +de longitud <literal>\unitlength</literal>, por lo que si <literal>\unitlength</literal> se ha +establecido en <literal>1cm</literal>, entonces la coordenada <literal>2.54</literal> +especifica una longitud de 2.54 centímetros. +</para> +<para>El valor predeterminado de &latex; para <literal>\unitlength</literal> es +<literal>1pt</literal>. Es una longitud rígida (véase <link linkend="Longitudes">Longitudes</link>). Cámbialo +con el comando <literal>\setlength</literal> (véase <link linkend="_005csetlength">\setlength</link>). Haz este +cambio solo fuera de un entorno <literal>picture</literal>. +</para> +<para>El entorno <literal>picture</literal> admite el uso de expresiones aritméticas +estándar como números. +</para> +<para>Las coordenadas se dan con respecto a un origen, que de manera +predeterminada está en la esquina inferior izquierda de la imagen. +Ten en cuenta que cuando aparece una posición como argumento, como con +<literal>\put(1,2){...}</literal>, no está encerrado entre llaves ya que los +paréntesis sirven para delimitar el argumento. También, a diferencia +de algunos sistemas de gráficos por ordenador, las coordenadas +<literal>y</literal> más grandes son más arriba en la página, por ejemplo, <inlineequation><mathphrase>y += 1</mathphrase></inlineequation> es <emphasis>arriba</emphasis> <inlineequation><mathphrase>y = 0</mathphrase></inlineequation>. +</para> +<para>Hay cuatro formas de poner cosas en una imagen: <literal>\put</literal>, +<literal>\multiput</literal>, <literal>\qbezier</literal> y <literal>\graphpaper</literal>. Más a menudo +se usa <literal>\put</literal>. Este +</para> +<screen>\put(11.3,-0.3){...} +</screen> +<para>coloca el objeto con su punto de referencia en las coordenadas +<inlineequation><mathphrase>(11.3,-0.3)</mathphrase></inlineequation>. Los puntos de referencia para varios objetos +serán descritos abajo. +<indexterm role="fn"><primary>Caja LR</primary></indexterm> +El comando <literal>\put</literal> crea un <firstterm>LR box</firstterm> (véase <link linkend="Modos">Modos</link>). +Cualquier cosa que pueda ir en un <literal>\mbox</literal> (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y +\makebox</link>) puede ir en el argumento de texto del comando <literal>\put</literal>. +El punto de referencia será la esquina inferior izquierda de la caja. +En esta imagen +</para> +<screen>\setlength{\unitlength}{1cm} +...\begin{picture}(1,1) + \put(0,0){\line(1,0){1}} + \put(0,0){\line(1,1){1}} +\end{picture} +</screen> +<para>los tres puntos están ligeramente a la izquierda del punto del ángulo +formado por las dos líneas. (Además, <literal>\line(1,1){1}</literal> no +requiere una línea de longitud uno; más bien la línea tiene un cambio +en la coordenada x de 1). +</para> +<para>Los comandos <literal>\multiput</literal>, <literal>qbezier</literal> y <literal>graphpaper</literal> +están descritos abajo. +</para> +<para>También puedes utilizar este entorno para colocar material arbitrario +en una ubicación exacta. Por ejemplo: +</para> +<screen>\usepackage{color,graphicx} % en el preámbulo + ... +\begin{center} +\setlength{\unitlength}{\textwidth} +\begin{picture}(1,1) % deja espacio, ancho de \textwidth y alto + \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}} + \put(0.25,0.35){\textcolor{red}{Guarda X aquí}} +\end{picture} +\end{center} +</screen> +<para>La red X será precisamente una cuarta parte del <literal>\textwidth</literal> +de el margen izquierdo y <literal>0.35\textwidth</literal> hacia arriba desde la +parte inferior de la imagen. Otro ejemplo de este uso es poner un +código similar en el encabezado de página para obtener material +repetido en cada una de las páginas de un documento. </para> -<sect2 label="9.19.1" id="_005ccircle"> -<title><literal>\circle</literal></title> -<indexterm role="fn"><primary>\circle</primary></indexterm> - -<screen>\circle[*]{<replaceable>diámetro</replaceable>} -</screen> -<para>La instrucción <literal>\circle</literal> produce un círculo con un diámetro lo más -cercano posible al especificado. La forma con <literal>*</literal> de la -instrucción dibuja un círculo sólido. -</para> -<para>Se pueden dibujar círculos de hasta 40 pt. -</para> +<sect2 label="8.19.1" id="_005cput"> +<title><literal>\put</literal></title> -</sect2> -<sect2 label="9.19.2" id="_005cmakebox-_0028picture_0029"> -<title><literal>\makebox</literal></title> -<indexterm role="fn"><primary>\makebox (<literal>picture</literal>)</primary></indexterm> +<indexterm role="fn"><primary>\put</primary></indexterm> -<screen>\makebox(<replaceable>ancho</replaceable>,<replaceable>alto</replaceable>)[<replaceable>posición</replaceable>]{<replaceable>texto</replaceable>} -</screen> -<para>La instrucción <literal>\makebox</literal> para el entorno <literal>picture</literal> es similar a la -instrucción normal <literal>\makebox</literal> excepto que usted debe especificar el -<replaceable>ancho</replaceable> y <replaceable>alto</replaceable> en múltiplos de <literal>\unitlength</literal>. -</para> -<para>El argumento opcional, <literal>[<replaceable>posición</replaceable>]</literal>, especifica el cuadrante en el -que debe aparecer el <replaceable>texto</replaceable>. Usted puede seleccionar hasta dos de los -siguientes: -</para> -<variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>Mueve el elemento a la parte superior del rectángulo. -</para> -</listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>Mueve el elemento a la parte inferior. +<para>Sinopsis: </para> -</listitem></varlistentry><varlistentry><term><literal>l</literal> -</term><listitem><para>Mueve el elemento a la izquierda. +<screen>\put(<replaceable>xcoord</replaceable>,<replaceable>ycoord</replaceable>){<replaceable>content</replaceable>} +</screen> +<para>Coloca <replaceable>content</replaceable> en la coordenada (<replaceable>xcoord</replaceable>,<replaceable>ycoord</replaceable>). Ve +la discusión de coordenadas y <literal>\unitlength</literal> en <link linkend="picture">picture</link>. El +<replaceable>contenido</replaceable> se procesa en modo LR (véase <link linkend="Modos">Modos</link>) por lo que no +puede contener saltos de línea. </para> -</listitem></varlistentry><varlistentry><term><literal>r</literal> -</term><listitem><para>Mueve el elemento hacia la derecha. +<para>Esto incluye el texto en la <literal>picture</literal>. </para> -</listitem></varlistentry></variablelist> -<para>Véase <link linkend="_005cmakebox">\makebox</link>. +<screen>\put(4.5,2.5){Aplica el \textit{unpoke} move} +</screen> +<para>El punto de referencia, la ubicación (4.5,2.5), es la parte inferior +izquierda del texto, en la parte inferior izquierda de ‘<literal>A</literal>’. </para> </sect2> -<sect2 label="9.19.3" id="_005cframebox-_0028picture_0029"> -<title><literal>\framebox</literal></title> -<indexterm role="fn"><primary>\framebox</primary></indexterm> +<sect2 label="8.19.2" id="_005cmultiput"> +<title><literal>\multiput</literal></title> + +<indexterm role="fn"><primary>\multiput</primary></indexterm> <para>Sinopsis: </para> -<screen>\framebox(<replaceable>ancho</replaceable>,<replaceable>alto</replaceable>)[<replaceable>posición</replaceable>]{...} +<screen>\multiput(<replaceable>x</replaceable>,<replaceable>y</replaceable>)(<replaceable>delta_x</replaceable>,<replaceable>delta_y</replaceable>){<replaceable>num-copies</replaceable>}{<replaceable>obj</replaceable>} +</screen> +<para>Copia <replaceable>obj</replaceable> un total de <replaceable>num-copies</replaceable> veces, con un incremento +de <replaceable>delta_x,delta_y</replaceable>. El <replaceable>obj</replaceable> aparece primero en la posición +<inlineequation><mathphrase>(x,y)</mathphrase></inlineequation>, entonces en <inlineequation><mathphrase>(x+\delta_x,y+\delta_y)</mathphrase></inlineequation>, y así +sucesivamente. +</para> +<para>Esto dibuja una cuadrícula simple con cada quinta línea en negrita (ve +también <link linkend="_005cgraphpaper">\graphpaper</link>). +</para> +<screen>\begin{picture}(10,10) + \linethickness{0.05mm} + \multiput(0,0)(1,0){10}{\line(0,1){10}} + \multiput(0,0)(0,1){10}{\line(1,0){10}} + \linethickness{0.5mm} + \multiput(0,0)(5,0){3}{\line(0,1){10}} + \multiput(0,0)(0,5){3}{\line(1,0){10}} +\end{picture} </screen> -<para>La instrucción <literal>\framebox</literal> es como <literal>\makebox</literal> (vea la sección -anterior), excepto que esta coloca un marco en el exterior alrededor de -la caja que crea. -</para> -<indexterm role="fn"><primary>\fboxrule</primary></indexterm> -<indexterm role="fn"><primary>\fboxsep</primary></indexterm> -<para>La instrucción <literal>\framebox</literal> produce una regla de espesor -<literal>\fboxrule</literal>, y deja un espacio <literal>\fboxsep</literal> entre la regla y el -contenido de la caja. -</para> </sect2> -<sect2 label="9.19.4" id="_005cdashbox"> -<title><literal>\dashbox</literal></title> +<sect2 label="8.19.3" id="_005cqbezier"> +<title><literal>\qbezier</literal></title> -<indexterm role="fn"><primary>\dashbox</primary></indexterm> +<indexterm role="fn"><primary>\qbezier</primary></indexterm> -<para>Dibuja un cuadro con una línea discontinua. Sinopsis: +<para>Sinopsis: </para> -<screen>\dashbox{<replaceable>glargo</replaceable>}(<replaceable>rancho</replaceable>,<replaceable>ralto</replaceable>)[<replaceable>posición</replaceable>]{<replaceable>texto</replaceable>} +<screen>\qbezier(<replaceable>x1</replaceable>,<replaceable>y1</replaceable>)(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)(<replaceable>x3</replaceable>,<replaceable>y3</replaceable>) +\qbezier[<replaceable>num</replaceable>](<replaceable>x1</replaceable>,<replaceable>y1</replaceable>)(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)(<replaceable>x3</replaceable>,<replaceable>y3</replaceable>) </screen> -<para><literal>\dashbox</literal> crea un rectángulo discontinuo alrededor del <replaceable>texto</replaceable> -en un entorno <literal>picture</literal>. Los guiones son de <replaceable>glargo</replaceable> unidades -de largo, y el rectángulo tiene una anchura total de <replaceable>rancho</replaceable> y una -altura de <replaceable>ralto</replaceable>. El <replaceable>texto</replaceable> es posicionado en la -<replaceable>posición</replaceable> opcional. <!-- xx ref a posiciones. --> +<para>Dibuja una curva de Bézier cuadrática cuyos puntos de control estén +dados por tres argumentos requeridos <literal>(<replaceable>x1</replaceable>,<replaceable>y1</replaceable>)</literal>, +<literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal> y <literal>(<replaceable>x3</replaceable>,<replaceable>y3</replaceable>)</literal>. Eso es, la +curva va de <replaceable>(x1,y1)</replaceable> a <replaceable>(x3,y3)</replaceable>, es cuadrática y es tal que +la recta tangente en <replaceable>(x1,y1)</replaceable> pasa por <replaceable>(x2,y2)</replaceable>, al igual +que la recta tangente en <replaceable>(x3,y3)</replaceable>. </para> -<para>Un cuadro de líneas discontinuas se ve mejor cuando <replaceable>rancho</replaceable> y -<replaceable>ralto</replaceable> son múltiplos de <replaceable>glargo</replaceable>. +<para>Esto dibuja una curva desde la coordenada (1,1) a (1,0). </para> - +<screen>\qbezier(1,1)(1.25,0.75)(1,0) +</screen> +<para>La línea tangente de la curva en (1,1) contiene (1.25,0.75), al igual +que la recta tangente de la curva en (1,0). +</para> +<para>El argumento opcional <replaceable>num</replaceable> da el número de cálculos de puntos +intermedios. El valor predeterminado es dibujar una curva suave cuyo +número máximo de puntos es <literal>\qbeziermax</literal> (cambia este valor con +<literal>\renewcommand</literal>). +</para> +<para>Esto dibuja un rectángulo con una parte superior ondulada, usando +<literal>\qbezier</literal> para esa curva +</para> +<screen>\begin{picture}(8,4) + \put(0,0){\vector(1,0){8}} % eje x + \put(0,0){\vector(0,1){4}} % eje y + \put(2,0){\line(0,1){3}} % lado izquierdo + \put(4,0){\line(0,1){3.5}} % lado derecho + \qbezier(2,3)(2.5,2.9)(3,3.25) + \qbezier(3,3.25)(3.5,3.6)(4,3.5) + \thicklines % debajo de aquí, las líneas son el + % doble de gruesas + \put(2,3){\line(4,1){2}} + \put(4.5,2.5){\framebox{Regla trapezoidal}} +\end{picture} +</screen> </sect2> -<sect2 label="9.19.5" id="_005cframe"> -<title><literal>\frame</literal></title> -<indexterm role="fn"><primary>\frame</primary></indexterm> +<sect2 label="8.19.4" id="_005cgraphpaper"> +<title><literal>\graphpaper</literal></title> +<indexterm role="fn"><primary>\graphpaper</primary></indexterm> <para>Sinopsis: </para> -<screen>\frame{<replaceable>texto</replaceable>} +<screen>\graphpaper(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)(<replaceable>x_dimen</replaceable>,<replaceable>y_dimen</replaceable>) +\graphpaper[<replaceable>spacing</replaceable>](<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)(<replaceable>x_dimen</replaceable>,<replaceable>y_dimen</replaceable>) </screen> -<para>La instrucción <literal>\frame</literal> coloca un marco rectangular alrededor de -<replaceable>texto</replaceable>. El punto de referencia es la esquina inferior izquierda -del marco. No añade espacio extra entre el marco y el objeto. +<indexterm role="cp"><primary>package, <literal>graphpap</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>graphpap</literal> package</primary></indexterm> +<para>Dibuja una cuadrícula de coordenadas. Requiere el +paquete <literal>graphpap</literal>. El origen de la cuadrícula es +<literal>(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>)</literal>. Las líneas de la cuadrícula +vienen cada <replaceable>spacing</replaceable> unidades (el valor predeterminado es 10). +La cuadrícula extiende <replaceable>x_dimen</replaceable> unidades hacia la derecha y +<replaceable>y_dimen</replaceable> unidades hacia arriba. Todos los argumentos deben ser +números enteros positivos. +</para> +<para>Esto crea una cuadrícula con siete líneas verticales y once líneas +horizontales. +</para> +<screen>\usepackage{graphpap} % en el preámbulo + ... +\begin{picture}(6,20) % en el cuerpo del documento + \graphpaper[2](0,0)(12,20) +\end{picture} +</screen> +<para>Las líneas están numeradas cada diez unidades. </para> </sect2> -<sect2 label="9.19.6" id="_005cline"> +<sect2 label="8.19.5" id="_005cline"> <title><literal>\line</literal></title> + <indexterm role="fn"><primary>\line</primary></indexterm> <para>Sinopsis: </para> -<screen>\line(<replaceable>declivex</replaceable>,<replaceable>declivey</replaceable>){<replaceable>longitud</replaceable>} +<screen>\line(<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>){<replaceable>travel</replaceable>} </screen> -<para>La instrucción <literal>\line</literal> dibuja una línea con la <replaceable>longitud</replaceable> dada -y declive <replaceable>declivex</replaceable>/<replaceable>declivey</replaceable>. +<para>Dibuja una línea. Tiene una pendiente tal que sube verticalmente +<replaceable>y_rise</replaceable> para cada <replaceable>x_run</replaceable> horizontal. El <replaceable>travel</replaceable> es el +cambio horizontal total — no es la longitud del vector, es el cambio +en <inlineequation><mathphrase>x</mathphrase></inlineequation>. En el caso especial de las líneas verticales, donde +(<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>)=(0,1), <replaceable>travel</replaceable> da el cambio en +<inlineequation><mathphrase>y</mathphrase></inlineequation>. </para> -<para>&latex; estándar únicamente puede dibujar líneas con -<inlineequation><mathphrase><replaceable>declive</replaceable> = x/y</mathphrase></inlineequation>, donde <inlineequation><mathphrase>x</mathphrase></inlineequation> y <inlineequation><mathphrase>y</mathphrase></inlineequation> tienen valores -enteros desde −6 hasta 6. Para líneas de cualquier declive, -por no hablar de otras formas, vea el paquete <literal>curve2e</literal> y muchos, -muchos otros paquetes en CTAN. +<para>Esto dibuja una línea que comienza en las coordenadas (1,3). +</para> +<screen>\put(1,3){\line(2,5){4}} +</screen> +<para>Por cada más de 2, esta línea aumentará 5. Porque <replaceable>travel</replaceable> +especifica que esto pasa de 4, debe subir a 10. Por lo tanto, su +punto final es <inlineequation><mathphrase>(1,3)+(4,10)=(5,13)</mathphrase></inlineequation>. En particular, ten en +cuenta que <inlineequation><mathphrase><replaceable>travel</replaceable>=4</mathphrase></inlineequation> no es la longitud de la línea, es el +cambio en <inlineequation><mathphrase>x</mathphrase></inlineequation>. +</para> +<para>Los argumentos <replaceable>x_run</replaceable> y <replaceable>y_rise</replaceable> son números enteros que se +pueden positivo, negativo o cero. (Si ambos son 0 entonces &latex; +trata el segundo como 1). Con +<literal>\put(<replaceable>x_init</replaceable>,<replaceable>y_init</replaceable>){\line(<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>){<replaceable>travel</replaceable>}}</literal>, +si <replaceable>x_run</replaceable> es negativo, el punto final de la línea tiene una +primer coordenada menor que <replaceable>x_init</replaceable>. Si <replaceable>y_rise</replaceable> es negativo +entonces el punto final de la línea tiene una segunda coordenada que +es menor que <replaceable>y_init</replaceable>. +</para> +<para>Si <replaceable>travel</replaceable> es negativo, obtendrás <literal>Error de LaTeX: \line +incorrecta o el argumento \vector.</literal> +</para> +<indexterm role="cp"><primary>paquetes gráficos</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>pict2e</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>pict2e</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>TikZ</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>TikZ</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>PSTricks</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>PSTricks</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>MetaPost</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>MetaPost</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm> +<para>&latex; estándar solo puede +dibujar líneas con un rango limitado de pendientes porque estas rectas +se forman juntando segmentos de recta de letras prefabricadas. Los +dos números <replaceable>x_run</replaceable> y <replaceable>y_rise</replaceable> deben tener valores enteros +desde −6 hasta 6. Asimismo, deben ser relativamente +primos, por lo que <replaceable>(x_run,y_rise)</replaceable> puede ser (2,1) pero no (4,2) +(si eliges el último, en lugar de líneas obtiene secuencias de puntas +de flecha; la solución es cambiar a la primera). Para obtener lineas +de pendiente arbitraria y muchas otras formas en un sistema como +<literal>picture</literal>, ve el paquete <literal>pict2e</literal> +(<ulink url="https://ctan.org/pkg/pict2e">https://ctan.org/pkg/pict2e</ulink>). Otra solución es usar un sistema +de gráficos completo como TikZ, PSTricks, MetaPost o Asymptote. </para> </sect2> -<sect2 label="9.19.7" id="_005clinethickness"> +<sect2 label="8.19.6" id="_005clinethickness"> <title><literal>\linethickness</literal></title> + <indexterm role="fn"><primary>\linethickness</primary></indexterm> -<para>La instrucción <literal>\linethickness{<replaceable>espesor</replaceable>}</literal> declara el grosor -de las líneas horizontales y verticales en un entorno picture para que -sean de <replaceable>espesor</replaceable>, el cual debe ser una longitud positiva. +<para>Sinopsis: </para> -<para><literal>\linethickness</literal> no afecta el espesor de las líneas inclinadas, -círculos o los cuartos de círculo dibujados por <literal>\oval</literal>. +<screen>\linethickness{<replaceable>dim</replaceable>} +</screen> +<para>Declara el grosor de las líneas horizontales y verticales +subsiguientes en una imagen debe ser <replaceable>dim</replaceable>, que debe tener una +longitud positiva (véase <link linkend="Longitudes">Longitudes</link>). Se diferencia de +<literal>\thinlines</literal> y <literal>\thicklines</literal> en el sentido de que no afecta +el grosor de las líneas inclinadas, círculos u óvalos (véase <link linkend="_005coval">\oval</link>). </para> </sect2> -<sect2 label="9.19.8" id="_005cthicklines"> -<title><literal>\thicklines</literal></title> -<indexterm role="fn"><primary>\thicklines</primary></indexterm> +<sect2 label="8.19.7" id="_005cthinlines"> +<title><literal>\thinlines</literal></title> + +<indexterm role="fn"><primary>\thinlines</primary></indexterm> -<para>La instrucción <literal>\thicklines</literal> es un espesor de línea alternativo -para líneas horizontales y verticales en un entorno picture; -compárese <link linkend="_005clinethickness">\linethickness</link> y <link linkend="_005cthinlines">\thinlines</link>. +<para>Declaración para establecer el grosor de líneas, círculos y óvalos +posteriores en un entorno picture para ser 0.4pt. Este es el +valor predeterminado de grosor, por lo que este comando es innecesario +a menos que el grosor haya cambiado con <link linkend="_005clinethickness">\linethickness</link> o +<link linkend="_005cthicklines">\thicklines</link>. </para> </sect2> -<sect2 label="9.19.9" id="_005cthinlines"> -<title><literal>\thinlines</literal></title> -<indexterm role="fn"><primary>\thinlines</primary></indexterm> +<sect2 label="8.19.8" id="_005cthicklines"> +<title><literal>\thicklines</literal></title> + +<indexterm role="fn"><primary>\thicklines</primary></indexterm> -<para>La instrucción <literal>\thinlines</literal> es el espesor de línea predeterminado -para líneas horizontales y verticales en un entorno picture; -compárese <link linkend="_005clinethickness">\linethickness</link> y <link linkend="_005cthicklines">\thicklines</link>. +<para>Declaración para establecer el grosor de líneas, círculos y óvalos +posteriores en un entorno picture para ser 0.8pt. Ve también +<link linkend="_005clinethickness">\linethickness</link> y <link linkend="_005cthinlines">\thinlines</link>. Este comando se ilustra en +el ejemplo de regla trapezoidal de <link linkend="_005cqbezier">\qbezier</link>. </para> </sect2> -<sect2 label="9.19.10" id="_005cmultiput"> -<title><literal>\multiput</literal></title> -<indexterm role="fn"><primary>\multiput</primary></indexterm> +<sect2 label="8.19.9" id="_005ccircle"> +<title><literal>\circle</literal></title> + +<indexterm role="fn"><primary>\circle</primary></indexterm> <para>Sinopsis: -</para><screen>\multiput(<replaceable>x</replaceable>,<replaceable>y</replaceable>)(<replaceable>delta_x</replaceable>,<replaceable>delta_y</replaceable>){<replaceable>n</replaceable>}{<replaceable>obj</replaceable>} +</para> +<screen>\circle{<replaceable>diameter</replaceable>} +\circle*{<replaceable>diameter</replaceable>} </screen> -<para>La instrucción <literal>\multiput</literal> copia el objeto <replaceable>obj</replaceable> en un patrón -regular entre imágenes. primero se coloca <replaceable>obj</replaceable> en la posición -<inlineequation><mathphrase>(x,y)</mathphrase></inlineequation>, luego en la posición <inlineequation><mathphrase>(x+\delta x,y+\delta y)</mathphrase></inlineequation> y así -sucesivamente, <replaceable>n</replaceable> veces. +<para>Produce un círculo con un diámetro lo más cercano posible al +especificado. La forma <literal>*</literal> produce un círculo relleno. +</para> +<para>Esto dibuja un círculo de radio 6, centrado en <literal>(5,7)</literal>. +</para> +<screen>\put(5,7){\circle{6}} +</screen> +<para>Los radios disponibles para <literal>\circle</literal> son, en puntos, los números +pares del 2 al 20, ambos inclusive. Para <literal>\circle*</literal> son todos +los números enteros del 1 al 15. </para> </sect2> -<sect2 label="9.19.11" id="_005coval"> +<sect2 label="8.19.10" id="_005coval"> <title><literal>\oval</literal></title> + <indexterm role="fn"><primary>\oval</primary></indexterm> <para>Sinopsis: </para> -<screen>\oval(<replaceable>ancho</replaceable>,<replaceable>alto</replaceable>)[<replaceable>porción</replaceable>] +<screen>\oval(<replaceable>width</replaceable>,<replaceable>height</replaceable>) +\oval(<replaceable>width</replaceable>,<replaceable>height</replaceable>)[<replaceable>portion</replaceable>] </screen> -<para>La instrucción <literal>\oval</literal> produce un rectángulo con esquinas -redondeadas. El argumento opcional <replaceable>porción</replaceable> le permite seleccionar -la parte del óvalo vía las siguientes letras: +<para>Produce un rectángulo con esquinas redondeadas, en lo sucesivo +denominado <firstterm>oval</firstterm>. El argumento opcional <replaceable>portion</replaceable> te permite +producir sólo la mitad o un cuarto del óvalo. Para medio óvalo toma +<replaceable>portion</replaceable> para que sea uno de estos. </para> <variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>selecciona la parte superior; +</term><listitem><para>mitad superior (top) </para></listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>selecciona la parte inferior; +</term><listitem><para>mitad inferior (bottom) </para></listitem></varlistentry><varlistentry><term><literal>r</literal> -</term><listitem><para>selecciona la parte derecha; +</term><listitem><para>mitad derecha (right) </para></listitem></varlistentry><varlistentry><term><literal>l</literal> -</term><listitem><para>selecciona la parte izquierda. +</term><listitem><para>mitad izquierda (left) </para></listitem></varlistentry></variablelist> -<para>Las “esquinas” del óvalo se hacen con cuartos de círculo con un radio -máximo de 20pt, por lo tanto los “óvalos” grandes se parecen más -a cajas con esquinas redondeadas. +<para>Produce solo un cuarto del óvalo configurando en <replaceable>portion</replaceable> en +<literal>tr</literal>, <literal>br</literal>, <literal>bl</literal> o <literal>tl</literal>. </para> - -</sect2> -<sect2 label="9.19.12" id="_005cput"> -<title><literal>\put</literal></title> - -<indexterm role="fn"><primary>\put</primary></indexterm> - -<para><literal>\put(<replaceable>xcoord</replaceable>,<replaceable>ycoord</replaceable>){ ... }</literal> +<para>Esto dibuja la mitad superior de un óvalo de 3 de ancho y 7 de alto. +</para> +<screen>\put(5,7){\oval(3,7)[t]} +</screen> +<para>El (5,7) es el centro de todo el óvalo, no solo el centro de la mitad +superior. </para> -<para>La instrucción <literal>\put</literal> coloca el elemento especificado por el -argumento obligatorio en las coordenadas <replaceable>xcoord</replaceable> e -<replaceable>ycoord</replaceable> proporcionadas. +<para>Estas formas no son elipses. Son rectángulos cuyas esquinas están +hechas con cuartos de círculo. Estos círculos tienen un radio máximo +de 20pt (véase <link linkend="_005ccircle">\circle</link> para los tamaños). Por lo tanto, los +óvalos grandes son solo Marcos con una pequeña cantidad de esquinas +redondeadas. </para> </sect2> -<sect2 label="9.19.13" id="_005cshortstack"> +<sect2 label="8.19.11" id="_005cshortstack"> <title><literal>\shortstack</literal></title> + <indexterm role="fn"><primary>\shortstack</primary></indexterm> <para>Sinopsis: </para> -<screen>\shortstack[<replaceable>posición</replaceable>]{...\\...\\...} +<screen>\shortstack[<replaceable>position</replaceable>]{<replaceable>line 1</replaceable> \\ ... } +</screen> +<para>Produce una pila vertical de objetos. +</para> +<para>Esto etiqueta el eje <inlineequation><mathphrase>y</mathphrase></inlineequation> escribiendo la palabra ‘<literal><inlineequation><mathphrase>y</mathphrase></inlineequation></literal>’ +arriba de la palabra ‘<literal>eje</literal>’. +</para> +<screen>\setlength{\unitlength}{1cm} +\begin{picture}(5,2.5)(-0.75,0) + \put(0,0){\vector(1,0){4}} % eje x + \put(0,0){\vector(0,1){2}} % y + \put(-0.2,2){\makebox(0,0)[r]{\shortstack[r]{$y$\\ ejes}}} +\end{picture} </screen> -<para>La instrucción <literal>\shortstack</literal> produce un montón de objetos. Las -posiciones válidas son: +<para>Para una pila pequeña, el punto de referencia es la parte inferior +izquierda de la pila. En el ejemplo anterior, el <literal>\makebox</literal> +(véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>) pone la pila se alinea a la derecha en un +cuadro de ancho cero, por lo que en total la pila corta se encuentra +ligeramente a la izquierda del eje <inlineequation><mathphrase>y</mathphrase></inlineequation>. +</para> +<para>Los puestos válidos son: </para> <variablelist><varlistentry><term><literal>r</literal> -</term><listitem><para>Mueve los objetos a la derecha de la pila. +</term><listitem><para>Hace que los objetos queden alineados a la derecha </para></listitem></varlistentry><varlistentry><term><literal>l</literal> -</term><listitem><para>Mueve los objetos a la izquierda de la pila +</term><listitem><para>Hace que los objetos queden alineados a la izquierda </para></listitem></varlistentry><varlistentry><term><literal>c</literal> -</term><listitem><para>Mueve los objetos hacia el centro de la pila (predeterminado) +</term><listitem><para>Centra objetos (predeterminado) </para></listitem></varlistentry></variablelist> <indexterm role="fn"><primary>\\ (para objetos <literal>\shortstack</literal>)</primary></indexterm> -<para>Los objetos son separados con <literal>\\</literal>. +<para>Separa los objetos en líneas con <literal>\\</literal>. Estas pilas son cortas en +que, a diferencia de un entorno <literal>tabular</literal> o <literal>array</literal>, aquí +las filas no están espaciadas para tener saltos de línea base +uniformes. Así, en <literal>\shortstack{X\\o\\o\\X}</literal> la primera y la +última fila son más altas que los dos medios, y por lo tanto la línea +base salta entre los dos medios filas es más pequeña que la que hay +entre la tercera y la última fila. Puedes ajustar las alturas y +profundidades de las filas ya sea colocando la interlínea habitual +espaciado con <literal>\shortstack{X\\ \strut o\\o\\X}</literal> +(véase <link linkend="_005cstrut">\strut</link>), o explícitamente, a través de un cuadro de ancho +cero <literal>\shortstack{X \\ \rule{0pt}{12pt} o\\o\\X}</literal> o +mediante el uso opcional de <literal>\\</literal> argumento +<literal>\shortstack{X\\[2pt] o\\o\\X}</literal>. +</para> +<para>El comando <literal>\shortstack</literal> también está disponible fuera del +entorno <literal>picture</literal>. </para> </sect2> -<sect2 label="9.19.14" id="_005cvector"> +<sect2 label="8.19.12" id="_005cvector"> <title><literal>\vector</literal></title> + <indexterm role="fn"><primary>\vector</primary></indexterm> <para>Sinopsis: </para> -<!-- vincentb1 20140824 please replace @comma{} by , when accepting @vincentb macro --> -<!-- vincentb1, also @backslashchar{} can be replaced by \ --> -<screen>\vector(<replaceable>declivex</replaceable>,<replaceable>declivey</replaceable>){<replaceable>longitud</replaceable>} +<screen>\vector(<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>){<replaceable>travel</replaceable>} </screen> -<para>La instrucción <literal>\vector</literal> dibuja una línea con una flecha de la -longitud y declive especificados. Los valores -<inlineequation><mathphrase><replaceable>declivex</replaceable></mathphrase></inlineequation> i <inlineequation><mathphrase><replaceable>declivey</replaceable></mathphrase></inlineequation> deben -estar entre −4 y +4 incluido. +<para>Dibuja una línea que termine en una flecha. La pendiente de esa recta +es: sube verticalmente <replaceable>y_rise</replaceable> por cada <replaceable>x_run</replaceable> horizontal. +Los <replaceable>travel</replaceable> es el cambio horizontal total — no es la longitud +del vector, es el cambio en <inlineequation><mathphrase>x</mathphrase></inlineequation>. En el caso especial de vectores +verticales, si (<replaceable>x_run</replaceable>,<replaceable>y_rise</replaceable>)=(0,1), entonces <replaceable>travel</replaceable> +da el cambio en <inlineequation><mathphrase>y</mathphrase></inlineequation>. +</para> +<para>Para ver un ejemplo, <link linkend="picture">picture</link>. +</para> +<para>Para obtener más detalles sobre <replaceable>x_run</replaceable> y <replaceable>y_rise</replaceable>, consulta +<link linkend="_005cline">\line</link>. Como allí, los valores de <replaceable>x_run</replaceable> y <replaceable>y_rise</replaceable> +están limitados. Para <literal>\vector</literal> debes elegir números enteros +entre −4 y 4, inclusive. Además, los dos que elijas deben ser +relativamente primos. De este modo, <literal>\vector(2,1){4}</literal> es +aceptable pero <literal>\vector(4,2){4}</literal> no es (si usas este último, +obtendrás una secuencia de puntas de flecha). </para> </sect2> -</sect1> -<sect1 label="9.20" id="quotation"> -<title><literal>quotation</literal></title> +<sect2 label="8.19.13" id="_005cmakebox-_0028picture_0029"> +<title><literal>\makebox</literal> (picture)</title> -<indexterm role="fn"><primary>entorno <literal>quotation</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>quotation</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>texto citado con sangría de párrafo, mostrando</primary></indexterm> -<indexterm role="cp"><primary>mostrando texto citado con sangría de párrafo</primary></indexterm> -<indexterm role="cp"><primary>sangrías de párrafo en texto citado</primary></indexterm> +<indexterm role="fn"><primary>\makebox (para <literal>picture</literal>)</primary></indexterm> <para>Sinopsis: </para> -<screen>\begin{quotation} -<replaceable>texto</replaceable> -\end{quotation} +<screen>\makebox(<replaceable>rec-width</replaceable>,<replaceable>rec-height</replaceable>){<replaceable>text</replaceable>} +\makebox(<replaceable>rec-width</replaceable>,<replaceable>rec-height</replaceable>)[<replaceable>position</replaceable>]{<replaceable>text</replaceable>} </screen> -<para>A los márgenes del entorno <literal>quotation</literal> se les aplica una sangría en -ambos lados izquierdo y derecho. El texto está justificado en ambos -márgenes. Dejar una línea en blanco entre el texto produce un nuevo -párrafo. +<para>Hace un cuadro para contener <replaceable>text</replaceable>. Este comando encaja con el +entorno <literal>picture</literal>, aunque los puedes usar fuera de allí, porque +<replaceable>rec-width</replaceable> y <replaceable>rec-height</replaceable> son números que especifican +distancias en términos de <literal>\unitlength</literal> (véase <link linkend="picture">picture</link>). Este +comando es similar al comando <literal>\makebox</literal> normal (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y +\makebox</link>), excepto que aquí debes especificar el ancho y el alto. +Este el comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Esto hace una caja de longitud 3.5 veces <literal>\unitlength</literal> y altura 4 +veces <literal>\unitlength</literal>. +</para> +<screen>\put(1,2){\makebox(3.5,4){...}} +</screen> +<para>El argumento opcional <literal><replaceable>position</replaceable></literal> especifica dónde aparece +el <replaceable>text</replaceable> en el cuadro. El valor predeterminado es centrarlo, +tanto horizontal como verticalmente. Para colocarlo en otro lugar, +usa una cadena con una o dos de estas letras. +</para> +<variablelist><varlistentry><term><literal>t</literal> +</term><listitem><para>Pone <replaceable>text</replaceable> en la parte superior de la caja. +</para> +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><para>Pone <replaceable>text</replaceable> en la parte inferior. +</para> +</listitem></varlistentry><varlistentry><term><literal>l</literal> +</term><listitem><para>Pone el <replaceable>text</replaceable> a la izquierda. +</para> +</listitem></varlistentry><varlistentry><term><literal>r</literal> +</term><listitem><para>Pone el <replaceable>text</replaceable> a la derecha. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="8.19.14" id="_005cframebox-_0028picture_0029"> +<title><literal>\framebox</literal> (picture)</title> + +<indexterm role="fn"><primary>\framebox</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\framebox(<replaceable>rec-width</replaceable>,<replaceable>rec-height</replaceable>){<replaceable>text</replaceable>} +\framebox(<replaceable>rec-width</replaceable>,<replaceable>rec-height</replaceable>)[<replaceable>position</replaceable>]{<replaceable>text</replaceable>} +</screen> +<para>Esto es lo mismo que <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link> excepto que pone un +marco alrededor del exterior de la caja que crea. El punto de +referencia es la esquina inferior izquierda del marco. Este comando +encaja con el entorno <literal>picture</literal>, aunque lo puedes usar fuera de +allí, porque las longitudes son números que especifican la distancia +en términos de <literal>\unitlength</literal> (véase <link linkend="picture">picture</link>). Este comando es +frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Este ejemplo crea un marco de 2.5 pulgadas por 3 pulgadas y +coloca el texto en el centro. +</para> +<screen>\setlength{\unitlength}{1in} +\framebox(2.5,3){test text} +</screen> +<para>Los argumentos requeridos son que el rectángulo tiene un ancho total +de <replaceable>rect-width</replaceable> unidades y una altura de <replaceable>rect-height</replaceable> +unidades. </para> -<para>A diferencia del entorno <literal>quote</literal>, cada párrafo normalmente tiene -sangría. +<para>El argumento opcional <replaceable>position</replaceable> especifica la posición de +<replaceable>text</replaceable>; <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link> para los valores que puede tomar. +</para> +<indexterm role="fn"><primary>\fboxrule</primary></indexterm> +<indexterm role="fn"><primary>\fboxsep</primary></indexterm> +<para>La regla tiene <literal>\fboxrule</literal> de grosor y hay un espacio en blanco +<literal>\fboxsep</literal> entre el marco y el contenido de la caja. </para> +<para>Para este comando, debes especificar <replaceable>width</replaceable> y <replaceable>height</replaceable>. Si +solo quieres poner un marco alrededor de algún contenido cuya +dimensión está determinada de alguna otra manera, entonces usa +<literal>\fbox</literal> (véase <link linkend="_005cfbox-y-_005cframebox">\fbox y \framebox</link>) o <literal>\frame</literal> +(véase <link linkend="_005cframe">\frame</link>). +</para> + +</sect2> +<sect2 label="8.19.15" id="_005cframe"> +<title><literal>\frame</literal></title> + +<indexterm role="fn"><primary>\frame</primary></indexterm> +<para>Sinopsis: +</para> +<screen>\frame{<replaceable>contenido</replaceable>} +</screen> +<para>Pone un marco rectangular alrededor de <replaceable>content</replaceable>. El punto de +referencia es la esquina inferior izquierda del marco. En contraste +con <literal>\framebox</literal> (véase <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>), este comando no +pone espacio adicional entre el marco y el objeto. es frágil +(véase <link linkend="_005cprotect">\protect</link>). +</para> + +</sect2> +<sect2 label="8.19.16" id="_005cdashbox"> +<title><literal>\dashbox</literal></title> + +<indexterm role="fn"><primary>\dashbox</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\dashbox{<replaceable>dash-len</replaceable>}(<replaceable>rect-width</replaceable>,<replaceable>rect-height</replaceable>){<replaceable>text</replaceable>} +\dashbox{<replaceable>dash-len</replaceable>}(<replaceable>rect-width</replaceable>,<replaceable>rect-height</replaceable>)[<replaceable>position</replaceable>]{<replaceable>text</replaceable>} +</screen> +<para>Crea un rectángulo punteado alrededor de <replaceable>text</replaceable>. Este comando +encaja con el entorno <literal>picture</literal>, aunque lo puedes usar fuera de +allí, porque las longitudes son números que especifican la distancia +en términos de <literal>\unitlength</literal> (véase <link linkend="picture">picture</link>). +</para> +<para>Los argumentos requeridos son: los guiones son <replaceable>dash-len</replaceable> unidades +de largo, con el mismo espacio de longitud, y el rectángulo tiene un +ancho total de <replaceable>rect-width</replaceable> unidades y una altura de +<replaceable>rect-height</replaceable> unidades. +</para> +<para>El argumento opcional <replaceable>position</replaceable> especifica la posición de +<replaceable>text</replaceable>; <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link> para los valores que puede tomar. +</para> +<para>Esto muestra que puedes usar un valor no entero para <replaceable>dash-len</replaceable>. +</para> +<screen>\put(0,0){\dashbox{0.1}(5,0.5){Mi aerodeslizador está lleno de +anguilas.}} +</screen> +<para>Cada guión tendrá una longitud de <literal>0.1\unitlength</literal>, el ancho del +cuadro es <literal>5\unitlength</literal> y su altura es <literal>0.5\unitlength</literal>. +</para> +<para>Como en ese ejemplo, un cuadro discontinuo se ve mejor cuando +<replaceable>rect-width</replaceable> y <replaceable>rect-height</replaceable> son múltiplos de <replaceable>dash-len</replaceable>. +</para> + +</sect2> </sect1> -<sect1 label="9.21" id="quote"> -<title><literal>quote</literal></title> +<sect1 label="8.20" id="comillas-y-citas"> +<title><literal>quotation</literal> y <literal>quote</literal></title> + +<anchor id="quotation"/><indexterm role="fn"><primary>environment, <literal>quotation</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>quotation</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>texto citado con sangría de párrafo, mostrando</primary></indexterm> +<indexterm role="cp"><primary>mostrar texto citado con sangría de párrafo</primary></indexterm> +<indexterm role="cp"><primary>sangría de párrafo en el texto citado</primary></indexterm> +<anchor id="quote"/><indexterm role="fn"><primary>environment, <literal>quote</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>quote</literal> environment</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>quote</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>quote</literal>, entorno</primary></indexterm> <indexterm role="cp"><primary>texto citado sin sangría de párrafo, mostrando</primary></indexterm> -<indexterm role="cp"><primary>mostrando texto citado sin sangría de párrafo</primary></indexterm> +<indexterm role="cp"><primary>mostrar texto citado sin sangría de párrafo</primary></indexterm> <indexterm role="cp"><primary>sangrías de párrafo en texto citado, omitiendo</primary></indexterm> <para>Sinopsis: </para> +<screen>\begin{quotation} + <replaceable>text</replaceable> +\end{quotation} +</screen> +<para>o +</para> <screen>\begin{quote} -<replaceable>texto</replaceable> + <replaceable>text</replaceable> \end{quote} </screen> -<para>A los márgenes del entorno <literal>quote</literal> se les aplica una sangría en -ambos lados izquierdo y derecho. El texto está justificado en ambos -márgenes. Dejar una línea en blanco entre el texto produce un nuevo -párrafo. -</para> -<para>A diferencia del entorno <literal>quotation</literal>, a los párrafos no se les -aplica una sangría. -</para> +<para>Incluye una comilla. Ambos entornos sangran los márgenes en ambos +lados por <literal>\leftmargin</literal> y el texto está justificado a la derecha. +</para> +<para>Se diferencian en cómo tratan los párrafos. En el entorno +<literal>quotation</literal>, los párrafos tienen una sangría de 1.5em y el +espacio entre párrafos es pequeño, <literal>0pt plus 1pt</literal>. En el entorno +<literal>quote</literal>, los párrafos no tienen sangría y hay espacio vertical +entre párrafos (es la longitud elástica <literal>\parsep</literal>). +</para> +<screen>\begin{quotation} \smallskip\it + Hace cuatro veintenas y siete años + ... no se pierde de la tierra. + \hspace{1em plus 1fill}---Abraham Lincoln +\end{quotation} +</screen> </sect1> -<sect1 label="9.22" id="tabbing"> +<sect1 label="8.21" id="tabbing"> <title><literal>tabbing</literal></title> -<indexterm role="fn"><primary>entorno <literal>tabbing</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>tabbing</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>tabulaciones, utilizando</primary></indexterm> -<indexterm role="cp"><primary>alineando texto en columnas con tabulaciones</primary></indexterm> -<indexterm role="cp"><primary>alineando a través de tabulación</primary></indexterm> +<!-- xx TODO se alinea con el francés, que es más preciso y tiene --> +<!-- ejemplos más ilustrativos. --> + +<indexterm role="fn"><primary>environment, <literal>tabbing</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>tabbing</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>tabulaciones, usando</primary></indexterm> +<indexterm role="cp"><primary>alinear el texto usando tabulaciones</primary></indexterm> +<indexterm role="cp"><primary>alineación mediante tabulación</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{tabbing} -<replaceable>fila1col1</replaceable> \= <replaceable>fila1col2</replaceable> \= <replaceable>fila1col3</replaceable> \= <replaceable>fila1col4</replaceable> \\ -<replaceable>fila2col1</replaceable> \> \> <replaceable>fila2col3</replaceable> \\ +<replaceable>row1col1</replaceable> \= <replaceable>row1col2</replaceable> ... \\ +<replaceable>row2col1</replaceable> \> <replaceable>row2col2</replaceable> ... \\ ... \end{tabbing} </screen> -<para>El entorno <literal>tabbing</literal> proporciona una manera de alinear el texto en -columnas. Funciona mediante el establecimiento de tabuladores y -tabulación tanto como si se hubiera hecho en una máquina de escribir -común. Es el más adecuado para los casos en que el ancho de cada -columna es constante y conocido de antemano. +<para>Alinea el texto en columnas, configurando tabulaciones y tabulando en +ellas tanto como fue posible en una máquina de escribir. Esto se usa +con menos frecuencia que los entornos <literal>tabular</literal> (véase <link linkend="tabular">tabular</link>) +o <literal>array</literal> (véase <link linkend="array">array</link>) porque en esos, el ancho de cada +columna no necesita ser constante y no es necesario conocerlo de +antemano. </para> -<para>Este entorno se puede dividir en varias páginas, a diferencia del -entorno <literal>tabular</literal>. +<para>Este ejemplo tiene una primera línea donde las tabulaciones se +establecen en anchos explícitos, terminados por un comando +<literal>\kill</literal> (que se describe a continuación): </para> -<para>Las siguientes instrucciones se pueden utilizar dentro de un entorno -<literal>tabbing</literal>: -</para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\\ tabbing</primary></indexterm><literal>\\ tabbing</literal> -</term><listitem><para>Final de línea. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\= (tabbing)</primary></indexterm><literal>\= (tabbing)</literal> +<screen>\begin{tabbing} +\hspace{1.2in}\=\hspace{1in}\=\kill +Ship \>Armas \>Año \\ +\textit{Sophie} \>14 \>1800 \\ +\textit{Polychrest} \>24 \>1803 \\ +\textit{Lively} \>38 \>1804 \\ +\textit{Surprise} \>28 \>1805 \\ +\end{tabbing} +</screen> +<para>Tanto el entorno <literal>tabbing</literal> como el entorno más utilizado +<literal>tabular</literal> ponen el texto en columnas. La más importante +distinción es que en <literal>tabular</literal> el ancho de las columnas &latex; +lo determina automáticamente, mientras que en <literal>tabbing</literal> el +usuario establece las paradas de tabulación. Otra distinción es que +ese <literal>tabular</literal> genera un cuadro, pero <literal>tabbing</literal> se puede a +dividir en páginas. Finalmente, mientras que <literal>tabular</literal> se puede +usar en cualquier modo, <literal>tabbing</literal> se puede usar solo en modo +párrafo y siempre comienza un nuevo párrafo, sin sangría. +</para> +<para>Además, como se muestra en el ejemplo anterior, no es necesario para +usar la forma destacada del comando <literal>\hspace</literal> al principio de una +fila tabulada. El margen derecho del entorno <literal>tabbing</literal> es el +final de la línea, de modo que el ancho del entorno sea +<literal>\linewidth</literal>. +</para> +<indexterm role="cp"><primary>fila, tabbing</primary></indexterm> +<para>El entorno <literal>tabbing</literal> contiene una secuencia de <firstterm>filas +tabuladas</firstterm>. La primera fila tabulada comienza inmediatamente después +<literal>\begin{tabbing}</literal> y cada fila termina con <literal>\\</literal> o +<literal>\kill</literal>. La última fila puede omitir el <literal>\\</literal> y terminar con +solo <literal>\end{tabbing}</literal>. +</para> +<indexterm role="cp"><primary>patrón, tabulaciones actuales, tabbing</primary></indexterm> +<para>En cualquier punto, el entorno <literal>tabbing</literal> tiene un <firstterm>patrón</firstterm> de +tabulación actual, una secuencia de tabulaciones <inlineequation><mathphrase><replaceable>n</replaceable> > 0</mathphrase></inlineequation>, +numeradas 0, 1, etc. Estos crean <replaceable>n</replaceable> columnas correspondientes. +Tabulaciones 0 siempre es el margen izquierdo, definido por el +entorno envolvente. Tabulación número <replaceable>i</replaceable> se establece si se +le asigna una posición horizontal en la página. Número de +tabulación <replaceable>i</replaceable> solo se puede establecer si todas las paradas +0, …, <inlineequation><mathphrase>i-1</mathphrase></inlineequation> ya se han configurado; normalmente las paradas +posteriores están a la derecha de las anteriores. +</para> +<para>De forma predeterminada, cualquier texto compuesto en un entorno +<literal>tabbing</literal> está compuesto alineado de forma irregular a la derecha +y a la izquierda en la tabulación actual. La composición tipográfica +está hecha en modo LR (véase <link linkend="Modos">Modos</link>). +</para> +<para>Los siguientes comandos se pueden usar dentro de un entorno +<literal>tabbing</literal>. Todos son frágiles (véase <link linkend="_005cprotect">\protect</link>). +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\\ (tabulación)</primary></indexterm><literal>\\ (tabulación)</literal> +</term><listitem><para>Termina una línea tabulada y la compone. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\= (tabulación)</primary></indexterm><literal>\= (tabulación)</literal> </term><listitem><para>Establece una tabulación en la posición actual. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\> (tabbing)</primary></indexterm><literal>\> (tabbing)</literal> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\> (tabulación)</primary></indexterm><literal>\> (tabulación)</literal> </term><listitem><indexterm role="fn"><primary>\></primary></indexterm> <para>Avanza a la siguiente tabulación. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\<</primary></indexterm><literal>\<</literal> -</term><listitem><para>Coloca el siguiente texto a la izquierda del margen local (sin necesidad -de cambiar el margen). Sólo se puede usar al comienzo de la línea. +</term><listitem><para>Pone el siguiente texto a la izquierda del margen local (sin cambiar +el margen). Solo se puede utilizar al principio de la línea. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\+</primary></indexterm><literal>\+</literal> -</term><listitem><para>Mueve hacia la derecha el margen izquierdo del siguiente y todas las -subsecuentes instrucciones de tabulación, empezando la línea de -tabulación, de ser necesario. +</term><listitem><para>Mueve el margen izquierdo del siguiente y todos los siguientes +comandos una tabulación a la derecha, comenzando la línea tabulada si +es necesario. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\-</primary></indexterm><literal>\-</literal> -</term><listitem><para>Mueve el margen izquierdo hacia la izquierda de la siguiente y todas las -subsecuentes instrucciones de tabulación, comenzando con la línea de -tabulación si es necesario. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\' (tabbing)</primary></indexterm><literal>\' (tabbing)</literal> -</term><listitem><para>Mueve todo lo que ha escrito hasta ahora en la columna actual, es decir, -cualquier cosa desde la instrucción <literal>\></literal>, <literal>\<</literal>, <literal>\'</literal>, -<literal>\\</literal> o <literal>\kill</literal> más reciente, a la derecha de la columna -anterior, a ras de la tabulación de la columna actual. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\` (tabbing)</primary></indexterm><literal>\` (tabbing)</literal> -</term><listitem><para>Permite poner texto alineado a la derecha contra cualquier tabulación, -incluyendo la tabulación 0. Sin embargo, no puede mover el texto a -la derecha de la última columna porque allí no hay tabulación. La -instrucción <literal>\`</literal> mueve todo el texto que le sigue, hasta la -instrucción <literal>\\</literal> o <literal>\end{tabbing}</literal> que termina la línea, al -margen derecho del entorno tabbing. No debe haber instrucción <literal>\></literal> -o <literal>\'</literal> entre el <literal>\`</literal> y la instrucción que termina la línea. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\a (tabbing)</primary></indexterm><literal>\a (tabbing)</literal> +</term><listitem><para>Mueve el margen izquierdo del siguiente y todos los siguientes +comandos una tabulación a la izquierda, comenzando la línea tabulada +si es necesario. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\' (tabulación)</primary></indexterm><literal>\' (tabulación)</literal> +</term><listitem><para>Mueve todo lo que hayas escrito hasta ahora en la columna actual, es +decir, todo, desde el comando <literal>\></literal> más reciente, <literal>\<</literal>, +<literal>\'</literal>, <literal>\\</literal>, o <literal>\kill</literal>, a la columna anterior y alineado +a la derecha, al ras contra la tabulación de la columna actual. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\` (tabulación)</primary></indexterm><literal>\` (tabulación)</literal> +</term><listitem><para>Te permite poner el texto al ras contra cualquier tabulación, +incluidas las tabulaciones 0. Sin embargo, no puedes mover el +texto a la derecha de la última columna porque no hay una tabulación +allí. El comando <literal>\`</literal> mueve todo el texto que le sigue, hasta el +comando <literal>\\</literal> o <literal>\end{tabbing}</literal> que finaliza la línea, al +margen derecho del entorno <literal>tabbing</literal>. No debe haber ningún +comando <literal>\></literal> o <literal>\'</literal> entre <literal>\`</literal> y <literal>\\</literal> o +<literal>\end{tabbing}</literal> que finaliza la línea. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\a (tabulación)</primary></indexterm><literal>\a (tabulación)</literal> </term><listitem><indexterm role="fn"><primary>\a' (acento agudo en tabulación)</primary></indexterm> <indexterm role="fn"><primary>\a` (acento grave en tabulación)</primary></indexterm> -<indexterm role="fn"><primary>\a= (acento macrón en tabbing)</primary></indexterm> -<para>En un entorno <literal>tabbing</literal>, las instrucciones <literal>\=</literal>, <literal>\'</literal> y -<literal>\`</literal> no producen acentos en la manera usual (véase <link linkend="Acentos">Acentos</link>). En -su lugar, se utilizan estas instrucciones <literal>\a=</literal>, <literal>\a'</literal> y -<literal>\a`</literal>. +<indexterm role="fn"><primary>\a= (acento macrón en tabulación)</primary></indexterm> +<para>En un entorno <literal>tabbing</literal>, los comandos <literal>\=</literal>, <literal>\'</literal> y +<literal>\`</literal> no produce acentos como de costumbre (véase <link linkend="Acentos">Acentos</link>). En +cambio, usa los comandos <literal>\a=</literal>, <literal>\a'</literal> y <literal>\a`</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\kill</primary></indexterm><literal>\kill</literal> -</term><listitem><para>Fija una tabulación sin producir texto. Trabaja igual que <literal>\\</literal> -salvo que esta desecha la línea actual en lugar de producir algo útil. -El efecto de cualquier instrucción <literal>\=</literal>, <literal>\+</literal> o <literal>\-</literal> en -esa línea seguirá en vigor. +</term><listitem><para>Establece tabulaciones sin producir texto. Funciona igual que +<literal>\\</literal> excepto que desecha la línea actual en lugar de producir una +salida para ella. Cualquier comando <literal>\=</literal>, <literal>\+</literal> o <literal>\-</literal> +en esa línea permanece en efecto. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\poptabs</primary></indexterm><literal>\poptabs</literal> </term><listitem><indexterm role="fn"><primary>\poptabs</primary></indexterm> -<para>Restaura las posiciones de tabulación salvadas por la última +<para>Restaura las posiciones de tabulación guardadas por el último <literal>\pushtabs</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pushtabs</primary></indexterm><literal>\pushtabs</literal> -</term><listitem><para>Guarda todas las posiciones de tabulación actuales. Útil para cambiar -temporalmente las posiciones de tabulación en medio de un entorno +</term><listitem><para>Guarda todas las posiciones de tabulación actuales. Útil para cambiar +temporalmente posiciones de tabulación en medio de un entorno <literal>tabbing</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tabbingsep</primary></indexterm><literal>\tabbingsep</literal> -</term><listitem><para>Distancia a la izquierda de la tabulación movida por <literal>\'</literal>. +</term><listitem><para>Distancia del texto movido por <literal>\'</literal> a la izquierda de la +tabulación actual. </para> </listitem></varlistentry></variablelist> -<para>En este ejemplo se compone tipográficamente una función de Pascal en el -formato tradicional: +<para>Este ejemplo compone una función de Pascal: </para> <screen>\begin{tabbing} function \= fact(n : integer) : integer;\\ \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ + \> if \= n > 1 then \+ \\ fact := n * fact(n-1) \- \\ else \+ \\ fact := 1; \-\- \\ end;\\ \end{tabbing} </screen> +<para>La salida se ve así. +</para> +<screen>function fact(n : integer) : integer; + begin + if n > 1 then + fact := n * fact(n-1); + else + fact := 1; + end; +</screen> +<indexterm role="cp"><primary>package, <literal>algorithm2e</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>algorithm2e</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm> + +<para>Este ejemplo es solo para ilustrar el entorno. En realidad escribir +código de ordenador en una máquina de escribir como esta, un entorno +textual (véase <link linkend="verbatim">verbatim</link>) normalmente sería lo mejor. Para un código +bien impreso, hay unos cuantos paquetes, incluido +<literal>algorithm2e</literal>, <literal>fancyvrb</literal>, <literal>listings</literal> y +<literal>minted</literal>. +</para> </sect1> -<sect1 label="9.23" id="table"> +<sect1 label="8.22" id="table"> <title><literal>table</literal></title> -<indexterm role="fn"><primary>entorno <literal>table</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>table</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>tablas, creando</primary></indexterm> -<indexterm role="cp"><primary>creando tablas</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>table</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>table</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>tablas, crear</primary></indexterm> +<indexterm role="cp"><primary>crear tablas</primary></indexterm> <para>Sinopsis: </para> -<screen> \begin{table}[ubicación] - - cuerpo de la tabla - - \caption{título de la tabla} - \end{table} +<screen>\begin{table}[<replaceable>ubicación</replaceable>] + <replaceable>cuerpo de la tabla</replaceable> + \caption[<replaceable>loftitle</replaceable>]{<replaceable>title</replaceable>} % opcional + \label{<replaceable>label}</replaceable> % también opcional +\end{table} </screen> -<para>Las tablas son objetos que no forman parte del texto normal, y por lo -general “flotan” a un lugar conveniente, como la parte superior de una -página. Las tablas no se dividen en dos páginas. -</para> -<para>El argumento opcional <literal>[ubicación]</literal> determina dónde &latex; trata -de colocar su tabla. Hay cuatro lugares donde &latex;, posiblemente, -pueda colocar un flotante:; estos son los mismo que los utilizados con -el entorno <literal>figure</literal>, y se describen allí (véase <link linkend="figure">figure</link>). -</para> -<para>Las clases <literal>report</literal> y <literal>article</literal> estándar utilizan la ubicación -<literal>[tbp]</literal> predeterminada. +<para>Una clase de flotantes (véase <link linkend="Flotantes">Flotantes</link>). No se pueden dividir en +páginas por lo que no se escriben en secuencia con el texto normal, +sino que en su lugar flotan a un lugar conveniente, como la parte +superior de una página siguiente. +</para> +<para>Este entorno <literal>table</literal> de ejemplo contiene un <literal>tabular</literal> +</para> +<screen>\begin{table} + \centering\small + \begin{tabular}{ll} + \multicolumn{1}{c}{\textit{Autor}} + &\multicolumn{1}{c}{\textit{Pieza}} \\ \hline + Bach &Cello Suite Número 1 \\ + Beethoven &Cello Sonata Número 3 \\ + Brahms &Cello Sonata Número 1 + \end{tabular} + \caption{Las mejores piezas de violonchelo} + \label{tab:cello} +\end{table} +</screen> +<para>pero puedes poner muchos tipos diferentes de contenido en una +<literal>tabla</literal>: el <replaceable>cuerpo de la tabla</replaceable> puede contener texto, +comandos de &latex;, gráficos, etc. Es tipografiado en un +<literal>parbox</literal> de ancho <literal>\textwidth</literal>. </para> -<para>El cuerpo de la tabla se compone de cualquier texto, instrucciones -&latex;, etc., que usted desee. La instrucción <literal>\caption</literal> le -permite colocar un título a su tabla. +<para>Para los posibles valores de <replaceable>placement</replaceable> y su efecto en el +algoritmo de colocación de flotantes, <link linkend="Flotantes">Flotantes</link>. </para> +<para>La etiqueta es opcional; se usa para referencias cruzadas +(véase <link linkend="Referencias-cruzadas">Referencias cruzadas</link>). +<indexterm role="fn"><primary>\caption</primary></indexterm> +El comando <literal>\caption</literal> también es opcional. Especifica texto del +título <replaceable>title</replaceable> para la tabla (véase <link linkend="_005ccaption">\caption</link>). De manera +predeterminada es numerado. Si su <replaceable>lottitle</replaceable> opcional está +presente, entonces ese texto se utiliza en la lista de tablas en lugar +de <replaceable>title</replaceable> (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla de contenido etc.</link>). +</para> +<para>En este ejemplo, la tabla y el título flotarán en la parte inferior de +una página, a menos que se empuje a una página flotante al final. +</para> +<screen>\begin{table}[b] + \centering + \begin{tabular}{r|p{2in}} \hline + Uno &El número loneliest \\ + Dos &Puede estar tan triste como uno. + Es el número más solitario desde el número uno. + \end{tabular} + \caption{Virtud cardinal} + \label{tab:CardinalVirtues} +\end{table} +</screen> </sect1> -<sect1 label="9.24" id="tabular"> +<sect1 label="8.23" id="tabular"> <title><literal>tabular</literal></title> -<indexterm role="fn"><primary>entorno <literal>tabular</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>tabular</literal>, entorno</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>tabular</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>tabular</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>líneas en tablas</primary></indexterm> <indexterm role="cp"><primary>alineando texto en tablas</primary></indexterm> <para>Sinopsis: </para> -<screen>\begin{tabular}[ubicación]{columnas} -columna 1 entrada & columna 2 entrada ... & columna n entrada n \\ -... +<screen>\begin{tabular}[<replaceable>pos</replaceable>]{<replaceable>cols</replaceable>} + <replaceable>entrada de columna 1</replaceable> &<replaceable>entrada de columna 2</replaceable> + ... + &<replaceable>entrada de columna n</replaceable> \\ + ... \end{tabular} </screen> <para>o </para> -<screen>\begin{tabular*}{ancho}[posición]{columnas} -columna 1 entrada & columna 2 entrada ... & columna n entrada n \\ -... +<screen>\begin{tabular*}{<replaceable>width</replaceable>}[<replaceable>pos</replaceable>]{<replaceable>cols</replaceable>} + <replaceable>entrada de columna 1</replaceable> &<replaceable>entrada de columna 2</replaceable> + ... + &<replaceable>entrada de columna n</replaceable> \\ + ... \end{tabular*} </screen> -<para>Estos entornos producen una caja consiste de una secuencia de filas de -elementos, alineadas verticalmente en columnas. -</para> -<indexterm role="fn"><primary>\\ para <literal>tabular</literal></primary></indexterm> -<para>Se debe utilizar <literal>\\</literal> para especificar el final de cada fila de la -tabla, salvo por la última, en que esta es opcional —a menos que le -siga una instrucción <literal>\hline</literal> (para colocar una raya bajo la -tabla). -</para> -<para>Los argumentos obligatorios y opcionales consisten de: -</para> -<variablelist><varlistentry><term><literal>ancho</literal> -</term><listitem><para>Especifica la anchura del entorno <literal>tabular*</literal>. Este debe tener -espacio entre las columnas que se puede estirar para llenar el ancho -especificado. -</para> -</listitem></varlistentry><varlistentry><term><literal>posición</literal> -</term><listitem><para>Especifica la posición vertical; de manera predeterminada -alinea al centro el entorno. -</para> -<variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>alineado en la fila superior -</para></listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>alineado en la fila inferior -</para></listitem></varlistentry></variablelist> -</listitem></varlistentry><varlistentry><term><literal>columnas</literal> -</term><listitem><para>Especifica el formato de columna. Este consiste en una secuencia de los -siguientes especificadores, correspondientes a la secuencia de columnas -y el material intercolumna. -</para> -<variablelist> -<varlistentry><term><literal>l</literal> +<para>Produce una tabla, una caja que consta de una secuencia de filas +horizontales. Cada fila consta de elementos alineados verticalmente +en columnas. Este ilustra muchas de las características. +</para> +<screen>\begin{tabular}{l|l} + \textit{Nombre del jugador} &\textit{Carrera de jonrones} \\ + \hline + Hank Aarón &755 \\ + nena Ruth &714 +\end{tabular} +</screen> +<para>La salida tendrá dos columnas alineadas a la izquierda con una barra +vertical entre ellos. Esto se especifica en el argumento +<literal>{l|l}</literal> de <literal>tabular</literal>. +<indexterm role="fn"><primary>& (para celdas de tabla)</primary></indexterm> +Coloca las entradas en diferentes columnas separándolas con un +ampersand, <literal>&</literal>. El final de cada fila está marcado con una doble +barra invertida, <literal>\\</literal>. Pone una regla horizontal debajo de una +fila, después de una doble barra invertida, con <literal>\hline</literal>. +<indexterm role="fn"><primary>\\ (para <literal>tabular</literal>)</primary></indexterm> +Después de la última fila, las <literal>\\</literal> son opcionales, a menos que +un <literal>\hline</literal> siga el comando para poner una regla debajo de la +tabla. +</para> +<para>Los argumentos requeridos y opcionales para <literal>tabular</literal> consisten +en: +</para> +<variablelist><varlistentry><term><replaceable>pos</replaceable> +</term><listitem><para>Opcional. Especifica la posición vertical de la tabla. El valor +predeterminado es alinear la tabla para que su centro vertical +coincida con la línea base del texto circundante. Hay otras dos +posibles alineaciones: <literal>t</literal> alinea la tabla para que su fila +superior coincida con la línea base del texto circundante y <literal>b</literal> +se alinea en la fila inferior. +</para> +<para>Esto solo tiene efecto si hay otro texto. En el caso común de un +<literal>tabular</literal> solo en un entorno <literal>center</literal> esta opción no hace +ninguna diferencia. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>cols</replaceable> +</term><listitem><para>Requerido. Especifica el formato de las columnas. Consiste en una +secuencia de los siguientes especificadores, correspondientes a los +tipos de material de columna e intercolumna. +</para> +<variablelist><varlistentry><term><literal>l</literal> </term><listitem><para>Una columna de elementos alineados a la izquierda. </para> </listitem></varlistentry><varlistentry><term><literal>r</literal> @@ -2441,327 +7190,755 @@ y el material intercolumna. </term><listitem><para>Una columna de elementos centrados. </para> </listitem></varlistentry><varlistentry><term><literal>|</literal> -</term><listitem><para>Una línea vertical que llena la altura y profundidad total del entorno. -</para> -</listitem></varlistentry><varlistentry><term><literal>@{<replaceable>texto</replaceable>}</literal> -</term><listitem><para>Esta inserta <replaceable>texto</replaceable> en cada fila. Una @-expresión suprime el -espacio intercolumnas insertado normalmente entre columnas; cualquier -espacio deseado entre el texto insertado y los elementos adyacentes se -deberá incluir en <replaceable>texto</replaceable>. Una instrucción -<literal>\extracolsep{ancho}</literal> en una @-expresión provoca que aparezca un -espacio extra de ancho <literal>ancho</literal> a la izquierda de todas las columnas -subsecuentes, hasta que se anule por otra instrucción -<literal>\extracolsep</literal>. A diferencia del espacio intercolumna ordinario, -este espacio adicional no se suprime por una @-expresión. Una -instrucción <literal>\extracolsep</literal> únicamente se pude utilizar en una -@-expresión en el argumento <literal>columnas</literal>. -</para> -</listitem></varlistentry><varlistentry><term><literal>p{<replaceable>ancho</replaceable>}</literal> -</term><listitem><para>Produce una columna con cada elemento compuesto tipográficamente en una -parbox de ancho <replaceable>ancho</replaceable>, como si fuera el argumento de una -instrucción <literal>\parbox[t]{<replaceable>ancho</replaceable>}</literal>. Sin embargo, una -<literal>\\</literal> en el elemento no puede, salvo en las siguientes situaciones: -</para> -<orderedlist numeration="arabic"><listitem><para>Dentro de un entorno como <literal>minipage</literal>, <literal>array</literal> o -<literal>tabular</literal>. -</para></listitem><listitem><para>Dentro de una <literal>\parbox</literal> explícita. -</para></listitem><listitem><para>En el alcance de una declaración <literal>\centering</literal>, <literal>\raggedright</literal> -o <literal>\raggedleft</literal>. La última declaración debe aparecer dentro de -llaves o un entorno cuando se utiliza en un elemento <literal>p</literal>-columna. -</para></listitem></orderedlist> -</listitem></varlistentry><varlistentry><term><literal>*{<replaceable>número</replaceable>}{<replaceable>columnas</replaceable>}</literal> -</term><listitem><para>Equivalente a <replaceable>número</replaceable> de copias de <replaceable>columnas</replaceable>, donde -<replaceable>número</replaceable> es un entero positivo y <replaceable>columnas</replaceable> es cualquier lista -de especificadores de columna, la cual puede contener otra -<literal>*-expresión</literal>. +</term><listitem><para>Una línea vertical de la altura y la profundidad completas del +entorno. +</para> +</listitem></varlistentry><varlistentry><term><literal>@{<replaceable>texto o espacio</replaceable>}</literal> +</term><listitem><para>Inserta <replaceable>texto o espacio</replaceable> en esta ubicación en cada fila. El +material <replaceable>texto o espacio</replaceable> está compuesto en modo LR. Este texto +es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Si entre dos especificadores de columna no hay una @-expresión, +entonces las clases <literal>book</literal>, <literal>article</literal> y <literal>report</literal> de +&latex; ponen a cada lado de cada columna un espacio de ancho +<literal>\tabcolsep</literal>, que de manera predeterminada es 6pt. Es +decir, de manera predeterminada las columnas adyacentes se separan con +12pt (por lo que <literal>\tabcolsep</literal> tiene un nombre engañoso ya +que es solo la mitad de la separación entre columnas tabulares). +Además, un espacio de <literal>\tabcolsep</literal> también viene antes de la +primera columna y después de la columna final, a menos que coloques +una <literal>@{...}</literal> allí. +</para> +<para>Si redefines el valor predeterminado y usas una @-expresión, entonces +&latex; no inserta <literal>\tabcolsep</literal> por lo que debes insertar +cualquier espacio deseado tú mismo, como en +<literal>@{\hspace{1em}}</literal>. +</para> +<para>Una expresión <literal>@{}</literal> vacía eliminará el espacio. En particular, +a veces deseas eliminar el espacio antes de la primera columna o +después de la última, como en el siguiente ejemplo donde las líneas +tabulares deben estar en el margen izquierdo. </para> -</listitem></varlistentry></variablelist></listitem></varlistentry></variablelist> +<screen>\begin{flushleft} + \begin{tabular}{@{}l} + ... + \end{tabular} +\end{flushleft} +</screen> +<para>El siguiente ejemplo muestra texto, un punto decimal entre las +columnas, dispuestas de forma que los números de la tabla queden +alineados en ella. +</para> +<screen>\begin{tabular}{r@{$.$}l} + $3$ &$14$ \\ + $9$ &$80665$ +\end{tabular} +</screen> +<anchor id="_005cextracolsep"/><indexterm role="fn"><primary>\extracolsep</primary></indexterm> +<para>Un comando <literal>\extracolsep{<replaceable>wd</replaceable>}</literal> en una expresión @ provoca +un espacio adicional de ancho <replaceable>wd</replaceable> para que aparezca a la +izquierda de todas las subsiguientes columnas, hasta que sea revocado +por otro <literal>\extracolsep</literal>. A diferencia del espacio entre columnas +ordinario, este espacio adicional no se suprime por una @-expresión. +Un comando <literal>\extracolsep</literal> solo se puede usar en una @-expresión +en el argumento <literal>cols</literal>. A continuación, &latex; inserta la +cantidad correcta de espacios entre columnas para que toda la tabla +tenga 4 pulgadas de ancho. +</para> +<screen>\begin{tabular*}{4in}{l@{\extracolsep{\fill}}l} + Siete veces abajo, ocho veces arriba \ldots + &¡así es la vida! +\end{tabular*} +</screen> +<para>Para insertar comandos que se ejecutan automáticamente antes de una +determinada columna, carga el paquete <literal>array</literal> y usa el +especificador <literal>>{...}</literal>. +<!-- xx se deberían explicar completamente array, tabularx y todos los --> +<!-- demás paquetes base... --> +</para> +</listitem></varlistentry><varlistentry><term><literal>p{<replaceable>wd</replaceable>}</literal> +</term><listitem><para>Cada elemento de la columna se escribe en un parbox de ancho <replaceable>wd</replaceable>, +como si fuera el argumento de un comando +<literal>\parbox[t]{wd}{...}</literal>. +</para> +<para>Un salto de línea de doble barra invertida <literal>\\</literal> puede no aparecer +en el elemento, excepto dentro de un entorno como <literal>minipage</literal>, +<literal>array</literal> o <literal>tabular</literal>, o dentro de un <literal>\parbox</literal> +explícito, o en el entorno de una declaración <literal>\centering</literal>, +<literal>\raggedright</literal> o <literal>\raggedleft</literal> (cuando se usa en un elemento +de columna <literal>p</literal>, estas declaraciones deben aparecer entre llaves, +como con <literal>{\centering .. \\ ..}</literal>). De lo contrario, &latex; +malinterpretará la doble barra invertida como terminando la fila +tabular. En cambio, para obtener un salto de línea allí, usa +<literal>\newline</literal> (véase <link linkend="_005cnewline">\newline</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>*{<replaceable>num</replaceable>}{<replaceable>cols</replaceable>}</literal> +</term><listitem><para>Equivalente a <replaceable>num</replaceable> copias de <replaceable>cols</replaceable>, donde <replaceable>num</replaceable> es un +entero positivo y <replaceable>cols</replaceable> es una lista de especificadores. Por lo +tanto, el especificador <literal>\begin{tabular}{|*{3}{l|r}|}</literal> es +equivalente a el especificador +<literal>\begin{tabular}{|l|rl|rl|r|}</literal>. Ten en cuenta que <replaceable>cols</replaceable> +puede contener otra <literal>*</literal>-expresión. +</para> +</listitem></varlistentry></variablelist> +</listitem></varlistentry><varlistentry><term><replaceable>width</replaceable> +</term><listitem><para>Obligatorio para <literal>tabular*</literal>, no permitido para +<literal>tabular</literal>. Especifica el ancho del entorno <literal>tabular*</literal>. El +espacio entre columnas debe ser elástico, como con +<literal>@{\extracolsep{\fill}}</literal>, para permitir la tabla para +estirar o encoger para hacer el ancho especificado, o de lo contrario +es probable que obtengan el <literal>Underfull \hbox (incorrecto 10000) +alineado ...</literal> advertencia. +</para> +</listitem></varlistentry></variablelist> <para>Parámetros que controlan el formato: -<!-- xx predeterminado, ¿en su propio nodo (xref desde array)? --> +<!-- xx predeterminados, propio nodo (xref del arreglo)? --> </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\arrayrulewidth</primary></indexterm><literal>\arrayrulewidth</literal> -</term><listitem><para>El espesor de la línea creada por <literal>|</literal>, <literal>\hline</literal> y -<literal>\vline</literal> en los entornos <literal>tabular</literal> y <literal>array</literal>; el -predeterminado es ‘<literal>.4pt</literal>’. +</term><listitem><anchor id="tabular-arrayrulewidth"/><para>Una longitud que es el grosor de la +regla creada por <literal>|</literal>, <literal>\hline</literal> y <literal>\vline</literal> en +<literal>tabular</literal> y <literal>array</literal> entornos. El valor predeterminado es +‘<literal>.4pt</literal>’. Cámbialo como en +<literal>\setlength{\arrayrulewidth}{0.8pt}</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arraystretch</primary></indexterm><literal>\arraystretch</literal> -</term><listitem><para>El factor para escalar el espaciado entre hileras en los entornos -<literal>tabular</literal> y <literal>array</literal>; el predeterminado es ‘<literal>1</literal>’, para no -escalar. +</term><listitem><anchor id="tabular-arraystrech"/><para>Un factor por el cual el espacio entre +filas en los entorno <literal>tabular</literal> y <literal>array</literal> se multiplica. El +valor predeterminado es ‘<literal>1</literal>’, para sin escala. Cámbialo a +<literal>\renewcommand{\arraystretch}{1.2}</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\doublerulesep</primary></indexterm><literal>\doublerulesep</literal> -</term><listitem><para>Distancia horizontal entre las líneas verticles producidas por <literal>||</literal> -en los entornos <literal>tabular</literal> y <literal>array</literal>; el predeterminado es -‘<literal>2pt</literal>’. +</term><listitem><anchor id="tabular-doublerulesep"/><para>Una longitud que es la distancia entre +las reglas verticales producidas por el especificador <literal>||</literal>. El +valor predeterminado es ‘<literal>2pt</literal>’. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tabcolsep</primary></indexterm><literal>\tabcolsep</literal> -</term><listitem><para>La mitad de la anchura del espacio entre las columnas; el predeterminado -es ‘<literal>6pt</literal>’. +</term><listitem><anchor id="tabular-tabcolsep"/><para>Una longitud que es la mitad del espacio +entre columnas. El valor predeterminado es ‘<literal>6pt</literal>’. Cámbialo con +<literal>\setlength</literal>. </para> </listitem></varlistentry></variablelist> -<para>Estas instrucciones se pueden utilizar en el interior de un entorno -<literal>tabular</literal>: +<para>Los siguientes comandos se pueden usar dentro del cuerpo de un entorno +<literal>tabular</literal>, los dos primeros dentro de una entrada y los dos +segundos entre líneas: </para> -<sect2 label="9.24.1" id="_005cmulticolumn"> +<sect2 label="8.23.1" id="_005cmulticolumn"> <title><literal>\multicolumn</literal></title> + <indexterm role="fn"><primary>\multicolumn</primary></indexterm> <para>Sinopsis: -</para><screen>\multicolumn{<replaceable>columnas</replaceable>}{<replaceable>posición</replaceable>}{<replaceable>texto</replaceable>} -</screen> -<para>La instrucción <literal>\multicolumn</literal> provoca que una entrada se extienda -por varias columnas. El primer argumento obligatorio, <replaceable>columnas</replaceable>, -especifica es el número de columnas por abarcar. El segundo argumento -obligatorio, <replaceable>posición</replaceable>, especifica el formato de la entrada; -<literal>c</literal> para centrado, <literal>l</literal> para alineado a la izquierda, <literal>r</literal> -para alineado a la derecha. El tercer argumento obligatorio, -<replaceable>texto</replaceable>, especifica el texto a colocar en la entrada. </para> -<para>He aquí un ejemplo que muestra dos columnas separadas por un doble -guión; <literal>\multicolumn</literal> se utiliza para el encabezado: +<screen>\multicolumn{<replaceable>numcols</replaceable>}{<replaceable>cols</replaceable>}{<replaceable>text</replaceable>} +</screen> +<para>Crea una entrada <literal>array</literal> o <literal>tabular</literal> que abarque varias +columnas. El primer argumento <replaceable>numcols</replaceable> da el número de columnas +a abarcar. El segundo argumento <replaceable>cols</replaceable> especifica el formato de +la entrada, con <literal>c</literal> para centrado, <literal>l</literal> para alineado a la +izquierda o <literal>r</literal> para volcarlo a la derecha. El tercer argumento +<replaceable>text</replaceable> da el contenido de esa entrada. +</para> +<para>En este ejemplo, en la primera fila, la segunda y la tercera columna +son abarcadas por el encabezado único ‘<literal>Name</literal>’. +</para> +<screen>\begin{tabular}{lccl} + \textit{ID} &\multicolumn{2}{c}{\textit{Name}} &\textit{Age} \\ + \hline + 978-0-393-03701-2 &O'Brian &Patrick &55 \\ + ... +\end{tabular} +</screen> +<para>Lo que cuenta como una columna es: el especificador de formato de +columna para el entorno <literal>array</literal> o <literal>tabular</literal> se divide en +partes, donde cada parte (excepto la primera) comienza con <literal>l</literal>, +<literal>c</literal>, <literal>r</literal>, o <literal>p</literal>. Así que desde +<literal>\begin{tabular}{|r|ccp{1.5in}|}</literal> las partes son +<literal>|r|</literal>, <literal>c</literal>, <literal>c</literal>, y <literal>p{1.5in}|</literal>. +</para> +<para>El argumento <replaceable>cols</replaceable> redefine el área <literal>array</literal> o <literal>tabular</literal> +intercolumna del entorno predeterminado junto a esta entrada +multicolumna. Para afectar esa área, este argumento puede contener +barras verticales <literal>|</literal> que indica la ubicación de las reglas +verticales y expresiones <literal>@{...}</literal>. Por lo tanto, si +<replaceable>cols</replaceable> es ‘<literal>|c|</literal>’ entonces esta entrada multicolumna estará +centrada y una regla vertical vendrá en el área intercolumna anterior +y posterior. Esta tabla detalla el comportamiento exacto. +</para> +<screen>\begin{tabular}{|cc|c|c|} + \multicolumn{1}{r}{w} % entrada uno + &\multicolumn{1}{|r|}{x} % entrada dos + &\multicolumn{1}{|r}{y} % entrada tres + &z % entrada cuatro +\end{tabular} +</screen> +<para>Antes de la primera entrada, la salida no tendrá una regla vertical +porque <literal>\multicolumn</literal> tiene el especificador <replaceable>cols</replaceable> ‘<literal>r</literal>’ +sin barra vertical inicial. Entre la entrada uno y la entrada dos +habrá una regla vertical; aunque la primera <replaceable>cols</replaceable> no tiene barra +vertical final, la segunda <replaceable>cols</replaceable> tiene una inicial. Entre la +entrada dos y entrada tres hay una sola regla vertical; a pesar de eso +<replaceable>cols</replaceable> en ambas llamadas de <literal>multicolumn</literal> circundantes para +una regla vertical, solo obtienes una regla. Entre la entrada tres y +la entrada cuatro no hay regla vertical; el valor predeterminado pide +una, pero <replaceable>cols</replaceable> en la entrada tres <literal>\multicolumn</literal> lo deja +afuera, y eso tiene prioridad. Finalmente, siguiendo la entrada +cuatro hay una regla vertical debido al valor predeterminado. +</para> +<para>El número de columnas distribuidas <replaceable>numcols</replaceable> puede ser 1. Además +de dar la capacidad de cambiar la alineación horizontal, esto también +es útil para redefinir una fila de la intercolumna predeterminada de +la especificación del área de definición <literal>tabular</literal>, incluida la +colocación de reglas verticales. +</para> +<para>En el siguiente ejemplo, en la definición de <literal>tabular</literal>, la +primera columna se especifica de manera predeterminada justificada a +la izquierda, pero en la primera fila la entrada está centrada con +<literal>\multicolumn{1}{c}{\textsc{Punto}}</literal>. También en la +primera fila, las columnas segunda y tercera están atravesadas por una +entrada única con <literal>\\multicolumn{2}{c}{\\textsc{Span}}</literal>, +redefiniendo la especificación para centrar ese rango de dos columnas +en la página en-guión. +</para> +<screen>\begin{tabular}{l|r@{--}l} + \multicolumn{1}{c}{\textsc{Punto}} + &\multicolumn{2}{c}{\textsc{Span}} \\ \hline + Barroca &1600 &1760 \\ + Clásica &1730 &1820 \\ + Romántica &1780 &1910 \\ + Impresionista &1875 &1925 +\end{tabular} +</screen> +<para>Aunque la especificación <literal>tabular</literal> de manera predeterminada pone +una regla vertical entre la primera y la segunda columna, no aparece +tal regla vertical en la primera fila aquí. Eso es porque no hay una +barra vertical en la parte <replaceable>cols</replaceable> del primer comando +<literal>\multicolumn</literal> de la primera fila. </para> -<screen>\begin{tabular}{r@{--}l} -\multicolumn{2}{c}{\bf Unicode}\cr - 0x80&0x7FF \cr - 0x800&0xFFFF \cr -0x10000&0x1FFFF \cr + +</sect2> +<sect2 label="8.23.2" id="_005cvline"> +<title><literal>\vline</literal></title> + +<indexterm role="fn"><primary>\vline</primary></indexterm> +<para>Dibuja una línea vertical en un entorno <literal>tabular</literal> o <literal>array</literal> +extendiendo la altura y la profundidad completas de la entrada de una +fila. Posiblemente también se use en una @-expresión, aunque su +sinónimo barra vertical <literal>|</literal> es más común. Este comando rara +vez se usa en el cuerpo de una tabla; normalmente las líneas +verticales de una tabla se especifican en el argumento <replaceable>cols</replaceable> de +<literal>tabular</literal> y se anula según sea necesario con <literal>\multicolumn</literal> +(véase <link linkend="tabular">tabular</link>). +</para> +<para>El siguiente ejemplo ilustra algunas dificultades. En el segundo de +la primera fila la entrada <literal>\hfill</literal> mueve <literal>\vline</literal> al borde +izquierdo de la celda. Pero eso es diferente a ponerlo a medio camino +entre las dos columnas, por lo que entre la primera y la segunda +columna hay dos reglas verticales, con la del especificador +<literal>{c|cc}</literal> viniendo antes de uno producido por +<literal>\vline\hfill</literal>. En cambio, la primera fila tercera entrada +muestra la forma habitual de poner una barra vertical entre dos +columnas. En la segunda fila, <literal>ghi</literal> es la entrada más ancha en +su columna por lo que en <literal>\vline\hfill</literal> el <literal>\hfill</literal> no tiene +efecto y la línea vertical en esa entrada aparece inmediatamente al +lado de <literal>g</literal>, sin espacios en blanco. +</para> +<screen>\begin{tabular}{c|cc} + x &\vline\hfill y &\multicolumn{1}{|r}{z} \\ % fila 1 + abc &def &\vline\hfill ghi % fila 2 \end{tabular} </screen> </sect2> -<sect2 label="9.24.2" id="_005ccline"> +<sect2 label="8.23.3" id="_005ccline"> <title><literal>\cline</literal></title> + <indexterm role="fn"><primary>\cline</primary></indexterm> <para>Sinopsis: </para> <screen>\cline{<replaceable>i</replaceable>-<replaceable>j</replaceable>} </screen> -<para>La instrucción <literal>\cline</literal> dibuja un línea horizontal a través de las -columnas especificadas, comenzando en la colúmna <replaceable>i</replaceable> y terminando en -la columna <replaceable>j</replaceable>, que son especificadas en el argumento obligatorio. -</para> +<para>En un entorno <literal>array</literal> o <literal>tabular</literal>, dibuja una regla +horizontal comenzando en column <replaceable>i</replaceable> y terminando en +column <replaceable>j</replaceable>. Los guiones, <literal>-</literal>, deben aparecer en el +argumento obligatorio. Para abarcar una sola columna usa el número dos +veces, como con <literal>\cline{2-2}</literal>. +</para> +<para>Este ejemplo pone dos líneas horizontales entre la primera y la +segunda filas, una línea en la primera columna solamente, y la otra +que abarca la tercera y cuarta columnas. Las dos líneas están una al +lado de la otra, a la misma altura. +</para> +<screen>\begin{tabular}{llrr} + a &b &c &d \\ \cline{1-1} \cline{3-4} + e &f &g &h +\end{tabular} +</screen> </sect2> -<sect2 label="9.24.3" id="_005chline"> +<sect2 label="8.23.4" id="_005chline"> <title><literal>\hline</literal></title> + <indexterm role="fn"><primary>\hline</primary></indexterm> -<para>La instrucción <literal>\hline</literal> dibuja una línea horizontal del ancho del -entorno <literal>tabular</literal> o <literal>array</literal> especificado. Se utiliza -comúnmente para para dibujar una línea en la parte superior, inferior y -entre filas de la tabla. +<para>Dibuja una línea horizontal del ancho del <literal>tabular</literal> adjunto o +entorno <literal>array</literal>. Se utiliza comúnmente para dibujar una línea +arriba, abajo y entre las filas de una tabla. </para> - -</sect2> -<sect2 label="9.24.4" id="_005cvline"> -<title><literal>\vline</literal></title> -<indexterm role="fn"><primary>\vline</primary></indexterm> - -<para>La instrucción <literal>\vline</literal> dibuja una línea vertical extendida a la -altura y profundidad total de su fila. Una instrucción <literal>\hfill</literal> se -puede utilizar para mover la línea hasta el borde de la columna. -También se puede utilizar en una @-expresión. +<para>En este ejemplo, la parte superior de la tabla tiene dos reglas +horizontales, una arriba de la otra, que abarca ambas columnas. La +parte inferior de la tabla tiene una sola regla que abarca ambas +columnas. Debido al <literal>\hline</literal>, la línea <literal>tabular</literal> de la +segunda fila que termina con doble barra invertida <literal>\\</literal> es +obligatoria. </para> +<screen>\begin{tabular}{ll} \hline\hline + Béisbol y Medias Rojas \\ + Baloncesto y Celtics \\ \hline +\end{tabular} +</screen> </sect2> </sect1> -<sect1 label="9.25" id="thebibliography"> +<sect1 label="8.24" id="thebibliography"> <title><literal>thebibliography</literal></title> -<indexterm role="fn"><primary>entorno <literal>thebibliography</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>thebibliography</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>bibliografía, creando (manualmente)</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>thebibliography</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>thebibliography</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>bibliografía, crear (manualmente)</primary></indexterm> <para>Sinopsis: </para> -<screen>\begin{thebibliography}{<replaceable>etiqueta-más-amplia</replaceable>} -\bibitem[<replaceable>etiqueta</replaceable>]{<replaceable>clave-de-cita}</replaceable> -... +<screen>\begin{thebibliography}{<replaceable>widest-label</replaceable>} + \bibitem[<replaceable>label</replaceable>]{<replaceable>cite_key}</replaceable> + ... \end{thebibliography} </screen> -<para>El entorno <literal>thebibliography</literal> produce una bibliografía o lista de -referencia. -</para> -<para>En las clase <literal>article</literal>, esta lista de referencia es etiquetada como -“Referencias”; en la clase <literal>report</literal>, esta es etiquetada como -“Bibliografía”. Usted puede cambiar la etiqueta (en las clases -estándar) redefiniendo la instrucción <literal>\refname</literal>. Por ejemplo, la -siguiente instrucción la elimina por completo: -</para> -<screen>\renewcommand{\refname}{} +<para>Elabora una bibliografía o una lista de referencias. Hay dos formas +de producir listas bibliográficas. Este entorno es adecuado cuando +solo tienes unas pocas referencias y puedes mantener la lista a mano. +Véase <link linkend="Usar-BibTeX">Usar BibTeX</link>, para un enfoque más sofisticado. +</para> +<para>Esto muestra el entorno con dos entradas. +</para> +<screen>Este trabajo se basa en \cite{latexdps}. +Juntos son \cite{latexdps, texbook}. + ... +\begin{thebibliography}{9} +\bibitem{latexdps} + Leslie Lamport. + \textit{\LaTeX{}: un sistema de preparación de documentos}. + Addison-Wesley, Reading, Massachusetts, 1993. +\bibitem{texbook} + Donald Ervin Knuth. + \textit{El libro de \TeX}. + Addison-Wesley, Reading, Massachusetts, 1983. +\end{thebibliography} </screen> -<para>El argumento obligatorio <replaceable>etiqueta-más-amplia</replaceable> es texto que, al -momento de componerla tipográficamente, es tan ancho como la etiqueta -producida por la instrucción <literal>\bibitem</literal>. Se suele dar como -<literal>9</literal> para bibliografías de menos de 10 referencias, <literal>99</literal> para -las que tienen menos de 100, etc. -</para> - - -<sect2 label="9.25.1" id="_005cbibitem"> +<para>Esto estiliza la primera referencia como ‘<literal>[1] Leslie ...</literal>’, y así +<literal>... basado en \cite{latexdps}</literal> produce la coincidencia +‘<literal>... basado en [1]</literal>’. El segundo <literal>\cite</literal> produce ‘<literal>[1, +2]</literal>’. Debes compilar el documento dos veces para resolver estas +referencias. +</para> +<para>El argumento obligatorio <replaceable>widest-label</replaceable> es texto que, cuando se +compone, es tan ancho como la etiqueta de artículo más ancha producida +por los comandos <literal>\bibitem</literal>. La tradición es usar <literal>9</literal> para +bibliografías con menos de 10 referencias, <literal>99</literal> para las de menos +de 100, etc. +</para> +<indexterm role="fn"><primary>\bibname</primary></indexterm> +<indexterm role="fn"><primary>\refname</primary></indexterm> +<para>La lista bibliográfica está encabezada por un título como +‘<literal>Bibliography</literal>’. Para cambiarlo hay dos casos. En las clases +<filename>book</filename> y <filename>report</filename>, donde la sección de nivel superior es +<literal>\chapter</literal> y el título predeterminado es ‘<literal>Bibliography</literal>’, ese +título está en la macro <literal>\bibname</literal>. Para <filename>article</filename>, donde +el nivel superior de la clase de seccionado es <literal>\section</literal> y la +predeterminada es ‘<literal>References</literal>’, el título está en la macro +<literal>\refname</literal>. Cámbialo redefiniendo el comando, como con +<literal>\renewcommand{\refname}{Referencias citadas}</literal>, después +<literal>\begin{document}</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> +<para>Los paquetes de soporte de idiomas como +<literal>babel</literal> automáticamente redefinen <literal>\refname</literal> o +<literal>\bibname</literal> para ajustarse al idioma seleccionado. +</para> +<para>Véase <link linkend="list">list</link>, para los parámetros de control de diseño de lista. +</para> + + +<sect2 label="8.24.1" id="_005cbibitem"> <title><literal>\bibitem</literal></title> <indexterm role="fn"><primary>\bibitem</primary></indexterm> <para>Sinopsis: -</para><screen>\bibitem[<replaceable>etiqueta</replaceable>]{<replaceable>clave-de-cita</replaceable>} +</para> +<screen>\bibitem{<replaceable>cite_key</replaceable>} </screen> -<para>La instrucción <literal>\bibitem</literal> genera una entrada etiquetada por -<replaceable>etiqueta</replaceable>. Si se omite el argumento <replaceable>etiqueta</replaceable>, -automáticamente se genera un número utilizando el contador <literal>enumi</literal>. -La <replaceable>clave-de-cita</replaceable> es cualquier secuencia de letras, números y -signos de puntuación que no contenga una coma. +<para>o </para> -<para>Esta instrucción escribe una entrada al archivo <filename>.aux</filename> que contiene -los elementos <replaceable>clave-de-cita</replaceable> y etiqueta. Cuando la instrucción -<literal>\begin{document}</literal> lee el archivo <filename>.aux</filename>, los elementos -<literal>etiqueta</literal> son asociados con <literal>clave-de-cita</literal>, produciendo -referencias a <replaceable>clave-de-cita</replaceable> con una instrucción <literal>\cite</literal> (vea -la siguiente sección) para producir la etiqueta asociada. +<screen>\bibitem[<replaceable>label</replaceable>]{<replaceable>cite_key</replaceable>} +</screen> +<para>Genera una entrada etiquetada de manera predeterminada por un número +generado usando el contador <literal>enumi</literal>. La <firstterm>clave de cita</firstterm> +<indexterm role="cp"><primary>clave de cita</primary></indexterm> +<replaceable>cite_key</replaceable> puede ser cualquier cadena de letras, números y signos +de puntuación (pero no comas). +</para> +<para>Véase <link linkend="thebibliography">thebibliography</link>, por ejemplo. +</para> +<para>Cuando se proporciona, el <replaceable>label</replaceable> opcional se convierte en la +etiqueta de entrada y el contador <literal>enumi</literal> no se incrementa. Con +este +</para> +<screen>\begin{thebibliography} +\bibitem[Lamport 1993]{latexdps} + Leslie Lamport. + \textit{\LaTeX{}: un sistema de preparación de documentos}. + Addison-Wesley, Reading, Massachusetts, 1993. +\bibitem{texbook} + Donald Ervin Knuth. + \textit{El libro de \TeX}. + Addison-Wesley, Reading, Massachusetts, 1983. +\end{thebibliography} +</screen> +<para>la primera entrada tendrá el estilo ‘<literal>[Lamport 1993] Leslie ...</literal>’ +(La cantidad de espacio horizontal que &latex; deja para la etiqueta +depende de el argumento <replaceable>widest-label</replaceable> del entorno +<literal>thebibliography</literal>; ve <link linkend="thebibliography">thebibliography</link>). De manera similar, +<literal>... basado en \cite{latexdps}</literal> producirá ‘<literal>... basado en +[Lamport 1994]</literal>’. +</para> +<para>Si mezclas las entradas de <literal>\bibitem</literal> que tienen <replaceable>label</replaceable> con +las que no, entonces &latex; enumerará las no etiquetadas +secuencialmente. En el ejemplo de arriba la entrada <literal>texbook</literal> +aparecerá como ‘<literal>[1] Donald ...</literal>’, a pesar de que es la segunda +entrada. +</para> +<para>Si usas el mismo <replaceable>cite_key</replaceable> dos veces, obtendrás ‘<literal>Advertencia +LaTeX: había etiquetas definidas de forma múltiple</literal>’. +</para> +<para>Bajo el capó, &latex; recuerda información <replaceable>cite_key</replaceable> y +<replaceable>label</replaceable> porque <literal>\bibitem</literal> la escribe en el archivo auxiliar +<filename><replaceable>jobname</replaceable>.aux</filename> (véase <link linkend="Nombre-del-trabajo">Nombre del trabajo</link>). Por ejemplo, +el ejemplo anterior hace que los dos +<literal>\bibcite{latexdps}{Lamport, 1993}</literal> y +<literal>\bibcite{texbook}{1}</literal> que aparezcan en ese archivo. El +archivo <filename>.aux</filename> es leído por el comando <literal>\begin{document}</literal> +y luego la información está disponible para los comandos <literal>\cite</literal>. +Esto explica por qué necesitas ejecutar &latex; dos veces para +resolver las referencias: una vez para escribirlo y una vez para +leerlo. +</para> +<para>Debido a este algoritmo de dos pasos, cuando agregas un +<literal>\bibitem</literal> o cambias su <replaceable>cite_key</replaceable> puedes obtener +‘<literal>Advertencia de LaTeX: la(s) etiqueta(s) puede(n) haber +cambiado. Vuelve a ejecutar para obtener referencias cruzadas +correctas</literal>’. Arréglalo para recompilarlo. </para> </sect2> -<sect2 label="9.25.2" id="_005ccite"> +<sect2 label="8.24.2" id="_005ccite"> <title><literal>\cite</literal></title> <indexterm role="fn"><primary>\cite</primary></indexterm> <para>Sinopsis: </para> -<screen>\cite[<replaceable>subcita</replaceable>]{<replaceable>claves</replaceable> +<screen>\cite{<replaceable>keys</replaceable>} </screen> -<para>El argumento <replaceable>claves</replaceable> es una lista de una o más claves de cita, -separadas por comas. Esta instrucción genera una cita en el texto para -referencias asociadas con <replaceable>claves</replaceable> por medio de entradas en el -archivo <filename>.aux</filename>. +<para>o </para> -<para>El argumento de texti opcional <replaceable>subcita</replaceable> aparece después de la cita. -Por ejemplo, <literal>\cite[p.~314]{knuth}</literal> podría producir ‘[Knuth, -p. 314]’. +<screen>\cite[<replaceable>subcite</replaceable>]{<replaceable>keys</replaceable>} +</screen> +<para>Genera como salida una cita a las referencias asociadas a <replaceable>keys</replaceable>. +La <replaceable>keys</replaceable> obligatoria es una clave de cita, o una lista de claves +de citas separadas por comas (véase <link linkend="_005cbibitem">\bibitem</link>). +</para> +<para>Este +</para> +<screen>La fuente definitiva es \cite{texbook}. + ... +\begin{thebibliography} +\bibitem{texbook} + Donald Ervin Knuth. + \textit{El libro de \TeX}. + Addison-Wesley, Reading, Massachusetts, 1983. +\end{thebibliography} +</screen> +<para>produce una salida como ‘<literal>... la fuente es [1]</literal>’. Puedes cambiar +la aparición de la cita y de la referencia mediante el uso de estilos +de bibliografía si genera automáticamente el entorno +<literal>thebibliography</literal>. Para más información <link linkend="Usar-BibTeX">Usar BibTeX</link>. +</para> +<para>El argumento opcional <replaceable>subcite</replaceable> se adjunta a la cita. Por +ejemplo, <literal>Ve 14.3 en \cite[p.~314]{texbook}</literal> podría producir +‘<literal>Ve 14.3 en [1, p. 314]</literal>’. +</para> +<para>Además de lo que aparece en la salida, <literal>\cite</literal> escribe +información al archivo auxiliar <filename><replaceable>jobname</replaceable>.aux</filename> +(véase <link linkend="Nombre-del-trabajo">Nombre del trabajo</link>). Por ejemplo, <literal>\cite{latexdps}</literal> +escribe ‘<literal>\citation{latexdps}</literal>’ a ese archivo. Esta información +la utiliza Bib&tex; para incluir en su lista de referencias solo +aquellos trabajos que realmente se han citado; <link linkend="_005cnocite">\nocite</link> también. +</para> +<para>Si <replaceable>keys</replaceable> no está en la información de tu bibliografía, obtendrás +‘<literal>Advertencia de LaTeX: Había referencias no definidas</literal>’, y en la +salida la cita se muestra como un signo de interrogación en negrita +entre corchetes. Hay dos posibles causas. Si has escrito algo mal, +como en <literal>\cite{texbok}</literal> entonces necesitas corregir la +ortografía. Por otro lado, si acabas de agregar o modificar +información bibliográfica y así cambias el archivo <filename>.aux</filename> +(véase <link linkend="_005cbibitem">\bibitem</link>) entonces la solución puede ser ejecutar &latex; +nuevamente. </para> </sect2> -<sect2 label="9.25.3" id="_005cnocite"> +<sect2 label="8.24.3" id="_005cnocite"> <title><literal>\nocite</literal></title> + <indexterm role="fn"><primary>\nocite</primary></indexterm> -<para><literal>\nocite{lista-de-claves}</literal> +<para>Sinopsis: +</para> +<screen><literal>\nocite{<replaceable>keys</replaceable>}</literal> +</screen> +<para>No produce salida pero escribe <replaceable>keys</replaceable> en el archivo auxiliar +<filename><replaceable>jobname</replaceable>.aux</filename> (véase <link linkend="Nombre-del-trabajo">Nombre del trabajo</link>). </para> -<para>La instrucción <literal>\nocite</literal> no produce texto, pero escribe en el archivo -<filename>.aux</filename> la <literal>lista-de-claves</literal>, que es una lista de una o más -etiquetas de cita. +<para>El argumento obligatorio <replaceable>keys</replaceable> es una lista separada por comas de +una o más claves de cita (véase <link linkend="_005cbibitem">\bibitem</link>). Esta información la +utiliza Bib&tex; para incluir estos trabajos en tu lista de +referencia aunque no los hayas citado explícitamente (véase <link linkend="_005ccite">\cite</link>). </para> </sect2> -<sect2 label="9.25.4" id="Usando-BibTeX"> -<title>Usando Bib&tex;</title> +<sect2 label="8.24.4" id="Usar-BibTeX"> +<title>Usar Bib&tex;</title> <indexterm role="cp"><primary>usando Bib&tex;</primary></indexterm> <indexterm role="cp"><primary>bib&tex;, usando</primary></indexterm> -<indexterm role="cp"><primary>bibliografía, creando (automáticamente)</primary></indexterm> +<indexterm role="cp"><primary>bibliografía, crear (automáticamente)</primary></indexterm> <indexterm role="fn"><primary>\bibliographystyle</primary></indexterm> <indexterm role="fn"><primary>\bibliography</primary></indexterm> - -<para>Si usted utiliza el programa Bib&tex; escrito por Oren Patashnik -(altamente recomendable si necesita una bibliografía de más de un par de -títulos) para mantener su bibliografía, no utilice el entorno -<literal>thebibliography</literal> (véase <link linkend="thebibliography">thebibliography</link>). En su lugar, incluya -las líneas +<para>Como se describe en <literal>thebibliography</literal> (véase <link linkend="thebibliography">thebibliography</link>), +un enfoque sofisticado para la gestión de bibliografías es +proporcionado por el programa Bib&tex;. Esta es solo una +introducción; ve la documentación completa sobre CTAN (véase <link linkend="CTAN">CTAN</link>). +</para> +<para>Con Bib&tex;, no usas el entorno <literal>thebibliography</literal> directamente +(véase <link linkend="thebibliography">thebibliography</link>). En su lugar, incluye estas líneas: </para> -<screen>\bibliographystyle{<replaceable>estilo-de-bibliografía</replaceable>} -\bibliography{<replaceable>archivo-de-bibliografía-1,</replaceable><replaceable>archivo-de-bibliografía-2</replaceable>} +<screen>\bibliographystyle{<replaceable>bibstyle</replaceable>} +\bibliography{<replaceable>bibfile1</replaceable>, <replaceable>bibfile2</replaceable>, ...} </screen> -<para>La instrucción <literal>\bibliographystyle</literal> por sí misma no produce salida -alguna. Por el contrario, define el estilo en que se producirá la -bibliografía: <replaceable>estilo-de-bibliografía</replaceable> se refiere a un archivo -<filename><replaceable>estilo-de-bibliografía</replaceable>.bst</filename>, en el que se define qué -apariencia tendrán las citas. Los nombres de <replaceable>estilo</replaceable> estándar +<para><replaceable>bibstyle</replaceable> hace referencia a un archivo <filename><replaceable>bibstyle</replaceable>.bst</filename>, +que define cómo se verán tus citas. Los <replaceable>bibstyle</replaceable>s estándar distribuidos con Bib&tex; son: </para> -<variablelist><varlistentry><term><literal>alpha</literal> -</term><listitem><para>Ordenadas alfabéticamente. Las etiquetas están formadas por el nombre -del autor y año de publicación. +<variablelist><varlistentry><term><literal>alfa</literal> +</term><listitem><para>Las etiquetas se forman a partir del nombre del autor y el año de +publicación. Los elementos bibliográficos están ordenados +alfabéticamente. </para></listitem></varlistentry><varlistentry><term><literal>plain</literal> -</term><listitem><para>Ordenadas alfabéticamente. Las etiquetas son numéricas. +</term><listitem><para>Las etiquetas son números enteros. Ordena los elementos +bibliográficos alfabéticamente. </para></listitem></varlistentry><varlistentry><term><literal>unsrt</literal> -</term><listitem><para>Al igual que <literal>plain</literal>, pero las entradas están en el orden citado. +</term><listitem><para>Como <literal>plain</literal>, pero las entradas están en orden de cita. </para></listitem></varlistentry><varlistentry><term><literal>abbrv</literal> -</term><listitem><para>Igual que <literal>plain</literal>, pero con etiquetas más compactas. +</term><listitem><para>Como <literal>plain</literal>, pero etiquetas más compactas. </para></listitem></varlistentry></variablelist> -<para>Además, existen muchos otros archivos de estilo Bib&tex; adaptados a -las demandas de diversas publicaciones. Vea -<ulink url="http://mirror.ctan.org/biblio/bibtex/contrib">http://mirror.ctan.org/biblio/bibtex/contrib</ulink>. -</para> -<para>La instrucción <literal>\bibliography</literal> es la que realmente produce la -bibliografía. El argumento <literal>\bibliography</literal> se refiere a archivos -con el nombre <filename><replaceable>archivo-de-bibliografía</replaceable>.bib</filename>, el cual debe -contener la base de datos en formato Bib&tex;. Sólo las entradas -referidas a través de <literal>\cite</literal> y <literal>\nocite</literal> serán incluidas en -la bibliografía. +<para>Existen muchos, muchos otros archivos de estilo Bib&tex;, +adaptados a las demandas de varias publicaciones. Ve el tema CTAN +<ulink url="https://ctan.org/topic/bibtex-sty">https://ctan.org/topic/bibtex-sty</ulink>. +</para> +<para>El comando <literal>\bibliography</literal> es lo que realmente produce la +bibliografía. Su argumento es una lista separada por comas, que se +refiere a archivos llamados <filename><replaceable>bibfile1</replaceable>.bib</filename>, +<filename><replaceable>bibfile2</replaceable>.bib</filename>, … Estos contienen tu base de datos en +formato Bib&tex;. Esto muestra un par típico de entradas en ese +formato. +</para> +<screen>@book{texbook, + title = {El {{\TeX}}book}, + author = {D.E. Knuth}, + isbn = {0201134489}, + series = {Ordenadores \& typesetting}, + year = {1983}, + publisher = {Addison-Wesley} +} +@book{sexbook, + author = {W.H. Maestros y V.E. Johnson}, + title = {Respuesta sexual humana}, + year = {1966}, + publisher = {Libros Bantam} +} +</screen> +<para>Solo las entradas bibliográficas a las que se hace referencia a través +de <literal>\cite</literal> y <literal>\nocite</literal> aparecerá en la bibliografía del +documento. Así puedes mantener todas tus fuentes juntas en un +archivo, o una pequeña cantidad de archivos, y confía en Bib&tex; +para incluir en este documento solo aquellos que usaste. +</para> +<indexterm role="cp"><primary>‘<literal>*}, para todas las claves <literal>\nocite</literal></literal>’</primary></indexterm> +<indexterm role="fn"><primary>\nocite {*}, para todas las claves</primary></indexterm> +<para>Con Bib&tex;, el argumento <replaceable>keys</replaceable> para <literal>\nocite</literal> también +puede ser el carácter único ‘<literal>*</literal>’. Esto significa citar +implícitamente todas las entradas de todas las bibliografías dadas. +</para> + +<sect3 label="8.24.4.1" id="Mensajes-de-error-BibTeX"> +<title>Mensajes de error Bib&tex;</title> + +<indexterm role="cp"><primary>Mensajes de error Bib&tex;</primary></indexterm> +<indexterm role="cp"><primary>mensajes de error, de Bib&tex;</primary></indexterm> +<indexterm role="fn"><primary>.aux comandos file y Bib&tex;</primary></indexterm> + +<para>Si olvidas usar <literal>\bibliography</literal> o <literal>\bibliographystyle</literal> en tu +documento (o, menos probablemente, cualquier comando <literal>\cite</literal> o +<literal>\nocite</literal>), Bib&tex; emitirá un mensaje de error. Porque +Bib&tex; se puede usar con cualquier programa, no solo &latex;, los +mensajes de error se refieren a los comandos internos leídos por +Bib&tex; (desde un archivo <filename>.aux</filename>), en lugar de los comandos de +nivel de usuario descritos anteriormente. +</para> +<para>Aquí hay una tabla que muestra los comandos internos mencionados en +los errores Bib&tex; y los correspondientes comandos a nivel de +usuario. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\bibdata</primary></indexterm><literal>\bibdata</literal> +</term><listitem><indexterm role="fn"><primary>\bibliography y <literal>\bibdata</literal> interno</primary></indexterm> +<para><literal>\bibliography</literal> +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bibstyle</primary></indexterm><literal>\bibstyle</literal> +</term><listitem><indexterm role="fn"><primary>\bibliographystyle y <literal>\bibstyle</literal> interno</primary></indexterm> +<para><literal>\bibliographystyle</literal> +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\citation</primary></indexterm><literal>\citation</literal> +</term><listitem><indexterm role="fn"><primary>\cite y <literal>\citation</literal> interna</primary></indexterm> +<indexterm role="fn"><primary>\nocite y <literal>\citation</literal> interna</primary></indexterm> +<para><literal>\cite</literal>, <literal>\nocite</literal> +</para></listitem></varlistentry></variablelist> +<para>Por ejemplo, si tu documento no tiene comando +<literal>\bibliographystyle</literal>, Bib&tex; se queja de la siguiente manera: </para> +<screen>No encontré ningún comando \bibstyle --- mientras leía el archivo +<replaceable>document</replaceable>.aux +</screen> +</sect3> </sect2> </sect1> -<sect1 label="9.26" id="theorem"> +<sect1 label="8.25" id="theorem"> <title><literal>theorem</literal></title> -<indexterm role="fn"><primary>entorno <literal>theorem</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>theorem</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>teoremas, composición tipográfica de</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>theorem</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>theorem</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>teoremas, tipografía</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{theorem} -<replaceable>texto-del-teorema</replaceable> + <replaceable>cuerpo del teorema</replaceable> \end{theorem} </screen> -<para>El entorno <literal>theorem</literal> produce “Teorema <replaceable>n</replaceable>” en negrita seguido -por el <replaceable>texto-del-teorema</replaceable>, donde las posibilidades de numeración -para <replaceable>n</replaceable> se describen bajo <literal>\newtheorem</literal> (véase <link linkend="_005cnewtheorem">\newtheorem</link>). +<para>Produce ‘<literal>Teorema <replaceable>n</replaceable></literal>’ en negrita seguido del <replaceable>cuerpo del +teorema</replaceable> en cursiva. La posibilidad de numeración para <replaceable>n</replaceable> se +describe en <literal>\newtheorem</literal> (véase <link linkend="_005cnewtheorem">\newtheorem</link>). +</para> +<screen>\newtheorem{lem}{Lemma} % en el preámbulo +\newtheorem{thm}{Theorem} + ... +\begin{lem} % en el cuerpo del documento + texto del lema +\end{lem} + +El siguiente resultado sigue inmediatamente. +\begin{thm}[Gauss] % pone 'Gauss' entre paréntesis después del + encabezado del teorema + texto del teorema +\end{thm} +</screen> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>amsthm</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsthm</literal> package</primary></indexterm> +<para>La mayoría de los documentos +nuevos usan los paquetes <literal>amsthm</literal> y <literal>amsmath</literal> de la +Sociedad Matemática Americana. Entre otras cosas estos paquetes +incluyen una gran cantidad de opciones para entornos de teorema, como +las opciones de estilo. </para> </sect1> -<sect1 label="9.27" id="titlepage"> +<sect1 label="8.26" id="titlepage"> <title><literal>titlepage</literal></title> -<indexterm role="fn"><primary>entorno <literal>titlepage</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>titlepage</literal>, entorno</primary></indexterm> -<indexterm role="cp"><primary>haciendo una página de título</primary></indexterm> -<indexterm role="cp"><primary>página de título, creando la</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>titlepage</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>titlepage</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>hacer una página de título</primary></indexterm> +<indexterm role="cp"><primary>páginas de título, crear</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{titlepage} -<replaceable>texto</replaceable> + ... texto y espaciado ... \end{titlepage} </screen> -<para>El entorno <literal>titlepage</literal> crea una página de título, es decir, una -página en la cual no se imprime el número de página ni el encabezado. -También provoca que la página siguiente sea numerada como la página uno. -El formato de la página del título se deja bajo su responsabilidad. La -instrucción <literal>\today</literal> puede ser útil en las páginas de título -(véase <link linkend="_005ctoday">\today</link>). +<para>Crea una página de título, una página sin número de página impreso o +encabezado y con las páginas sucesivas numeradas a partir de la página +uno. </para> -<para>Usted puede utilizar la instrucción <literal>\maketitle</literal> -(véase <link linkend="_005cmaketitle">\maketitle</link>) para producir una página de título estándar sin un -entorno <literal>titlepage</literal>. +<para>En este ejemplo, todo el formato, incluido el espaciado vertical, se +deja a el autor. +</para> +<screen>\begin{titlepage} +\vspace*{\stretch{1}} +\begin{center} + {\huge\bfseries Tesis \\[1ex] + título} \\[6.5ex] + {\large\bfseries Nombre del autor} \\ + \vspace{4ex} + Tesis enviada a \\[5pt] + \textit{Nombre de la universidad} \\[2cm] + en cumplimiento parcial para la concesión del título de \\[2cm] + \textsc{\Gran Doctor en Filosofía} \\[2ex] + \textsc{\large Matemáticas} \\[12ex] + \vfill + Departamento de Matemáticas \\ + Dirección \\ + \vfill + \today +\end{center} +\vspace{\stretch{2}} +\end{titlepage} +</screen> +<para>En su lugar, produce una página de título estándar sin un entorno +<literal>titlepage</literal>, usa <literal>\maketitle</literal> (véase <link linkend="_005cmaketitle">\maketitle</link>). </para> </sect1> -<sect1 label="9.28" id="verbatim"> +<sect1 label="8.27" id="verbatim"> <title><literal>verbatim</literal></title> -<indexterm role="fn"><primary>entorno <literal>verbatim</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>verbatim</literal>, entorno</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>verbatim</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>verbatim</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>texto literal</primary></indexterm> -<indexterm role="cp"><primary>simulando texto escrito</primary></indexterm> -<indexterm role="cp"><primary>texto escrito, simulando</primary></indexterm> -<indexterm role="cp"><primary>código, composición tipográfica de</primary></indexterm> -<indexterm role="cp"><primary>programas de ordenador, composición tipográfica</primary></indexterm> +<indexterm role="cp"><primary>simular texto mecanografiado</primary></indexterm> +<indexterm role="cp"><primary>texto mecanografiado, simular</primary></indexterm> +<indexterm role="cp"><primary>código, tipografía</primary></indexterm> +<indexterm role="cp"><primary>programas informáticos, composición tipográfica</primary></indexterm> <para>Sinopsis: </para> @@ -2769,18 +7946,58 @@ entorno <literal>titlepage</literal>. <replaceable>texto-literal</replaceable> \end{verbatim} </screen> -<para>El entorno <literal>verbatim</literal> es un entorno para crear párrafos en el cual -&latex; produce exactamente lo que usted escriba en él; Por ejemplo el -carácter <literal>\</literal> produce una ‘<literal>\</literal>’ impresa. Este cambia el modo en -que &latex; imprime los que usted escriba con retornos de carro y -espacios en blanco con el mismo efecto que tendría en una máquina de -escribir. +<para>Un entorno de creación de párrafos en el que &latex; produce como +salida exactamente lo que escribes como entrada. Por ejemplo, dentro +de <replaceable>texto-literal</replaceable> el carácter backslash <literal>\</literal> no inicia +los comandos, imprime una ‘<literal>\</literal>’, y se toman literalmente los +retornos de carro y espacios en blanco. La salida aparece en una +letra de tipo máquina de escribir monoespaciada (<literal>\tt</literal>). </para> -<para>El entorno <literal>verbatim</literal> utiliza una composición tipográfica con tipo -de letra monoespacio (<literal>\tt</literal>). -</para> - -<sect2 label="9.28.1" id="_005cverb"> +<screen>\begin{verbatim} +Símbolo juramento: %&$#?!. +\end{verbatim} +</screen> +<para>La única restricción en <literal>texto-literal</literal> es que no puede incluir +la cadena <literal>\end{verbatim}</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>cprotect</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cprotect</literal> package</primary></indexterm> +<para>No puedes usar el entorno textual en el argumento +de las macros, por instancia en el argumento de un <literal>\section</literal>. +Esto no es lo mismo que los comandos son frágiles (véase <link linkend="_005cprotect">\protect</link>), +en lugar de eso, simplemente no puede funcionar, ya que el entorno +<literal>verbatim</literal> cambia el régimen de catcode antes de tratar su +contenido, y restaurarlo inmediatamente después, sin embargo, con un +argumento macro, el contenido del argumento ya se ha convertido en una +lista de tókenes a lo largo del régimen catcode vigente cuando se +llamó a la macro. Sin embargo, el paquete <literal>cprotect</literal> puede +ayudar con esto +</para> +<indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm> +<para>Un uso común de la entrada +textual es escribir código informático. Existen paquetes que son una +mejora del entorno <literal>verbatim</literal>. Por ejemplo, una mejora es +permitir la inclusión palabra por palabra de archivos, o partes de +esos archivos. Dichos paquetes incluyen <literal>listings</literal>, y +<literal>minted</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>verbatimbox</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>verbatimbox</literal> package</primary></indexterm> +<para>Un paquete que proporciona +muchas más opciones para entornos textuales es <literal>fancyvrb</literal>. +Otro es <literal>verbatimbox</literal>. +</para> +<para>Para obtener una lista de todos los paquetes relevantes, consulta CTAN +(véase <link linkend="CTAN">CTAN</link>). +</para> + + +<sect2 label="8.27.1" id="_005cverb"> <title><literal>\verb</literal></title> <indexterm role="fn"><primary>\verb</primary></indexterm> @@ -2788,2643 +8005,8981 @@ de letra monoespacio (<literal>\tt</literal>). <para>Sinopsis: </para> -<screen>\verb<replaceable>carácter</replaceable><replaceable>texto-literal</replaceable><replaceable>carácter</replaceable> -\verb*<replaceable>carácter</replaceable><replaceable>texto-literal</replaceable><replaceable>carácter</replaceable> +<screen>\verb <replaceable>char</replaceable> <replaceable>texto-literal</replaceable> <replaceable>char</replaceable> +\verb* <replaceable>char</replaceable> <replaceable>texto-literal</replaceable> <replaceable>char</replaceable> +</screen> +<para>Compone el <replaceable>texto-literal</replaceable> tal como se ingresa, incluidos los +caracteres especiales y espacios, usando la letra de máquina de +escribir (<literal>\tt</literal>). +</para> +<para>Este ejemplo muestra dos diferentes invocaciones de <literal>\verb</literal>. +</para> +<screen>¡Esto es \verb! ¡Literalmente! la calabaza más grande de todos los +tiempos. Y esta es la mejor calabaza, \verb+¡literalmente!+ </screen> -<para>La instrucción <literal>\verb</literal> compone tipográficamente el -<replaceable>texto-literal</replaceable> como este se ha ingresado incluyendo caracteres -especiales y espacios, utilizando el tipo de letra de máquina de -escribir (<literal>\tt</literal>). No se permiten espacios entre <literal>\verb</literal> o -<literal>\verb*</literal> y el <replaceable>carácter</replaceable> delimitador, el cual comienza y -termina el texto literal. El delimitador no debe aparecer en el -<replaceable>texto-literal</replaceable>. +<para>El primer <literal>\verb</literal> tiene su <replaceable>texto-literal</replaceable> rodeado de signos +de exclamación, <literal>!</literal>. En cambio, el segundo usa más, <literal>+</literal>, +porque el signo de exclamación es parte del <literal>texto-literal</literal>. +</para> +<para>El delimitador de un solo carácter <replaceable>char</replaceable> rodea +<replaceable>texto-literal</replaceable>—debe ser el mismo carácter antes y después. No +hay espacios entre <literal>\verb</literal> o <literal>\verb*</literal> y <replaceable>char</replaceable>, o entre +<replaceable>char</replaceable> y <replaceable>texto-literal</replaceable>, o entre <replaceable>texto-literal</replaceable> y la +segunda aparición de <replaceable>char</replaceable> (la sinopsis muestra un espacio solo +para distinguir un componente del otro). El delimitador no debe +aparecer en <replaceable>texto-literal</replaceable>. El <replaceable>texto-literal</replaceable> no puede +incluir un salto de línea. </para> <indexterm role="cp"><primary>espacio visible</primary></indexterm> -<para>La forma con <literal>*</literal> difiere únicamente en que los espacios son -impresos con un carácter de “espacio visible”. +<para>La forma <literal>*</literal> se diferencia solo en que los espacios se imprimen +con un carácter espacial. +</para> +<para>El resultado de esto incluirá un espacio visible en ambos lados de la +palabra ‘<literal>con</literal>’: +</para> +<screen>El primer argumento del comando es \verb*!filename con extensión! y + ... +</screen> +<indexterm role="cp"><primary>package, <literal>url</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>url</literal> package</primary></indexterm> +<para>Para escribir direcciones de Internet, URL, el paquete +<literal>url</literal> es una mejor opción que el comando <literal>\verb</literal>, ya que +permite saltos de línea. +</para> +<indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm> +<para>Para el código informático hay +muchos paquetes con ventajas sobre <literal>\verb</literal>. Uno es +<literal>listings</literal>, otro es <literal>minted</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>cprotect</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cprotect</literal> package</primary></indexterm> +<para>No puedes usar <literal>\verb</literal> en el argumento de una +macro, por ejemplo en el argumento de una <literal>\section</literal>. No es +cuestión de que <literal>\verb</literal> sea frágil (véase <link linkend="_005cprotect">\protect</link>), en lugar +de eso, simplemente no puede trabajar, ya que el comando <literal>\verb</literal> +cambia el régimen de catcode antes de leer su argumento, y restaurarlo +inmediatamente después, sin embargo con un argumento de macro el +contenido del argumento ya ha sido convertido a una lista de tókenes a +lo largo del régimen catcode vigente cuando se llamó a la macro. Sin +embargo, el paquete <literal>cprotect</literal> puede ayudar con esto. </para> </sect2> </sect1> -<sect1 label="9.29" id="verse"> +<sect1 label="8.28" id="verse"> <title><literal>verse</literal></title> -<indexterm role="fn"><primary>entorno <literal>verse</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>verse</literal>, entorno</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>verse</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>verse</literal> environment</primary></indexterm> + <indexterm role="cp"><primary>poesía, un entorno para</primary></indexterm> <para>Sinopsis: </para> <screen>\begin{verse} -<replaceable>línea1</replaceable> \\ -<replaceable>línea2</replaceable> \\ -... + <replaceable>line1</replaceable> \\ + <replaceable>line2</replaceable> \\ + ... \end{verse} </screen> -<para>El entorno <literal>verse</literal> está diseñado para poesía, aunque es posible que -usted le encuentre alguna otra utilidad. +<para>Un entorno para la poesía. +</para> +<para>Aquí hay dos líneas de Romeo y Julieta de Shakespeare. +</para> +<screen>Entonces sé claramente que el querido amor de mi corazón está \\ +establecido sobre la bella hija del rico Capuleto. +</screen> +<indexterm role="fn"><primary>\\ (para <literal>verse</literal>)</primary></indexterm> +<para>Separa las líneas de cada estrofa con <literal>\\</literal> y usa una o más líneas +en blanco para separar las estrofas. </para> -<indexterm role="fn"><primary>\\ para <literal>verse</literal></primary></indexterm> -<para>Los márgenes tienen sangría a la izquierda y derecha, a los párrafos no -se les aplica sangría y el texto no está justificado. Separe las líneas -de cada estrofa con <literal>\\</literal> y use una o más líneas en blanco para -separar las estrofas. +<screen>\begin{verse} +\makebox[\linewidth][c]{\textit{No cierres tus puertas} ---Walt Whitman} + \\[1\baselineskip] +No cierres tus puertas orgullosa biblioteca, \\ +Por lo que faltaba en todos tus estantes bien llenos, \\ +\qquad todavía más necesitado, traigo, \\ +A partir de la guerra emergente, un libro que he hecho, \\ +Las palabras de mi libro nada, la deriva de él todo, \\ +Un libro separado, no vinculado con el resto ni sentido por el intelecto, \\ +Pero a ustedes, las latencias incalculables les emocionarán en cada página. +\end{verse} +</screen> +<para>La salida tiene márgenes sangrados a la izquierda y a la derecha, los +párrafos no tienen sangría y el texto no está justificado a la +derecha. </para> </sect1> </chapter> -<chapter label="10" id="Saltos-de-L_00ednea"> -<title>Saltos de Línea</title> -<indexterm role="cp"><primary>saltos de línea</primary></indexterm> -<indexterm role="cp"><primary>línea, saltos de</primary></indexterm> +<chapter label="9" id="Salto-de-l_00ednea"> +<title>Salto de línea</title> -<para>Lo primero que hace &latex; cuando procesa texto normal es traducir el -archivo de entrada en una secuencia de unidades gráficas y espacios. -Para producir un documento impreso, esta secuencia se debe partir en -líneas (y esas línea se deben dividir en páginas). +<indexterm role="cp"><primary>salto de linea</primary></indexterm> +<indexterm role="cp"><primary>romper líneas</primary></indexterm> + +<para>Lo primero que hace &latex; al procesar texto ordinario es traducir +tu archivo de entrada a una secuencia de glifos y espacios. Para +producir un documento impreso, esta secuencia se debe dividir en +líneas (y estas líneas se deben dividir en páginas). +</para> +<para>&latex; normalmente hace el salto de línea (y de página) en el texto +del cuerpo pero en algunos entornos fuerza manualmente los saltos de +línea. </para> -<para>Normalmente &latex; se encarga de los saltos de línea (y página), pero -en algunos entornos, usted mismo determina los saltos de líneas con la -instrucción <literal>\\</literal>, y siempre puede forzar los saltos de línea -manualmente. +<para>Un flujo de trabajo común es obtener una versión final del contenido +del documento antes de realizar una pasada final y considerar los +saltos de línea (y saltos de página). Esto difiere del procesamiento +de palabras, donde estás formateando texto a medida que lo ingresas. +Aplazar esto hasta el final evita un montón saltos de línea que +cambiarán de todos modos. +<!-- Texto alternativo propuesto aquí: --> +<!-- https://tug.org/pipermail/latexrefman/2021q3/000803.html este texto --> +<!-- es el de la versión francesa. --> </para> -<sect1 label="10.1" id="_005c_005c"> -<title><literal>\\</literal>[*][<replaceable>más-espacio</replaceable>]</title> -<indexterm role="fn"><primary>\\ forzar la separación de línea</primary></indexterm> +<sect1 label="9.1" id="_005c_005c"> +<title><literal>\\</literal></title> + +<indexterm role="fn"><primary>\\ (fuerza el salto de línea)</primary></indexterm> <indexterm role="cp"><primary>nueva línea, comenzando</primary></indexterm> -<indexterm role="cp"><primary>separación de línea, forzando</primary></indexterm> +<indexterm role="cp"><primary>salto de línea, forzando</primary></indexterm> -<para>La instrucción <literal>\\</literal> le dice a &latex; que comience una nueva -línea. Esta tiene un argumento opcional, <replaceable>más-espacio</replaceable>, que -especifica la cantidad de espacio vertical extra que se debe insertar -antes de la siguiente línea. Este puede ser una cantidad negativa. +<para>Sinopsis, una de: </para> -<para>La instrucción <literal>\\*</literal> es la misma que la instrucción ordinaria -<literal>\\</literal> salvo que esta le dice a &latex; que no comience una nueva -página después de la línea. +<screen>\\ +\\[<replaceable>morespace</replaceable>] +</screen> +<para>o una de: +</para> +<screen>\\* +\\*[<replaceable>morespace</replaceable>] +</screen> +<para>Finaliza la línea actual. El argumento opcional <replaceable>morespace</replaceable> +especifica espacio vertical adicional que se insertará antes de la +siguiente línea. Esta es un longitud elástica (véase <link linkend="Longitudes">Longitudes</link>) y +puede ser negativa. El texto antes del salto de línea se establece en +su longitud normal, es decir, no se estira para completar el ancho de +la línea. Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<screen>\title{Mi historia: \\[0.25in] +una historia de aflicción} +</screen> +<para>La forma destacada, <literal>\\*</literal>, le dice a &latex; que no inicie una +nueva página entre las dos líneas, emitiendo un <literal>\nobreak</literal>. +</para> +<para>Los saltos de línea explícitos en el cuerpo del texto principal son +inusuales en &latex;. En particular, no comiences nuevos párrafos +con <literal>\\</literal>. En lugar de eso, deja una línea en blanco entre los +dos párrafos. Y no pongas una secuencia de <literal>\\</literal>’s para hacer +espacio vertical. En su lugar, usa <literal>\vspace{<replaceable>length</replaceable>}</literal> o +<literal>\leavevmode\vspace{<replaceable>length</replaceable>}</literal> o +<literal>\vspace*{<replaceable>length</replaceable>}</literal> si deseas que no se arroje el espacio +en la parte superior de una nueva página (véase <link linkend="_005cvspace">\vspace</link>). +</para> +<para>El comando <literal>\\</literal> se usa principalmente fuera del flujo principal +de texto como en un entorno <literal>tabular</literal> o <literal>array</literal> o en un +entorno de la ecuación. +</para> +<para>El comando <literal>\\</literal> es un sinónimo de <literal>\newline</literal> +(véase <link linkend="_005cnewline">\newline</link>) en circunstancias ordinarias (un ejemplo de una +excepción es la columna <literal>p{...}</literal> en un entorno <literal>tabular</literal>; +véase <link linkend="tabular">tabular</link>). +</para> +<!-- crédito: David Carlisle https://tex.stackexchange.com/a/82666 --> +<para>El comando <literal>\\</literal> es una macro y su definición cambia según el +contexto para que su definición en texto normal, un entorno +<literal>center</literal>, un <literal>flushleft</literal> y <literal>tabular</literal> son todos +diferentes. En texto normal, cuando fuerza un salto de línea, +esencialmente es una abreviatura para <literal>\newline</literal>. No finaliza el +modo horizontal ni finaliza el párrafo, simplemente inserta un poco de +pegamento y penalizaciones para que cuando el párrafo termine, se +produzca un salto de línea en ese punto, con la breve línea rellena +con espacios en blanco. +</para> +<para>Obtienes ‘<literal>Error de LaTeX: No hay línea para terminar aquí</literal>’ si +usas <literal>\\</literal> para solicitar una nueva línea, en lugar de finalizar +la línea actual. Un ejemplo es si tienes <literal>\begin{document}\\</literal> +o, más probablemente, algo como esto. +</para> +<screen>\begin{center} + \begin{minipage}{0.5\textwidth} + \\ + En ese espacio vertical pon tu marca. + \end{minipage} +\end{center} +</screen> +<para>Solucionalo reemplazando la doble barra invertida con algo como +<literal>\vspace{\baselineskip}</literal>. </para> </sect1> -<sect1 label="10.2" id="_005cobeycr-y-_005crestorecr"> +<sect1 label="9.2" id="_005cobeycr-y-_005crestorecr"> <title><literal>\obeycr</literal> y <literal>\restorecr</literal></title> -<indexterm role="fn"><primary>\obeycr</primary></indexterm> + +<anchor id="_005cobeycr"/><anchor id="_005crestorecr"/><indexterm role="fn"><primary>\obeycr</primary></indexterm> <indexterm role="fn"><primary>\restorecr</primary></indexterm> <indexterm role="cp"><primary>nueva línea, salida como entrada</primary></indexterm> -<para>La instrucción <literal>\obeycr</literal> genera un retorno de carro en el archivo -de entrada (‘<literal>^^M</literal>’, internamente) lo mismo que <literal>\\</literal> (seguido -por <literal>\relax</literal>). Por lo tanto, cada nueva línea en la entrada -también será una nueva línea en la salida. +<para>El comando <literal>\obeycr</literal> hace un retorno en el archivo de entrada +(‘<literal>^^M</literal>’, internamente) lo mismo que <literal>\\</literal>, seguido de +<literal>\relax</literal>. Así que cada nueva línea en la entrada también será +una nueva línea en la salida. El comando <literal>\restorecr</literal> restaura +el comportamiento normal de salto de línea. +</para> +<para>Esta no es la forma de mostrar texto textual o código informático. +Usa <literal>verbatim</literal> (véase <link linkend="verbatim">verbatim</link>) en su lugar. +</para> +<para>Con los valores predeterminados habituales de &latex;, este +</para> +<screen>aaa +bbb + +\obeycr +ccc +ddd + eee + +\restorecr +fff +ggg + +hhh +iii +</screen> +<para>produce una salida como esta. </para> -<para><literal>\restorecr</literal> restaura el comportamiento de saltos de línea normal. +<screen> aaa bbb + ccc +ddd +eee + +fff ggg + hhh iii +</screen> +<para>Las sangrías son sangrías de párrafo. </para> </sect1> -<sect1 label="10.3" id="_005cnewline"> +<sect1 label="9.3" id="_005cnewline"> <title><literal>\newline</literal></title> -<indexterm role="fn"><primary>\newline</primary></indexterm> -<indexterm role="cp"><primary>nueva línea, comenzando (modo de párrafo)</primary></indexterm> -<para>La instrucción <literal>\newline</literal> rompe la línea en el punto actual, sin -justificar el texto anterior. Sólo se puede utilizar en modo párrafo. +<indexterm role="fn"><primary>\newline</primary></indexterm> +<indexterm role="cp"><primary>nueva línea, comenzando (modo párrafo)</primary></indexterm> + +<para>En texto ordinario, esto termina una línea de una manera que no se +justifica a la derecha. Para que el texto anterior al final de la +línea no se estire, es decir, en modo de párrafo (véase <link linkend="Modos">Modos</link>), el +comando <literal>\newline</literal> es equivalente a doble barra invertida +(véase <link linkend="_005c_005c">\\</link>). Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Sin embargo, los dos comandos son diferentes dentro de un entorno +<literal>tabular</literal> o entorno <literal>array</literal>. En una columna con un +especificador que produce un cuadro de párrafo como típicamente +<literal>p{...}</literal>, <literal>\newline</literal> inserta un final de línea dentro de +la columna; es decir, no rompe toda la fila tabular. Para dividir +toda la fila, usa <literal>\\</literal> o su equivalente <literal>\tabularnewline</literal>. +</para> +<para>Esto imprimirá ‘<literal>Nombre:</literal>’ y ‘<literal>Dirección:</literal>’ como dos líneas en +una sola celda de la tabla. +</para> +<screen>\begin{tabular}{p{1in}@{\hspace{2in}}p{1in}} + Nombre: \newline Dirección: &Date: \\ \hline +\end{tabular} +</screen> +<para>‘<literal>Date:</literal>’ se alineará con la línea base con ‘<literal>Nombre:</literal>’. </para> </sect1> -<sect1 label="10.4" id="_005c_002d-_0028hyphenation_0029"> -<title><literal>\-</literal> (división silábica discrecional)</title> -<indexterm role="fn"><primary>\- (hyphenation)</primary></indexterm> -<indexterm role="cp"><primary>división silábica, forzando</primary></indexterm> +<sect1 label="9.4" id="_005c_002d-_0028separaci_00f3n-sil_00e1bica_0029"> +<title><literal>\-</literal> (guion discrecional)</title> + +<indexterm role="fn"><primary>\- (separación silábica)</primary></indexterm> +<indexterm role="cp"><primary>separación silábica, forzando</primary></indexterm> -<para>La instrucción <literal>\-</literal> le dice a &latex; que puede dividir la palabra -con un guión en ese punto. &latex; cuenta con una muy buena separación -silábica con guión, y por lo general en la mayoría de los casos -encuentra los puntos correctos en la división de palabras, y casi nunca -utiliza uno incorrecto. La instrucción <literal>\-</literal> se utiliza para casos +<para>Le dice a &latex; que puede separar la palabra en ese punto. Cuando +insertas comandos <literal>\-</literal> en una palabra, la palabra solo se +dividirá con guiones en esos puntos y en ninguno de los otros puntos +de guiones que &latex; podría haber elegido de otro modo. Este +comando es robusto (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>&latex; es bueno separando guiones y generalmente encuentra la +mayoría de los puntos de separación con guiones, mientras que casi +nunca se usa uno incorrecto. El comando <literal>\-</literal> es para casos excepcionales. </para> -<para>Cuando usted inserta la instrucción <literal>\-</literal> en una palabra, la palabra -únicamente se debe dividir con guión en esos puntos y en ninguno de los -puntos que &latex; pudiera haber elegido de otro modo. +<para>Por ejemplo, &latex; normalmente no separa palabras que contienen un +guión. Abajo, la palabra larga y con guión significa que &latex; +tiene que poner en espacios inaceptablemente grandes para colocar la +columna estrecha. +</para> +<screen>\begin{tabular}{rp{1.75in}} + Isaac Asimov &La cepa del + antiintelectualismo + % an\-ti-in\-te\-lec\-tu\-al\-ismo + ha sido un hilo constante que se abre camino a través de + nuestra vida política y cultural, alimentada por + la falsa noción de que democracia significa que + 'mi ignorancia es tan buena como tu conocimiento'. +\end{tabular} +</screen> +<para>Comentar la tercera línea y descomentar la cuarta hace mucho mejor +ajuste. +</para> +<para>El comando <literal>\-</literal> solo permite que &latex; rompa allí, no requiere +que se rompa allí. Puedes forzar una división con algo como +<literal>Hef-\linebreak feron</literal>. Por supuesto, si luego cambias el texto, +entonces este salto de línea forzado puede parecer fuera de lugar, por +lo que este enfoque requiere sumo cuidado. </para> - </sect1> -<sect1 label="10.5" id="_005cfussy"> -<title><literal>\fussy</literal></title> -<indexterm role="fn"><primary>\fussy</primary></indexterm> +<sect1 label="9.5" id="_005cdiscretionary"> +<title><literal>\discretionary</literal> (punto de separación silábica generalizada)</title> +<indexterm role="cp"><primary>separación silábica, discrecional</primary></indexterm> +<indexterm role="cp"><primary>discrecional, separación silábica</primary></indexterm> -<para>La declaración <literal>\fussy</literal> (que es la predeterminada) provoca que -&tex; sea quisquilloso con los saltos de línea. Esto por lo general -también evita el espacio entre palabras, a costa de un ocasional -desbordamiento de caja. +<para>Sinopsis: +</para> +<screen>\discretionary{<replaceable>pre-break</replaceable>}{<replaceable>post-break</replaceable>}{<replaceable>no-break</replaceable>} +</screen> +<para>Maneja cambios de palabras alrededor de guiones. Este comando no se +usa a menudo en documentos &latex;. +</para> +<para>Si se produce un salto de línea en el punto donde aparece +<literal>\discretionary</literal> entonces &tex; pone <replaceable>pre-break</replaceable> al final de +la línea actual y pone <replaceable>post-break</replaceable> al comienzo de la siguiente +línea. Si no hay salto de linea aquí entonces &tex; pone +<replaceable>no-break</replaceable>. +</para> +<para>En ‘<literal>difficult</literal>’ las tres letras <literal>ffi</literal> forman una ligadura. +Pero no obstante, &tex; se puede dividir entre las dos ‘<literal>f</literal>’ con +esto. </para> -<para>Esta instrucción cancela el efecto de una instrucción <literal>\sloppy</literal> -previa (véase <link linkend="_005csloppy">\sloppy</link>. +<screen>di\discretionary{f-}{fi}{ffi}cult +</screen> +<para>Ten en cuenta que los usuarios no tienen que hacer esto. Normalmente +se maneja automáticamente por el algoritmo de separación silábica de +&tex;. </para> +<!-- xxx TODO, completa este nodo, ve LaTeX-fr (copiar y pegar a --> +<!-- continuación, con letra acentuada escapada) --> + </sect1> -<sect1 label="10.6" id="_005csloppy"> -<title><literal>\sloppy</literal></title> +<sect1 label="9.6" id="_005cfussy-y-_005csloppy"> +<title><literal>\fussy</literal> y <literal>\sloppy</literal></title> + +<anchor id="_005cfussy"/><anchor id="_005csloppy"/><indexterm role="fn"><primary>\fussy</primary></indexterm> +<indexterm role="fn"><primary>\sloppy</primary></indexterm> +<indexterm role="cp"><primary>saltos de línea, cambiando</primary></indexterm> -<para>La declaración <literal>\sloppy</literal> provoca que &tex; sea menos cuidadoso con -los saltos de línea. Esto evitará el desbordamiento de cajas, a costa de -un mayor espaciamiento entre palabras. +<para>Declaraciones para hacer que &tex; sea más o menos quisquilloso con +el salto de línea. Declarar <literal>\fussy</literal> por lo general evita +demasiado espacio entre palabras, a costa de alguna que otra caja +llena en exceso. En cambio, <literal>\sloppy</literal> evita cajas demasiado +llenas mientras sufre espaciado interpalabras sueltas. </para> -<para>Dura hasta que se utilice una instrucción <literal>\fussy</literal> -(véase <link linkend="_005cfussy">\fussy</link>). +<para>El valor predeterminado es <literal>\fussy</literal>. El salto de línea en un +párrafo es controlado por cualquier declaración que esté vigente al +final del párrafo, es decir, en la línea en blanco o <literal>\par</literal> o +ecuación mostrada que termina ese párrafo. Entonces, para afectar los +saltos de línea, incluye ese material de final de párrafo en el +entorno del párrafo. </para> + +<sect2 label="9.6.1" id="sloppypar"> +<title><literal>sloppypar</literal></title> + +<indexterm role="fn"><primary>environment, <literal>sloppypar</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>sloppypar</literal> environment</primary></indexterm> + +<indexterm role="cp"><primary>entorno descuidado</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\begin{sloppypar} + ... párrafos ... +\end{sloppypar} +</screen> +<para>Compone los párrafos con <literal>\sloppy</literal> en efecto (véase <link linkend="_005cfussy-y-_005csloppy">\fussy y +\sloppy</link>). Usa esto para ajustar localmente el salto de línea, para +evitar los errores ‘<literal>Caja demasiado llena</literal>’ o ‘<literal>Caja +incompleta</literal>’. +</para> +<para>El ejemplo es simple. +</para> +<screen>\begin{sloppypar} Con su plan para la mañana así resuelto, se sentó + en silencio a su libro después del desayuno, resolviendo permanecer + en el mismo lugar y el mismo empleo hasta que el reloj dio la una; y + por costumbre muy poco incomodado por los comentarios y + exclamaciones de la Sra.\ Allen, cuyo vacío de mente e incapacidad + para pensar eran tales, que como ella nunca hablaba mucho, por lo + que nunca podría estar completamente silencioso; y, por lo tanto, + mientras ella estaba sentada en su trabajo, si perdiera su aguja o + le rompía el hilo, si oía un carruaje en la calle, o vio una mota en + su vestido, debe observarla en voz alta, ya sea nadie tenía tiempo + para responderle o no. \end{sloppypar} +</screen> + +</sect2> </sect1> -<sect1 label="10.7" id="_005chyphenation"> +<sect1 label="9.7" id="_005chyphenation"> <title><literal>\hyphenation</literal></title> + <indexterm role="fn"><primary>\hyphenation</primary></indexterm> -<indexterm role="cp"><primary>división de sílabas con guión, definiendo</primary></indexterm> +<indexterm role="cp"><primary>separación silábica, definiendo</primary></indexterm> <para>Sinopsis: </para> -<screen>\hyphenation{<replaceable>palabra-uno</replaceable> <replaceable>palabra-dos</replaceable>} +<screen>\hyphenation{<replaceable>word1</replaceable> ...} </screen> -<para>La instrucción <literal>\hyphenation</literal> declara los puntos dónde se permite -la división de palabras por medio de un carácter <literal>-</literal> en las -palabras proporcionadas. Las palabras están separadas por espacios. -&tex; únicamente debe separar las palabras si la palabra coincide -exactamente, sin juzgar las inflexiones. Múltiples instrucciones -<literal>\hyphenation</literal> son acumulativas. Algunos ejemplos (los patrones de -separación silábica de &tex; no se aplican a esas palabras): +<para>Declara los puntos de separación de palabras permitidos dentro de las +palabras de la lista. Las palabras en esa lista están separadas por +espacios. Muestra puntos permitidos para separación silábica con un +guión, <literal>-</literal>. +</para> +<para>Aquí hay un ejemplo: </para> -<screen>\hyphenation{ap-én-dice col-umnas hiper-fragilís-tico-espiali-doso} +<screen>\hyphenation{hat-er il-lit-e-ra-ti tru-th-i-ness} </screen> +<para>Utiliza letras minúsculas. &tex; solo dividirá si la palabra +coincide exactamente, no se intentan inflexiones. Múltiples +<literal>\hyphenation</literal> los comandos se acumulan. +</para> +<!-- xx Vuelve a alinear en LaTeX-fr que también menciona fontenc, y eso --> +<!-- babel/polyglossia ya carga los patrones de separación de sílabas, y --> +<!-- tienes que declarar solo palabras no existentes. --> + </sect1> -<sect1 label="10.8" id="_005clinebreak-y-_005cnolinebreak"> +<sect1 label="9.8" id="_005clinebreak-y-_005cnolinebreak"> <title><literal>\linebreak</literal> y <literal>\nolinebreak</literal></title> -<indexterm role="fn"><primary>\linebreak</primary></indexterm> + +<anchor id="_005clinebreak"/><anchor id="_005cnolinebreak"/><indexterm role="fn"><primary>\linebreak</primary></indexterm> <indexterm role="fn"><primary>\nolinebreak</primary></indexterm> <indexterm role="cp"><primary>saltos de línea, forzando</primary></indexterm> -<indexterm role="cp"><primary>saltos de línea, evitando</primary></indexterm> +<indexterm role="cp"><primary>saltos de línea, previniendo</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\linebreak[<replaceable>prioridad</replaceable>] -\nolinebreak[<replaceable>prioridad</replaceable>] +<screen>\linebreak +\linebreak[<replaceable>cero-a-cuatro</replaceable>] </screen> -<para>De manera predeterminada, la instrucción <literal>\linebreak</literal> -(<literal>\nolinebreak</literal>) fuerza (previene) un salto de línea en la posición -actual. Para <literal>\linebreak</literal>, los espacios en la línea se expanden -hasta el margen derecho de la manera normal. +<para>o uno de estos. </para> -<para>Con el argumento opcional <replaceable>prioridad</replaceable>, usted puede convertir la -instrucción de una petición a una demanda. La <replaceable>prioridad</replaceable> debe ser -un número desde 0 hasta 4. Cuanto mayor sea el número, es más -insistente la petición. +<screen>\nolinebreak +\nolinebreak[<replaceable>cero-a-cuatro</replaceable>] +</screen> +<para>Anima o desalienta un salto de línea. El <replaceable>cero-a-cuatro</replaceable> opcional +es un número entero entre 0 y 4 que te permite suavizar la +instrucción. El valor predeterminado es 4, por lo que sin el +argumento opcional estos comandos fuerzan o previenen por completo la +ruptura. Pero por ejemplo, <literal>\nolinebreak[1]</literal> es una sugerencia +de que otro lugar puede ser mejor. Cuanto mayor sea el número, más +insistente será la solicitud. Ambos comandos son frágiles +(véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Aquí le decimos a &latex; que un buen lugar para poner un salto de +línea es después del texto legal estándar. +</para> +<screen>\boilerplatelegal{} \linebreak[2] +Alentamos especialmente las solicitudes de miembros de tradicionalmente +grupos subrepresentados. +</screen> +<para>Cuando emite <literal>\linebreak</literal>, los espacios en la línea se estiran +para que el punto de quiebre alcance el margen derecho. Véase <link linkend="_005c_005c">\\</link> +y <link linkend="_005cnewline">\newline</link>, para que los espacios no se extiendan. </para> </sect1> </chapter> -<chapter label="11" id="Saltos-de-P_00e1gina"> -<title>Saltos de Página</title> +<chapter label="10" id="Salto-de-p_00e1gina"> +<title>Salto de página</title> + <indexterm role="cp"><primary>salto de página</primary></indexterm> -<indexterm role="cp"><primary>dividiendo páginas</primary></indexterm> +<indexterm role="cp"><primary>rompiendo páginas</primary></indexterm> + +<para>Normalmente, &latex; automáticamente se encarga de dividir la salida +en páginas con su habitual aplomo. Pero si estás escribiendo +comandos, o ajustar la versión final de un documento, es posible que +debas entender cómo influir en sus acciones. +</para> +<!-- crédito: H Vogt https://tex.stackexchange.com/a/115563 --> +<indexterm role="cp"><primary>badness</primary></indexterm> +<para>El algoritmo de &latex; para dividir un documento en páginas es más +complejo que simplemente esperar hasta que haya suficiente material +para llenar una página y producir el resultado. En cambio, &latex; +compone más material que cabría en la página y luego elige un salto +que es óptimo en alguna forma (tiene el <firstterm>badness</firstterm> más pequeño). Un +ejemplo de la ventaja de este enfoque es que si la página tiene algún +espacio vertical que se puede estirar o encoger, como con tiras de +goma entre párrafos, entonces &latex; lo puede usar para evitar +líneas viudas (donde comienza una nueva página con la última línea de +un párrafo; &latex; puede exprimir la línea adicional en la primera +página) y huérfanas (donde la primera línea del párrafo está al final +de una página; &latex; puede estirar el material de la primera página +para que la línea extra caiga en la segunda página). Otro ejemplo es +donde &latex; usa la reducción vertical disponible para caber en una +página que no solo el encabezado de una nueva sección, pero también +las dos primeras líneas de esa sección. +</para> +<para>Pero &latex; no optimiza el conjunto de saltos de páginas del +documento completo. Entonces puede suceder que el salto de la primera +página sea genial pero el segundo sea pésimo; para romper la página +actual &latex; no ve tan adelante como el siguiente salto de página. +Así que de vez en cuando es posible que desees influir en los saltos +de página al preparar una versión final de un documento. +</para> +<para>Véase <link linkend="Composici_00f3n">Composición</link>, para obtener más material relevante para el salto +de página. +</para> + + +<sect1 label="10.1" id="_005cclearpage-y-_005ccleardoublepage"> +<title><literal>\clearpage</literal> y <literal>\cleardoublepage</literal></title> + +<anchor id="_005cclearpage"/><indexterm role="fn"><primary>\clearpage</primary></indexterm> +<indexterm role="cp"><primary>enjuagar flotantes y comenzar una página</primary></indexterm> +<indexterm role="cp"><primary>comenzar una nueva página y borrar flotantes</primary></indexterm> +<anchor id="_005ccleardoublepage"/><indexterm role="fn"><primary>\cleardoublepage</primary></indexterm> +<indexterm role="cp"><primary>comenzando en una página de la derecha</primary></indexterm> -<para>&latex; inicia nuevas páginas asincronicamente, cuando ha acumulado -suficiente material para llenar una página. Por lo general, esto ocurre -automáticamente, pero a veces, posiblemente, usted quiera influir en los -saltos de página. +<para>Sinopsis: </para> - - -<sect1 label="11.1" id="_005ccleardoublepage"> -<title><literal>\cleardoublepage</literal></title> - -<indexterm role="fn"><primary>\cleardoublepage</primary></indexterm> -<indexterm role="cp"><primary>iniciando una página a mano derecha</primary></indexterm> - -<para>La instrucción <literal>\cleardoublepage</literal> termina la página actual y -provoca que se impriman todas las imágenes y tablas que han aparecido -hasta el momento en el texto. En un estilo de Impresión a doble cara, -este también hace que la siguiente página sea a mano derecha, página -(impares), produciendo una página en blanco si es necesario. +<screen>\clearpage +</screen> +<para>o </para> - -</sect1> -<sect1 label="11.2" id="_005cclearpage"> -<title><literal>\clearpage</literal></title> -<indexterm role="fn"><primary>\clearpage</primary></indexterm> -<indexterm role="cp"><primary>descargando flotantes e iniciando una página</primary></indexterm> -<indexterm role="cp"><primary>iniciando una nueva página y limpiando flotantes</primary></indexterm> - -<para>La instrucción <literal>\clearpage</literal> termina la página actual y provoca que -todas la imágenes y tablas que han aparecido hasta ahora en la entrada -sean impresas. +<screen>\cleardoublepage +</screen> +<para>Finaliza la página actual y genera todas las figuras flotantes +pendientes y tablas (véase <link linkend="Flotantes">Flotantes</link>). Si hay demasiados flotantes +para caber en la página entonces &latex; pondrá páginas adicionales +que solo contienen flotantes. En impresión a doble cara, +<literal>\cleardoublepage</literal> también hace que la siguiente página de +contenido sea una página de la derecha, una página impar, si es +necesario insertando una página en blanco. El comando +<literal>\clearpage</literal> es robusto mientras <literal>\cleardoublepage</literal> es +frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Los saltos de página de &latex; están optimizados, por lo que +normalmente solo usas este comando en el cuerpo de un documento para +pulir la versión final, o dentro de comandos. +</para> +<!-- crédito: https://www.tex.ac.uk/FAQ-reallyblank.html --> +<para>El comando <literal>\cleardoublepage</literal> colocará una página en blanco, pero +tendrá los encabezados y pies de página en ejecución. Para obtener +una página con espacio en blanco, usa este comando. +</para> +<screen>\let\origdoublepage\cleardoublepage +\newcommand{\clearemptydoublepage}{% + \clearpage + {\pagestyle{empty}\origdoublepage}% +} +</screen> +<para>Si deseas que el comando <literal>\chapter</literal> estándar de &latex; haga +esto, entonces agrega la línea +<literal>\let\cleardoublepage\clearemptydoublepage</literal>. (Por supuesto, esto +afecta todos los usos de <literal>\cleardoublepage</literal>, no solo uno en +<literal>\chapter</literal>). +</para> +<para>El comando <literal>\newpage</literal> (véase <link linkend="_005cnewpage">\newpage</link>) también termina la +página actual, pero sin borrar los flotantes pendientes. Y, si +&latex; está en modo de dos columnas, entonces <literal>\newpage</literal> +finaliza la columna actual mientras <literal>\clearpage</literal> y +<literal>\cleardoublepage</literal> finalizan la página actual. </para> + </sect1> -<sect1 label="11.3" id="_005cnewpage"> +<sect1 label="10.2" id="_005cnewpage"> <title><literal>\newpage</literal></title> + <indexterm role="fn"><primary>\newpage</primary></indexterm> -<indexterm role="cp"><primary>nueva página, iniciando</primary></indexterm> -<indexterm role="cp"><primary>iniciando una nueva página</primary></indexterm> +<indexterm role="cp"><primary>nueva página, comenzando</primary></indexterm> +<indexterm role="cp"><primary>comenzando una nueva página</primary></indexterm> -<para>La instrucción <literal>\newpage</literal> termina la página actual, pero no -descarga flotantes (vea <literal>\clearpage</literal> arriba). +<para>Sinopsis: +</para> +<screen>\newpage +</screen> +<para>Finaliza la página actual. Este comando es robusto +(véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Los saltos de página de &latex; están optimizados, por lo que +normalmente solo usas este comando en el cuerpo de un documento para +pulir la versión final, o dentro de comandos. +</para> +<para>Mientras que los comandos <literal>\clearpage</literal> y <literal>\cleardoublepage</literal> +también finalizan la página actual, además borran los flotantes +pendientes (véase <link linkend="_005cclearpage-y-_005ccleardoublepage">\clearpage y \cleardoublepage</link>). Y, si &latex; +está en modo de dos columnas, entonces <literal>\clearpage</literal> y +<literal>\cleardoublepage</literal> terminan la página actual, posiblemente +dejando una columna vacía, mientras <literal>\newpage</literal> solo finaliza la +columna actual. +</para> +<para>A diferencia de <literal>\pagebreak</literal> (véase <link linkend="_005cpagebreak-y-_005cnopagebreak">\pagebreak y \nopagebreak</link>), +el comando <literal>\newpage</literal> hará que la nueva página comience justo +donde se solicitó. Este +</para> +<screen>Hace cuarenta y siete años nuestros padres dieron a luz en este +continente, +\newpage + +\noindent +una nueva nación, concebida en Libertad, y dedicada a la proposición +de que todos los hombres son creados iguales. +</screen> +<para>hace que una nueva página comience después de ‘<literal>continente</literal>’, y la +línea cortada no se justifica a la derecha. Además, <literal>\newpage</literal> +no estira verticalmente la página, como lo hace <literal>\pagebreak</literal>. </para> </sect1> -<sect1 label="11.4" id="_005cenlargethispage"> +<sect1 label="10.3" id="_005cenlargethispage"> <title><literal>\enlargethispage</literal></title> + <indexterm role="fn"><primary>\enlargethispage</primary></indexterm> -<indexterm role="cp"><primary>ampliando la página actual</primary></indexterm> +<indexterm role="cp"><primary>ampliar la página actual</primary></indexterm> -<para><literal>\enlargethispage{tamaño}</literal> +<para>Sinopsis, una de: </para> -<para><literal>\enlargethispage*{tamaño}</literal> +<screen>\enlargethispage{<replaceable>size</replaceable>} +\enlargethispage*{<replaceable>size</replaceable>} +</screen> +<para>Amplía el <literal>\textheight</literal> para la página actual. El argumento +requerido <replaceable>size</replaceable> debe tener una longitud rígida +(véase <link linkend="Longitudes">Longitudes</link>). Puede ser positivo o negativo. Este comando es +frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Una estrategia común es esperar hasta tener el texto final de un +documento y, a continuación, pásalo ajustando los saltos de línea y de +página. Este comando te permite cierto margen de maniobra en el +tamaño de la página. </para> -<para>Amplía el <literal>\textheight</literal> para la página actual por la cantidad -especificada; por ejemplo <literal>\enlargethispage{\baselineskip}</literal> -permitirá una línea adicional. +<para>Esto permitirá una línea adicional en la página actual. </para> -<para>La forma favorita trata de apretar el material en la página tanto como -sea posible. Esta normalmente se utiliza junto con un <literal>\pagebreak</literal> -explícito. +<screen>\enlargethispage{\baselineskip} +</screen> +<para>La forma con estrella <literal>\enlargesthispage*</literal> intenta exprimir el +material juntos en la página tanto como sea posible, para el caso de +uso común de obtener una línea más en la página. Esto se usa a menudo +junto con un <literal>\pagebreak</literal> explícito. </para> </sect1> -<sect1 label="11.5" id="_005cpagebreak-y-_005cnopagebreak"> +<sect1 label="10.4" id="_005cpagebreak-y-_005cnopagebreak"> <title><literal>\pagebreak</literal> y <literal>\nopagebreak</literal></title> -<indexterm role="fn"><primary>\pagebreak</primary></indexterm> + +<anchor id="_005cpagebreak"/><anchor id="_005cnopagebreak"/><indexterm role="fn"><primary>\pagebreak</primary></indexterm> <indexterm role="fn"><primary>\nopagebreak</primary></indexterm> -<indexterm role="cp"><primary>saltos de página, forzando</primary></indexterm> -<indexterm role="cp"><primary>saltos de página, evitando</primary></indexterm> +<indexterm role="cp"><primary>salto de página, forzando</primary></indexterm> +<indexterm role="cp"><primary>salto de página, evitando</primary></indexterm> <para>Sinopsis: </para> -<screen>\pagebreak[<replaceable>prioridad</replaceable>] -\nopagebreak[<replaceable>prioridad</replaceable>] +<screen>\pagebreak +\pagebreak[<replaceable>cero-a-cuatro</replaceable>] </screen> -<para>De forma predeterminada, la instrucción <literal>\pagebreak</literal> -(<literal>\nopagebreak</literal>) fuerza (impide) un salto de página en la posición -actual. Para <literal>\linebreak</literal>, el espacio vertical en la página se -estira cuanto sea posible de modo que se extienda hasta el margen -inferior normal. +<para>o </para> -<para>Con el argumento opcional <replaceable>prioridad</replaceable>, puede convertir la -instrucción <literal>\pagebreak</literal> desde una petición a una demanda. El -número debe ser un número desde 0 hasta 4. Cuanto mayor sea el -número, más insistente es la petición. +<screen>\nopagebreak +\nopagebreak[<replaceable>cero-a-cuatro</replaceable>] +</screen> +<para>Anima o desalienta un salto de página. El <replaceable>cero-a-cuatro</replaceable> +opcional es un número entero que te permite suavizar la solicitud. El +valor predeterminado es 4, de modo que sin el argumento opcional estos +comandos fuerzan o previenen el quiebre. Pero, por ejemplo, +<literal>\nopagebreak[1]</literal> sugiere a &latex; que otro lugar podría ser +preferible. Cuanto mayor sea el número, más insistente la petición. +Ambos comandos son frágiles. (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Los finales de página de &latex; están optimizados, por lo que +normalmente solo usas estos comandos en el cuerpo de un documento para +pulir la versión final, o dentro de comandos. +</para> +<para>Si los usas dentro de un párrafo, se aplica al punto siguiente de la +línea en la que aparecen. Así que esto +</para> +<screen>Hace cuarenta y siete años nuestros padres dieron a luz en este +continente, +\pagebreak +una nueva nación, concebida en Libertad, y dedicada a la proposición +que todos los hombres son creados iguales. +</screen> +<para>no da un salto de página en ‘<literal>continente</literal>’, sino en ‘<literal>nación</literal>’, +ya que ahí es donde &latex; rompe esa línea. Además, con +<literal>\pagebreak</literal> el espacio vertical en la página se estira donde sea +posible para que se extienda hasta el fondo del margen normal. Esto +puede parecer extraño, y si <literal>\flushbottom</literal> está en efecto esto +puede hacer que obtengas ‘<literal>Infralleno \vbox (incorrecto 10000) +ocurrió mientras \output está activo</literal>’. Véase <link linkend="_005cnewpage">\newpage</link>, para un +comando que no tiene estos efectos. +</para> +<indexterm role="fn"><primary>\samepage</primary></indexterm> +<indexterm role="fn"><primary>samepage entorno</primary></indexterm> +<para>(Hay una declaración obsoleta <literal>\samepage</literal>, que intenta solo +permitir un salto de línea entre dos párrafos. Hay un entorno +relacionado <literal>samepage</literal>, también obsoleto. Ninguno de estos +funciona de manera confiable. Para más información sobre cómo +mantener el material en la misma página, consulta la entrada de +preguntas frecuentes <ulink url="https://texfaq.org/FAQ-nopagebrk">https://texfaq.org/FAQ-nopagebrk</ulink>). </para> </sect1> </chapter> -<chapter label="12" id="Notas-al-Pie"> -<title>Notas al Pie</title> -<indexterm role="cp"><primary>notas al pie, creando</primary></indexterm> +<chapter label="11" id="Notas-al-pie"> +<title>Notas al pie</title> + +<indexterm role="cp"><primary>notas al pie, crear</primary></indexterm> -<para>Las notas al pie se pueden producir en una de dos maneras. Se pueden -producir con una sola instrucción, la instrucción <literal>\footnote</literal>. -También se pueden producir con dos instrucciones, las instrucciones -<literal>\footnotemark</literal> y <literal>\footnotetext</literal>. +<para>Coloca una nota a pie de página en la parte inferior de la página +actual, como aquí. +</para> +<screen>Noël Coward bromeó diciendo que tener que leer una nota al pie es +como tener que bajar las escaleras para abrir la puerta, mientras está +en medio de hacer amor.\footnote{% No sabría, no leo las notas al +pie.} +</screen> +<para>Puedes poner varias notas al pie de página en una página. Si el texto +de la nota al pie se vuelve demasiado largo, entonces fluirá a la +página siguiente. +</para> +<para>También puedes producir notas al pie combinando <literal>\footnotemark</literal> y +los comandos <literal>\footnotetext</literal>, que es útil en casos con +circunstancias especiales. +</para> +<para>Para que las referencias bibliográficas salgan a pie de página es +necesario incluir un estilo bibliográfico con ese comportamiento +(véase <link linkend="Usar-BibTeX">Usar BibTeX</link>). </para> -<sect1 label="12.1" id="_005cfootnote"> +<sect1 label="11.1" id="_005cfootnote"> <title><literal>\footnote</literal></title> + <indexterm role="fn"><primary>\footnote</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\footnote[<replaceable>número</replaceable>]{<replaceable>texto</replaceable>} +<screen>\footnote{<replaceable>text</replaceable>} +\footnote[<replaceable>number</replaceable>]{<replaceable>text</replaceable>} </screen> -<para>La instrucción <literal>\footnote</literal> coloca una nota numerada con el -<replaceable>texto</replaceable> al pie de la página actual. El argumento opcional -<replaceable>número</replaceable> cambia el número predeterminado de la nota. +<para>Coloca <replaceable>text</replaceable> como nota al pie al final de la página actual. +</para> +<screen>Hay más de mil notas a pie de página en el libro de Gibbon. +\textit{Decadencia y Caída del Imperio Romano}.\footnote{% Después +de leer una versión anterior con notas finales, David Hume se quejó: +``Uno también está plagado de sus Notas, según el presente Método de +imprimir el Libro'' y sugirió que ``sólo para ser impreso en el margen +o en la parte inferior de la página.''} +</screen> +<para>El argumento opcional <replaceable>number</replaceable> te permite especificar el número de +la nota al pie. Si usas esto, entonces &latex; no incrementa el +contador <literal>footnote</literal>. </para> -<para>Esta instrucción sólo puede utilizarse fuera del modo párrafo; es decir, -no se puede utilizar en el instrucciones de seccionado tal como -<literal>\chapter</literal>, en figuras, tablas o en un entorno <literal>tabular</literal>. -(Vea las siguientes secciones). -<!-- xx mencione paquetes que corrijan esto --> +<indexterm role="cp"><primary>notas al pie, símbolos en lugar de números</primary></indexterm> +<indexterm role="fn"><primary>\fnsymbol, y notas al pie</primary></indexterm> +<indexterm role="fn"><primary>\@fnsymbol</primary></indexterm> +<para>De manera predeterminada, &latex; usa números arábigos como +marcadores de notas al pie. Cambia esto con algo como +<literal>\renewcommand{\thefootnote}{\fnsymbol{footnote}}</literal>, que +utiliza una secuencia de símbolos (véase <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman +\Roman \fnsymbol</link>). Para que este cambio sea global, ponlo en el +preámbulo. Si realizas el cambio local, entonces es posible que +desees restablecer el contador con +<literal>\setcounter{footnote}{0}</literal>. +</para> +<para>&latex; determina el espaciado de las notas al pie con dos +parámetros. +</para> +<indexterm role="cp"><primary>parámetros de nota al pie</primary></indexterm> +<indexterm role="cp"><primary>parámetros, para notas al pie</primary></indexterm> + +<variablelist><varlistentry><term><indexterm role="fn"><primary>\footnoterule</primary></indexterm><literal>\footnoterule</literal> +</term><listitem><anchor id="footnote-footnoterule"/><para>Produce la regla que separa el texto +principal de una página del texto de la notas al pie de la página. +Dimensiones predeterminadas en las clases de documentos estándar +(excepto <literal>slides</literal>, donde no aparece) es: espesor vertical de +<literal>0.4pt</literal>, y tamaño horizontal de <literal>0.4\columnwidth</literal> de largo. +Cambia la regla con algo como esto. +</para> +<!-- Agregación de créditos: https://tex.stackexchange.com/a/21917 --> +<screen>\renewcommand{\footnoterule}{% Kerns evita el espacio vertical + \kern -3pt % Este -3 es negativo + \hrule width \textwidth height 1pt % de la suma de este 1 + \kern 2pt} % y este 2 +</screen> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\footnotesep</primary></indexterm><literal>\footnotesep</literal> +</term><listitem><anchor id="footnote-footnotesep"/><indexterm role="cp"><primary>strut</primary></indexterm> +<para>La altura del puntal colocado al comienzo de la nota al pie. +(véase <link linkend="_005cstrut">\strut</link>). De manera predeterminada, esto se establece en el +puntal normal para <literal>\footnotesize</literal> fuentes (véase <link linkend="Tama_00f1os-de-los-tipos-de-letra">Tamaños de los +tipos de letra</link>), por lo tanto no hay espacio adicional entre las +notas al pie. Este es ‘<literal>6.65pt</literal>’ para ‘<literal>10pt</literal>’, ‘<literal>7.7pt</literal>’ +para ‘<literal>11pt</literal>’ y ‘<literal>8.4pt</literal>’ para ‘<literal>12pt</literal>’. Cambio como con +<literal>\setlength{\footnotesep}{11pt}</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>El comando <literal>\footnote</literal> es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>El valor predeterminado de &latex; pone muchas restricciones sobre +dónde puedes usar un <literal>\footnote</literal>; por ejemplo, no lo puedes usar +en un argumento para un comando de seccionado como <literal>\chapter</literal> +(solo se puede usar en modo de párrafo; véase <link linkend="Modos">Modos</link>). Hay algunas +soluciones; ve las siguientes secciones. +</para> +<indexterm role="cp"><primary>footnotes, en una minipágina</primary></indexterm> +<indexterm role="cp"><primary>mpfootnote contador</primary></indexterm> +<para>En un entorno <literal>minipage</literal>, el comando <literal>\footnote</literal> usa el +contador <literal>mpfootnote</literal> en lugar del contador <literal>footnote</literal>, por +lo que se numeran de forma independiente. Se muestran en la parte +inferior del entorno, no en la parte inferior de la página. Y de +manera predeterminada se muestran alfabéticamente. Véase <link linkend="minipage">minipage</link> y +<link linkend="Notas-al-pie-en-una-tabla">Notas al pie en una tabla</link>. </para> </sect1> -<sect1 label="12.2" id="_005cfootnotemark"> +<sect1 label="11.2" id="_005cfootnotemark"> <title><literal>\footnotemark</literal></title> + <indexterm role="fn"><primary>\footnotemark</primary></indexterm> -<para>Sin argumento opcional, la instrucción <literal>\footnotemark</literal> coloca el -número de nota actual en el texto. Esta instrucción se puede utilizar -en modo párrafo. Usted proporciona el texto de la nota por separado, -con la instrucción <literal>\footnotetext</literal>. +<para>Sinopsis, una de: </para> -<para>Esta instrucción se puede utilizar para producir varios marcadores de -nota consecutivos refiriéndose a la misma nota +<screen>\footnotemark +\footnotemark[<replaceable>number</replaceable>] +</screen> +<para>Coloca la marca de nota al pie actual en el texto. Para especificar +texto asociado para la nota al pie <link linkend="_005cfootnotetext">\footnotetext</link>. El +argumento <replaceable>number</replaceable> opcional hace que el comando use ese número +para determinar la marca de nota al pie. Este comando se puede +utilizar en el modo de párrafo interior (véase <link linkend="Modos">Modos</link>). +</para> +<para>Si usas <literal>\footnotemark</literal> sin el argumento opcional, entonces +incrementa el contador <literal>footnote</literal>, pero si usas el contador +opcional <replaceable>number</replaceable> entonces no lo hace. El siguiente ejemplo +produce varios marcadores consecutivos de notas al pie que se refieren +a la misma nota al pie. +</para> +<screen>El primer teorema\footnote{Debido a Gauss.} y el segundo +teorema\footnotemark[\value{footnote}] y el tercer +teorema.\footnotemark[\value{footnote}] +</screen> +<para>Si hay notas al pie intermedias, debes recordar el valor de el número +de la marca común. Este ejemplo da la misma afiliación institucional +del primer y tercer autor (<literal>\thanks</literal> es una versión de +<literal>\footnote</literal>), dando a mano el número de la nota al pie. +</para> +<screen>\title{Un tratado sobre el teorema del binomio} +\author{J Moriarty\thanks{Universidad de Leeds} + \y AC Doyle\thanks{Universidad de Durham} + \y S Holmes\footnotemark[1]} +\begin{document} +\maketitle +</screen> +<para>Utiliza un contador para recordar el número de la nota al pie. La +tercera frase va seguida del mismo marcador de nota al pie que la +primera. +</para> +<screen>\newcounter{footnoteValueSaver} Todos los bebés son +ilógicos.\footnote{% Lewis +Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}} No +se desprecia a nadie que pueda manejar un cocodrilo.\footnote{% +Capitán Garfio.} Las personas ilógicas son +despreciadas.\footnotemark[\value{footnoteValueSaver}] Por lo tanto, +cualquiera que pueda manejar un cocodrilo no es un bebé. +</screen> +<indexterm role="cp"><primary>package, <literal>cleveref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>cleveref</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm> + +<para>Este ejemplo logra lo mismo usando el paquete <literal>cleveref</literal>. </para> -<screen>\footnotemark[\value{footnote}] +<!-- del usuario SE Jake https://tex.stackexchange.com/a/10116/339 --> +<screen>\usepackage{cleveref}[2012/02/15] % en el preámbulo +\crefformat{footnote}{#2\footnotemark[#1]#3} +... +El teorema es de Evers.\footnote{\label{fn:TE}Tinker, Evers, +1994.} El corolario es de Chance.\footnote{Evers, Chance, 1990.} +Pero el lema clave es de Tinker.\cref{fn:TE} </screen> -<para>después de la primer instrucción <literal>\footnote</literal>. +<indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm> + +<para>Funcionará con el paquete <literal>hyperref</literal>. </para> </sect1> -<sect1 label="12.3" id="_005cfootnotetext"> +<sect1 label="11.3" id="_005cfootnotetext"> <title><literal>\footnotetext</literal></title> + <indexterm role="fn"><primary>\footnotetext</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\footnotetext[<replaceable>número</replaceable>]{<replaceable>texto</replaceable>} +<screen>\footnotetext{<replaceable>text</replaceable>} +\footnotetext[<replaceable>number</replaceable>]{<replaceable>text</replaceable>} </screen> -<para>La instrucción <literal>\footnotetext</literal> coloca el <replaceable>texto</replaceable> en la parte -inferior de la página como una nota al pie. Esta instrucción puede -venir en cualquier lugar después de la instrucción <literal>\footnotemark</literal>. -La instrucción <literal>\footnotetext</literal> debe aparecer en el exterior del -modo párrafo. +<para>Coloca <replaceable>text</replaceable> en la parte inferior de la página como nota al pie. +Se empareja con <literal>\footnotemark</literal> (véase <link linkend="_005cfootnotemark">\footnotemark</link>) y puede +venir en cualquier lugar después de ese comando, pero debe aparecer en +modo de párrafo externo (véase <link linkend="Modos">Modos</link>). El argumento opcional +<replaceable>number</replaceable> cambia el número de la marca de nota al pie. </para> -<para>El argumento opcional <replaceable>número</replaceable> cambia el número predeterminado de la -nota. +<para>Véase <link linkend="_005cfootnotemark">\footnotemark</link> y <link linkend="Notas-al-pie-en-una-tabla">Notas al pie en una tabla</link>, para usar +en ejemplos </para> </sect1> -<sect1 label="12.4" id="Notas-al-Pie-Simb_00f3licas"> -<title>Notas al Pie Simbólicas</title> +<sect1 label="11.4" id="Notas-a-pie-de-p_00e1gina-en-los-t_00edtulos-de-las-secciones"> +<title>Notas a pie de página en los títulos de las secciones</title> -<indexterm role="cp"><primary>notas al pie, símbolos en lugar de números en</primary></indexterm> -<para>Si desea utilizar símbolos para las notas al pie, en lugar de un número -creciente, redefina <literal>\thefootnote</literal> así: +<indexterm role="cp"><primary>Notas a pie de página, en los títulos de las secciones</primary></indexterm> +<indexterm role="cp"><primary>tabla de contenido, evitando notas al pie de página</primary></indexterm> + +<para>Pone una nota al pie en el título de una sección, como en: </para> -<screen>\renewcommand{\thefootnote}{\fnsymbol{footnote}} +<screen>\section{Juegos completos\protect\footnote{Este material se debe a + ...}} </screen> -<indexterm role="fn"><primary>\fnsymbol, y notas al pie</primary></indexterm> -<indexterm role="fn"><primary>\fnsymbol</primary></indexterm> -<para>La instrucción <literal>\fnsymbol</literal> produce a serie predefinida de símbolos -(véase <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). Si desea -utilizar un símbolo diferente como su marca de nota al pie, necesitará -redefinir <literal>\@fnsymbol</literal>. +<para>hace que la nota al pie de página aparezca en la parte inferior de la +página donde comienza la sección, como es habitual, pero también en la +parte inferior de la tabla de contenido, donde no es probable que sea +deseado. La forma más sencilla de hacer que no aparezca en la tabla +de contenido es usar el argumento opcional para <literal>\section</literal> +</para> +<screen>\section[Por favor]{Por favor\footnote{% + ¡No incluyas notas al pie en los encabezados de capítulos y + secciones!}} +</screen> +<para>No se necesita <literal>\protect</literal> delante de <literal>\footnote</literal> aquí porque +lo que se mueve a la tabla de contenido es el argumento opcional. </para> </sect1> -<sect1 label="12.5" id="Par_00e1metros-para-Footnote"> -<title>Parámetros para Footnote</title> +<sect1 label="11.5" id="Notas-al-pie-en-una-tabla"> +<title>Notas al pie en una tabla</title> -<indexterm role="cp"><primary>parámetros de footnote</primary></indexterm> -<indexterm role="cp"><primary>parámetros, para footnote</primary></indexterm> +<indexterm role="cp"><primary>nota al pie, en una tabla</primary></indexterm> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\footnoterule</primary></indexterm><literal>\footnoterule</literal> -</term><listitem><para>Produce la línea que separa el texto principal en una página de las -notas al pie de la página. Dimensiones predeterminadas: <literal>0.4pt</literal> -espesor (o ancho), y longitud de <literal>0.4\columnwidth</literal> en las clases de -documento estándar (salvo en <literal>slides</literal>, donde esta no aparece). +<para>Dentro de un entorno <literal>tabular</literal> o <literal>array</literal> el comando +<literal>\footnote</literal> no funciona; hay una marca de nota al pie en la celda +de la tabla, pero el texto de la nota al pie no aparece. La solución +es usar un entorno <literal>minipage</literal> como aquí (véase <link linkend="minipage">minipage</link>). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\footnotesep</primary></indexterm><literal>\footnotesep</literal> -</term><listitem><para>La altura donde se coloca el puntal al comienzo de la nota al pie. De -forma predeterminada, se establece en el puntal del tipo de letra normal -<literal>\footnotesize</literal> (véase <link linkend="Tama_00f1os-del-Tipo-de-Letra">Tamaños del Tipo de Letra</link>, por lo tanto no -hay espacio extra entre las notas. Este es ‘<literal>6.65pt</literal>’ para -‘<literal>10pt</literal>’, ‘<literal>7.7pt</literal>’ para ‘<literal>11pt</literal>’ y ‘<literal>8.4pt</literal>’ para -‘<literal>12pt</literal>’. +<screen>\begin{center} + \begin{minipage}{\textwidth} \centering + \begin{tabular}{l|l} + \textsc{Barco} &\textsc{Libro} \\ \hline + \textit{HMS Sophie} &Maestro y Comandante \\ + \textit{HMS Polychrest} &Capitán de puesto \\ + \textit{HMS Lively} &Capitán de puesto \\ + \textit{HMS Surprise} &Un número de libros\footnote{% + Comenzando con \textit{HMS Sorpresa}.} + \end{tabular} + \end{minipage} +\end{center} +</screen> +<para>Dentro de una <literal>minipage</literal>, las marcas de las notas al pie son +letras minúsculas. Cambio que con algo así +<literal>\renewcommand{\thempfootnote}{\arabic{mpfootnote}}</literal> +(véase <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). +</para> +<para>Las notas al pie en el ejemplo anterior aparecen en la parte inferior +de la <literal>minipage</literal>. Para que aparezcan en la parte inferior de la +página principal, como parte de la secuencia regular de notas al pie, +utiliza <literal>\footnotemark</literal> y <literal>\footnotetext</literal> empareja y crea un +nuevo contador. +</para> +<screen>\newcounter{mpFootnoteValueSaver} +\begin{center} + \begin{minipage}{\textwidth} + \setcounter{mpFootnoteValueSaver}{\value{footnote}} \centering + \begin{tabular}{l|l} + \textsc{Mujer} &\textsc{Relación} \\ \hline + Mona &Adjunto\footnotemark\\ + Diana Villiers &Eventual esposa \\ + Christine Hatherleigh Wood &Prometida\footnotemark + \end{tabular} + \end{minipage}% El signo de porcentaje mantiene el texto de la + % nota al pie cerca de la minipágina + \stepcounter{mpFootnoteValueSaver}% + \footnotetext[\value{mpFootnoteValueSaver}]{% + Poco se sabe aparte de su muerte.}% + \stepcounter{mpFootnoteValueSaver}% + \footnotetext[\value{mpFootnoteValueSaver}]{% + Relación no resuelta en XXI.} +\end{center} +</screen> +<indexterm role="cp"><primary>package, <literal>tablefootnote</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tablefootnote</literal> package</primary></indexterm> +<para>Para un entorno <literal>table</literal> flotante +(véase <link linkend="table">table</link>), usa el paquete <literal>tablefootnote</literal>. </para> -</listitem></varlistentry></variablelist> +<screen>\usepackage{tablefootnote} % en el preámbulo + ... +\begin{table} + \centering + \begin{tabular}{l|l} + \textsc{Fecha} &\textsc{Campaña} \\ \hline + 1862 & Fuerte Donelson \\ + 1863 &Vicksburg \\ + 1865 &Ejército de Virginia del Norte\tablefootnote{% + Pone fin a la guerra.} + \end{tabular} + \caption{Fuerzas capturadas por US Grant} +\end table} +</screen> +<para>La nota al pie aparece en la parte inferior de la página y está +numerada en secuencia con otras notas al pie. +</para> + +</sect1> +<sect1 label="11.6" id="Notas-al-pie-de-notas-al-pie"> +<title>Notas al pie de notas al pie</title> + +<indexterm role="cp"><primary>nota al pie, de una nota al pie</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>bigfoot</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>bigfoot</literal> package</primary></indexterm> +<para>Particularmente en las humanidades, los autores +pueden tener múltiples clases de notas al pie, incluyendo tener notas +al pie de las notas al pie. El paquete <literal>bigfoot</literal> amplía el +mecanismo de notas al pie predeterminado de &latex; en muchas +maneras, incluyendo permitir estos dos, como en este ejemplo. +</para> +<screen>\usepackage{bigfoot} % en el preámbulo +\DeclareNewFootnote{Predeterminado} +\DeclareNewFootnote{from}[alph] % crea clase \footnotefrom{} + ... +El tercer teorema es un inverso parcial del segundo.\footnotefrom{% + Anotado en Wilson.\footnote{Segunda edición solamente.}} +</screen> </sect1> </chapter> -<chapter label="13" id="Definiciones"> +<chapter label="12" id="Definiciones"> <title>Definiciones</title> + <indexterm role="cp"><primary>definiciones</primary></indexterm> -<para>&latex; tiene la capacidad para crear nuevas instrucciones de muchos -tipos diferentes. +<para>&latex; tiene soporte para crear nuevos comandos de muchos tipos +diferentes. </para> -<!-- xx todo en este capítulo necesita ejemplos. --> - -<sect1 label="13.1" id="_005cnewcommand-y-_005crenewcommand"> +<sect1 label="12.1" id="_005cnewcommand-y-_005crenewcommand"> <title><literal>\newcommand</literal> y <literal>\renewcommand</literal></title> -<indexterm role="fn"><primary>\newcommand</primary></indexterm> -<indexterm role="cp"><primary>instrucciones, definiendo nuevas</primary></indexterm> -<indexterm role="cp"><primary>definiendo una nueva instrucción</primary></indexterm> -<indexterm role="cp"><primary>nuevas instrucciones, definiendo</primary></indexterm> -<para><literal>\newcommand</literal> y <literal>\renewcommand</literal> define y redefine una -instrucción, respectivamente. +<anchor id="_005cnewcommand"/><anchor id="_005crenewcommand"/><indexterm role="fn"><primary>\newcommand</primary></indexterm> +<indexterm role="fn"><primary>\renewcommand</primary></indexterm> +<indexterm role="cp"><primary>comandos, definiendo nuevos</primary></indexterm> +<indexterm role="cp"><primary>comandos, redefiniendo</primary></indexterm> +<indexterm role="cp"><primary>definir un nuevo comando</primary></indexterm> +<indexterm role="cp"><primary>redefinir un comando</primary></indexterm> +<indexterm role="cp"><primary>nuevos comandos, definiendo</primary></indexterm> + +<para>Sinopsis, una de (tres formas regulares, tres formas destacadas): +</para> +<screen>\newcommand{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\newcommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\newcommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +\newcommand*{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\newcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\newcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +</screen> +<para>o todas las mismas posibilidades con <literal>\renewcommand</literal> en lugar de +<literal>\newcommand</literal>: +</para> +<screen>\renewcommand{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\renewcommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\renewcommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +\renewcommand*{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\renewcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\renewcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +</screen> + +<para>Define o redefine un comando (ve también <literal>\DeclareRobustCommand</literal> +en <link linkend="Comandos-class-y-package">Comandos class y package</link>). +</para> +<indexterm role="cp"><primary>forma estrella, definiendo nuevos comandos</primary></indexterm> +<indexterm role="cp"><primary>*-forma, definiendo nuevos comandos</primary></indexterm> +<indexterm role="fn"><primary>\long</primary></indexterm> +<para>La forma estrellada de estos dos prohíbe que los argumentos contengan +varios párrafos de texto (en términos simples de &tex;: los comandos +no son <literal>\long</literal>). Con la forma predeterminada, los argumentos +pueden ser varios párrafos. +</para> +<para>Estos son los parámetros (a continuación se muestran algunos +ejemplos): +</para> +<variablelist><varlistentry><term><replaceable>cmd</replaceable> +</term><listitem><para>Requerido; <literal>\<replaceable>cmd</replaceable></literal> es el nombre del comando. Debe comenzar +con una barra invertida, <literal>\</literal>, y no debe comenzar con la cadena de +cuatro caracteres <literal>\end</literal>. Para <literal>\newcommand</literal>, no debe estar +ya definido. Para <literal>\renewcommand</literal>, este nombre ya debe estar +definido. </para> -<para>Sinopsis: +</listitem></varlistentry><varlistentry><term><replaceable>nargs</replaceable> +</term><listitem><para>Opcional; un número entero de 0 a 9, especificando el número de +argumentos que toma el comando, incluido cualquier argumento opcional. +Omitir este argumento es lo mismo que especificar 0, lo cual significa +que el comando no tiene argumentos. Si redefines un comando, la nueva +versión puede tener un diferente número de argumentos que la versión +anterior. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>optargdefault</replaceable> +</term><listitem><indexterm role="cp"><primary>argumentos opcionales, definir y usar</primary></indexterm> +<indexterm role="cp"><primary>argumentos, opcional, definir y usar</primary></indexterm> +<para>Opcional; si este argumento está presente entonces el primer argumento +de <literal>\<replaceable>cmd</replaceable></literal> es opcional, con valor predeterminado +<replaceable>optargdefault</replaceable> (que puede ser la cadena vacía). Si +<replaceable>optargdefault</replaceable> no está presente entonces <literal>\<replaceable>cmd</replaceable></literal> no +toma un argumento opcional. +</para> +<para>Es decir, si <literal>\<replaceable>cmd</replaceable></literal> se llama con el siguiente argumento +entre corchetes, como en <literal>\<replaceable>cmd</replaceable>[<replaceable>optval</replaceable>]{...}...</literal>, +entonces dentro de <replaceable>defn</replaceable>, el parámetro <literal>#1</literal> se +establece en <replaceable>optval</replaceable>. Por otro lado, si <literal>\<replaceable>cmd</replaceable></literal> se +llama sin los siguientes corchetes entonces dentro de <replaceable>defn</replaceable> se +establece el parámetro <literal>#1</literal> a <replaceable>optargdefault</replaceable>. En cualquier +caso, los argumentos requeridos comienzan con <literal>#2</literal>. +</para> +<para>Omitir <literal>[<replaceable>optargdefault</replaceable>]</literal> de la definición es completamente +diferente de dar los corchetes con contenido vacío, como en <literal>[]</literal>. +El primero dice que el comando que se define no requiere un argumento +opcional, por lo que <literal>#1</literal> es el primer argumento requerido (si +<inlineequation><mathphrase><replaceable>nargs</replaceable> ≥ 1</mathphrase></inlineequation>); este último establece el argumento +opcional <literal>#1</literal> a la cadena vacía como valor predeterminado, si no +hay un argumento opcional dado en la llamada. +</para> +<para>De manera similar, omitir <literal>[<replaceable>optval</replaceable>]</literal> de una llamada también +es completamente diferente de dar los corchetes con contenido vacío. +El anterior establece <literal>#1</literal> al valor de <replaceable>optval</replaceable> (suponiendo +que el comando se definió para tomar un argumento opcional); el último +<literal>#1</literal> configurado a la cadena vacía, al igual que con cualquier +otro valor. +</para> +<para>Si un comando no está definido para tomar un argumento opcional, pero +es llamado con un argumento opcional, los resultados son +impredecibles: allí puede haber un error de &latex;, puede haber una +salida tipográfica incorrecta, o ambos. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>defn</replaceable> +</term><listitem><indexterm role="cp"><primary>parámetros, sustituir</primary></indexterm> +<para>Requerido; el texto que se sustituirá por cada aparición de +<literal>\<replaceable>cmd</replaceable></literal>. Los parámetros <literal>#1</literal>, <literal>#2</literal>, …, +<literal>#<replaceable>nargs</replaceable></literal> se reemplazan por los valores proporcionados +cuando se llama al comando (o por <replaceable>optargdefault</replaceable> en el caso de un +argumento opcional no especificado en la llamada, como se acaba de +explicar). </para> -<screen> \newcommand{<replaceable>instrucción</replaceable>}[<replaceable>n-argumentos</replaceable>]{<replaceable>definición</replaceable>} -\renewcommand{<replaceable>instrucción</replaceable>}[<replaceable>n-argumentos</replaceable>]{<replaceable>definición</replaceable>} - \newcommand{<replaceable>instrucción</replaceable>}[<replaceable>n-argumentos</replaceable>][<replaceable>predeterminado</replaceable>]{<replaceable>definición</replaceable>} -\renewcommand{<replaceable>instrucción</replaceable>}[<replaceable>n-argumentos</replaceable>][<replaceable>predeterminado</replaceable>]{<replaceable>definición</replaceable>} +</listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>espacios en blanco, después de las secuencias de control</primary></indexterm> +<para>&tex; ignora los espacios en blanco en la fuente después de una +secuencia de control (véase <link linkend="Secuencias-de-control">Secuencias de control</link>), como en +‘<literal>\cmd </literal>’. Si quieres un espacio allí, una solución es escribir +<literal>{}</literal> después del comando (‘<literal>\cmd{} </literal>’), y otra solución es +usar un espacio de control explícito (‘<literal>\cmd\ </literal>’). +</para> +<para>Un ejemplo simple de definición de un nuevo comando: +<literal>\newcommand{\RS}{Robin Smith}</literal> da como resultado que +<literal>\RS</literal> sea reemplazado por el texto más largo. Redefinir un +comando existente es similar: +<literal>\renewcommand{\qedsymbol}{{\small QED}}</literal>. +</para> +<para>Si usas <literal>\newcommand</literal> y el nombre del comando ya se ha usado +entonces obtienes algo como ‘<literal>Error de LaTeX: Comando \fred ya +definido. O nombre \end... ilegal, ve la p.192 del manual</literal>’. De +manera similar, si usas <literal>\renewcommand</literal> y el nombre del comando +no se ha definido, obtienes algo como ‘<literal>Error de LaTeX: \hank no +se ha definido</literal>’. +</para> +<para>Aquí la primera definición crea un comando sin argumentos, y la +segunda, un comando con un argumento requerido: +</para> +<screen>\newcommand{\student}{Ms~O'Leary} +\newcommand{\defref}[1]{Definición~\ref{#1}} </screen> +<para>Usa el primero como en <literal>Te recomiendo \student{}</literal>. El segundo +tiene un argumento variable, por lo que <literal>\defref{def:basis}</literal> se +expande a <literal>Definición~\ref{def:basis}</literal>, que finalmente se +expande a algo así como ‘<literal>Definición~3.14</literal>’. +</para> +<para>Del mismo modo, pero con dos argumentos obligatorios: +<literal>\newcommand{\nbym}[2]{$#1 \times #2$}</literal> se invoca como +<literal>\nbym{2}{k}</literal>. +</para> +<para>Este ejemplo tiene un argumento opcional. +</para> +<screen>\newcommand{\salutation}[1][Señor o señora]{Estimado #1:} +</screen> +<para>Entonces <literal>\salutation</literal> da ‘<literal>Estimado señor o señora:</literal>’ +mientras <literal>\salutation[John]</literal> da ‘<literal>Querido John:</literal>’. Y +<literal>\salutation[]</literal> da ‘<literal>Estimado :</literal>’. +</para> +<para>Este ejemplo tiene un argumento opcional y dos argumentos +obligatorios. +</para> +<screen>\newcommand{\lawyers}[3][empresa]{#2, #3 y~#1} +Empleo a \lawyers[Howe]{Dewey}{Cheatem}. +</screen> +<para>El resultado es ‘<literal>Empleo Dewey, Cheatem y Howe</literal>’. El argumento +opcional, <literal>Howe</literal>, está asociado con <literal>#1</literal>, mientras que +<literal>Dewey</literal> y <literal>Cheatem</literal> están asociados con <literal>#2</literal> +y <literal>#3</literal>. Debido al argumento opcional, +<literal>\lawyers{Dewey}{Cheatem}</literal> dará la salida ‘<literal>Empleo Dewey, +Cheatem y Howe</literal>’. +</para> +<para>Las llaves alrededor de <replaceable>defn</replaceable> no definen un grupo, es decir, no +delimitan el alcance del resultado de expandir <replaceable>defn</replaceable>. Por +ejemplo, con <literal>\newcommand{\shipname}[1]{\it #1}</literal>, en esta +oración, +</para> +<screen>El \shipname{Monitor} se encontró con el \shipname{Merrimac}. +</screen> +<para>las palabras ‘<literal>se encontró con el</literal>’, y el punto, estarían +incorrectamente en cursiva. La solución es poner otro par de +corchetes dentro de la definición: +<literal>\newcommand{\shipname}[1]{{\it #1}}</literal>. +</para> -<variablelist><varlistentry><term><replaceable>instrucción</replaceable> -</term><listitem><para>El nombre de la instrucción comenzando con <literal>\</literal>. Para -<literal>\newcommand</literal>, este no se debe haber definido y no debe comenzar -con <literal>\end</literal>; para <literal>\renewcommand</literal>, este ya tiene que estar -definido. +<sect2 label="12.1.1" id="Secuencias-de-control"> +<title>Secuencia de control, palabra de control y símbolo de control</title> + +<indexterm role="cp"><primary>secuencias de control</primary></indexterm> + +<para>Al leer la entrada &tex; convierte el flujo de caracteres leídos en +una secuencia de <firstterm>tókenes</firstterm>. Cuando &tex; ve una barra invertida +<literal>\</literal>, la hará manejar los siguientes caracteres de una manera +especial para hacer un token de <firstterm>secuencia de control</firstterm>. </para> -</listitem></varlistentry><varlistentry><term><replaceable>n-argumentos</replaceable> -</term><listitem><para>Un entero opcional entre 1 y 9 especificando el número de argumentos que -debe tomar la instrucción. El valor predeterminado es para que la -instrucción no tome argumentos. +<para>Las secuencias de control se dividen en dos categorías: </para> -</listitem></varlistentry><varlistentry><term><replaceable>predeterminado</replaceable> -</term><listitem><para>Si este parámetro opcional está presente, significa que el primer -argumento del comando es opcional. Cuando se invoca a la nueva -instrucción, el valor predeterminado del argumento opcional (es decir, -si no se especifica en la llamada) es la cadena ‘<literal>definición</literal>’. +<itemizedlist><listitem><indexterm role="cp"><primary>palabra de control, definir</primary></indexterm> +<para><firstterm>palabra de control</firstterm>, cuando la secuencia de control se obtiene de +una <literal>\</literal> seguida de al menos una letra ASCII (<literal>A-Z</literal> y +<literal>a-z</literal>), seguida de al menos una no letra. </para> -</listitem></varlistentry><varlistentry><term><replaceable>definición</replaceable> -</term><listitem><para>El texto con el que se sustituirá cada aparición de <literal>instrucción</literal>; -una construcción de la forma <literal>#<replaceable>n</replaceable></literal> en <replaceable>definición</replaceable> es -reemplazada por el texto del e<replaceable>n</replaceable>ésimo argumento. +</listitem><listitem><indexterm role="cp"><primary>símbolo de control, definir</primary></indexterm> +<para><firstterm>símbolo de control</firstterm>, cuando la secuencia de control se obtiene de +una <literal>\</literal> seguida de un carácter que no sea una letra. +</para></listitem></itemizedlist> +<para>La secuencia de caracteres que se encuentran después de una <literal>\</literal> +también se denominan el <firstterm>nombre de la secuencia de control</firstterm>. </para> -</listitem></varlistentry></variablelist> +<para>Los espacios en blanco después de una palabra de control se ignoran y +no producen espacio en blanco en la salida (véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y +\renewcommand</link> y <link linkend="_005c_0028SPACE_0029">\(SPACE)</link>). +</para> +<para>Así como el comando <literal>\relax</literal> no hace nada, la siguiente entrada +simplemente imprimirá ‘<literal>¡Hola!</literal>’ : +</para> +<screen>¡Hol\relax <!-- /@w --> <!-- /@w --> <!-- /@w --> + <!-- /@w --> <!-- /@w --> <!-- /@w -->a! +</screen> +<para>Esto se debe a que los espacios en blanco después de <literal>\relax</literal>, +incluida la nueva línea, son ignorados, y los espacios en blanco al +principio de una línea también son ignorados (véase <link linkend="Espacios-en-blanco-iniciales">Espacios en +blanco iniciales</link>). +</para> +</sect2> +</sect1> +<sect1 label="12.2" id="_005cprovidecommand"> +<title><literal>\providecommand</literal></title> + +<indexterm role="fn"><primary>\providecommand</primary></indexterm> +<indexterm role="cp"><primary>comandos, definiendo nuevos</primary></indexterm> +<indexterm role="cp"><primary>definir un nuevo comando</primary></indexterm> +<indexterm role="cp"><primary>nuevos comandos, definiendo</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\providecommand{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\providecommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\providecommand{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +\providecommand*{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>} +\providecommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>} +\providecommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>} +</screen> +<para>Define un comando, siempre que no exista ningún comando con este +nombre. Si no existe ningún comando con este nombre, esto tiene el +mismo efecto que <literal>\newcommand</literal>. Si ya existe un comando con este +nombre, entonces esta definición no hace nada. Esto es +particularmente útil en un archivo que se puede cargar más de una vez, +como un archivo de estilo. Véase <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>, para +la descripción de los argumentos. +</para> +<para>Este ejemplo +</para> +<screen>\providecommand{\myaffiliation}{Colegio de San Miguel} +\providecommand{\myafiliation}{Lyc\'ee Henri IV} +De \myafiliation. +</screen> +<para>produce ‘<literal>De Saint Michael's College.</literal>’ A diferencia de +<literal>\newcommand</literal>, el uso repetido de <literal>\providecommand</literal> para +(intentar) definir <literal>\myaffiliation</literal> no da error. +</para> +</sect1> +<sect1 label="12.3" id="_005cmakeatletter-y-_005cmakeatother"> +<title><literal>\makeatletter</literal> y <literal>\makeatother</literal></title> + +<anchor id="_005cmakeatletter"/><anchor id="_005cmakeatother"/><indexterm role="fn"><primary>\makeatother</primary></indexterm> +<indexterm role="fn"><primary>\makeatother</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\makeatletter + ... definición de comandos con @ en su nombre .. +\makeatother +</screen> +<para>Usa este par cuando redefines los comandos de &latex; que se nombran +con un carácter arroba ‘<literal><literal>@</literal></literal>’. La declaración +<literal>\makeatletter</literal> hace que el carácter de arroba tenga el código de +categoría de una letra, code 11. La declaración +<literal>\makeatother</literal> establece el código de categoría del signo de +arroba a code 12, su valor predeterminado. +</para> +<para>A medida que &tex; lee caracteres, asigna a cada uno un código de +categoría, o +<indexterm role="cp"><primary>catcode</primary></indexterm> +<indexterm role="cp"><primary>código de categoría de caracter</primary></indexterm> +<indexterm role="cp"><primary>código de categoría, carácter</primary></indexterm> +<firstterm>catcode</firstterm>. Por ejemplo, asigna el carácter ‘<literal><literal>\</literal></literal>’ de +barra invertida el catcode 0. Nombres de comandos constan de un +carácter categoría 0, normalmente barra invertida, seguido por +letras, caracteres de categoría 11 (excepto que un nombre de +comando también puede constar de un carácter categoría 0 seguido +de un solo símbolo que no es una letra). +</para> +<para>El código fuente de &latex; tiene la convención de que algunos +comandos usan <literal>@</literal> en su nombre. Estos comandos están destinados +principalmente a escritores de paquete o de clase. La convención +impide que los autores que solo utilizan un paquete o clase reemplacen +accidentalmente dicho comando con uno de ellos mismos, porque de +manera predeterminada el signo de arroba tiene el catcode 12. +</para> +<para>Usa el par <literal>\makeatletter</literal> y <literal>\makeatother</literal> dentro de un +<filename>.tex</filename>, generalmente en el preámbulo, cuando estás definiendo o +redefiniendo comandos nombrados con <literal>@</literal>, haciendo que rodeen tu +definición. No los uses dentro de los archivos <filename>.sty</filename> o +<filename>.cls</filename> ya que los comandos <literal>\usepackage</literal> y +<literal>\documentclass</literal> ya disponen que la arroba tenga el código de +carácter de una letra, catcode 11. +</para> +<indexterm role="cp"><primary>package, <literal>macros2e</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>macros2e</literal> package</primary></indexterm> +<para>Para obtener una lista completa de macros con un +signo de arroba en sus nombres, consulta +<ulink url="https://ctan.org/pkg/macros2e">https://ctan.org/pkg/macros2e</ulink>. +</para> +<para>En este ejemplo, el archivo de clase tiene un comando +<literal>\thesis@universityname</literal> que el usuario quiere cambiar. Estas +tres líneas deben ir en el preámbulo, antes del +<literal>\begin{document}</literal>. +</para> +<screen><literal>\begin{document}</literal>. +\makeatletter +\renewcommand{\thesis@universityname}{Colegio de San Miguel} +\makeatother +</screen> + +</sect1> +<sect1 label="12.4" id="_005c_0040ifstar"> +<title><literal>\@ifstar</literal></title> + +<indexterm role="fn"><primary>\@ifstar</primary></indexterm> +<indexterm role="cp"><primary>comandos, variantes con estrella</primary></indexterm> +<indexterm role="cp"><primary>variantes con estrella, comandos</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\newcommand{\mycmd}{\@ifstar{\mycmd@star}{\mycmd@nostar}} +\newcommand{\mycmd@nostar}[<replaceable>nostar-num-args</replaceable>]{<replaceable>nostar-body</replaceable>} +\newcommand{\mycmd@star}[<replaceable>star-num-args</replaceable>]{<replaceable>star-body</replaceable>} +</screen> +<para>Muchos entornos o comandos estándar de &latex; tienen una variante +con el mismo nombre pero terminando con un carácter de +estrella <literal>*</literal>, un asterisco. Algunos ejemplos son los +entornos <literal>table</literal> y <literal>table*</literal> y los comandos <literal>\section</literal> y +<literal>\section*</literal>. +</para> +<para>Al definir entornos, seguir este patrón es sencillo porque +<literal>\newenvironment</literal> y <literal>\renewenvironment</literal> permiten que el +nombre del entorno contenga una estrella. Entonces solo tienes que +escribir <literal>\newenvironment{<replaceable>myenv</replaceable>}</literal> o +<literal>\newenvironment{<replaceable>myenv</replaceable>*}</literal> y continúa la definición de la +manera habitual. Para los comandos la situación es más compleja ya que +la estrella no es una letra no puede ser parte del nombre del comando. +Como en la sinopsis anterior, habrá un comando llamado por el usuario, +dado anteriormente como <literal>\mycmd</literal>, que mira hacia delante para ver +si le sigue una estrella. Por ejemplo, &latex; realmente no tiene un +comando <literal>\section*</literal>; en cambio, el comando <literal>\section</literal> mira +hacia adelante. Este comando no acepta argumentos, sino que se +expande a uno de los dos comandos que aceptan argumentos. En la +sinopsis estos dos son <literal>\mycmd@nostar</literal> y <literal>\mycmd@star</literal>. +Podrían tomar el mismo número de argumentos o un número diferente, o +ningún argumento en absoluto. Como siempre, en un documento &latex; +un comando usando una arroba <literal>@</literal> en su nombre se debe +encerrar dentro de un bloque <literal>\makeatletter ... \makeatother</literal> +(véase <link linkend="_005cmakeatletter-y-_005cmakeatother">\makeatletter y \makeatother</link>). +</para> +<para>Este ejemplo de <literal>\@ifstar</literal> define el comando <literal>\ciel</literal> y una +variante <literal>\ciel*</literal>. Ambos tienen un argumento obligatorio. Una +llamada a <literal>\ciel{blue}</literal> devolverá "cielo azul no estrellado" +mientras <literal>\ciel*{night}</literal> devolverá "cielo nocturno estrellado". +</para> +<screen>\makeatletter +\newcommand*{\ciel@unstarred}[1]{no estrellado #1 cielo} +\newcommand*{\ciel@starred}[1]{cielo estrellado #1} +\newcommand*{\ciel}{\@ifstar{\ciel@starred}{\ciel@unstarred}} +\makeatother +</screen> +<para>En el siguiente ejemplo, la variante destacada toma un número +diferente de argumentos que el sin estrella. Con esta definición, el +Agente 007 <literal>``Mi nombre es \agentsecret*{Bond}, +\agentsecret{James}{Bond}.''</literal> es equivalente a ingresar los +comandos <literal>``Mi nombre es \textsc{Bond}, \textit{James} +textsc{Bond}.''</literal> +</para> +<screen>\newcommand*{\agentsecret@unstarred}[2]{\textit{#1} \textsc{#2}} +\newcommand*{\agentsecret@starred}[1]{\textsc{#1}} +\newcommand*{\agentsecret}{% + \@ifstar{\agentsecret@starred}{\agentsecret@unstarred}} +</screen> +<para>Después de un nombre de comando, una estrella se maneja de manera +similar a un argumento opcional. (Esto difiere de los nombres de +entornos en los que la estrella es parte del nombre mismo y como tal +podría estar en cualquier posición). Por lo tanto, técnicamente es +posible poner cualquier número de espacios entre el comando y la +estrella. Así <literal>\agentsecret*{Bond}</literal> y <literal>\agentsecret +*<!-- /@w -->{Bond}</literal> son equivalentes. Sin embargo, la práctica estándar es no +insertar tales espacios. +</para> +<indexterm role="cp"><primary>package, <literal>sufijo</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>sufijo</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>xparse</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xparse</literal> package</primary></indexterm> +<para>Hay dos formas alternativas de +realizar el trabajo de <literal>\@ifstar</literal>. (1) El paquete +<literal>suffix</literal> permite la construcción +<literal>\newcommand\mycommand{<replaceable>variante-sin-estrella</replaceable>}</literal> seguida +por <literal>\WithSuffix\newcommand\mycommand*{<replaceable>starred-variant</replaceable>}</literal>. +(2) &latex; proporciona el paquete <literal>xparse</literal>, que permite +este código: +</para> +<screen>\NewDocumentCommand\foo{s}{\IfBooleanTF#1 + {<replaceable>variante-con-estrella</replaceable>}% + {<replaceable>variante-sin-estrella</replaceable>}% + } +</screen> </sect1> -<sect1 label="13.2" id="_005cnewcounter"> -<title><literal>\newcounter</literal></title> +<sect1 label="12.5" id="_005cnewcounter"> +<title><literal>\newcounter</literal>: Asignar un contador</title> + <indexterm role="fn"><primary>\newcounter</primary></indexterm> <indexterm role="cp"><primary>contadores, definiendo nuevos</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\newcounter{<replaceable>nombre-contador</replaceable>}[<replaceable>super</replaceable>] +<screen>\newcounter{<replaceable>countername</replaceable>} +\newcounter{<replaceable>countername</replaceable>}[<replaceable>supercounter</replaceable>] +</screen> +<para>Define globalmente un nuevo contador llamado <replaceable>countername</replaceable> y lo +inicializa a cero (véase <link linkend="Contadores">Contadores</link>). +</para> +<para>El nombre <replaceable>countername</replaceable> debe constar únicamente de letras. No +comienza con una barra invertida. Este nombre no debe estar ya en uso +por otro contador. +</para> +<para>Cuando usas el argumento opcional <literal>[<replaceable>supercounter</replaceable>]</literal> entonces +el contador <replaceable>countername</replaceable> se restablecerá a cero siempre que +<replaceable>supercounter</replaceable> se incrementa. Por ejemplo, ordinariamente +<literal>subsection</literal> está numerado dentro de <literal>section</literal> para que cada +vez que incremente <replaceable>sección</replaceable>, ya sea con <literal>\stepcounter</literal> +(véase <link linkend="_005cstepcounter">\stepcounter</link>) o <literal>\refstepcounter</literal> +(véase <link linkend="_005crefstepcounter">\refstepcounter</link>), entonces &latex; restablecerá +<replaceable>subsection</replaceable> a cero. +</para> +<para>Este ejemplo +</para> +<screen>\newcounter{asuper} \setcounter{asuper}{1} +\newcounter{asub}[asuper] \setcounter{asub}{3} % Nota `asuper' +El valor de asuper es \arabic{asuper} y el de asub es +\arabic{asub}. +\stepcounter{asuper} +Ahora asuper es \arabic{asuper} mientras que asub es +\arabic{asub}. </screen> -<para>La instrucción <literal>\newcounter</literal> define un nuevo contador llamado -<replaceable>nombre-contador</replaceable>. El nuevo contador se inicializa a cero. +<para>produce ‘<literal>El valor de asuper es 1 y el de asub es 3</literal>’ y ‘<literal>Ahora +asuper es 2 mientras que asub es 0</literal>’. </para> -<para>Dado el argumento opcional <literal>[<replaceable>super</replaceable>]</literal>, (<replaceable>nombre-contador</replaceable> -se restablecerá cuando el contador cuyo nomber es -<replaceable>super</replaceable> se incremente. +<para>Si el contador ya existe, por ejemplo ingresando <literal>asuper</literal> dos +veces, obtienes algo como ‘<literal>Error LaTeX: Comando \c@asuper Ya +definido. O name \end... ilegal, ve la p.192 del manual.</literal>’. </para> -<para>Véase <link linkend="Contadores">Contadores</link>, para mayor información. +<para>Si usas el argumento opcional, entonces el súper contador ya debe +existir. Al ingresar <literal>\newcounter{jh}[lh]</literal> cuando <literal>lh</literal> no +es un contador definido obtendrás ‘<literal>Error LaTeX: Sin contador 'lh' +definido.</literal>’ </para> </sect1> -<sect1 label="13.3" id="_005cnewlength"> +<sect1 label="12.6" id="_005cnewlength"> <title><literal>\newlength</literal></title> + <indexterm role="fn"><primary>\newlength</primary></indexterm> -<indexterm role="cp"><primary>longitudes, definiendo nuevas</primary></indexterm> +<indexterm role="cp"><primary>longitudes, asignando nuevas</primary></indexterm> +<indexterm role="cp"><primary>longitudes elásticas, definiendo nuevas</primary></indexterm> +<indexterm role="cp"><primary>omitir registro, &tex; simple</primary></indexterm> +<indexterm role="cp"><primary>registro de pegamento, &tex; simple</primary></indexterm> <para>Sinopsis: </para> -<screen>\newlength{\<replaceable>argumento</replaceable>} +<screen>\newlength{\<replaceable>len</replaceable>} </screen> -<para>La instrucción <literal>\newlength</literal> define el argumento obligatorio como -una instrucción de -<firstterm>longitud</firstterm> con un valor de <literal>0in</literal>. El -argumento debe ser una secuencia de control, como en -<literal>\newlength{\foo}</literal>. Ocurre un error si <literal>\foo</literal> ya está -definido. -</para> -<para>Véase <link linkend="Longitudes">Longitudes</link>, para saber cómo fijar la nueva longitud a un valor -distinto de cero, y para más información acerca de las longitudes en -general. +<para>Asigna un nuevo registro de longitud (véase <link linkend="Longitudes">Longitudes</link>). El +argumento requerido <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de +control (véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con +una barra invertida, <literal>\</literal> bajo circunstancias normales. El nuevo +registro contiene longitudes elásticas como <literal>72.27pt</literal> o <literal>1in +plus.2in minus.1in</literal> (una longitud de registro &latex; es lo que +&tex; llama un <literal>skip</literal> de registro). El valor inicial es cero. +La secuencia de control <literal>\<replaceable>len</replaceable></literal> no debe estar definida ya. +</para> +<para>Un ejemplo: +</para> +<screen>\newlength{\graphichgt} +</screen> +<para>Si olvidas la barra invertida, obtienes ‘<literal>Insertada secuencia de +control faltante</literal>’. Si la secuencia de control ya existe, entonces +obtienes algo así como ‘<literal>Error LaTeX: Comando \graphichgt ya +definido. O nombre \end... ilegal, ve la p.192 del manual</literal>’. </para> </sect1> -<sect1 label="13.4" id="_005cnewsavebox"> +<sect1 label="12.7" id="_005cnewsavebox"> <title><literal>\newsavebox</literal></title> + <indexterm role="fn"><primary>\newsavebox</primary></indexterm> +<indexterm role="cp"><primary>caja, asignando nueva</primary></indexterm> <para>Sinopsis: </para> -<screen>\newsavebox{<replaceable>instrucción</replaceable>} +<screen>\newsavebox{\<replaceable>cmd</replaceable>} +</screen> +<para>Define \<replaceable>cmd</replaceable>, la cadena que consta de una barra invertida seguida +de <replaceable>cmd</replaceable>, para referirse a un nuevo contenedor para almacenar +material. Estos contenedores contienen material que ha sido +compuesto, para usar varias veces o para medir o manipular +(véase <link linkend="Cajas">Cajas</link>). El nombre del contenedor \<replaceable>cmd</replaceable> es obligatorio, +debe comenzar con una barra invertida, \, y no debe ser un comando +definido. Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Esto asigna un contenedor y luego coloca material tipográfico en él. +</para> +<screen>\newsavebox{\logobox} +\savebox{\logobox}{LoGo} +Nuestro logo es \usebox{\logobox}. </screen> -<para>Define <literal>\<replaceable>instrucción</replaceable></literal>, el cual debe ser un nombre de -instrucción que no se haya definido, para referirse a una nueva bandeja -para almacenar cajas. +<para>La salida es ‘<literal>Nuestro logotipo es LoGo</literal>’. +</para> +<para>Si ya hay un contenedor definido, obtienes algo como ‘<literal>Error de +LaTeX: Comando \logobox ya definido. O nombre \end... ilegal, ve la +p.192 del manual</literal>’. +</para> +<para>La asignación de una caja es global. </para> </sect1> -<sect1 label="13.5" id="_005cnewenvironment-y-_005crenewenvironment"> +<sect1 label="12.8" id="_005cnewenvironment-y-_005crenewenvironment"> <title><literal>\newenvironment</literal> y <literal>\renewenvironment</literal></title> -<indexterm role="fn"><primary>\newenvironment</primary></indexterm> + +<anchor id="_005cnewenvironment"/><anchor id="_005crenewenvironment"/><indexterm role="fn"><primary>\newenvironment</primary></indexterm> <indexterm role="fn"><primary>\renewenvironment</primary></indexterm> <indexterm role="cp"><primary>entornos, definiendo</primary></indexterm> <indexterm role="cp"><primary>definiendo nuevos entornos</primary></indexterm> <indexterm role="cp"><primary>redefiniendo entornos</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen> -\newenvironment{<replaceable>entorno</replaceable>}[<replaceable>n-argumentos</replaceable>]{<replaceable>antes-definición</replaceable>} - {<replaceable>después-definición</replaceable>} - \newenvironment{<replaceable>entorno</replaceable>}[<replaceable>n-argumentos</replaceable>][<replaceable>predeterminado</replaceable>] - {<replaceable>antes-definición</replaceable>}{<replaceable>después-definición</replaceable>} -\renewenvironment{<replaceable>entorno</replaceable>}[<replaceable>n-argumentos</replaceable>] - {<replaceable>antes-definición</replaceable>}{<replaceable>después-definición</replaceable>} +<screen>\newenvironment{<replaceable>env</replaceable>}{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\newenvironment{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\newenvironment{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\newenvironment*{<replaceable>env</replaceable>}{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\newenvironment*{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\newenvironment*{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} </screen> -<para>Estas instrucciones definen o redefinen un entorno <replaceable>entorno</replaceable>, es -decir, <literal>\begin{<replaceable>entorno</replaceable>} … \end{<replaceable>entorno</replaceable>}</literal>. -</para> -<variablelist><varlistentry><term><replaceable>entorno</replaceable> -</term><listitem><para>El nombre del entorno. Para <literal>\newenvironment</literal>, <replaceable>entorno</replaceable> -no debe ser un entorno existente, y la instrucción <literal>\<replaceable>entorno</replaceable></literal> -debe ser una que no se haya definido previamente. -Para <literal>\renewenvironment</literal>, -<replaceable>entorno</replaceable> debe ser el nombre de un entorno existente. -</para> -</listitem></varlistentry><varlistentry><term><replaceable>n-argumentos</replaceable> -</term><listitem><para>Un entero desde 1 a 9 denotando el número de argumentos del nuevo -entorno definido. El valor predeterminado es ningún argumento. -</para> -</listitem></varlistentry><varlistentry><term><replaceable>predeterminado</replaceable> -</term><listitem><para>Si se especifica, el primer argumento es opcional, y -<replaceable>predeterminado</replaceable> proporciona el valor predeterminado para ese -argumento. +<para>o uno de estos. +</para> +<screen>\renewenvironment{<replaceable>env</replaceable>}{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\renewenvironment{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\renewenvironment{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\renewenvironment*{<replaceable>env</replaceable>}{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\renewenvironment*{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +\renewenvironment*{<replaceable>env</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>begdef</replaceable>}{<replaceable>enddef</replaceable>} +</screen> +<para>Definir o redefinir el entorno <replaceable>env</replaceable>, es decir, crear el +constructor <literal>\begin{<replaceable>env</replaceable>} ... <replaceable>body</replaceable> +... \end{<replaceable>env</replaceable>}</literal>. +</para> +<indexterm role="cp"><primary>forma-<literal>*</literal> de comandos de entorno</primary></indexterm> +<para>La forma de asterisco de estos comandos requiere que los argumentos no +contienen varios párrafos de texto. Sin embargo, el cuerpo de estos +entornos pueden contener varios párrafos. +</para> +<variablelist><varlistentry><term><replaceable>env</replaceable> +</term><listitem><para>Requerido; el nombre del entorno. Se compone sólo de letras o el +carácter forma-<literal>*</literal> y, por lo tanto, no comienza con una barra +invertida, <literal>\</literal>. No debe comenzar con la cadena <literal>end</literal>. Para +<literal>\newenvironment</literal>, el nombre <replaceable>env</replaceable> no debe ser el nombre de +un entorno ya existente, y también el comando <literal>\<replaceable>env</replaceable></literal> debe +ser indefinido. Para <literal>\renewenvironment</literal>, <replaceable>env</replaceable> debe ser el +nombre de un entorno existente. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>nargs</replaceable> +</term><listitem><para>Opcional; un número entero de 0 a 9 que indica el número de argumentos +que toma el entorno. Cuando usas el entorno, estos argumentos +aparecen después de <literal>\begin</literal>, como en +<literal>\begin{<replaceable>env</replaceable>}{<replaceable>arg1</replaceable>} ... {<replaceable>argn</replaceable>}</literal>. +Omitiendo esto es equivalente a establecerlo en 0; el entorno no +tendrá argumentos. Al redefinir un entorno, la nueva versión puede +tener un diferente número de argumentos que la versión anterior. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>optargdefault</replaceable> +</term><listitem><para>Opcional; si esto está presente, entonces el primer argumento del +entorno definido es opcional, con el valor predeterminado +<replaceable>optargdefault</replaceable> (que puede ser la cadena vacía). Si esto no está +en la definición, entonces el entorno no acepta un argumento opcional. +</para> +<para>Es decir, cuando <replaceable>optargdefault</replaceable> está presente en la definición +del entorno entonces puedes comenzar el entorno con corchetes, como en +<literal>\begin{<replaceable>env</replaceable>}[<replaceable>optval</replaceable>]{...} ... \end{<replaceable>env</replaceable>}</literal>. +En este caso, dentro de <replaceable>begdefn</replaceable> el parámetro <literal>#1</literal> se +establece en el valor de <replaceable>optval</replaceable>. Si llamas a +<literal>\begin{<replaceable>env</replaceable>}</literal> sin corchetes, luego dentro de +<replaceable>begdefn</replaceable> el parámetro <literal>#1</literal> es establecido en el valor +predeterminado <replaceable>optargdefault</replaceable>. En cualquier caso, cualquier +argumento requerido comienza con <literal>#2</literal>. +</para> +<para>Omitir <literal>[<replaceable>myval</replaceable>]</literal> en la llamada es diferente a tener +corchetes sin contenido, como en <literal>[]</literal>. Los resultados anteriores +en <literal>#1</literal> expandiéndose a <replaceable>optargdefault</replaceable>; esto último resulta +en <literal>#1</literal> expandiéndose a la cadena vacía. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>begdef</replaceable> +</term><listitem><para>Requerido; el texto se expande en cada aparición de +<literal>\begin{<replaceable>env</replaceable>}</literal>. Dentro de <replaceable>begdef</replaceable>, los parámetros +<literal>#1</literal>, <literal>#2</literal>, ... <literal>#<replaceable>nargs</replaceable></literal>, se sustituyen por los +valores que proporcionas cuando llamas al entorno; ve los ejemplos +abajo. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>enddef</replaceable> +</term><listitem><para>Requerido; el texto se expande en cada aparición de +<literal>\end{<replaceable>env</replaceable>}</literal>. Esto no puede contener ningún parámetro, es +decir, no puedes usar <literal>#1</literal>, <literal>#2</literal>, etc., aquí (pero ve el +ejemplo final a continuación). </para> -</listitem></varlistentry><varlistentry><term><replaceable>antes-definición</replaceable> -</term><listitem><para>El texto ampliado en cada aparición de <literal>\begin{<replaceable>entorno</replaceable>}</literal>; -una construcción en forma <literal>#<replaceable>n</replaceable></literal> en <replaceable>antes-definición</replaceable> es -sustituido por el texto del e<replaceable>n</replaceable>ésimo argumento. +</listitem></varlistentry></variablelist> +<para>Todos los entornos, es decir el código <replaceable>begdef</replaceable>, el entorno body y +el código <replaceable>enddef</replaceable> se procesan dentro de un grupo. Así, en el +primer ejemplo a continuación, el efecto de <literal>\small</literal> se limita a +la cotización y no se extiende al material siguiendo el entorno. +</para> +<para>Si intentas definir un entorno y el nombre ya se ha utilizado entonces +obtienes algo como ‘<literal>Error de LaTeX: Comando \fred ya definido. O +nombre \end... ilegal, ve la p.192 del manual</literal>’. Si intentas +redefinir un entorno y el nombre aún no se ha utilizado, entonces +obtienes algo como ‘<literal>Error de LaTeX: Entorno hank indefinido.</literal>’. +</para> +<para>Este ejemplo proporciona un entorno como <literal>quotation</literal> de &latex; +excepto que se establecerá en letra más pequeña. +</para> +<screen>\newenvironment{smallquote}{% + \small\begin{quotation} +}{% + \end{quotation} +} +</screen> +<para>Esto tiene un argumento, que está en negrita al comienzo de un +párrafo. </para> -</listitem></varlistentry><varlistentry><term><replaceable>después-definición</replaceable> -</term><listitem><para>El texto ampliado de cada aparición de <literal>\end{<replaceable>entorno</replaceable>}</literal>. -este no debe contener ningún argumento para parámetros. +<screen>\newenvironment{point}[1]{% + \noindent\textbf{#1} +}{% +} +</screen> +<para>Este muestra el uso de un argumento opcional; da un entorno quotation +que cita el autor. +</para> +<screen>\newenvironment{citequote}[1][Shakespeare]{% + \begin{quotation} + \noindent\textit{#1}: +}{% + \end{quotation} +} +</screen> +<para>El nombre del autor es opcional y de manera predeterminada es +‘<literal>Shakespeare</literal>’. En el documento, utiliza el entorno como este. </para> -</listitem></varlistentry></variablelist> +<screen>\begin{citequote}[Lincoln] + ... +\end{citequote} +</screen> +<para>El último ejemplo muestra cómo guardar el valor de un argumento para +usarlo en <replaceable>enddef</replaceable>, en este caso en una caja (véase <link linkend="_005csbox-y-_005csavebox">\sbox y +\savebox</link>). +</para> +<screen>\newsavebox{\quoteauthor} +\newenvironment{citequote}[1][Shakespeare]{% + \sbox\quoteauthor{#1}% + \begin{quotation} +}{% + \hspace{1em plus 1fill}---\usebox{\quoteauthor} + \end{quotation} +} +</screen> </sect1> -<sect1 label="13.6" id="_005cnewtheorem"> +<sect1 label="12.9" id="_005cnewtheorem"> <title><literal>\newtheorem</literal></title> + <indexterm role="fn"><primary>\newtheorem</primary></indexterm> <indexterm role="cp"><primary>teoremas, definiendo</primary></indexterm> -<indexterm role="cp"><primary>definiendo nuevos teoremas</primary></indexterm> +<indexterm role="cp"><primary>definir nuevos teoremas</primary></indexterm> -<screen>\newtheorem{<replaceable>nuevo-entorno</replaceable>}{<replaceable>etiqueta</replaceable>}[<replaceable>con</replaceable>] -\newtheorem{<replaceable>nuevo-entorno</replaceable>}[<replaceable>numerado-como</replaceable>]{<replaceable>etiqueta</replaceable>} -</screen> -<para>Esta instrucción define un entorno parecido a teorema. Argumentos: +<indexterm role="cp"><primary>entorno similar a un teorema</primary></indexterm> +<indexterm role="cp"><primary>entorno, similar a un teorema</primary></indexterm> +<para>Sinopsis: </para> -<variablelist><varlistentry><term><replaceable>nuevoentorno</replaceable> -</term><listitem><para>El nombre del nuevo entorno a definir; no debe ser el nombre de un -entorno existente o de lo contrario será redefinido. +<screen>\newtheorem{<replaceable>name</replaceable>}{<replaceable>title</replaceable>} +\newtheorem{<replaceable>name</replaceable>}{<replaceable>title</replaceable>}[<replaceable>numbered_within</replaceable>] +\newtheorem{<replaceable>name</replaceable>}[<replaceable>numbered_like</replaceable>]{<replaceable>title</replaceable>} +</screen> +<para>Define un nuevo entorno similar a un teorema. Puedes especificar uno +de <replaceable>numbered_within</replaceable> y <replaceable>numbered_like</replaceable>, o ninguno, pero no +ambos. +</para> +<para>La primera forma, <literal>\newtheorem{<replaceable>name</replaceable>}{<replaceable>title</replaceable>}</literal>, +crea un entorno que se etiquetará con <replaceable>title</replaceable>; ve el primer +ejemplo a continuación. +</para> +<para>La segunda forma, +<literal>\newtheorem{<replaceable>name</replaceable>}{<replaceable>título</replaceable>}[<replaceable>numbered_within</replaceable>]</literal>, +crea un entorno cuyo contador está subordinado al counter existente +<replaceable>numbered_within</replaceable>, por lo que este contador se restablecerá cuando +<replaceable>numbered_within</replaceable> se restablece. Ve el segundo ejemplo a +continuación. +</para> +<para>La tercera forma +<literal>\newtheorem{<replaceable>name</replaceable>}[<replaceable>numbered_like</replaceable>]{<replaceable>title</replaceable>}</literal>, +con un argumento opcional entre los dos argumentos requeridos, crea un +entorno cuyo contador compartirá el contador definido previamente +<replaceable>numbered_like</replaceable>. Ve el tercer ejemplo. +</para> +<para>Este comando crea un contador llamado <replaceable>name</replaceable>. Además, a menos que +se use el argumento opcional <replaceable>numbered_like</replaceable>, dentro del entorno +similar a un teorema, el valor actual de <literal>\ref</literal> será el de +<literal>\the<replaceable>numbered_within</replaceable></literal> (véase <link linkend="_005cref">\ref</link>). +</para> +<para>Esta declaración es global. Es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Argumentos: +</para> +<variablelist><varlistentry><term><replaceable>name</replaceable> +</term><listitem><para>El nombre del entorno. Es una cadena de letras. No debe comenzar con +una barra invertida, <literal>\</literal>. No debe ser el nombre de un entorno +existente, y el nombre del comando <literal>\<replaceable>name</replaceable></literal> no debe estar +definido. </para> -</listitem></varlistentry><varlistentry><term><replaceable>etiqueta</replaceable> -</term><listitem><para>El texto a imprimir al inicio del entorno, antes del número. Por -ejemplo, ‘<literal>Teorema</literal>’. +</listitem></varlistentry><varlistentry><term><replaceable>title</replaceable> +</term><listitem><para>El texto que se imprimirá al principio del entorno, antes del +número. Por ejemplo, ‘<literal>Teorema</literal>’. </para> -</listitem></varlistentry><varlistentry><term><replaceable>numerado_como</replaceable> -</term><listitem><para>(Opcional). El nombre de un entorno ya definido tal como teorema; +</listitem></varlistentry><varlistentry><term><replaceable>numbered_within</replaceable> +</term><listitem><para>Opcional; el nombre de un contador ya definido, generalmente una +unidad seccional como <literal>chapter</literal> o <literal>section</literal>. Cuando el +contador <replaceable>numbered_within</replaceable> se restablece y luego el entorno +<replaceable>name</replaceable> el contador también se restablecerá. </para> -<para>(Opcional). El nombre de un entorno ya definido tal como teorema el -nuevo entorno será numerado exactamente como <replaceable>numerado_como</replaceable>. +<para>Si no se utiliza este argumento opcional, el comando +<literal>\the<replaceable>name</replaceable></literal> se establece en <literal>\arabic{<replaceable>name</replaceable>}</literal>. </para> -</listitem></varlistentry><varlistentry><term><replaceable>con</replaceable> -</term><listitem><para>(Opcional). El nombre de un contador definido previamente, una unidad de -seccionado. El nuevo contador de teorema será restablecido al mismo -tiempo que el contador <replaceable>con</replaceable>. +</listitem></varlistentry><varlistentry><term><replaceable>numbered_like</replaceable> +</term><listitem><para>Opcional; el nombre de un entorno similar a un teorema ya definido. El +nuevo entorno se numerará en secuencia con <replaceable>numbered_like</replaceable>. </para> </listitem></varlistentry></variablelist> -<para>Cuando menos uno de <replaceable>numerado_como</replaceable> y <replaceable>con</replaceable> se debe especificar, -no ambos. +<para>Sin ningún argumento opcional, los entornos están numerados +secuencialmente. El siguiente ejemplo tiene una declaración en el +preámbulo que da como resultado ‘<literal>Definición 1</literal>’ y +‘<literal>Definición 2</literal>’ en producción. </para> +<screen>\newtheorem{defn}{Definición} +\begin{document} +\section{...} +\begin{defn} + Primer definición +\end{defn} + +\section{...} +\begin{defn} + Segunda definición +\end{defn} +</screen> +<para>Este ejemplo tiene el mismo cuerpo de documento que el anterior. Pero +aquí el argumento opcional de <literal>\newtheorem</literal> <replaceable>numbered_within</replaceable> +se da como <literal>section</literal>, por lo que el resultado es como +‘<literal>Definición 1.1</literal>’ y ‘<literal>Definición 2.1</literal>’. +</para> +<screen>\newtheorem{defn}{Definición}[sección] +\begin{document} +\section{...} +\begin{defn} + Primer definición +\end{defn} + +\section{...} +\begin{defn} + Segunda definición +\end{defn} +</screen> +<para>En el siguiente ejemplo hay dos declaraciones en el preámbulo, el +segundo de los cuales requiere que el nuevo entorno <literal>thm</literal> use el +mismo contador como <literal>defn</literal>. Da ‘<literal>Definición 1.1</literal>’, +seguido por ‘<literal>Teorema 2.1</literal>’ y ‘<literal>Definición 2.2</literal>’. +</para> +<screen>\newtheorem{defn}{Definición}[sección] +\newtheorem{thm}[defn]{Teorema} +\begin{document} +\section{...} +\begin{defn} + Primer definición +\end{defn} + +\section{...} +\begin{thm} + Primer thm +\end{thm} + +\begin{defn} + Segunda definición +\end{defn} +</screen> </sect1> -<sect1 label="13.7" id="_005cnewfont"> +<sect1 label="12.10" id="_005cnewfont"> <title><literal>\newfont</literal></title> -<indexterm role="fn"><primary>\newfont</primary></indexterm> -<indexterm role="cp"><primary>tipos de letra, nuevas instrucciones para</primary></indexterm> -<indexterm role="cp"><primary>definición de nuevos tipos de letra</primary></indexterm> +<indexterm role="fn"><primary>\newfont</primary></indexterm> +<indexterm role="cp"><primary>tipos de letra, nuevos comandos para</primary></indexterm> +<indexterm role="cp"><primary>definir nuevos tipos de letra</primary></indexterm> + +<!-- @findex .fd @r{archivo} --> +<para>Este comando está obsoleto. Esta descripción está aquí solo para +ayudar con los viejos documentos. Los nuevos documentos deben definir +letras en familias a través del nuevo esquema de selección de letras +que te permite, por ejemplo, asociar una negrita con una romana +(véase <link linkend="Tipos-de-letra">Tipos de letra</link>). +<!-- Esto se hace usando archivos @file{.fd} o mediante el uso de un --> +<!-- motor que pueda acceder a los tipos de letra del sistema como --> +<!-- Xe@LaTeX{} (@pxref{Motores @TeX{}}). --> +</para> <para>Sinopsis: </para> -<screen>\newfont{<replaceable>instrucción</replaceable>}{<replaceable>nombredetipo</replaceable>} +<screen>\newfont{\<replaceable>cmd</replaceable>}{<replaceable>font description</replaceable>} +</screen> +<para>Define un comando <literal>\<replaceable>cmd</replaceable></literal> que cambiará el tipo de letra +actual. La secuencia de control no debe estar ya definida. Debe +comenzar con una barra invertida, <literal>\</literal>. +</para> +<indexterm role="cp"><primary>cláusula at, en definiciones de tipos de letra</primary></indexterm> +<indexterm role="cp"><primary>tamaño de diseño, en definiciones de letras</primary></indexterm> +<para>La <replaceable>descripción de la letra</replaceable> consta de un <replaceable>nombre de letra</replaceable> y +una opción <firstterm>cláusula at</firstterm>. &latex; buscará en tu sistema un +archivo llamado <filename><replaceable>fontname</replaceable>.tfm</filename>. La cláusula at puede tener +la forma <literal>en <replaceable>dimen</replaceable></literal> o <literal><replaceable>factor</replaceable> de escala</literal>, donde +un <replaceable>factor</replaceable> de ‘<literal>1000</literal>’ significa que no hay escalado. Para +los propósitos de &latex;, todo lo que hace es escalar todos los +caracteres y otras dimensiones de fuente relativo al tamaño de diseño +de la fuente, que es un valor definido en el archivo <filename>.tfm</filename>. +</para> +<para>Esto define dos tipos de letra equivalentes y algunos caracteres +tipográficos en cada una. +</para> +<screen>\newfont{\testfontat}{cmb10 at 11pt} +\newfont{\testfontscaled}{cmb10 scaled 1100} +\testfontat abc +\testfontscaled abc </screen> -<para>Define una secuencia de control <literal>\<replaceable>instrucción</replaceable></literal>, misma que no -se debe haber definido, para hacer que <replaceable>nombredetipo</replaceable> sea el tipo de -letra actual. El archivo bloqueado en el sistema es llamado -<filename><replaceable>nombredetipo</replaceable>.tfm</filename>. -</para> -<para>Esta es una instrucción de bajo nivel para configurar el uso de un tipo -de letra individual. Comúnmente, los tipos de letra se definen a través -de familias de archivos <filename>.fd</filename>. -</para> </sect1> -<sect1 label="13.8" id="_005cprotect"> +<sect1 label="12.11" id="_005cprotect"> <title><literal>\protect</literal></title> -<indexterm role="fn"><primary>\protect</primary></indexterm> -<indexterm role="cp"><primary>instrucciones frágiles</primary></indexterm> +<indexterm role="fn"><primary>\protect</primary></indexterm> +<indexterm role="cp"><primary>comandos frágiles</primary></indexterm> +<indexterm role="cp"><primary>comandos robustos</primary></indexterm> + +<para>Todos los comandos de &latex; son frágiles —<firstterm>fragile</firstterm>— o +robustos —<firstterm>robust</firstterm>—. Un comando frágil se puede romper cuando +se usa en el argumento para ciertos otros comandos. Comandos que +contienen datos que &latex; escribe en un archivo auxiliar y las +relecturas posteriores son frágiles. Esto incluye material que va en +una tabla de contenido, lista de figuras, lista de tablas, etc. Los +comandos frágiles también incluyen saltos de línea, cualquier comando +que tenga un argumento opcional, y muchos más. Para evitar que tales +comandos rompan, una solución es precederlos con el comando +<literal>\protect</literal>. +</para> +<para>Por ejemplo, cuando &latex; ejecuta <literal>\section{<replaceable>nombre +sección</replaceable>}</literal> escribe el texto <replaceable>nombre sección</replaceable> en el archivo +auxiliar <filename>.aux</filename>, moviéndolo allí para usarlo en otra parte del +documento como en la tabla de contenido. Cualquier argumento que sea +expandido internamente por &latex; sin escribirlo directamente es +referido como un <indexterm role="cp"><primary>argumentos móviles</primary></indexterm> -<para>Pies de página, saltos de línea, cualquier instrucción que tenga un -argumento opcional, y muchas más de las así llamadas instrucciones -<firstterm>frágiles</firstterm>. Cuando una instrucción frágil se utiliza en ciertos -contextos, llamados <firstterm>argumentos móviles</firstterm>, estas se deben preceder -con <literal>\protect</literal>. Además, algunas instrucciones con argumentos -frágiles deben tener su propia <literal>\protect</literal>. +<firstterm>argumento móvil</firstterm>. Un comando es frágil si se puede expandir +durante este proceso en un código &tex; no válido. Algunos ejemplos +de los argumentos móviles son los que aparecen en el comando +<literal>\caption{...}</literal> (véase <link linkend="figure">figure</link>), en el comando +<literal>\thanks{...}</literal> (véase <link linkend="_005cmaketitle">\maketitle</link>), y en @expresiones en los +entornos <literal>tabular</literal> y <literal>array</literal> (véase <link linkend="tabular">tabular</link>). +</para> +<para>Si obtienes extraños errores de los comandos utilizados para mover +argumentos, intenta precediéndolos con <literal>\protect</literal>. Todos los +comandos frágiles se deben proteger con su propio <literal>\protect</literal>. +</para> +<para>Aunque por lo general un comando <literal>\protect</literal> no duele, los +comandos de longitud son robustos y no deben estar precedidos por un +comando <literal>\protect</literal>. Tampoco se puede usar un comando +<literal>\protect</literal> en el argumento para los comandos <literal>\addtocounter</literal> +o <literal>\setcounter</literal>. +</para> +<para>En este ejemplo, el comando <literal>\caption</literal> da un misterioso error +sobre una llave extra. Soluciona el problema precediendo a cada +comando <literal>\raisebox</literal> con <literal>\protect</literal>. +</para> +<screen>\begin{figure} + ... + \caption{Sede de la empresa A\raisebox{1pt}{B}\raisebox{-1pt}{C}} +\end{figure} +</screen> +<para>En el siguiente ejemplo, el comando <literal>\tableofcontents</literal> da un +error porque los <literal>\(..\)</literal> en el título de la sección se expande a +ilegal &tex; en el archivo <filename>.toc</filename>. Puedes resolver esto +cambiando <literal>\(..\)</literal> a <literal>\protect\(..\protect\)</literal>. </para> -<para>Algunos ejemplos de argumentos móviles son <literal>\caption</literal> -(véase <link linkend="figure">figure</link>), <literal>\thanks</literal> (véase <link linkend="_005cmaketitle">\maketitle</link>) y @-expresiones -en entornos <literal>tabular</literal> y <literal>array</literal> (véase <link linkend="tabular">tabular</link>). +<screen>\begin{document} +\tableofcontents +... +\section{Einstein \( e=mc^2 \)} +... +</screen> + +</sect1> +<sect1 label="12.12" id="_005cignorespaces-e-_005cignorespacesafterend"> +<title><literal>\ignorespaces e \ignorespacesafterend</literal></title> + +<anchor id="_005cignorespaces"/><anchor id="_005cignorespacesafterend"/><indexterm role="fn"><primary>\ignorespaces</primary></indexterm> +<indexterm role="fn"><primary>\ignorespacesafterend</primary></indexterm> +<indexterm role="cp"><primary>espacios, ignorar en comandos</primary></indexterm> +<indexterm role="cp"><primary>comandos, ignorar espacios</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\ignorespaces +</screen> +<para>o </para> -<indexterm role="cp"><primary>instrucciones robustas</primary></indexterm> -<para>Las instrucciones que no son frágiles se llaman <firstterm>robustas</firstterm>. Estas -no se deben preceder con <literal>\protect</literal>. +<screen>\ignorespacesafterend +</screen> +<para>Ambos comandos hacen que &latex; ignore los espacios en blanco (es +decir, los caracteres de catcode 10 como espacio o tabulación) +después del final del comando hasta el primer cuadro o carácter que no +esté en blanco. El primero es un comando primitivo de &tex;, y el +segundo es específico de &latex;. +</para> +<para>El <literal>\ignorespaces</literal> se usa a menudo cuando se definen comandos a +través de <literal>\newcommand</literal>, o <literal>\newenvironment</literal>, o <literal>\def</literal>. +El ejemplo a continuación lo ilustra. Permite a un usuario mostrar +los valores de los puntos para las preguntas de la prueba en el +margen, pero es un inconveniente porque, como se muestra en la lista +<literal>enumerate</literal>, los usuarios no deben poner ningún espacio entre el +comando y el texto de la pregunta. +</para> +<screen>\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}} +\begin{enumerate} + \item\points{10}no hay salida de espacio adicional aquí + \item\points{15} espacio extra entre el número y el `extra' +\end{enumerate} +</screen> +<para>La solución es cambiar a esto. </para> -<para>Vea también: +<screen>\newcommand{\points}[1]{% + \makebox[0pt]{\makebox[10em][l]{#1~pts}}\ignorespaces} +</screen> +<para>Un segundo ejemplo muestra la eliminación de espacios en blanco del +frente del texto. Los comandos a continuación permiten a un usuario +adjuntar uniformemente un título a los nombres. Pero, tal como se +indica, si un título accidentalmente comienza con un espacio, entonces +<literal>\fullname</literal> reproducirá eso. +</para> +<screen>\newcommand{\honorific}[1]{\def\honorific{#1}} % recuerda el + % título +\newcommand{\fullname}[1]{\honorific~#1} % pone el título + % antes del nombre + +\begin{tabular}{|l|} +\honorific{Mr/Ms} \fullname{Jones} \\ % sin espacio adicional + % aquí +\honorific{ Mr/Ms} \fullname{Jones} % espacio adicional antes + % del título +\end{tabular} +</screen> +<para>Para arreglar esto, cambia a +<literal>\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}</literal>. +</para> +<para>El <literal>\ignorespaces</literal> también se usa a menudo en un +<literal>\newenvironment</literal> al final de la cláusula <replaceable>begin</replaceable>, como en +<literal>\begin{newenvironment}{<replaceable>nombre +entorno</replaceable>}{... \ignorespaces}{...}</literal>. +</para> +<para>Para quitar los espacios en blanco del final de un entorno, usa +<literal>\ignorespacesafterend</literal>. Un ejemplo es que esto mostrará mucho +mayor espacio vertical entre el primer y el segundo entorno que entre +el segundo y el tercero. +</para> +<screen>\newenvironment{eq}{\begin{equation}}{\end{equation}} +\begin{eq} +e=mc^2 +\end{eq} +\begin{equation} +F=ma +\end{equation} +\begin{equation} +E=IR +\end{equation} +</screen> +<para>Poner un carácter de comentario <literal>%</literal> inmediatamente después +del <literal>\end{eq}</literal> hará desaparecer el espacio vertical, pero eso +es inconveniente. La solución es cambiar a +<literal>\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}</literal>. </para> -<simpara><ulink url="http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html">http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/fragile.html</ulink></simpara> -<simpara><ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect</ulink></simpara> -<!-- xx realmente necesita ejemplos. --> +</sect1> +<sect1 label="12.13" id="paquete-xspace"> +<title>paquete xspace</title> + +<indexterm role="fn"><primary>\xspace</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>xspace</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xspace</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>espacios, ignorar en comandos</primary></indexterm> +<indexterm role="cp"><primary>comandos, ignorar espacios</primary></indexterm> +<para>Sinopsis: +</para> +<screen>\usepackage{xspace} + ... +\newcommand{...}{...\xspace} +</screen> +<para>La macro <literal>\xspace</literal>, cuando se usa al final de una definición de +comando, agrega un espacio a menos que el comando vaya seguido de +ciertos caracteres de puntuación. +</para> +<para>Después de un comando de secuencia de control que es una palabra de +control (véase <link linkend="Secuencias-de-control">Secuencias de control</link>, a diferencia de los símbolos +de control como <literal>\$</literal>), &tex; engulle caracteres en blanco. Por +lo tanto, en la primera oración a continuación, la salida tiene +‘<literal>Vermont</literal>’ colocado cómodamente contra el punto, sin ningún +espacio intermedio. +</para> +<screen>\newcommand{\VT}{Vermont} +Nuestro colegio está en \VT. +Los veranos \VT{} son agradables. +</screen> +<para>Pero debido al engullimiento, la segunda oración necesita llaves +vacías o de lo contrario no habría espacio que separe a ‘<literal>Vermont</literal>’ +de ‘<literal>veranos</literal>’. (Muchos autores en su lugar utilizan una barra +invertida-espacio <literal>\ </literal> para esto. Véase <link linkend="_005c_0028SPACE_0029">\(SPACE)</link>). +</para> +<para>El paquete <literal>xspace</literal> proporciona <literal>\xspace</literal>. Es para +escribir comandos que están diseñados para ser utilizados +principalmente en texto. Se debe colocar al final de la definición de +estos comandos. Inserta un espacio después de ese comando a menos que +lo que siga inmediatamente esté en una lista de excepciones. En este +ejemplo, las llaves vacías no son necesarias. +</para> +<screen>\newcommand{\VT}{Vermont\xspace} +Nuestro colegio está en \VT . +\VT los veranos son agradables. +</screen> +<para>La lista de excepciones predeterminada contiene los caracteres +<literal>,.'/?;:!~-)</literal>, la llave de apertura y el comando de espacio de +barra invertida explicados anteriormente, y los comandos +<literal>\footnote</literal> o <literal>\footnotemark</literal>. Añaden a esa lista +<literal>\xspaceaddexceptions{\myfni \myfnii}</literal> que agrega <literal>\myfni</literal> +y <literal>\myfnii</literal> a la lista, y elimina de esa lista como con +<literal>\xspaceaddexceptions{!}</literal>. +</para> +<!-- David Carlisle https://tex.stackexchange.com/a/86620/339 --> +<para>Un comentario: muchos expertos prefieren no usar <literal>\xspace</literal>. +Ponerlo en una definición significa que el comando generalmente +obtendrá el espaciado correcto. Pero no es fácil predecir cuándo +ingresar llaves vacías porque <literal>\xspace</literal> se equivocará, como +cuando le sigue otro comando, por lo que <literal>\xspace</literal> puede hacer +que editar material sea más difícil y más propenso a errores que +siempre insertar las llaves vacías. +</para> </sect1> </chapter> -<chapter label="14" id="Contadores"> +<chapter label="13" id="Contadores"> <title>Contadores</title> + <indexterm role="cp"><primary>contadores, una lista de</primary></indexterm> <indexterm role="cp"><primary>variables, una lista de</primary></indexterm> -<para>Cualquier cosa numerada por &latex; tiene un contador asociado a ella. -El nombre del contador es el mismo nombre que el nombre del entorno o -instrucción que produce el número, salvo las que no comienzan con -<literal>\</literal>. (<literal>enumi</literal>–<literal>enumiv</literal> se utilizan para entornos -enumerados anidados). A continuación hay una lista de los contadores -utilizados en las clases de documentos estándar de &latex; para -controlar la numeración. -</para> -<screen>part paragraph figure enumi -chapter subparagraph table enumii -section page footnote enumiii -subsection equation mpfootnote enumiv -subsubsection +<para>Todo lo que &latex; numera para ti tiene un contador asociado con +él. El nombre del contador suele ser el mismo que el nombre del +entorno o comando asociado con el número, excepto que el nombre del +contador no tiene barra invertida <literal>\</literal>. Así, asociado al +comando <literal>\chapter</literal> está el contador <literal>chapter</literal> que mantiene +la pista del número de capítulo. +</para> +<para>A continuación se muestra una lista de los contadores utilizados en la +clase <literal>document</literal> estándar de &latex; para controlar la +numeración. +</para> + +<indexterm role="fn"><primary>contador de partes</primary></indexterm> +<indexterm role="fn"><primary>contador de capítulos</primary></indexterm> +<indexterm role="fn"><primary>contador de sección</primary></indexterm> +<indexterm role="fn"><primary>contador de subsección</primary></indexterm> +<indexterm role="fn"><primary>contador de subsubsección</primary></indexterm> +<indexterm role="fn"><primary>contador de párrafos</primary></indexterm> +<indexterm role="fn"><primary>contador de subpárrafos</primary></indexterm> +<indexterm role="fn"><primary>contador de páginas</primary></indexterm> +<indexterm role="fn"><primary>contador de ecuaciones</primary></indexterm> +<indexterm role="fn"><primary>contador de cifras</primary></indexterm> +<indexterm role="fn"><primary>contador de tabla</primary></indexterm> +<indexterm role="fn"><primary>contador de notas al pie</primary></indexterm> +<indexterm role="fn"><primary>contador de mpfootnote</primary></indexterm> +<indexterm role="fn"><primary>contador enumi</primary></indexterm> +<indexterm role="fn"><primary>contador enumii</primary></indexterm> +<indexterm role="fn"><primary>contador enumiii</primary></indexterm> +<indexterm role="fn"><primary>contador enumiv</primary></indexterm> +<screen>parte párrafo figura enumi +capítulo subpárrafo tabla enumii +sección página nota al pie enumiii +subsección ecuación mpfootnote enumiv +subsubsección </screen> +<para>El contador <literal>mpfootnote</literal> lo utiliza el comando <literal>\footnote</literal> +dentro de una minipágina (véase <link linkend="minipage">minipage</link>). Los contadores +<literal>enumi</literal> a través de <literal>enumiv</literal> se utilizan en el entorno +<literal>enumerate</literal>, por hasta cuatro niveles de anidamiento +(véase <link linkend="enumerate">enumerate</link>). +</para> +<para>Los contadores pueden tener cualquier valor entero, pero normalmente +son positivos. +</para> +<para>Los nuevos contadores se crean con <literal>\newcounter</literal>. +Véase <link linkend="_005cnewcounter">\newcounter</link>. +</para> -<sect1 label="14.1" id="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol"> -<title><literal>\alph \Alph \arabic \roman \Roman \fnsymbol</literal>: Imprimiendo Contadores</title> +<sect1 label="13.1" id="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol"> +<title><literal>\alph \Alph \arabic \roman \Roman \fnsymbol</literal>: Imprime contadores</title> -<para>Todas estas instrucciones toman como argumento un solo contador, por -ejemplo, <literal>\alph{enumi}</literal>. +<indexterm role="cp"><primary>contadores, impresión</primary></indexterm> + +<para>Imprime el valor de un contador, en un estilo específico. Por +ejemplo, si el contador <replaceable>counter</replaceable> tiene el valor 1 entonces un +<literal>\alph{<replaceable>counter</replaceable>}</literal> en tu fuente resultará en una +letra a en minúsculas que aparece en la salida. +</para> +<para>Todos estos comandos toman un solo contador como argumento, por +ejemplo, <literal>\alph{enumi}</literal>. Ten en cuenta que el nombre del +contador no comienza con una barra invertida. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\alph{<replaceable>counter</replaceable>}</primary></indexterm><literal>\alph{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Imprime el valor de <replaceable>counter</replaceable> en minúsculas: ‘a’, ‘b’, ... +Si el valor del contador es menor que 1 o mayor que 26, entonces +obtienes ‘<literal>Error de LaTeX: Contador demasiado grande</literal>’. </para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\alph</primary></indexterm><literal>\alph</literal> -</term><listitem><para>imprime <replaceable>contador</replaceable> usando letras minúsculas: ‘a’, ‘b’, ... +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Alph{<replaceable>counter</replaceable>}</primary></indexterm><literal>\Alph{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Escribe en letras mayúsculas: ‘A’, ‘B’, ... Si el valor del +contador es menor que 1 o mayor que 26, obtiene ‘<literal>Error de LaTeX: +Contador demasiado grande.</literal>’ </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Alph</primary></indexterm><literal>\Alph</literal> -</term><listitem><para>utiliza letras mayúsculas: ‘A’, ‘B’, ... +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arabic{<replaceable>counter</replaceable>}</primary></indexterm><literal>\arabic{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Imprime en números arábigos como ‘<literal>5</literal>’ o ‘<literal>-2</literal>’. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arabic</primary></indexterm><literal>\arabic</literal> -</term><listitem><para>utiliza números Arábigos: ‘1’, ‘2’, ... +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\roman{<replaceable>counter</replaceable>}</primary></indexterm><literal>\roman{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Escribe en minúsculas números romanos: ‘i’, ‘ii’, ... Si el +valor del contador es menor que 1, entonces no recibe ninguna +advertencia o error, pero &latex; no imprime nada en la salida. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\roman</primary></indexterm><literal>\roman</literal> -</term><listitem><para>utiliza números romanos en minúsculas: ‘i’, ‘ii’, ... +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Roman{<replaceable>counter</replaceable>}</primary></indexterm><literal>\Roman{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Imprime en números romanos en mayúsculas: ‘I’, ‘II’, ... Si el +valor del contador es menor que 1, entonces no recibe ninguna +advertencia o error, pero &latex; no imprime nada en la salida. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\roman</primary></indexterm><literal>\roman</literal> -</term><listitem><para>utiliza números romanos en mayúsculas: ‘I’, ‘II’, ... +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\fnsymbol{<replaceable>counter</replaceable>}</primary></indexterm><literal>\fnsymbol{<replaceable>counter</replaceable>}</literal> +</term><listitem><para>Imprime el valor de <replaceable>counter</replaceable> usando una secuencia de nueve +símbolos que se utilizan tradicionalmente para etiquetar las notas al +pie. El valor de <replaceable>counter</replaceable> debe estar entre 1 y 9, +inclusive. Si el el valor del contador es menor que 0 o mayor que 9, +entonces obtienes ‘<literal>Error de LaTeX: Contador demasiado grande</literal>’, +mientras que si es 0, no obtienes ningún error o advertencia pero +&latex; no genera nada. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\fnsymbol</primary></indexterm><literal>\fnsymbol</literal> -</term><listitem><para>imprime el valor de <replaceable>contador</replaceable> en una secuencia específica de nueve -símbolos (convencionalmente usada para etiquetar notas al pie de -página). El valor de <replaceable>contador</replaceable> debe estar entre 1 y 9 -incluido. +<para>Aquí están los símbolos: </para> -<para>Los símbolos no son compatibles en info principalmente, pero aquí están -los nombres: -</para><literallayout>asterix(*) dagger(†) ddagger(‡) section-sign(§) paragraph-sign(¶) parallel(‖) -double-asterix(**) double-dagger(††) double-ddagger(‡‡) -</literallayout> +<informaltable><tgroup cols="4"><colspec colwidth="11*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="29*"></colspec><thead><row><entry><para>Número</para></entry><entry><para>Nombre</para></entry><entry><para>Comando</para></entry><entry><para>Símbolo +</para></entry></row></thead><tbody><row><entry><para>1</para></entry><entry><para>asterisk</para></entry><entry><para><literal>\ast</literal></para></entry><entry><para>*<!-- --> +</para></entry></row><row><entry><para>2</para></entry><entry><para>dagger</para></entry><entry><para><literal>\dagger</literal></para></entry><entry><para>† +</para></entry></row><row><entry><para>3</para></entry><entry><para>ddagger</para></entry><entry><para><literal>\ddagger</literal></para></entry><entry><para>‡ +</para></entry></row><row><entry><para>4</para></entry><entry><para>section-sign</para></entry><entry><para><literal>\S</literal></para></entry><entry><para>§ +</para></entry></row><row><entry><para>5</para></entry><entry><para>paragraph-sign</para></entry><entry><para><literal>\P</literal></para></entry><entry><para>¶ +</para></entry></row><row><entry><para>6</para></entry><entry><para>double-vert</para></entry><entry><para><literal>\parallel</literal></para></entry><entry><para>‖ +</para></entry></row><row><entry><para>7</para></entry><entry><para>double-asterisk</para></entry><entry><para><literal>\ast\ast</literal></para></entry><entry><para>**<!-- --> +</para></entry></row><row><entry><para>8</para></entry><entry><para>double-dagger</para></entry><entry><para><literal>\dagger\dagger</literal></para></entry><entry><para>†† +</para></entry></row><row><entry><para>9</para></entry><entry><para>double-ddagger</para></entry><entry><para><literal>\ddagger\ddagger</literal></para></entry><entry><para>‡‡ +</para></entry></row></tbody></tgroup></informaltable> </listitem></varlistentry></variablelist> </sect1> -<sect1 label="14.2" id="_005cusecounter"> -<title><literal>\usecounter{<replaceable>contador</replaceable>}</literal></title> +<sect1 label="13.2" id="_005cusecounter"> +<title><literal>\usecounter</literal></title> + <indexterm role="fn"><primary>\usecounter</primary></indexterm> -<indexterm role="cp"><primary>lista de elementos, especificando el contador</primary></indexterm> +<indexterm role="cp"><primary>listar elementos, especificando contador</primary></indexterm> <indexterm role="cp"><primary>elementos numerados, especificando contador</primary></indexterm> <para>Sinopsis: </para> -<screen>\usecounter{<replaceable>contador</replaceable>} +<screen>\usecounter{<replaceable>counter</replaceable>} +</screen> +<para>Usado en el segundo argumento del entorno <literal>list</literal> (véase <link linkend="list">list</link>), +este declara que los elementos de la lista serán numerados por +<replaceable>counter</replaceable>. Inicializa <replaceable>counter</replaceable> a cero y organiza que cuando +se llama a <literal>\item</literal> sin su argumento opcional, entonces +<replaceable>counter</replaceable> se incrementa en <literal>\refstepcounter</literal>, haciendo que su +valor sea el valor actual de <literal>ref</literal> (véase <link linkend="_005cref">\ref</link>). Este comando +es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Al ponerlo en el preámbulo del documento, este ejemplo crea un nuevo +entorno de lista enumerada con <replaceable>testcounter</replaceable>: +</para> +<screen>\newcounter{testcounter} +\newenvironment{test}{% + \begin{list}{}{% + \usecounter{testcounter} + } +}{% + \end{list} +} </screen> -<para>La instrucción <literal>\usecounter</literal> se utiliza en el segundo argumento del -entorno <literal>list</literal> para especificar el <replaceable>contador</replaceable> a utilizar para -numerar los elementos de la lista. -</para> </sect1> -<sect1 label="14.3" id="_005cvalue"> -<title><literal>\value{<replaceable>contador</replaceable>}</literal></title> +<sect1 label="13.3" id="_005cvalue"> +<title><literal>\value</literal></title> + <indexterm role="fn"><primary>\value</primary></indexterm> -<indexterm role="cp"><primary>contadores, consiguiendo el valor de</primary></indexterm> +<indexterm role="cp"><primary>contadores, obteniendo el valor de</primary></indexterm> <para>Sinopsis: </para> -<screen>\value{<replaceable>contador</replaceable>} +<screen>\value{<replaceable>counter</replaceable>} </screen> -<para>La instrucción <literal>\value</literal> produce el valor de <replaceable>contador</replaceable>. Esta -se puede utilizar en cualquier lugar en que &latex; espera un número, -por ejemplo: +<para>Se expande al valor del contador <replaceable>counter</replaceable>. (Ten en cuenta que el +nombre de un contador no comienza con una barra invertida). </para> -<screen>\setcounter{micontador}{3} -\addtocounter{micontador}{1} -\hspace{\value{micontador}\parindent} +<para>Este ejemplo genera ‘<literal>El contador de prueba es 6. Otro +contador es 5.</literal>’. +</para> +<screen>\newcounter{test} \setcounter{test}{5} +\newcounter{other} \setcounter{other}{\value{test}} +\addtocounter{test}{1} + +El contador de prueba es \arabic{test}. Otro contador es +\arabic{other}. +</screen> +<para>El comando <literal>\value</literal> no se usa para componer el valor del +contador. Para eso, <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman +\fnsymbol</link>. +</para> +<para>A menudo se usa en <literal>\setcounter</literal> o <literal>\addtocounter</literal> pero +<literal>\value</literal> se puede usar en cualquier lugar donde &latex; espera +un número, como en <literal>\hspace{\value{foo}\parindent}</literal>. No debe +estar precedido por <literal>\protect</literal> (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Este ejemplo inserta <literal>\hspace{4\parindent}</literal>. +</para> +<screen>\setcounter{myctr}{3} \addtocounter{myctr}{1} +\hspace{\value{myctr}\parindent} </screen> </sect1> -<sect1 label="14.4" id="_005csetcounter"> -<title><literal>\setcounter{<replaceable>\contador</replaceable>}{<replaceable>valor</replaceable>}</literal></title> +<sect1 label="13.4" id="_005csetcounter"> +<title><literal>\setcounter</literal></title> + <indexterm role="fn"><primary>\setcounter</primary></indexterm> -<indexterm role="cp"><primary>contadores, configurando</primary></indexterm> -<indexterm role="cp"><primary>fijando contadores</primary></indexterm> +<indexterm role="cp"><primary>contadores, ajuste de</primary></indexterm> +<indexterm role="cp"><primary>configurar contadores</primary></indexterm> <para>Sinopsis: </para> -<screen>\setcounter{<replaceable>contador</replaceable>}{<replaceable>valor</replaceable>} +<screen>\setcounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable>} </screen> - -<para>La instrucción <literal>\setcounter</literal> fija el valor de <replaceable>contador</replaceable> al -argumento <replaceable>valor</replaceable>. +<para>Configura globalmente el contador <replaceable>counter</replaceable> para que tenga el +valor del argumento <replaceable>value</replaceable>, que debe ser un número entero. Por +lo tanto, puedes establecer un valor del contador como +<literal>\setcounter{section}{5}</literal>. Ten en cuenta que el nombre del +contador no comienza con una barra invertida. +</para> +<para>En este ejemplo, si el contador <literal>theorem</literal> tiene el valor 12, +entonces la segunda línea imprimirá ‘<literal>XII</literal>’. </para> +<screen>\setcounter{ejercicio}{\value{teorema}} +Aquí está en Roman: \Roman{exercise}. +</screen> </sect1> -<sect1 label="14.5" id="_005caddtocounter"> -<title><literal>\addtocounter{<replaceable>contador</replaceable>}{<replaceable>valor</replaceable>}</literal></title> +<sect1 label="13.5" id="_005caddtocounter"> +<title><literal>\addtocounter</literal></title> + <indexterm role="fn"><primary>\addtocounter</primary></indexterm> -<para>La instrucción <literal>\addtocounter</literal> incrementa <replaceable>contador</replaceable> por la -cantidad especificada por el argumento <replaceable>valor</replaceable>, que puede ser un -número negativo. +<para>Sinopsis: </para> +<screen>\addtocounter{<replaceable>counter</replaceable>}{<replaceable>value</replaceable>} +</screen> +<para>Incrementar globalmente <replaceable>counter</replaceable> por la cantidad especificada por +el argumento <replaceable>value</replaceable>, que puede ser negativo. +</para> +<para>En este ejemplo, el valor de la sección aparece como ‘<literal>VII</literal>’. +</para> +<screen>\setcounter{section}{5} +\addtocounter{section}{2} +Aquí está en Roman: \Roman{section}. +</screen> </sect1> -<sect1 label="14.6" id="_005crefstepcounter"> -<title><literal>\refstepcounter{<replaceable>contador</replaceable>}</literal></title> +<sect1 label="13.6" id="_005crefstepcounter"> +<title><literal>\refstepcounter</literal></title> + <indexterm role="fn"><primary>\refstepcounter</primary></indexterm> -<para>La instrucción <literal>\refstepcounter</literal> trabaja de la misma manera que -<literal>\stepcounter</literal> Véase <link linkend="_005cstepcounter">\stepcounter</link>, excepto que esta además define -el valor actual de <literal>\ref</literal> para que sea el resultado de -<literal>\thecounter</literal>. +<para>Sinopsis: +</para> +<screen>\refstepcounter{<replaceable>counter</replaceable>} +</screen> +<para>Incrementa globalmente el valor de <replaceable>counter</replaceable> en uno, al igual que +<literal>\stepcounter</literal> (véase <link linkend="_005cstepcounter">\stepcounter</link>). La diferencia es que este +comando restablece el valor de cualquier contador numerado dentro de +él. (Para la definición de “contadores numerados dentro”, +véase <link linkend="_005cnewcounter">\newcounter</link>). +</para> +<para>Además, este comando también define el valor actual de <literal>\ref</literal> es +el resultado de <literal>\thecounter</literal>. +</para> +<para>Mientras que el valor del contador se establece globalmente, el valor +de <literal>\ref</literal> se establece localmente, es decir, dentro del grupo +actual. </para> </sect1> -<sect1 label="14.7" id="_005cstepcounter"> -<title><literal>\stepcounter{<replaceable>contador</replaceable>}</literal></title> +<sect1 label="13.7" id="_005cstepcounter"> +<title><literal>\stepcounter</literal></title> + <indexterm role="fn"><primary>\stepcounter</primary></indexterm> -<para>La instrucción <literal>\stepcounter</literal> añade uno al <replaceable>contador</replaceable> y -restablece todos los contadores subsidiarios. +<para>Sinopsis: +</para> +<screen>\stepcounter{<replaceable>counter</replaceable>} +</screen> +<para>Agrega globalmente uno a <replaceable>counter</replaceable> y restablece todos los +contadores numerados dentro de ella. (Para la definición de +“contadores numerados dentro”, véase <link linkend="_005cnewcounter">\newcounter</link>). +</para> +<para>Este comando difiere de <literal>\refstepcounter</literal> en que este no influye +en las referencias; es decir, no define el valor actual de <literal>\ref</literal> +será el resultado de <literal>\thecounter</literal> (véase <link linkend="_005crefstepcounter">\refstepcounter</link>). </para> </sect1> -<sect1 label="14.8" id="_005cday-_005cmonth-_005cyear"> -<title><literal>\day \month \year</literal>: Contadores Predefinidos</title> -<indexterm role="fn"><primary>\day</primary></indexterm> +<sect1 label="13.8" id="_005cday-_002d-_005cmonth-y-_005cyear"> +<title><literal>\day</literal>, <literal>\month</literal> y <literal>\year</literal></title> + +<anchor id="_005cday"/><anchor id="_005cmonth"/><anchor id="_005cyear"/><indexterm role="fn"><primary>\day</primary></indexterm> <indexterm role="fn"><primary>\month</primary></indexterm> <indexterm role="fn"><primary>\year</primary></indexterm> -<para>&latex; define contadores para el día del mes (<literal>\day</literal>, 1–31), mes -del año (<literal>\month</literal>, 1–12), y año (<literal>\year</literal>, Era Común). Al -iniciar &tex;, estas son establecidas a los valores actuales en el -sistema donde se está ejecutando &tex;. Estas no se actualizan -conforme al progreso del trabajo. +<para>&latex; define el contador <literal>\day</literal> para el día del mes +(nominalmente con valor entre 1 y 31), <literal>\month</literal> para el mes del +año (nominalmente con un valor entre 1 y 12), y <literal>\year</literal> para el +año. Cuando &tex; se inicia, se establecen a partir de los valores +actuales en el sistema. El comando relacionado <literal>\today</literal> produce +una cadena que representa el día actual (véase <link linkend="_005ctoday">\today</link>). </para> -<para>La instrucción relacionada <literal>\today</literal> produce una cadena de texto que -representa el día actual (véase <link linkend="_005ctoday">\today</link>). +<para>Los contadores no se actualizan a medida que avanza el trabajo, por lo +que, en principio, podría ser incorrecto al final. Además, &tex; no +controla la sensatez: +</para> +<screen>\day=-2 \month=13 \year=-4 \today +</screen> +<para>no da ningún error o advertencia y da como resultado la salida +‘<literal>-2, -4</literal>’ (el valor del mes falso no produce ningún resultado). +</para> +<para>Véase <link linkend="Entrada-de-la-l_00ednea-de-comandos">Entrada de la línea de comandos</link>, para forzar la fecha a un +valor dado desde la línea de comandos. </para> - </sect1> </chapter> -<chapter label="15" id="Longitudes"> +<chapter label="14" id="Longitudes"> <title>Longitudes</title> + <indexterm role="cp"><primary>longitudes, definiendo y usando</primary></indexterm> -<para>Una <literal>longitud</literal> es una medida de distancia. Muchas instrucciones -&latex; toman una longitud como argumento. +<para><firstterm>length</firstterm> es una medida de distancia. Muchos comandos de &latex; +toman un argumento como longitud. +</para> +<indexterm role="cp"><primary>longitudes rígidas</primary></indexterm> +<indexterm role="cp"><primary>longitudes elásticas</primary></indexterm> +<indexterm role="cp"><primary>dimen &tex; simple</primary></indexterm> +<indexterm role="cp"><primary>skip &tex; simple</primary></indexterm> +<indexterm role="cp"><primary>pegamento simple &tex;</primary></indexterm> +<para>Las longitudes vienen en dos tipos. Un <firstterm>longitud rígida</firstterm> como +<literal>10pt</literal> no contiene un componente <literal>plus</literal> o <literal>minus</literal>. +(&tex; sencillo llama a esto una <firstterm>dimensión</firstterm>). Una <firstterm>longitud +de goma</firstterm> (que &tex; simple llama a <firstterm>skip</firstterm> o <firstterm>glue</firstterm>) como con +<literal>1cm plus0.05cm minus0.01cm</literal> puede contener uno o ambos +componentes. En esa longitud elástica, el <literal>1cm</literal> es la +<firstterm>longitud natural</firstterm> mientras que los otros dos, componentes +<literal>plus</literal> y <literal>minus</literal>, permiten que &tex; estire o reduzca la +longitud para optimizar la colocación. +</para> +<para>Las siguientes ilustraciones utilizan estos dos comandos. +</para> +<screen>% hace una barra negra de 10pt de alto y #1 de ancho +\newcommand{\blackbar}[1]{\rule{#1}{10pt}} +% Hace un cuadro alrededor del #2 que tenga el #1 de ancho (excluyendo +% el borde) +\newcommand{\showhbox}[2]{% + \fboxsep=0pt\fbox{\hbox a #1{#2}}} +</screen> +<para>Este ejemplo usa esos comandos para mostrar una barra negra de +100 puntos de largo entre ‘<literal>XXX</literal>’ y ‘<literal>YYY</literal>’. Esta longitud +es rígida. </para> +<screen>XXX\muestracaja{100pt}{\barranegra{100pt}}YYY +</screen> +<para>En cuanto a las longitudes elásticas, la reducción es más simple: con +<literal>1cm minus 0.05cm</literal>, la longitud natural es 1cm pero &tex; +la puede reducir hasta 0.95cm. Más allá de eso, &tex; se niega +a encogerse más. Por lo tanto, debajo del primero funciona bien, +produciendo un espacio de 98 puntos entre las dos barras. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY +XXX\showhbox{300pt}{% + \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY +</screen> +<para>Pero el segundo recibe una advertencia como ‘<literal>Overfull \hbox +(1.0pt too wide) detectado en la línea 17</literal>’. En la salida, la primer +‘<literal>Y</literal>’ se sobrescribe al final de la barra negra, porque el material +de la caja es más ancho que los 300pt asignados, ya que &tex; +se ha negado a reducir el total a menos de 309 puntos. +</para> +<para>Estirar es como encoger excepto que si se le pide a &tex; que estire +más allá de la cantidad dada, lo hará. Aquí la primera línea está +bien, produciendo un espacio de 110 puntos entre las barras. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY + +XXX\showhbox{300pt}{% + \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY +</screen> +<para>En la segunda línea &tex; necesita un tramo de 10 puntos y solo +se especificó 1 punto. &tex; estira el espacio al requerido +pero te da una advertencia como ‘<literal>Infracompleto \hbox (maliciosos +10000) detectados en la línea 22</literal>’. (No hablaremos de la malicia). +</para> +<para>Puedes estirar y encoger en la misma longitud, como en <literal>1ex plus +0.05ex minus 0.02ex</literal>. +</para> +<para>Si &tex; está configurando dos o más longitudes elásticas, asigna la +ampliación o reducción en proporción. +</para> +<screen>XXX\showhbox{300pt}{% + \blackbar{100pt}% left + \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}% middle + \blackbar{100pt}}YYY % right +</screen> +<para>Las barras izquierda y derecha ocupan 100 puntos, por lo que la +del medio necesita otros 100. La barra central es de 80 puntos +por lo que los dos <literal>\hspace</literal> se deben extender 20 puntos. +Porque los dos son <literal>plus 50pt</literal> y <literal>plus 10pt</literal>, &tex; obtiene +5/6 del tramo del primer espacio y 1/6 del segundo. +</para> +<para>El componente <literal>plus</literal> o <literal>minus</literal> de una longitud elástica +puede contener un componente <firstterm>fill</firstterm>, como en <literal>1in plus2fill</literal>. +Esto da la longitud infinita capacidad de estiramiento o contracción +para que &tex; pueda establecer a cualquier distancia. Aquí las dos +figuras estarán espaciadas por igual en la página. +</para> +<screen>\begin{minipage}{\linewidth} + \hspace{0pt plus 1fill}\includegraphics{godel.png}% + \hspace{0pt plus 1fill}\includegraphics{einstein.png}% + \hspace{0pt plus 1fill} +\end{minipage} +</screen> +<para>&tex; tiene tres niveles de infinito para componentes de pegamento: +<literal>fil</literal>, <literal>fill</literal> y <literal>filll</literal>. Los últimos son más infinitos +que los anteriores. Por lo general, los autores de documentos solo +usan el del medio (véase <link linkend="_005chfill">\hfill</link> y véase <link linkend="_005cvfill">\vfill</link>). +</para> +<para>Multiplicar una longitud elástica por un número la convierte en una +longitud rígida, por lo que después de +<literal>\setlength{\ylength}{1in plus 0.2 in}</literal> y +<literal>\setlength{\zlength}{3\ylength}</literal> entonces el valor de +<literal>\zlength</literal> es <literal>3in</literal>. +</para> + + +<sect1 label="14.1" id="Unidades-de-longitud"> +<title>Unidades de longitud</title> + +<indexterm role="cp"><primary>unidades, de longitud</primary></indexterm> + +<para>&tex; y &latex; conocen estas unidades tanto dentro como fuera del +modo math. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>pt</primary></indexterm><literal>pt</literal> +</term><listitem><indexterm role="cp"><primary>point</primary></indexterm> +<anchor id="unidades-de-longitud-pt"/><para>Punto, 1/72,27 pulgadas. La +conversión (aproximada) a unidades métricas es 1punto = +.35146mm = .035146cm. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>pc</primary></indexterm><literal>pc</literal> +</term><listitem><indexterm role="cp"><primary>pica</primary></indexterm> +<anchor id="unidades-de-longitud-pc"/><para>Pica, 12 puntos +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>in</primary></indexterm><literal>in</literal> +</term><listitem><indexterm role="cp"><primary>inch</primary></indexterm> +<anchor id="unidades-de-longitud-en"/><para>Pulgada, 72.27 puntos +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>bp</primary></indexterm><literal>bp</literal> +</term><listitem><indexterm role="cp"><primary>gran punto</primary></indexterm> +<indexterm role="cp"><primary>punto PostScript</primary></indexterm> +<anchor id="unidades-de-longitud-pb"/><para>Punto grande, 1/72 pulgada. Esta +longitud es la definición de un punto en PostScript y muchos sistemas +de autoedición. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>mm</primary></indexterm><literal>mm</literal> +</term><listitem><indexterm role="cp"><primary>milímetro</primary></indexterm> +<anchor id="mm-unidades-de-longitud"/><para>Milímetro, 2.845pt +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>cm</primary></indexterm><literal>cm</literal> +</term><listitem><indexterm role="cp"><primary>centímetro</primary></indexterm> +<anchor id="cm-unidades-de-longitud"/><para>Centímetro, 10mm +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>dd</primary></indexterm><literal>dd</literal> +</term><listitem><indexterm role="cp"><primary>punto didot</primary></indexterm> +<anchor id="unidades-de-longitud-dd"/><para>Punto didot, 1.07 pt +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>cc</primary></indexterm><literal>cc</literal> +</term><listitem><indexterm role="cp"><primary>cícero</primary></indexterm> +<anchor id="unidades-de-longitud-cc"/><para>Cicero, 12 dd +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>sp</primary></indexterm><literal>sp</literal> +</term><listitem><indexterm role="cp"><primary>punto escalado</primary></indexterm> +<anchor id="unidades-de-longitud-sp"/><para>Punto escalado, 1/65536 pt +</para> +</listitem></varlistentry></variablelist> +<para>Otras tres unidades se definen de acuerdo con la letra actual, en +lugar de que sea una dimensión absoluta. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>ex</primary></indexterm><literal>ex</literal> +</term><listitem><indexterm role="cp"><primary>x-height</primary></indexterm> +<indexterm role="cp"><primary>ex</primary></indexterm> +<anchor id="Longitudes_002fex"/><anchor id="unidades-de-longitud-ex"/><para>La altura x de +la letra actual <firstterm>ex</firstterm>, tradicionalmente la altura de la letra +minúscula x, se usa a menudo para longitudes verticales. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>em</primary></indexterm><literal>em</literal> +</term><listitem><indexterm role="cp"><primary>m-width</primary></indexterm> +<indexterm role="cp"><primary>em</primary></indexterm> +<anchor id="Longitudes_002fem"/><anchor id="unidades-de-longitud-em"/><para>Del mismo modo +<firstterm>em</firstterm>, tradicionalmente el ancho de la letra M mayúscula, se +utiliza a menudo para longitudes horizontales. Este también a menudo +es el tamaño de la letra actual, por ejemplo, una letra nominal +10pt debe tener 1em = 10pt. &latex; tiene varios +comandos para producir espacios horizontales basados en em +(véase <link linkend="_005censpace-_002d-_005cquad-y-_005cqquad">\enspace - \quad y \qquad</link>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>mu</primary></indexterm><literal>mu</literal> +</term><listitem><indexterm role="cp"><primary>mu, unidad matemática</primary></indexterm> +<anchor id="unidades-de-longitud-mu"/><para>Finalmente, en el modo matemático, +muchas definiciones se expresan en términos de la unidad matemática +<firstterm>mu</firstterm>, definida por 1em = 18mu, donde el em es tomar de +la familia actual de símbolos matemáticos. Véase <link linkend="Espaciado-en-modo-matem_00e1tico">Espaciado en modo +matemático</link>. +</para> +</listitem></varlistentry></variablelist> +<para>El uso de estas unidades puede ayudar a que una definición funcione +mejor en todos los cambios de letra. Por ejemplo, una definición del +espacio vertical entre lista de elementos dados como +<literal>\setlength{\itemsep}{1ex plus 0.05ex minus 0.01ex}</literal> es más +probable que siga siendo razonable si se cambia la letra que una +definición dada en puntos. +</para> +</sect1> +<sect1 label="14.2" id="_005csetlength"> +<title><literal>\setlength</literal></title> -<sect1 label="15.1" id="_005csetlength"> -<title><literal>\setlength{\<replaceable>largo</replaceable>}{<replaceable>valor</replaceable>}</literal></title> <indexterm role="fn"><primary>\setlength</primary></indexterm> -<indexterm role="cp"><primary>longitudes, configurando</primary></indexterm> +<indexterm role="cp"><primary>longitudes, configuración</primary></indexterm> -<para>La instrucción <literal>\setlength</literal> fija el valor de <replaceable>\largo</replaceable> al -argumento <replaceable>valor</replaceable>, el cual se puede expresar en cualquier unidad que -&latex; entienda, es decir, pulgadas (<literal>in</literal>), milímetros -(<literal>mm</literal>), puntos (<literal>pt</literal>), puntos grandes (<literal>bp</literal>, etc. +<para>Sinopsis: +</para> +<screen>\setlength{\<replaceable>len</replaceable>}{<replaceable>amount</replaceable>} +</screen> +<para>Establece la longitud \<replaceable>len</replaceable> en <replaceable>amount</replaceable>. El nombre de +longitud <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de control +(véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con una +barra invertida, <literal>\</literal> bajo circunstancias normales. La +<replaceable>cantidad</replaceable> puede ser una longitud elástica (véase <link linkend="Longitudes">Longitudes</link>). +Puede ser positivo, negativo o cero, y puede estar en cualquier unidad +que &latex; entienda (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>). </para> +<para>A continuación, con los valores predeterminados de &latex;, el primer +párrafo tendrá sangría mientras que el segundo no. +</para> +<screen>Le dije al médico que me rompí la pierna en dos lugares. +\setlength{\parindent}{0em} +Dijo que dejara de ir a esos lugares. +</screen> +<para>Si no declaraste \<replaceable>len</replaceable> con <literal>\newlength</literal>, por ejemplo si lo +escribes mal como en +<literal>\newlength{\specparindent}\setlength{\sepcparindent}{...}</literal>, +entonces obtienes un error como ‘<literal>Secuencia de control no +definida. <argument> \sepcindent</literal>’. Si omites la barra invertida al +comienzo del nombre de la longitud entonces obtienes un error como +‘<literal>Número faltante, tratado como cero.</literal>’. +</para> </sect1> -<sect1 label="15.2" id="_005caddtolength"> -<title>\addtolength{<replaceable>\largo</replaceable>}{<replaceable>cantidad</replaceable>}</title> +<sect1 label="14.3" id="_005caddtolength"> +<title><literal>\addtolength</literal></title> + <indexterm role="fn"><primary>\addtolength</primary></indexterm> -<indexterm role="cp"><primary>longitudes, añadiendo a</primary></indexterm> +<indexterm role="cp"><primary>longitudes, agregando a</primary></indexterm> -<para>La instrucción <literal>\addtolength</literal> incrementa la “instrucción de -longitud” <replaceable>\largo</replaceable> por la cantidad especificada en el argumento -<replaceable>cantidad</replaceable>, misma que puede ser un valor negativo. +<para>Sinopsis: +</para> +<screen>\addtolength{\<replaceable>len</replaceable>}{<replaceable>amount</replaceable>} +</screen> +<para>Incrementa la longitud \<replaceable>len</replaceable> por <replaceable>cantidad</replaceable>. El nombre de +longitud <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de control +(véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con una +barra invertida, <literal>\</literal> bajo circunstancias normales. La +<replaceable>cantidad</replaceable> es una longitud elástica (véase <link linkend="Longitudes">Longitudes</link>). Puede +ser positivo, negativo o cero, y puede estar en cualquier unidad que +&latex; entienda (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>). +</para> +<para>A continuación, si <literal>\parskip</literal> comienza con el valor <literal>0pt +plus 1pt</literal> </para> +<screen>Doctor: ¿cómo está el niño que se tragó el dólar de plata? +\addtolength{\parskip}{1pt} +Enfermera: sin cambios. +</screen> +<para>luego tiene el valor <literal>1pt plus 1pt</literal> para el segundo párrafo. +</para> +<para>Si no declaraste \<replaceable>len</replaceable> con <literal>\newlength</literal>, por ejemplo si lo +escribes mal como en +<literal>\newlength{\specparindent}\addtolength{\sepcparindent}{...}</literal>, +luego obtienes un error como ‘<literal>Secuencia de control no +definida. <argument> \sepcindent</literal>’. Si <replaceable>cantidad</replaceable> usa una longitud +que no ha sido declarada, por ejemplo, si por ejemplo escribes mal lo +anterior como <literal>\addtolength{\specparindent}{0.6\prainden}</literal>, +entonces obtienes algo así como ‘<literal>Secuencia de control +indefinida. <argumento> \praindent</literal>’. Si dejas la barra invertida +fuera de \<replaceable>len</replaceable>, como en <literal>\addtolength{parindent}{1pt}</literal>, +entonces obtienes algo como ‘<literal>No puedes usar `la letra p' después +de \advance</literal>’. +</para> </sect1> -<sect1 label="15.3" id="_005csettodepth"> +<sect1 label="14.4" id="_005csettodepth"> <title><literal>\settodepth</literal></title> + <indexterm role="fn"><primary>\settodepth</primary></indexterm> -<para><literal>\settodepth{\gnat}{texto}</literal> +<para>Sinopsis: </para> -<para>La instrucción <literal>\settodepth</literal> fija el valor de una instrucción de -<literal>longitud</literal> igual a la profundidad del argumento <literal>texto</literal>. +<screen>\settodepth{\<replaceable>len</replaceable>}{<replaceable>text</replaceable>} +</screen> +<para>Establece la longitud \<replaceable>len</replaceable> en la profundidad del cuadro en el +que se encuentra &latex; escribiendo el argumento <replaceable>text</replaceable>. El +nombre de longitud <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de +control (véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con +una barra invertida, <literal>\</literal> en circunstancias normales. +</para> +<para>Esto imprimirá qué tan bajo van los descendientes de caracteres. +</para> +<screen>\newlength{\alphabetdepth} +\settodepth{\alphabetdepth}{abcdefghijklmnopqrstuvwxyz} +\the\alphabetdepth +</screen> +<para>Si no declaraste \<replaceable>len</replaceable> con <literal>\newlength</literal>, si por ejemplo +escribes mal lo anterior como <literal>\setto depth{\aplhabet +depth}{abc...}</literal>, entonces obtienes algo como ‘<literal>Secuencia de +control indefinida. <argument> \aplhabetdepth</literal>’. Si omites la barra +invertida \<replaceable>len</replaceable>, como en +<literal>\settodepth{alphabetdepth}{...}</literal> entonces obtienes algo como +‘<literal>Número faltante, tratado como cero. <para ser leído de nuevo> +\setbox</literal>’. </para> </sect1> -<sect1 label="15.4" id="_005csettoheight"> +<sect1 label="14.5" id="_005csettoheight"> <title><literal>\settoheight</literal></title> + <indexterm role="fn"><primary>\settoheight</primary></indexterm> -<para><literal>\settoheight{\gnat}{texto}</literal> +<para>Sinopsis: </para> -<para>La instrucción <literal>\settoheight</literal> fija el valor de la instrucción de -<literal>longitud</literal> igual a la altura del argumento <literal>texto</literal>. +<screen>\settoheight{\<replaceable>len</replaceable>}{text} +</screen> +<para>Establece la longitud \<replaceable>len</replaceable> a la altura del cuadro en el que se +coloca &latex; escribe el argumento <literal>text</literal>. El nombre de +longitud <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de control +(véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con una +barra invertida, <literal>\</literal> en circunstancias normales. +</para> +<para>Esto imprimirá qué tan alto van los caracteres. +</para> +<screen>\newlength{\alphabetheight} +\settoheight{\alphabetheight}{abcdefghijklmnopqrstuvwxyz} +\the\alphabetheight +</screen> +<para>Si no se ha declarado tal longitud \<replaceable>len</replaceable> con <literal>\newlength</literal>, +si por ejemplo escribes mal como +<literal>\settoheight{\aplhabetheight}{abc...}</literal>, entonces obtienes +algo como ‘<literal>Secuencia de control indefinida. <argumento> +\alphabetheight</literal>’. Si y deja la barra invertida fuera de \<replaceable>len</replaceable>, +como en <literal>\settoheight{alphabetheight}{...}</literal> entonces obtienes +algo como ‘<literal>Número faltante, tratado como cero. <para ser leído de +nuevo> \setbox</literal>’. </para> - </sect1> -<sect1 label="15.5" id="_005csettowidth"> -<title><literal>\settowidth{\<replaceable>largo</replaceable>}{<replaceable>texto</replaceable>}</literal></title> +<sect1 label="14.6" id="_005csettowidth"> +<title><literal>\settowidth</literal></title> + <indexterm role="fn"><primary>\settowidth</primary></indexterm> -<para>La instrucción <literal>\settowidth</literal> establece el valor del la instrucción -<replaceable>\largo</replaceable> al valor del argumento <replaceable>texto</replaceable>. +<para>Sinopsis: </para> - - -</sect1> -<sect1 label="15.6" id="Longitudes-Predeterminadas"> -<title>Longitudes Predeterminadas</title> -<indexterm role="cp"><primary>longitudes, predefinidas</primary></indexterm> -<indexterm role="cp"><primary>longitudes predeterminadas</primary></indexterm> - -<para><literal>\width</literal> -<indexterm role="fn"><primary>\width</primary></indexterm> +<screen>\settowidth{\<replaceable>len</replaceable>}{<replaceable>text</replaceable>} +</screen> +<para>Establece la longitud \<replaceable>len</replaceable> al ancho del cuadro en el que +&latex; coloca el argumento <replaceable>text</replaceable> escrito. El nombre de +longitud <literal>\<replaceable>len</replaceable></literal> tiene que ser una secuencia de control +(véase <link linkend="Secuencias-de-control">Secuencias de control</link>), y como tal debe comenzar con una +barra invertida, <literal>\</literal> en circunstancias normales. </para> -<para><literal>\height</literal> -<indexterm role="fn"><primary>\height</primary></indexterm> +<para>Esto imprime el ancho del alfabeto ASCII en minúsculas. </para> -<para><literal>\depth</literal> -<indexterm role="fn"><primary>\depth</primary></indexterm> +<screen>\newlength{\alphabetwidth} +\settowidth{\alphabetwidth}{abcdefghijklmnopqrstuvwxyz} +\the\alphabetwidth +</screen> +<para>Si no se ha declarado tal longitud \<replaceable>len</replaceable> con <literal>\newlength</literal>, +si, por ejemplo, escribes mal lo anterior como +<literal>\settowidth{\aplhabetwidth}{abc...}</literal>, entonces obtienes algo +como ‘<literal>Secuencia de control indefinida. <argumento> +\aplhabetwidth</literal>’. Si y deja la barra invertida fuera de \<replaceable>len</replaceable>, +como en <literal>\settoheight{alphabetwidth}{...}</literal> entonces obtienes +algo como ‘<literal>Número faltante, tratado como cero. <para ser leído de +nuevo> \setbox</literal>’. </para> -<para><literal>\totalheight</literal> -<indexterm role="fn"><primary>\totalheight</primary></indexterm> + +</sect1> +<sect1 label="14.7" id="_005cstretch"> +<title><literal>\stretch</literal></title> + +<indexterm role="fn"><primary>\stretch</primary></indexterm> + +<para>Sinopsis: </para> -<para>Estos parámetros de longitud se pueden utilizar en los argumentos de las -instrucciones que dibujan cajas (véase <link linkend="Cajas">Cajas</link>). Especifican el ancho -natural, etc., del texto en la caja. <literal>\totalheight</literal> es igual a -<literal>\height</literal> + <literal>\depth</literal>. Para hacer una caja con el texto -extendido hasta el doble del tamaño natural, por ejemplo, digamos +<screen>\stretch{<replaceable>number</replaceable>} +</screen> +<para>Produce una longitud de caucho con longitud natural cero y +<replaceable>number</replaceable> veces <literal>\fill</literal> unidades de capacidad de estiramiento +(véase <link linkend="Longitudes">Longitudes</link>). El <replaceable>number</replaceable> puede ser positivo o negativo. +Este comando es robusto (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Este comando es robusto. (véase <link linkend="_005cprotect">\protect</link>). En este ejemplo +horizontal, &latex; produce tres marcas y la distancia entre el +primero y el segundo es otra vez la mitad de largo que la distancia +entre el segundo y tercero. +</para> +<screen>\rule{0.4pt}{1ex}\hspace{\stretch{1.5}}% + \rule{0.4pt}{1ex}\hspace{\stretch{1}}% + \rule{0.4pt}{1ex} +</screen> +<para>En este ejemplo vertical, el ‘<literal>Dedicamos …</literal>’ tendrá tres +veces el espacio debajo de él que encima de él. +</para> +<screen>\newenvironment{dedication}{% en el preámbulo del documento + \clearpage\thispagestyle{empty}% + \vspace*{\stretch{1}} % de espacio extensible en la parte + % superior + \it +}{% + \vspace{\stretch{3}} % espacio en el bot es 3 veces mayor que + % en la parte superior + \clearpage +} + ... +\begin{dedication} % en el cuerpo del documento +Dedicamos este libro a nuestras esposas. +\end{dedication} +</screen> + +</sect1> +<sect1 label="14.8" id="Expresiones"> +<title>Expresiones</title> + +<indexterm role="fn"><primary>expresiones</primary></indexterm> + +<!-- Gran parte de https://tex.stackexchange.com/a/245663/339 --> +<para>Sinopsis, una de: </para> -<para><literal>\makebox[ancho\2]{Consiga una camilla}</literal> +<screen>\numexpr <replaceable>expression</replaceable> +\dimexpr <replaceable>expression</replaceable> +\glueexpr <replaceable>expression</replaceable> +\muglue <replaceable>expression</replaceable> +</screen> +<para>Cualquier lugar donde puedes escribir un número entero, o una +dimensión pegamento &tex;, o &tex;, o muglue, en su lugar puedes +escribir una expresión para calcular ese tipo de cantidad. +</para> +<para>Un ejemplo es que <literal>\the\dimexpr\linewidth-4pt\relax</literal> produce como +salida la longitud que es cuatro puntos menos que el ancho de una +línea (el único propósito de <literal>\the</literal> es mostrar el resultado en el +documento). Análogamente, <literal>\romannumeral\numexpr6+3\relax</literal> +produce ‘<literal>ix</literal>’ y <literal>\the\glueexpr 5pt plus 1pt * 2 \relax</literal> +producirá ‘<literal>10.0pt plus 2.0pt</literal>’. +</para> +<para>Una conveniencia aquí sobre hacer cálculos mediante la asignación de +registros y entonces usando <literal>\advance</literal>, etc., es que la +evaluación de expresiones no implica asignaciones y, por lo tanto, se +puede realizar en lugares donde las asignaciones no están permitidas. +El siguiente ejemplo calcula el ancho del <literal>\parbox</literal>. +</para> +<screen>\newlength{\offset}\setlength{\offset}{2em} +\begin{center} +\parbox{\dimexpr\linewidth-\offset*3}{Con malicia hacia ninguno con +caridad para todos con firmeza en el derecho como Dios nos da para ver +el derecho esforcémonos en terminar el trabajo en el que estamos para +vendar las heridas de la nación, para cuidar de aquel que habrá +llevado la batalla y para su viuda y su huérfano \textasciitilde\ para +hacer todo lo que puedas alcanzar y cuidar una paz justa y duradera +entre nosotros y con todas las naciones ---Abraham Lincoln, Segundo +Discurso Inaugural, de el memorial} +\end{center} +</screen> +<para>La <replaceable>expresión</replaceable> consta de uno o más términos del mismo tipo +(entero, dimensión, etc.) que se suman o se restan. Un término que es +un tipo de número, dimensión, etc., consta de un factor de ese tipo, +opcionalmente multiplicado o dividido por factores. Un factor de un +tipo es ya sea una cantidad de ese tipo o una subexpresión entre +paréntesis. La expresión produce un resultado del tipo dado, por lo +que <literal>\numexpr</literal> produce un número entero, <literal>\dimexpr</literal> produce +una dimensión, etc. +</para> +<para>En el ejemplo de cita anterior, cambiando a +<literal>\dimexpr\linewidth-3*\offset</literal> da el error <literal>Unidad de medida +ilegal (pt insertado)</literal>. Esto se debe a que para <literal>\dimexpr</literal> y +<literal>\glueexpr</literal>, la entrada consiste en una dimensión o valor de +pegamento seguido de un factor de multiplicación opcional, y no al +revés. Así <literal>\the\dimexpr 1pt*10\relax</literal> es válido y produce +‘<literal>10.0pt</literal>’, pero <literal>\the\dimexpr 10*1pt\relax</literal> da el error +<literal>Unidad ilegal</literal>. +</para> +<para>Las expresiones absorben tókenes y llevan a cabo las matemáticas +apropiadas hasta un <literal>\relax</literal> (que será absorbido), o hasta el +primer token no válido. Por lo tanto, <literal>\the\numexpr2+3px</literal> +imprimirá ‘<literal>5px</literal>’, porque &latex; lee el <literal>\numexpr2+3</literal>, que +está formado por números, y luego encuentra la letra <literal>p</literal>, que no +puede ser parte de un número. Por lo tanto, termina la expresión y +produce ‘<literal>5</literal>’, seguido del texto normal ‘<literal>px</literal>’. +</para> +<para>Este comportamiento de terminación es útil en las comparaciones. En +<literal>\ifnum\numexpr\parindent*2 < 10pt Yes\else No\fi</literal>, el menor que +sign termina la expresión y el resultado ‘<literal>No</literal>’ es (en un artículo +estándar de &latex;). +</para> +<para>Las expresiones pueden usar los operadores <literal>+</literal>, <literal>-</literal>, +<literal>*</literal> y <literal>/</literal> junto con paréntesis para subexpresiones, +<literal>(...)</literal>. En pegar expresiones en que las partes <literal>plus</literal> y +<literal>minus</literal> no necesitan paréntesis para ser afectadas por un +factor. Entonces <literal>\the\glueexpr 5pt plus 1pt * 2 \relax</literal> da como +resultado ‘<literal>10pt plus 2pt</literal>’. +</para> +<para>&tex; obligará a otros tipos numéricos de la misma manera que lo hace +cuando hace asignación de registro. Así <literal>\the\numexpr\dimexpr +1pt\relax\relax</literal> dará como resultado ‘<literal>65536</literal>’, que es <literal>1pt</literal> +convertido a puntos escalados (véase <link linkend="unidades-de-longitud-sp"><literal>sp</literal></link>, la unidad interna de &tex;) y luego forzado a un +número entero. Con un <literal>\glueexpr</literal> aquí, el estirar y encoger se +eliminaría. Yendo por el contrario, un <literal>\numexpr</literal> dentro de un +<literal>\dimexpr</literal> o <literal>\glueexpr</literal> necesitará unidades apropiadas, +como en <literal>\the\dimexpr\numexpr 1 + 2\relax pt\relax</literal>, que produce +‘<literal>3.0pt</literal>’. +</para> +<para>Detalles de la aritmética: cada factor se comprueba para estar en el +rango permitido, los números deben ser menores que <inlineequation><mathphrase>2^{31}</mathphrase></inlineequation> en +valor absoluto, y las dimensiones o los componentes del pegamento +deben ser inferiores a <inlineequation><mathphrase>2^{14}</mathphrase></inlineequation> puntos, o <literal>mu</literal>, o +<literal>fil</literal>, etc. Las operaciones aritméticas se realizan +individualmente, a excepción de una operación de escala (una +multiplicación seguida inmediatamente por una división) que se realiza +como una operación combinada con un producto de 64 bits como valor +intermedio. El resultado de cada operación se vuelve a comprobar para +estar en el rango permitido. +</para> +<para>Finalmente, la división y la escala se realizan con redondeo (a +diferencia de &tex;’s <literal>\divide</literal>, que trunca). De este modo +<literal>\the\dimexpr 5pt*(3/2)\relax</literal> pone ‘<literal>10.0pt</literal>’ en el +documento, porque redondea <literal>3/2</literal> a <literal>2</literal>, mientras que +<literal>\the\dimexpr 5pt*(4/3)\relax</literal> produce ‘<literal>5.0pt</literal>’. </para> </sect1> </chapter> -<chapter label="16" id="Haciendo-P_00e1rrafos"> -<title>Haciendo Párrafos</title> -<indexterm role="cp"><primary>haciendo párrafos</primary></indexterm> +<chapter label="15" id="Crear-p_00e1rrafos"> +<title>Crear párrafos</title> + +<indexterm role="cp"><primary>hacer párrafos</primary></indexterm> <indexterm role="cp"><primary>párrafos</primary></indexterm> -<para>Un párrafo se termina por medio de una o más líneas completamente en -blanco —líneas que no contienen incluso un <literal>%</literal>. Una línea en -blanco no debe aparecer donde no se puede iniciar un nuevo párrafo, tal -como en modo math o en el argumento de una instrucción de seccionado. +<para>Para comenzar un párrafo, simplemente escribe un texto. Para acabar +con el párrafo actual, pon una línea vacía. Son tres párrafos, cuya +separación se hace mediante dos líneas vacías. </para> +<screen>Es una verdad universalmente reconocida, que un solo hombre en +posesión de buena fortuna, debe estar necesitado de una esposa. +Por muy poco conocidos que puedan ser los sentimientos o las opiniones +de un hombre así sobre su primer vez entrando en un barrio, esta +verdad también está grabada en la mente de las familias aledañas, que +se le considera la propiedad legítima de una u otra de sus hijas. -<sect1 label="16.1" id="_005cindent"> -<title><literal>\indent</literal></title> -<indexterm role="fn"><primary>\indent</primary></indexterm> -<indexterm role="fn"><primary>\parindent</primary></indexterm> -<indexterm role="cp"><primary>sangría, forzando la</primary></indexterm> +``Mi querido señor Bennet'', le dijo su dama un día, ``¿Has oído que +Netherfield Park está alquilado por fin?'' +</screen> +<para>Un separador de párrafo puede estar hecho de una secuencia de al menos +una línea de espacio en blanco, al menos una de las cuales no termina +con un comentario. Una línea en blanco es una línea que está vacía o +compuesta solo de caracteres en blanco, como un espacio o +tabulación. Los comentarios en el código fuente comienzan con un +<literal>%</literal> y se extienden hasta el final de la línea. En el siguiente +ejemplo, las dos columnas son idénticas: +</para> +<screen>\documentclass[twocolumn]{article} +\begin{document} +Primer párrafo. + +Segundo párrafo. +\newpage +Primer párrafo + + % La separación de líneas puede contener caracteres en blanco. + +Segundo párrafo. +\end{document} +</screen> + +<para>Una vez que &latex; ha recopilado todo el contenido de un párrafo, +divide el contenido en líneas de una manera optimizada en todo el +párrafo (véase <link linkend="Salto-de-l_00ednea">Salto de línea</link>). +</para> +<para>Hay lugares donde no se permite un nuevo párrafo. No pongas una línea +en blanco en modo math (véase <link linkend="Modos">Modos</link>); aquí la línea en blanco antes +del <literal>\end{equation}</literal> +</para> +<screen>\begin{equation} + 2^{|S|} > |S| + +\end{equation} +</screen> +<para>obtendrás el error ‘<literal>Se inserto el $ faltante</literal>’. Del mismo modo, +la línea en blanco en este argumento <literal>\section</literal> +</para> +<screen>\section{aaa -<para><literal>\indent</literal> produce un espacio horizontal donde el ancho es igual la longitud de <literal>\parindent</literal>, la sangría de un párrafo -normal. Esta se utiliza para añadir la sangría de párrafos donde esta -debería suprimirse en otro caso. +bbb} +</screen> +<para>obtiene ‘<literal>¿Argumento faltante? {aaa ! El párrafo terminó antes de +completar \@sect</literal>’. </para> -<para>El valor predeterminado para <literal>\parindent</literal> es <literal>1em</literal> en modo de -dos columnas, de lo contrario <literal>15pt</literal> para documentos de -<literal>10pt</literal>, <literal>17pt</literal> para <literal>11pt</literal> y <literal>1.5em</literal> para -<literal>12pt</literal>. + + + +<sect1 label="15.1" id="_005cpar"> +<title><literal>\par</literal></title> + +<indexterm role="fn"><primary>\par</primary></indexterm> +<indexterm role="cp"><primary>párrafo, terminando</primary></indexterm> + +<para>Sinopsis (ten en cuenta que mientras lees la entrada &tex; convierte +cualquier secuencia de una o más líneas en blanco a un <literal>\par</literal>, +<link linkend="Crear-p_00e1rrafos">Crear párrafos</link>): +</para> +<screen>\par +</screen> +<para>Finaliza el párrafo actual. La forma habitual de separar párrafos es +con una línea en blanco pero el comando <literal>\par</literal> es completamente +equivalente. Este comando es robusto (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Este ejemplo usa <literal>\par</literal> en lugar de una línea en blanco +simplemente por legibilidad. +</para> +<screen>\newcommand{\syllabusLegalese}{% + \whatCheatingIs\par\whatHappensWhenICatchYou} +</screen> +<para>En el modo LR, el comando <literal>\par</literal> no hace nada y se ignora. En +modo de párrafo, el comando <literal>\par</literal> finaliza el modo de párrafo, +cambiando &latex; a modo vertical (véase <link linkend="Modos">Modos</link>). +</para> +<para>No puedes usar el comando <literal>\par</literal> en modo matemático. Tampoco lo +puedes utilizar en el argumento de muchos comandos, como los comandos +de seccionado, por ejemplo, <literal>\section</literal> (véase <link linkend="Crear-p_00e1rrafos">Crear párrafos</link> +y <link linkend="_005cnewcommand-y-_005crenewcommand">\newcommand y \renewcommand</link>). +</para> +<para>El comando <literal>\par</literal> no es lo mismo que el comando +<literal>\paragraph</literal>. Este último es, como <literal>\section</literal> o +<literal>\subsection</literal>, un comando de seccionado utilizado por las clases +de documentos estándar &latex; (véase <link linkend="_005csubsubsection-_002d-_005cparagraph-y-_005csubparagraph">\subsubsection - \paragraph y +\subparagraph</link>). +</para> +<para>El comando <literal>\par</literal> no es lo mismo que <literal>\newline</literal> o el salto +de línea doble barra invertida, <literal>\\</literal>. La diferencia es que +<literal>\par</literal> finaliza el párrafo, no solo la línea, y también +desencadena la adición de el espacio vertical entre párrafos +<literal>\parskip</literal> (véase <link linkend="_005cparindent-y-_005cparskip">\parindent y \parskip</link>). +</para> +<para>La salida de este ejemplo +</para> +<screen>xyz + +\setlength{\parindent}{3in} +\setlength{\parskip}{5in} +\noindent test\indent test1\par test2 +</screen> +<para>es: después de ‘<literal>xyz</literal>’ hay un salto vertical de 5 pulgadas y +luego aparece ‘<literal>test</literal>’, alineado con el margen izquierdo. En la +misma línea, hay un espacio horizontal vacío de 3 pulgadas y +luego aparece ‘<literal>test1</literal>’. Finalmente, hay un espacio vertical de +5 pulgadas, seguido de un párrafo nuevo con una sangría de +párrafo de 3 pulgadas, y luego &latex; pone el texto +‘<literal>test2</literal>’. </para> </sect1> -<sect1 label="16.2" id="_005cnoindent"> -<title><literal>\noindent</literal></title> +<sect1 label="15.2" id="_005cindent-y-_005cnoindent"> +<title><literal>\indent</literal> y <literal>\noindent</literal></title> + +<anchor id="_005cindent"/><anchor id="_005cnoindent"/><indexterm role="fn"><primary>\indent</primary></indexterm> <indexterm role="fn"><primary>\noindent</primary></indexterm> -<indexterm role="cp"><primary>sangría, suprimiendo la</primary></indexterm> +<indexterm role="cp"><primary>sangría, forzando</primary></indexterm> -<para>Cuando se utiliza al principio de un párrafo, <literal>\noindent</literal> suprime -cualquier sangría. Esta no tiene efecto cuando se utiliza en medio de -un párrafo. +<para>Sinopsis: +</para> +<screen>\indent +</screen> +<para>o +</para> +<screen>\noindent +</screen> +<para>Va al modo horizontal (véase <link linkend="Modos">Modos</link>). El comando <literal>\indent</literal> +primero genera un cuadro vacío cuyo ancho es <literal>\parindent</literal>. Estos +comandos son robustos (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Normalmente se crea un nuevo párrafo poniendo una línea en blanco. +Véase <link linkend="_005cpar">\par</link>, por la diferencia entre este comando y <literal>\par</literal>. Para +comenzar un párrafo sin sangría, o continuar un párrafo interrumpido, +usa <literal>\noindent</literal>. +</para> +<para>En medio de un párrafo, el comando <literal>\noindent</literal> no tiene efecto, +porque &latex; ya está en modo horizontal allí. El único efecto del +comando <literal>\indent</literal> es generar un espacio. +</para> +<para>Este ejemplo inicia un párrafo nuevo. +</para> +<screen>... fin del párrafo anterior. + +\noindent Este párrafo no tiene sangría. +</screen> +<para>y esto continúa un párrafo interrumpido. +</para> +<screen>Los datos + +\begin{center} + \begin{tabular}{rl} ... \end{tabular} +\end{center} + +\noindent muestra esto claramente. +</screen> +<indexterm role="fn"><primary>\parindent</primary></indexterm> +<para>Para omitir la sangría en todo el documento, pon +<literal>\setlength{\parindent}{0pt}</literal> en el preámbulo. Si lo haces, +es posible que también desees establecer la longitud de los espacios +entre párrafos, <literal>\parskip</literal> (véase <link linkend="_005cparindent-y-_005cparskip">\parindent y \parskip</link>). +</para> +<indexterm role="cp"><primary>package, <literal>indentfirst</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>indentfirst</literal> package</primary></indexterm> +<para>Los estilos predeterminados de &latex; tienen +el primer párrafo después de una sección que es sin sangría, como es +la composición tipográfica tradicional en inglés. Para cambiar eso, +busca en CTAN el paquete <literal>indentfirst</literal>. </para> </sect1> -<sect1 label="16.3" id="_005cparskip"> -<title><literal>\parskip</literal></title> +<sect1 label="15.3" id="_005cparindent-y-_005cparskip"> +<title><literal>\parindent</literal> y <literal>\parskip</literal></title> + +<anchor id="_005cparindent"/><anchor id="_005cparskip"/><indexterm role="fn"><primary>\parindent</primary></indexterm> <indexterm role="fn"><primary>\parskip</primary></indexterm> -<indexterm role="cp"><primary>espacio vertical antes de párrafos</primary></indexterm> +<indexterm role="cp"><primary>sangría de párrafo</primary></indexterm> +<indexterm role="cp"><primary>sangría de párrafo horizontal</primary></indexterm> +<indexterm role="cp"><primary>espacio vertical antes de los párrafos</primary></indexterm> -<para><literal>\parskip</literal> es una instrucción que preserva la longitud definiendo -espacio vertical extra añadido antes de cada párrafo. El predeterminado -es <literal>0pt más 1pt</literal>. +<para>Sinopsis: +</para> +<screen>\setlength{\parindent}{<replaceable>horizontal len</replaceable>} +\setlength{\parskip}{<replaceable>vertical len</replaceable>} +</screen> +<para>Ambas son longitudes elásticas (véase <link linkend="Longitudes">Longitudes</link>). Afectan a la +sangría de párrafos ordinarios, no de párrafos dentro de minipáginas +(véase <link linkend="minipage">minipage</link>), y el espacio vertical entre párrafos, +respectivamente. +</para> +<para>Por ejemplo, si esto se pone en el preámbulo: +</para> +<screen>\setlength{\parindent}{0em} +\setlength{\parskip}{1ex} +</screen> +<para>El documento tendrá párrafos sin sangría, pero en su lugar están +separados verticalmente por aproximadamente la altura de una ‘<literal>x</literal>’ +minúscula. +</para> +<para>En la clase <replaceable>document</replaceable> estándar de &latex;, el valor +predeterminado para <literal>\parindent</literal> en documentos de una columna es +<literal>15pt</literal> cuando el el tamaño de texto predeterminado es +<literal>10pt</literal>, <literal>17pt</literal> para <literal>11pt</literal> y <literal>1.5em</literal> para +<literal>12pt</literal>. En documentos de dos columnas es <literal>1em</literal>. (Estos +valores se establecen antes de que &latex; llame a <literal>\normalfont</literal> +para que <literal>em</literal> se derive de la letra predeterminada, Computer +Modern. Si utilizas una letra diferente y luego estableces +<literal>\parindent</literal> en 1em coincidentes en esa letra, pon +<literal>\AtBeginDocument{\setlength{\parindent}{1em}}</literal> en el +preámbulo). +</para> +<para>El valor predeterminado para <literal>\parskip</literal> en las clases +<literal>document</literal> estándar de &latex; es <literal>0pt plus1pt</literal>. </para> </sect1> -<sect1 label="16.4" id="Notas-al-Margen"> -<title>Notas al Margen</title> -<indexterm role="cp"><primary>notas al margen</primary></indexterm> +<sect1 label="15.4" id="Notas-marginales"> +<title>Notas marginales</title> + +<indexterm role="cp"><primary>notas marginales</primary></indexterm> <indexterm role="cp"><primary>notas en el margen</primary></indexterm> -<indexterm role="cp"><primary>observaciones en el margen</primary></indexterm> +<indexterm role="cp"><primary>comentarios en el margen</primary></indexterm> <indexterm role="fn"><primary>\marginpar</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\marginpar[<replaceable>izquierda</replaceable>]{<replaceable>derecha</replaceable>} +<screen>\marginpar{<replaceable>right</replaceable>} +\marginpar[<replaceable>left</replaceable>]{<replaceable>right</replaceable>} </screen> -<para>La instrucción <literal>\marginpar</literal> crea una nota en el margen. La primera -línea de una nota tiene que ser la misma línea base que la línea en el -texto donde ocurre el <literal>\marginpar</literal>. +<para>Crea una nota en el margen. La primera línea de la nota tendrá la +misma línea base que la línea en el texto donde el <literal>\marginpar</literal> +ocurre. +</para> +<para>El margen que usa &latex; para la nota depende del diseño actual +(véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase documento</link>) y también en +<literal>\reversemarginpar</literal> (ve abajo). Si estás utilizando el diseño de +un solo lado (opción de documento <literal>oneside</literal>) entonces va en el +margen derecho. Si estás usando diseño de dos caras (opción de +documento <literal>twoside</literal>) entonces va en el margen exterior. Si estás +en el diseño de dos columnas (opción de documento <literal>twocolumn</literal>) +entonces va en el margen más cercano. </para> -<para>Cuando únicamente se especifica el argumento obligatorio <replaceable>right</replaceable>, el -texto se deberá colocar -</para> -<itemizedlist><listitem><para>en el margen derecho para diseños de un solo lado; -</para></listitem><listitem><para>en el margen externo para diseños de dos caras; -</para></listitem><listitem><para>en el margen más cercano en diseños de dos columnas. -</para></listitem></itemizedlist> <indexterm role="fn"><primary>\reversemarginpar</primary></indexterm> <indexterm role="fn"><primary>\normalmarginpar</primary></indexterm> -<para>La instrucción <literal>\reversemarginpar</literal> coloca las subsecuentes notas al -margen en el margen (dentro) opuesto. <literal>\normalmarginpar</literal> las -coloca en la posición predeterminada. +<para>Si declaras <literal>\reversemarginpar</literal> entonces &latex; colocará notas +marginales posteriores en el margen opuesto al dado en el párrafo +anterior. Vuelve a la posición predeterminada con +<literal>\normalmarginpar</literal>. </para> -<para>Cuando se especifican ambos argumentos, se utiliza <replaceable>left</replaceable> para el -margen izquierdo y se utiliza <replaceable>right</replaceable> para el margen derecho. +<para>Cuando especificas el argumento opcional <replaceable>left</replaceable>, entonces se usa +para una nota en el margen izquierdo, mientras que el argumento +obligatorio <replaceable>right</replaceable> se utiliza para una nota en el margen derecho. </para> -<para>La primer palabra normalmente no se debe separar con guiones; usted -puede habilitar la separación silábica con guiones comenzando la nota -con <literal>\hspace{0pt}</literal>. +<para>Normalmente, a la primera palabra de una nota, no se le aplicará la +separación silábica. Puedes habilitar guiones allí comenzando +<replaceable>left</replaceable> o <replaceable>right</replaceable> con <literal>\hspace{0pt}</literal>. </para> -<para>Los parámetros que afectan el formato de la nota son: +<para>Estos parámetros afectan el formato de la nota: </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\marginparpush</primary></indexterm><literal>\marginparpush</literal> -</term><listitem><para>El espacio mínimo vertical entre notas; el predeterminado es ‘<literal>7pt</literal>’ -para documentos de ‘<literal>12pt</literal>’, de lo contrario ‘<literal>5pt</literal>’. +</term><listitem><anchor id="notas-marginales-marginparpush"/><para>Espacio vertical mínimo entre +notas; predeterminado ‘<literal>7pt</literal>’ para documentos ‘<literal>12pt</literal>’, +‘<literal>5pt</literal>’ de lo contrario. Ve también <link linkend="par_00e1metros-marginparpush-del-dise_00f1o-de-p_00e1gina">parámetros +marginparpush del diseño de página</link>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\marginparsep</primary></indexterm><literal>\marginparsep</literal> -</term><listitem><para>Espacio horizontal entre el texto vertical y la nota; predeterminado -‘<literal>11pt</literal>’ para ‘<literal>10pt</literal>’ documentos, en otro caso ‘<literal>10pt</literal>’. +</term><listitem><anchor id="notas-marginales-marginparsep"/><para>Espacio horizontal entre el texto principal y la nota; predeterminado +‘<literal>11pt</literal>’ para documentos ‘<literal>10pt</literal>’, ‘<literal>10pt</literal>’ de lo contrario. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\marginparwidth</primary></indexterm><literal>\marginparwidth</literal> -</term><listitem><para>El ancho de la nota en sí misma; el predeterminado para documentos de un -solo lado de ‘<literal>10pt</literal>’ es ‘<literal>90pt</literal>’, ‘<literal>83pt</literal>’ para ‘<literal>11pt</literal>’ y -‘<literal>68pt</literal>’ para ‘<literal>12pt</literal>’; ‘<literal>17pt</literal>’ más en cada caso para -documentos de dos caras. En el modo de dos columnas, el predeterminado -es ‘<literal>48pt</literal>’. +</term><listitem><anchor id="notas-marginales-marginparwidth"/><para>Ancho de la nota en sí; +predeterminado para un documento ‘<literal>10pt</literal>’ de una sola cara es +‘<literal>90pt</literal>’, ‘<literal>83pt</literal>’ para ‘<literal>11pt</literal>’ y ‘<literal>68pt</literal>’ para +‘<literal>12pt</literal>’; ‘<literal>17pt</literal>’ más en cada caso para un documento de dos +caras. En el modo de dos columnas, el valor predeterminado es +‘<literal>48pt</literal>’. </para> </listitem></varlistentry></variablelist> +<para>La rutina estándar de &latex; para notas marginales no impide notas +se caigan de la parte inferior de la página. +<!-- @TeX{} Entrada de preguntas frecuentes sobre este tema (xx cuando --> +<!-- existe): --> +<!-- @url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=marginparside}. --> +<!-- (+marginfix) --> +</para> </sect1> </chapter> -<chapter label="17" id="F_00f3rmulas-Matem_00e1ticas"> -<title>Fórmulas Matemáticas</title> -<indexterm role="cp"><primary>fórmulas matemáticas</primary></indexterm> -<indexterm role="cp"><primary>fórmulas, matemáticas</primary></indexterm> -<indexterm role="cp"><primary>modo math, ingresando al</primary></indexterm> - -<indexterm role="fn"><primary>entorno <literal>math</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>math</literal>, entorno</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>displaymath</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>displaymath</literal>, entorno</primary></indexterm> -<indexterm role="fn"><primary>entorno <literal>equation</literal></primary></indexterm> -<indexterm role="fn"><primary><literal>equation</literal>, entorno</primary></indexterm> -<para>Existen tres entornos que ponen a &latex; en modo math: -</para> -<variablelist><varlistentry><term><literal>math</literal> -</term><listitem><para>Para fórmulas que aparecerán directamente en el texto. -</para></listitem></varlistentry><varlistentry><term><literal>displaymath</literal> -</term><listitem><para>Para fórmulas que aparecerán en su propia línea. -</para></listitem></varlistentry><varlistentry><term><literal>equation</literal> -</term><listitem><para>El mismo que el del entorno displaymath salvo que este añade un número -de ecuación en el margen derecho. -</para></listitem></varlistentry></variablelist> -<indexterm role="fn"><primary>\(</primary></indexterm> -<indexterm role="fn"><primary>\)</primary></indexterm> -<indexterm role="fn"><primary>\[</primary></indexterm> -<indexterm role="fn"><primary>\]</primary></indexterm> -<para>El entorno <literal>math</literal> se pude utilizar tanto en párrafos como en modo -LR, pero los entornos <literal>displaymath</literal> y <literal>equation</literal> se pueden -utilizar únicamente en modo párrafo. Los entornos <literal>math</literal> y -<literal>displaymath</literal> se utilizan tan a menudo que tienen las siguientes -formas abreviadas: +<chapter label="16" id="F_00f3rmulas-math"> +<title>Fórmulas math</title> + +<indexterm role="cp"><primary>math, fórmulas</primary></indexterm> +<indexterm role="cp"><primary>formulas, math</primary></indexterm> +<indexterm role="cp"><primary>math mode, ingresar</primary></indexterm> +<indexterm role="fn"><primary>environment, <literal>math</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>math</literal> environment</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>displaymath</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>displaymath</literal> environment</primary></indexterm> + +<indexterm role="fn"><primary>environment, <literal>equation</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>equation</literal> environment</primary></indexterm> + + +<para>Produce texto matemático poniendo &latex; en modo matemático o +pantalla modo matemático (véase <link linkend="Modos">Modos</link>). Este ejemplo muestra ambos. </para> -<screen>\(...\) en lugar de \begin{math}...\end{math} -\[...\] en lugar de \begin{displaymath}...\end{displaymath} +<screen>La ecuación de onda para \( u \) es +\begin{displaymath} + \frac{\partial^2u}{\partial t^2} = c^2\nabla^2u +\end{displaymath} +donde \( \nabla^2 \) es el Laplacian espacial y \( c \) es constante. +</screen> +<para>El modo math es para matemáticas en línea. En el ejemplo anterior se +invoca por la <literal>\(</literal> inicial y terminado por la <literal>\)</literal> final +correspondiente. El modo de pantalla matemática es para ecuaciones +mostradas y aquí es invocado por el entorno <literal>displaymath</literal>. Ten +en cuenta que cualquier texto matemático que sea, incluido el texto +matemático que consta de un solo carácter, se maneja en modo +matemático. +</para> +<para>Cuando está en modo matemático o en modo de visualización matemática, +&latex; maneja muchos aspectos de tu texto de entrada de manera +diferente que en otros modos de texto. Por ejemplo, +</para> +<screen>contrastar x+y con \( x+y \) </screen> -<indexterm role="fn"><primary>$</primary></indexterm> -<para>De hecho, el entorno <literal>math</literal> es como una instrucción que tiene -incluso una forma abreviada: +<para>en el modo matemático, las letras están en cursiva y el espacio +alrededor del signo más es diferente. +</para> +<para>Hay tres formas de hacer fórmulas en línea, para poner &latex; en +modo math. </para> -<screen>$ ... $ en lugar de \(...\) +<screen>\( <replaceable>material matemático</replaceable> \) +$ <replaceable>material matemático</replaceable> $ +\begin{math} <replaceable>material matemático</replaceable> \end{math} </screen> -<indexterm role="fn"><primary>\boldmath</primary></indexterm> -<indexterm role="fn"><primary>\unboldmath</primary></indexterm> -<para>La instrucción <literal>\boldmath</literal> cambia letras y símbolos matemáticos en -tipo de letra en negrita. Este se utiliza <emphasis>fuera</emphasis> del modo math. -Por el contrario, la instrucción <literal>\unboldmath</literal> cambia los glifos -matemáticos para estar en un tipo de letra normal; este también se -utiliza <emphasis>fuera</emphasis> del modo math. +<para>Se prefiere la primera forma y la segunda es bastante común, pero la +tercera forma rara vez se usa. A veces puedes usar uno y a veces +otro, como en <literal>\(x\) y $y$</literal>. Puedes utilizar estos en el párrafo +o en modo LR (véase <link linkend="Modos">Modos</link>). </para> -<!-- xx ¿propia sección? ¿tipos de letra en Math? --> -<indexterm role="fn"><primary>\displaystyle</primary></indexterm> -<para>La declaración <literal>\displaystyle</literal> presiona para que el tamaño y estilo -de la fórmula sea el de <literal>displaymath</literal>, por ejemplo, con limites por -encima y debajo de sumatorias. Por ejemplo -</para><screen>$\displaystyle \sum_{n=0}^\infty x_n $ +<para>Para mostrar fórmulas, pon a &latex; en modo de visualización +matemática con o: +</para> +<screen>\begin{displaymath} + <replaceable>material matemático</replaceable> +\end{displaymath} </screen> -<!-- xx vea además \cal, \mathcal --> - - - -<sect1 label="17.1" id="Sub_00edndices-y-Super_00edndices"> -<title>Subíndices y Superíndices</title> -<indexterm role="cp"><primary>superíndice</primary></indexterm> +<para>o +</para> +<screen>\begin{equation} + <replaceable>material matemático</replaceable> +\end{equation} +</screen> +<para>(véase <link linkend="displaymath">displaymath</link>, véase <link linkend="equation">equation</link>). La única diferencia es que +con el entorno <literal>equation</literal>, &latex; pone un número de fórmula +junto a la fórmula. La construcción <literal>\[ <replaceable>math</replaceable> \]</literal> es +equivalente a <literal>\begin{displaymath} <replaceable>math</replaceable> +\end{displaymath}</literal>. Estos entornos sólo se pueden utilizar en el +modo párrafo (véase <link linkend="Modos">Modos</link>). +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>amsfonts</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsfonts</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>La +American Mathematical Society ha puesto a disposición gratuitamente un +conjunto de paquetes que amplían enormemente sus opciones para +escribir matemáticas, <literal>amsmath</literal> y <literal>amssymb</literal> (también +ten en cuenta el paquete <literal>mathtools</literal> que es una extensión y +carga <literal>amsmath</literal>). Los nuevos documentos que tendrán texto +matemático deben usar estos paquetes. Las descripciones de estos +paquetes están fuera del alcance de este documento; ve su +documentación en CTAN. +</para> + + +<sect1 label="16.1" id="Sub_00edndices-y-super_00edndices"> +<title>Subíndices y superíndices</title> + +<anchor id="superscript"/><anchor id="subscript"/><indexterm role="cp"><primary>superíndice</primary></indexterm> <indexterm role="cp"><primary>subíndice</primary></indexterm> +<indexterm role="fn"><primary>^ superíndice</primary></indexterm> +<indexterm role="fn"><primary>_ subíndice</primary></indexterm> <indexterm role="cp"><primary>exponente</primary></indexterm> -<indexterm role="fn"><primary>_</primary></indexterm> -<indexterm role="fn"><primary>^</primary></indexterm> - -<para>Para hacer que una expresión <emphasis>exp</emphasis> aparezca como un subíndice, escriba -<literal>_{</literal><emphasis>exp</emphasis><literal>}</literal>. Para hacer que <emphasis>exp</emphasis> aparezca como un -exponente, escriba <literal>^{</literal><emphasis>exp</emphasis><literal>}</literal>. &latex; maneja -superíndices, subíndices y todas esas cosas de manera natural. Incluso -hace lo correcto cuando algo tiene tanto un subíndice como un -superíndice. + +<para>Sinopsis (en modo matemático o modo de visualización matemático), uno +de: +</para> +<screen><replaceable>base</replaceable>^<replaceable>exp</replaceable> +<replaceable>base</replaceable>^{<replaceable>exp</replaceable>} +</screen> +<para>o, uno de: +</para> +<screen><replaceable>base</replaceable>_<replaceable>exp</replaceable> +<replaceable>base</replaceable>_{<replaceable>exp</replaceable>} +</screen> +<para>Hace que <replaceable>exp</replaceable> aparezca como un superíndice de <replaceable>base</replaceable> (con el +carácter signo de intercalación, <literal>^</literal>) o un subíndice (con +guión bajo, <literal>_</literal>). +</para> +<para>En este ejemplo, <literal>0</literal> y <literal>1</literal> son subscripts mientras que +<literal>2</literal> son superscripts. +</para> +<screen>\( (x_0+x_1)^2 \leq (x_0)^2+(x_1)^2 \) +</screen> +<para>Para que el subscript o superscript contenga más de un carácter, rodea +la expresión con llaves, como en <literal>e^{-2x}</literal>. La cuarta línea de +este ejemplo muestra llaves usadas para agrupar una expresión para el +exponente. +</para> +<screen>\begin{displaymath} + (3^3)^3=27^3=19\,683 + \qquad + 3^{(3^3)}=3^{27}=7\,625\,597\,484\,987 +\end{displaymath} +</screen> +<para>&latex; sabe cómo manejar un superíndice en un superíndice, o un +subíndice sobre subíndice, o superscript sobre subs, o subs sobre +supers. Así que, expresiones como <literal>e^{x^2}</literal> y <literal>x_{i_0}</literal> +dan producción. Ten en cuenta el uso en esas expresiones de llaves +para dar a <replaceable>base</replaceable> una determinada <replaceable>exp</replaceable>. Si ingresas +<literal>\(3^3^3\)</literal>, esto se interpreta como <literal>\(3^{3}^{3}\)</literal> y +luego obtienes el error &tex; ‘<literal>Doble superíndice</literal>’. +</para> +<para>&latex; hace lo correcto cuando algo tiene tanto un subscript como un +superscript. En este ejemplo, la integral tiene ambos. Salen en el +lugar correcto sin ninguna intervención del autor. +</para> +<screen>\begin{displaymath} + \int_{x=a}^b f'(x)\,dx = f(b)-f(a) +\end{displaymath} +</screen> +<para>Ten en cuenta las llaves alrededor de <literal>x=a</literal> para hacer que la +expresión completa sea un subíndice. +</para> +<para>Para poner un superscript o subscript antes de un símbolo, usa una +construcción como <literal>{}_t K^2</literal>. Las llaves vacías <literal>{}</literal> +dan al subíndice algo para adjuntar y evita que accidentalmente +adjuntes un símbolo anterior. +</para> +<para>Usar el carácter de subíndice o superíndice fuera del modo math o el +modo <literal>display math</literal>, como en <literal>la expresión x^2</literal>, obtendrás +el error &tex; ‘<literal>Falta insertar el $</literal>’. +</para> +<indexterm role="cp"><primary>package, <literal>mhchem</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mhchem</literal> package</primary></indexterm> +<para>Una razón común para querer subscripts fuera de un +modo math es la composición tipográfica de fórmulas químicas. Hay +paquetes para eso, como <literal>mhchem</literal>; ve CTAN. </para> </sect1> -<sect1 label="17.2" id="S_00edmbolos-Matem_00e1ticos"> -<title>Símbolos Matemáticos</title> +<sect1 label="16.2" id="S_00edmbolos-matem_00e1ticos"> +<title>Símbolos matemáticos</title> + <indexterm role="cp"><primary>símbolos matemáticos</primary></indexterm> <indexterm role="cp"><primary>símbolos, matemáticos</primary></indexterm> <indexterm role="cp"><primary>letras griegas</primary></indexterm> -<para>&latex; proporciona casi cualquier símbolo matemático que muy -probablemente necesite. Las instrucciones para generarlas se pueden -utilizar únicamente en modo math. Por ejemplo, si incluye <literal>$\pi$</literal> -en su archivo fuente, aparecerá el símbolo de pi (<inlineequation><mathphrase>\pi</mathphrase></inlineequation>) en su -salida. +<indexterm role="cp"><primary>package, <literal>comprehensive</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>comprehensive</literal> package</primary></indexterm> + + +<para>&latex; proporciona casi cualquier símbolo matemático o técnico que +cualquiera usa. Por ejemplo, si incluyes <literal>$\pi$</literal> en tu fuente, +obtendrás el símbolo pi π. Ve el “Paquete &latex; +Integral Lista de símbolos” en +<ulink url="https://ctan.org/pkg/comprehensive">https://ctan.org/pkg/comprehensive</ulink>. </para> +<para>A continuación, tienes una lista de símbolos comúnmente usados. De +ninguna manera es exhaustiva. Cada símbolo se describe con una frase +corta y su clase de símbolo, que determina el espacio a su alrededor, +se da entre paréntesis. A no ser que dicho de otra manera, los +comandos para estos símbolos solo se pueden usar en modo matemáticas. +Para redefinir un comando para que se pueda usar cualquiera que sea el +estado modo actual, <link linkend="_005censuremath">\ensuremath</link>. +</para> +<!-- xx Agrega negación: para negaciones de símbolos relevantes --> +<!-- Útil: https://www.w3.org/TR/WD-math-970515/section6.html --> + <variablelist><varlistentry><term><indexterm role="fn"><primary>\|</primary></indexterm><literal>\|</literal> -</term><listitem><para><inlineequation><mathphrase>\|</mathphrase></inlineequation> +</term><listitem><para>∥ Paralelo (relación). Sinónimo: <literal>\parallel</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\aleph</primary></indexterm><literal>\aleph</literal> -</term><listitem><para><inlineequation><mathphrase>\aleph</mathphrase></inlineequation> +</term><listitem><para>ℵ Aleph, cardinal transfinito (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\alpha</primary></indexterm><literal>\alpha</literal> -</term><listitem><para><inlineequation><mathphrase>\alpha</mathphrase></inlineequation> +</term><listitem><para>α Letra griega alfa minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\amalg</primary></indexterm><literal>\amalg</literal> -</term><listitem><para><inlineequation><mathphrase>\amalg</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⨿ Unión disjunta (binaria) </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\angle</primary></indexterm><literal>\angle</literal> -</term><listitem><para><inlineequation><mathphrase>\angle</mathphrase></inlineequation> +</term><listitem><para>∠ Ángulo geométrico (común). Similar: less-than +sign <literal><</literal> y salto de línea angular <literal>\langle</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\approx</primary></indexterm><literal>\approx</literal> -</term><listitem><para><inlineequation><mathphrase>\approx</mathphrase></inlineequation> (relación) +</term><listitem><para>≈ Casi igual a (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ast</primary></indexterm><literal>\ast</literal> -</term><listitem><para><inlineequation><mathphrase>\ast</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∗ Operador asterisco, convolución, seis puntas +(binario). Sinónimo: <literal>*</literal>, que suele ser un superíndice o +subíndice, como en la estrella Kleene. Similar <literal>\star</literal>, que +es de cinco puntas, y a veces se usa como una operación binaria +general, y a veces reservado para la correlación cruzada. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\asymp</primary></indexterm><literal>\asymp</literal> -</term><listitem><para><inlineequation><mathphrase>\asymp</mathphrase></inlineequation> (relación) +</term><listitem><para>≍ Asintóticamente equivalente (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\backslash</primary></indexterm><literal>\backslash</literal> -</term><listitem><para>\ (delimitador) +</term><listitem><para>\ Barra invertida (común). Similar: set +minus <literal>\setminus</literal>, y <literal>\textbackslash</literal> para barra +invertida fuera del modo matemático. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\beta</primary></indexterm><literal>\beta</literal> -</term><listitem><para><inlineequation><mathphrase>\beta</mathphrase></inlineequation> +</term><listitem><para>β Letra griega minúscula beta (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigcap</primary></indexterm><literal>\bigcap</literal> -</term><listitem><para><inlineequation><mathphrase>\bigcap</mathphrase></inlineequation> +</term><listitem><para>⋂ Intersección (operador) de tamaño variable o +n-ario. Similar: intersección binaria <literal>\cap</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigcirc</primary></indexterm><literal>\bigcirc</literal> -</term><listitem><para><inlineequation><mathphrase>\bigcirc</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⚪ Círculo, más grande (binario). Similar: función +composición <literal>\circ</literal>. +<!-- bb ¿El mejor símbolo Unicode para esto? --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigcup</primary></indexterm><literal>\bigcup</literal> -</term><listitem><para><inlineequation><mathphrase>\bigcup</mathphrase></inlineequation> +</term><listitem><para>⋃ Unión (operador) de tamaño variable o +n-aria. Similar: binario union <literal>\cup</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigodot</primary></indexterm><literal>\bigodot</literal> -</term><listitem><para><inlineequation><mathphrase>\bigodot</mathphrase></inlineequation> +</term><listitem><para>⨀ Operador de punto en un círculo de tamaño variable +u (operador) n-ario. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigoplus</primary></indexterm><literal>\bigoplus</literal> -</term><listitem><para><inlineequation><mathphrase>\bigoplus</mathphrase></inlineequation> +</term><listitem><para>⨁ Operador más (operador) de tamaño variable, o +n-ario, dentro de un círculo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigotimes</primary></indexterm><literal>\bigotimes</literal> -</term><listitem><para><inlineequation><mathphrase>\bigotimes</mathphrase></inlineequation> +</term><listitem><para>⨂ Operador de tiempo dentro de un círculo de +tamaño variable, u (operador) n-ario. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigtriangledown</primary></indexterm><literal>\bigtriangledown</literal> -</term><listitem><para><inlineequation><mathphrase>\bigtriangledown</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>▽ Triángulo abierto de tamaño variable o +n-ary apuntando hacia abajo (binario). Sinónimo: +<replaceable>\varbigtriangledown</replaceable>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigtriangleup</primary></indexterm><literal>\bigtriangleup</literal> -</term><listitem><para><inlineequation><mathphrase>\bigtriangleup</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>△ Triángulo abierto de tamaño variable o +n-ary apuntando hacia arriba (binario). Sinónimo: +<replaceable>\varbigtriangleup</replaceable>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigsqcup</primary></indexterm><literal>\bigsqcup</literal> -</term><listitem><para><inlineequation><mathphrase>\bigsqcup</mathphrase></inlineequation> +</term><listitem><para>⨆ Unión cuadrada de tamaño variable u (operador) +n-ario. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\biguplus</primary></indexterm><literal>\biguplus</literal> -</term><listitem><para><inlineequation><mathphrase>\biguplus</mathphrase></inlineequation> +</term><listitem><para>⨄ Operador de unión de tamaño variable, o n-ario, +con un signo más (operador). (Ten en cuenta que el nombre solo tiene +una p). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigcap</primary></indexterm><literal>\bigcap</literal> -</term><listitem><para><inlineequation><mathphrase>\bigvee</mathphrase></inlineequation> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigvee</primary></indexterm><literal>\bigvee</literal> +</term><listitem><para>⋁ De tamaño variable, o n-ario, u (operador) lógico. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bigwedge</primary></indexterm><literal>\bigwedge</literal> -</term><listitem><para><inlineequation><mathphrase>\bigwedge</mathphrase></inlineequation> +</term><listitem><para>⋀ De tamaño variable, o n-ario, y lógico +(operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bot</primary></indexterm><literal>\bot</literal> -</term><listitem><para><inlineequation><mathphrase>\bot</mathphrase></inlineequation> +</term><listitem><para>⊥, arriba, abajo, elemento mínimo de un conjunto de elementos +parcialmente ordenado, o una contradicción (común). Consulta +también <literal>\top</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bowtie</primary></indexterm><literal>\bowtie</literal> -</term><listitem><para><inlineequation><mathphrase>\bowtie</mathphrase></inlineequation> (relación) +</term><listitem><para>⋈ Unión natural de dos relaciones (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Box</primary></indexterm><literal>\Box</literal> -</term><listitem><para>(símbolo de caja cuadrada abierta) <!-- xx no en el simple --> +</term><listitem><para>□ Operador modal por necesidad; caja cuadrada abierta +(común). No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. +<!-- bb ¿El mejor equivalente Unicode? --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bullet</primary></indexterm><literal>\bullet</literal> -</term><listitem><indexterm role="cp"><primary>símbolo bala</primary></indexterm> -<para><inlineequation><mathphrase>\bullet</mathphrase></inlineequation> (operación binaria) +</term><listitem><indexterm role="cp"><primary>símbolo de bala</primary></indexterm> +<para>• Viñeta (binario). Similar: multiplicación +dot <literal>\cdot</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cap</primary></indexterm><literal>\cap</literal> -</term><listitem><para><inlineequation><mathphrase>\cap</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∩ Intersección de dos conjuntos (binario). Similar: de +tamaño variable operator <literal>\bigcap</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cdot</primary></indexterm><literal>\cdot</literal> -</term><listitem><para><inlineequation><mathphrase>\cdot</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⋅ Multiplicación (binario). Similar: Bala +dot <literal>\bullet</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\chi</primary></indexterm><literal>\chi</literal> -</term><listitem><para><inlineequation><mathphrase>\chi</mathphrase></inlineequation> +</term><listitem><para>χ Chi griego minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\circ</primary></indexterm><literal>\circ</literal> -</term><listitem><para><inlineequation><mathphrase>\circ</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∘ Composición de funciones, operador de anillo +(binario). Similar: operator <literal>\bigcirc</literal> de tamaño +variable. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\clubsuit</primary></indexterm><literal>\clubsuit</literal> -</term><listitem><para><inlineequation><mathphrase>\clubsuit</mathphrase></inlineequation> +</term><listitem><para>♣ Palo de la carta del club (común). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\complement</primary></indexterm><literal>\complement</literal> +</term><listitem><para>∁, Complemento de conjunto, usado como superíndice como en +<literal>$S^\complement$</literal> (común). No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. También +usado: <literal>$S^{\mathsf{c}}$</literal> or <literal>$\bar{S}$</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cong</primary></indexterm><literal>\cong</literal> -</term><listitem><para><inlineequation><mathphrase>\cong</mathphrase></inlineequation> (relación) +</term><listitem><para>≅ Congruente (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\coprod</primary></indexterm><literal>\coprod</literal> -</term><listitem><para><inlineequation><mathphrase>\coprod</mathphrase></inlineequation> +</term><listitem><para>∐ Coproducto (operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cup</primary></indexterm><literal>\cup</literal> -</term><listitem><para><inlineequation><mathphrase>\cup</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∪ Unión de dos conjuntos (binario). Similar: de tamaño +variable operator <literal>\bigcup</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dagger</primary></indexterm><literal>\dagger</literal> -</term><listitem><para><inlineequation><mathphrase>\dagger</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>† Relación Dagger (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dashv</primary></indexterm><literal>\dashv</literal> -</term><listitem><para><inlineequation><mathphrase>\dashv</mathphrase></inlineequation> (relación) +</term><listitem><para>⊣ Guión con torniquete invertido vertical (relación). +Similar: turnstile <literal>\vdash</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddagger</primary></indexterm><literal>\ddagger</literal> -</term><listitem><para><inlineequation><mathphrase>\dagger</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>‡ Relación de doble daga (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Delta</primary></indexterm><literal>\Delta</literal> -</term><listitem><para><inlineequation><mathphrase>\Delta</mathphrase></inlineequation> +</term><listitem><para>Δ Delta mayúscula griega, usado para incremento +(común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\delta</primary></indexterm><literal>\delta</literal> -</term><listitem><para><inlineequation><mathphrase>\delta</mathphrase></inlineequation> +</term><listitem><para>δ Delta minúscula griega (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Diamond</primary></indexterm><literal>\Diamond</literal> -</term><listitem><para><inlineequation><mathphrase>\diamond</mathphrase></inlineequation> más grande <!-- xx no en el simple --> +</term><listitem><para>◇ Operador de diamante grande (común). +No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\diamond</primary></indexterm><literal>\diamond</literal> -</term><listitem><para><inlineequation><mathphrase>\diamond</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⋄ Operador de diamante (binario). Similar: large +diamond <literal>\Diamond</literal>, encierra en un círculo +bullet <literal>\bullet</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\diamondsuit</primary></indexterm><literal>\diamondsuit</literal> -</term><listitem><para><inlineequation><mathphrase>\diamondsuit</mathphrase></inlineequation> +</term><listitem><para>♢ Palo de carta diamante (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\div</primary></indexterm><literal>\div</literal> -</term><listitem><para><inlineequation><mathphrase>\div</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>÷ Signo de división (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\doteq</primary></indexterm><literal>\doteq</literal> -</term><listitem><para><inlineequation><mathphrase>\doteq</mathphrase></inlineequation> (relación) +</term><listitem><para>≐ Se acerca al límite (relación). Similar: +geométricamente igual to <literal>\Doteq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\downarrow</primary></indexterm><literal>\downarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\downarrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>↓ Flecha hacia abajo, converge (relación). +Similar: <literal>\Downarrow</literal> flecha hacia abajo de doble línea. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Downarrow</primary></indexterm><literal>\Downarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Downarrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⇓ Flecha hacia abajo de doble línea (relación). +Similar: <literal>\downarrow</literal> flecha hacia abajo de una sola línea. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ell</primary></indexterm><literal>\ell</literal> -</term><listitem><para><inlineequation><mathphrase>\ell</mathphrase></inlineequation> +</term><listitem><para>ℓ Letra cursiva minúscula l (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\emptyset</primary></indexterm><literal>\emptyset</literal> -</term><listitem><para><inlineequation><mathphrase>\emptyset</mathphrase></inlineequation> +</term><listitem><para>∅ Símbolo de conjunto vacío (común). La forma +variante es <literal>\varnothing</literal>. +<!-- bb ¿Por qué Unicode tiene \revemptyset pero no \emptyset? --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\epsilon</primary></indexterm><literal>\epsilon</literal> -</term><listitem><para><inlineequation><mathphrase>\epsilon</mathphrase></inlineequation> +</term><listitem><para>ϵ Epsilon semilunar en minúsculas +(común). Similar a Letra de texto griego. Más ampliamente +utilizado en matemáticas es el script en letra pequeña épsilon +<literal>\varepsilon</literal> ε. Relacionado: la +relación de pertenencia del conjunto <literal>\in</literal> ∈. +<!-- src: David Carlisle http://tex.stackexchange.com/a/98018/339 y --> +<!-- Unicode referenciado allí afirma que varepsilon se usa mucho más --> +<!-- ampliamente. --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\equiv</primary></indexterm><literal>\equiv</literal> -</term><listitem><para><inlineequation><mathphrase>\equiv</mathphrase></inlineequation> (relación) +</term><listitem><para>≡ Equivalencia (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\eta</primary></indexterm><literal>\eta</literal> -</term><listitem><para><inlineequation><mathphrase>\eta</mathphrase></inlineequation> +</term><listitem><para>η Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\exists</primary></indexterm><literal>\exists</literal> -</term><listitem><para><inlineequation><mathphrase>\exists</mathphrase></inlineequation> +</term><listitem><para>∃ Cuantificador existencial (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\flat</primary></indexterm><literal>\flat</literal> -</term><listitem><para><inlineequation><mathphrase>\flat</mathphrase></inlineequation> +</term><listitem><para>♭ Bemol musical (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\forall</primary></indexterm><literal>\forall</literal> -</term><listitem><para><inlineequation><mathphrase>\forall</mathphrase></inlineequation> +</term><listitem><para>∀ Cuantificador universal (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\frown</primary></indexterm><literal>\frown</literal> -</term><listitem><para><inlineequation><mathphrase>\frown</mathphrase></inlineequation> (relacion) +</term><listitem><para>⌢ Arco curvo hacia abajo (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Gamma</primary></indexterm><literal>\Gamma</literal> -</term><listitem><para><inlineequation><mathphrase>\Gamma</mathphrase></inlineequation> +</term><listitem><para>Γ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\gamma</primary></indexterm><literal>\gamma</literal> -</term><listitem><para><inlineequation><mathphrase>\gamma</mathphrase></inlineequation> +</term><listitem><para>γ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ge</primary></indexterm><literal>\ge</literal> -</term><listitem><para><inlineequation><mathphrase>\ge</mathphrase></inlineequation> +</term><listitem><para>≥ Mayor o igual que (relación). este es un sinónimo +for <literal>\geq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\geq</primary></indexterm><literal>\geq</literal> -</term><listitem><para><inlineequation><mathphrase>\geq</mathphrase></inlineequation> (relación) +</term><listitem><para>≥ Mayor o igual que (relación). este es un sinónimo +for <literal>\ge</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\gets</primary></indexterm><literal>\gets</literal> -</term><listitem><para><inlineequation><mathphrase>\gets</mathphrase></inlineequation> +</term><listitem><para>← Se le asigna el valor (relación). +Sinónimo: <literal>\leftarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\gg</primary></indexterm><literal>\gg</literal> -</term><listitem><para><inlineequation><mathphrase>\gg</mathphrase></inlineequation> (relación) +</term><listitem><para>≫ Mucho mayor que (relación). Similar: mucho menos +que <literal>\ll</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hbar</primary></indexterm><literal>\hbar</literal> -</term><listitem><para><inlineequation><mathphrase>\hbar</mathphrase></inlineequation> +</term><listitem><para>ℏ Constante de Planck sobre dos pi (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\heartsuit</primary></indexterm><literal>\heartsuit</literal> -</term><listitem><para><inlineequation><mathphrase>\heartsuit</mathphrase></inlineequation> +</term><listitem><para>♡ Palo de cartas de corazón (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hookleftarrow</primary></indexterm><literal>\hookleftarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\hookleftarrow</mathphrase></inlineequation> +</term><listitem><para>↩ Flecha izquierda enganchada (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hookrightarrow</primary></indexterm><literal>\hookrightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\hookrightarrow</mathphrase></inlineequation> +</term><listitem><para>↪ Flecha derecha enganchada (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\iff</primary></indexterm><literal>\iff</literal> -</term><listitem><para><inlineequation><mathphrase>\iff</mathphrase></inlineequation> +</term><listitem><para>⟷ Si y solo si (relación). Es +<literal>\Longleftrightarrow</literal> con un <literal>\thickmuskip</literal> a cada lado. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Im</primary></indexterm><literal>\Im</literal> -</term><listitem><para><inlineequation><mathphrase>\Im</mathphrase></inlineequation> +</term><listitem><para>ℑ Parte imaginaria (común). Ve: parte +real <literal>\Re</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\imath</primary></indexterm><literal>\imath</literal> +</term><listitem><indexterm role="cp"><primary>i sin punto, matemáticas</primary></indexterm> +<para>i sin punto; se usa cuando pones un acento en una i (véase <link linkend="Acentos-matem_00e1ticos">Acentos +matemáticos</link>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\in</primary></indexterm><literal>\in</literal> -</term><listitem><para><inlineequation><mathphrase>\in</mathphrase></inlineequation> (relación) +</term><listitem><para>∈ Establecer elemento (relación). Ve también: semilunar +minúscula epsilon <literal>\epsilon</literal>ϵ y letra +minúscula epsilon <literal>\varepsilon</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\infty</primary></indexterm><literal>\infty</literal> -</term><listitem><para><inlineequation><mathphrase>\infty</mathphrase></inlineequation> +</term><listitem><para>∞ Infinito (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\int</primary></indexterm><literal>\int</literal> -</term><listitem><para><inlineequation><mathphrase>\int</mathphrase></inlineequation> +</term><listitem><para>∫ Integral (operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\iota</primary></indexterm><literal>\iota</literal> -</term><listitem><para><inlineequation><mathphrase>\iota</mathphrase></inlineequation> +</term><listitem><para>ι Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Join</primary></indexterm><literal>\Join</literal> -</term><listitem><para>símbolo de corbata de moño condensado (relación) <!-- xx no en el simple --> +</term><listitem><para>⨝ Símbolo de corbatín condensado (relación). No +disponible en &tex; estándar. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\jmath</primary></indexterm><literal>\jmath</literal> +</term><listitem><indexterm role="cp"><primary>j sin punto, matemáticas</primary></indexterm> +<para>J sin punto; se usa cuando pones un acento en una j (véase <link linkend="Acentos-matem_00e1ticos">Acentos +matemáticos</link>). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\kappa</primary></indexterm><literal>\kappa</literal> -</term><listitem><para><inlineequation><mathphrase>\kappa</mathphrase></inlineequation> +</term><listitem><para>κ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Lambda</primary></indexterm><literal>\Lambda</literal> -</term><listitem><para><inlineequation><mathphrase>\Lambda</mathphrase></inlineequation> +</term><listitem><para>Λ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lambda</primary></indexterm><literal>\lambda</literal> -</term><listitem><para><inlineequation><mathphrase>\lambda</mathphrase></inlineequation> +</term><listitem><para>λ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\land</primary></indexterm><literal>\land</literal> -</term><listitem><para><inlineequation><mathphrase>\land</mathphrase></inlineequation> +</term><listitem><para>∧ Lógico y (binario). Sinónimo: <literal>\wedge</literal>. +Consulta también or lógico <literal>\lor</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\langle</primary></indexterm><literal>\langle</literal> -</term><listitem><para><inlineequation><mathphrase>\langle</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⟨ Ángulo izquierdo, o secuencia, corchete (apertura). +Similar: menos-que <literal><</literal>. Coincide con <literal>\rangle</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lbrace</primary></indexterm><literal>\lbrace</literal> -</term><listitem><para><inlineequation><mathphrase>\lbrace</mathphrase></inlineequation> (delimitador) +</term><listitem><para>{ Llave izquierda +(apertura). Sinónimo: <literal>\{</literal>. Coincide +con <literal>\rbrace</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lbrack</primary></indexterm><literal>\lbrack</literal> -</term><listitem><para><inlineequation><mathphrase>\lbrack</mathphrase></inlineequation> (delimitador) +</term><listitem><para>[ Corchete izquierdo (apertura). +Sinónimo: <literal>[</literal>. Coincide con <literal>\rbrack</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lceil</primary></indexterm><literal>\lceil</literal> -</term><listitem><para><inlineequation><mathphrase>\lceil</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⌈ Soporte de techo izquierdo, como un corchete pero +con la parte inferior rasurada (apertura). Coincide +con <literal>\rceil</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\le</primary></indexterm><literal>\le</literal> -</term><listitem><para><inlineequation><mathphrase>\le</mathphrase></inlineequation> +</term><listitem><para>≤ Menor o igual que (relación). Este es un sinónimo +para <literal>\leq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leadsto</primary></indexterm><literal>\leadsto</literal> -</term><listitem><!-- xx falta de simple --> - +</term><listitem><para>⇝ Flecha derecha ondulada (relación). Para obtener +este símbolo fuera del modo matemático, puedes poner +<literal>\newcommand*{\Leadsto}{\ensuremath{\leadsto}}</literal> en el +preámbulo y entonces usa <literal>\Leadsto</literal> en su lugar. +<!-- bb ¿El mejor equivalente Unicode? --> +</para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Leftarrow</primary></indexterm><literal>\Leftarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Leftarrow</mathphrase></inlineequation> +</term><listitem><para>⇐ Está implícito en la flecha izquierda de doble +línea (relación). Similar: flecha izquierda de una sola +línea <literal>\leftarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftarrow</primary></indexterm><literal>\leftarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\leftarrow</mathphrase></inlineequation> +</term><listitem><para>← Flecha izquierda de una sola línea (relación). +Sinónimo: <literal>\gets</literal>. Similar: doble línea izquierda +flecha <literal>\Leftarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftharpoondown</primary></indexterm><literal>\leftharpoondown</literal> -</term><listitem><para><inlineequation><mathphrase>\leftharpoondown</mathphrase></inlineequation> +</term><listitem><para>↽ Arpón izquierdo de una línea, lengüeta +debajo de la lengüeta (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftharpoonup</primary></indexterm><literal>\leftharpoonup</literal> -</term><listitem><para><inlineequation><mathphrase>\leftharpoonup</mathphrase></inlineequation> +</term><listitem><para>↼ Arpón izquierdo de una línea, púa sobre +barra (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Leftrightarrow</primary></indexterm><literal>\Leftrightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Leftrightarrow</mathphrase></inlineequation> +</term><listitem><para>⇔ Biimplicación; flecha de dos puntas de +doble línea (relación). Similar: flecha de dos puntas de una sola +línea <literal>\leftrightarrow</literal>. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Leftrightarrow</primary></indexterm><literal>\Leftrightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Leftrightarrow</mathphrase></inlineequation> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leftrightarrow</primary></indexterm><literal>\leftrightarrow</literal> +</term><listitem><para>↔ Flecha de dos puntas de una sola línea +(relación). Similar: doble línea flecha de dos +puntas <literal>\Leftrightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\leq</primary></indexterm><literal>\leq</literal> -</term><listitem><para><inlineequation><mathphrase>\leq</mathphrase></inlineequation> (relación) +</term><listitem><para>≤ Menor o igual que (relación). Este es un sinónimo +para <literal>\le</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lfloor</primary></indexterm><literal>\lfloor</literal> -</term><listitem><para><inlineequation><mathphrase>\lfloor</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⌊ Soporte de piso izquierdo +(apertura). Coincidencia: <literal>\floor</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lhd</primary></indexterm><literal>\lhd</literal> -</term><listitem><para>(flecha apuntando hacia arriba a la izquierda) <!-- xx no en el simple --> +</term><listitem><para>◁ Punta de flecha, es decir, triángulo, apuntando a la +izquierda (binario). Para el símbolo de subgrupo normal, debe cargar +<literal>amssymb</literal> y usa <literal>\vartriangleleft</literal> (que es una +relación y así da un mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ll</primary></indexterm><literal>\ll</literal> -</term><listitem><para><inlineequation><mathphrase>\ll</mathphrase></inlineequation> (relación) +</term><listitem><para>≪ Mucho menos que (relación). Similar: mucho mayor +que <literal>\gg</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lnot</primary></indexterm><literal>\lnot</literal> -</term><listitem><para><inlineequation><mathphrase>\lnot</mathphrase></inlineequation> +</term><listitem><para>¬ Negación lógica +(común). Sinónimo: <literal>\neg</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\longleftarrow</primary></indexterm><literal>\longleftarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\longleftarrow</mathphrase></inlineequation> +</term><listitem><para>⟵ Flecha izquierda larga de una sola línea +(relación). Similar: largo flecha izquierda de doble +línea <literal>\Longleftarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\longleftrightarrow</primary></indexterm><literal>\longleftrightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\longleftrightarrow</mathphrase></inlineequation> +</term><listitem><para>⟷ Flecha larga de dos puntas de una sola +línea (relación). Similar: larga doble línea flecha de dos +puntas <literal>\Longleftrightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\longmapsto</primary></indexterm><literal>\longmapsto</literal> -</term><listitem><para><inlineequation><mathphrase>\longmapsto</mathphrase></inlineequation> +</term><listitem><para>⟼ Flecha izquierda larga de una sola línea que +comienza con una barra vertical (relación). Similar: versión más +corta <literal>\mapsto</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\longrightarrow</primary></indexterm><literal>\longrightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\longrightarrow</mathphrase></inlineequation> +</term><listitem><para>⟶ Flecha derecha larga de una sola línea +(relación). Similar: largo flecha derecha de doble +línea <literal>\Longrightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lor</primary></indexterm><literal>\lor</literal> -</term><listitem><para><inlineequation><mathphrase>\lor</mathphrase></inlineequation> +</term><listitem><para>∨ Lógico o (binario). Sinónimo: <literal>\vee</literal>. +Consulta también y lógico <literal>\land</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mapsto</primary></indexterm><literal>\mapsto</literal> -</term><listitem><para><inlineequation><mathphrase>\mapsto</mathphrase></inlineequation> +</term><listitem><para>↦ Flecha izquierda de una sola línea que comienza con +una barra vertical (relación). Similar: versión más +larga <literal>\longmapsto</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mho</primary></indexterm><literal>\mho</literal> -</term><listitem><!-- xx no en el simple --> - +</term><listitem><para>℧ Conductancia, semicírculo omega mayúscula girada +(común). +</para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mid</primary></indexterm><literal>\mid</literal> -</term><listitem><para><inlineequation><mathphrase>\mid</mathphrase></inlineequation> (relación) +</term><listitem><para>∣ Barra vertical de una línea (relación). Un uso típico +de <literal>\mid</literal> es para un conjunto <literal>\{\, x \mid x\geq 5 \,\}</literal>. +</para> +<para>Similar: <literal>\vert</literal> y <literal>|</literal> producen la misma línea única de +símbolo de barra vertical pero sin ningún espacio (caen en la clase +ordinarios) y no los debes usar como relaciones, sino solo como +ordinales, es decir, símbolos de notas al pie. Para el valor +absoluto, consulta la entrada para <literal>\vert</literal> y por norma ve la +entrada para <literal>\Vert</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\models</primary></indexterm><literal>\models</literal> -</term><listitem><para><inlineequation><mathphrase>\models</mathphrase></inlineequation> (relación) +</term><listitem><para>⊨ Implica o satisface; torniquete doble, guión doble +corto (relación). Similar: guión doble largo <literal>\vDash</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mp</primary></indexterm><literal>\mp</literal> -</term><listitem><para><inlineequation><mathphrase>\mp</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∓ Menos o más (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mu</primary></indexterm><literal>\mu</literal> -</term><listitem><para><inlineequation><mathphrase>\mu</mathphrase></inlineequation> +</term><listitem><para>μ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\nabla</primary></indexterm><literal>\nabla</literal> -</term><listitem><para><inlineequation><mathphrase>\nabla</mathphrase></inlineequation> +</term><listitem><para>∇ Operador del, o diferencial, de Hamilton +(común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\natural</primary></indexterm><literal>\natural</literal> -</term><listitem><para><inlineequation><mathphrase>\natural</mathphrase></inlineequation> +</term><listitem><para>♮ Notación musical natural (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ne</primary></indexterm><literal>\ne</literal> -</term><listitem><para><inlineequation><mathphrase>\ne</mathphrase></inlineequation> +</term><listitem><para>≠ No es igual (relación). Sinónimo: <literal>\neq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\nearrow</primary></indexterm><literal>\nearrow</literal> -</term><listitem><para><inlineequation><mathphrase>\nearrow</mathphrase></inlineequation> +</term><listitem><para>↗ Flecha noreste (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\neg</primary></indexterm><literal>\neg</literal> -</term><listitem><para><inlineequation><mathphrase>\neg</mathphrase></inlineequation> +</term><listitem><para>¬ Negación lógica (común). +Sinónimo: <literal>\lnot</literal>. A veces, en cambio, se usa para +negación: <literal>\sim</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\neq</primary></indexterm><literal>\neq</literal> -</term><listitem><para><inlineequation><mathphrase>\neq</mathphrase></inlineequation> (relación) +</term><listitem><para>≠ No es igual (relación). Sinónimo: <literal>\ne</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ni</primary></indexterm><literal>\ni</literal> -</term><listitem><para><inlineequation><mathphrase>\ni</mathphrase></inlineequation> (relación) +</term><listitem><para>∋ Membresía reflejada épsilon; tiene el miembro +(relación). Sinónimo: <literal>\owns</literal>. Similar: es un miembro +de <literal>\in</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\not</primary></indexterm><literal>\not</literal> -</term><listitem><para>Superpone una / al siguiente operador, tal como <inlineequation><mathphrase>\not=</mathphrase></inlineequation>. +</term><listitem><!-- las "@ " se colocan en espacios para que la barra no llegue al --> +<!-- siguiente caracter. --> +<para>     Sólido largo, o barra oblicua, que se usa para +tachar un siguiente operador (relación). +</para> +<para>Muchos operadores negados están disponibles que no requieren +<literal>\not</literal>, particularmente con el paquete <literal>amssymb</literal>. Por +ejemplo, <literal>\notin</literal> es tipográficamente preferible a +<literal>\not\in</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\notin</primary></indexterm><literal>\notin</literal> -</term><listitem><para><inlineequation><mathphrase>\ni</mathphrase></inlineequation> +</term><listitem><para>∉ No es un elemento de (relación). Similar: no +subconjunto de <literal>\nsubseteq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\nu</primary></indexterm><literal>\nu</literal> -</term><listitem><para><inlineequation><mathphrase>\nu</mathphrase></inlineequation> +</term><listitem><para>ν Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\nwarrow</primary></indexterm><literal>\nwarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\nwarrow</mathphrase></inlineequation> +</term><listitem><para>↖ Flecha noroeste (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\odot</primary></indexterm><literal>\odot</literal> -</term><listitem><para><inlineequation><mathphrase>\odot</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊙ Punto dentro de un círculo (binario). Similar: de +tamaño variable operador <literal>\bigodot</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\oint</primary></indexterm><literal>\oint</literal> -</term><listitem><para><inlineequation><mathphrase>\oint</mathphrase></inlineequation> +</term><listitem><para>∮ Integral de contorno, integral con círculo en el +medio (operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Omega</primary></indexterm><literal>\Omega</literal> -</term><listitem><para><inlineequation><mathphrase>\Omega</mathphrase></inlineequation> +</term><listitem><para>Ω letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\omega</primary></indexterm><literal>\omega</literal> -</term><listitem><para><inlineequation><mathphrase>\omega</mathphrase></inlineequation> +</term><listitem><para>ω Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ominus</primary></indexterm><literal>\ominus</literal> -</term><listitem><para><inlineequation><mathphrase>\ominus</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊖ Signo menos, o guión, dentro de un círculo +(binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\oplus</primary></indexterm><literal>\oplus</literal> -</term><listitem><para><inlineequation><mathphrase>\oplus</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊕ Signo más dentro de un círculo (binario). Similar: +de tamaño variable operador <literal>\bigoplus</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\oslash</primary></indexterm><literal>\oslash</literal> -</term><listitem><para><inlineequation><mathphrase>\oslash</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊘ Solidus, o slash, dentro de un círculo (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\otimes</primary></indexterm><literal>\otimes</literal> -</term><listitem><para><inlineequation><mathphrase>\otimes</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊗ Signo de tiempo, o cruz, dentro de un círculo +(binario). Similar: operador de tamaño +variable <literal>\bigotimes</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\owns</primary></indexterm><literal>\owns</literal> -</term><listitem><para><inlineequation><mathphrase>\owns</mathphrase></inlineequation> +</term><listitem><para>∋ épsilon de membresía reflejada; tiene el miembro +(relación). Sinónimo: <literal>\ni</literal>. Similar: es un miembro +de <literal>\in</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\parallel</primary></indexterm><literal>\parallel</literal> -</term><listitem><para><inlineequation><mathphrase>\parallel</mathphrase></inlineequation> (relación) +</term><listitem><para>∥ Paralelo (relación). Sinónimo: <literal>\|</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\partial</primary></indexterm><literal>\partial</literal> -</term><listitem><para><inlineequation><mathphrase>\partial</mathphrase></inlineequation> +</term><listitem><para>∂ Diferencial parcial (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\perp</primary></indexterm><literal>\perp</literal> -</term><listitem><para><inlineequation><mathphrase>\perp</mathphrase></inlineequation> (relación) +</term><listitem><para>⟂ Perpendicular (relación). Similar: <literal>\bot</literal> +usa el mismo glifo pero el espaciado es diferente porque está en la +clase común. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Phi</primary></indexterm><literal>\Phi</literal> +</term><listitem><para>Φ Letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\phi</primary></indexterm><literal>\phi</literal> -</term><listitem><para><inlineequation><mathphrase>\phi</mathphrase></inlineequation> +</term><listitem><para>ϕ Letra griega minúscula (común). La forma variante +es <literal>\varphi</literal> φ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Pi</primary></indexterm><literal>\Pi</literal> -</term><listitem><para><inlineequation><mathphrase>\Pi</mathphrase></inlineequation> +</term><listitem><para>Π letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pi</primary></indexterm><literal>\pi</literal> -</term><listitem><para><inlineequation><mathphrase>\pi</mathphrase></inlineequation> +</term><listitem><para>π Letra griega minúscula (común). La forma variante +es <literal>\varpi</literal> ϖ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pm</primary></indexterm><literal>\pm</literal> -</term><listitem><para><inlineequation><mathphrase>\pm</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>± Más o menos (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\prec</primary></indexterm><literal>\prec</literal> -</term><listitem><para><inlineequation><mathphrase>\prec</mathphrase></inlineequation> (relación) +</term><listitem><para>≺ Precede (relación). Similar: menor que <literal><</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\preceq</primary></indexterm><literal>\preceq</literal> -</term><listitem><para><inlineequation><mathphrase>\preceq</mathphrase></inlineequation> (relación) +</term><listitem><para>⪯ Precede o es igual a (relación). Similar: menor que +o igual a <literal>\leq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\prime</primary></indexterm><literal>\prime</literal> -</term><listitem><para><inlineequation><mathphrase>\prime</mathphrase></inlineequation> +</term><listitem><para>′ Prime, o minuto en una expresión de tiempo +(común). Normalmente se usa como un superíndice: +<literal>$f^\prime$</literal>; <literal>$f^\prime$</literal> y <literal>$f'$</literal> producen el mismo +resultado. Una ventaja del segundo es que <literal>$f'''$</literal> produce el +símbolo deseado, es decir, el mismo resultado como +<literal>$f^{\prime\prime\prime}$</literal>, pero usa bastante menos +mecanografía. Solo puedes usar <literal>\prime</literal> en modo math. Usando la +comilla derecha simple <literal>'</literal> en modo texto produce un carácter +diferente (apóstrofe). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\prod</primary></indexterm><literal>\prod</literal> -</term><listitem><para><inlineequation><mathphrase>\prod</mathphrase></inlineequation> +</term><listitem><para>∏ Producto (operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\propto</primary></indexterm><literal>\propto</literal> -</term><listitem><para><inlineequation><mathphrase>\propto</mathphrase></inlineequation> (relación) +</term><listitem><para>∝ Es proporcional a (relación) </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Psi</primary></indexterm><literal>\Psi</literal> -</term><listitem><para><inlineequation><mathphrase>\Psi</mathphrase></inlineequation> +</term><listitem><para>Ψ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\psi</primary></indexterm><literal>\psi</literal> -</term><listitem><para><inlineequation><mathphrase>\psi</mathphrase></inlineequation> +</term><listitem><para>ψ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rangle</primary></indexterm><literal>\rangle</literal> -</term><listitem><para><inlineequation><mathphrase>\rangle</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⟩ Ángulo recto, o secuencia, corchete (cierre). +Similar: mayor que <literal>></literal>. Coincidencia:<literal>\langle</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rbrace</primary></indexterm><literal>\rbrace</literal> -</term><listitem><para><inlineequation><mathphrase>\rbrace</mathphrase></inlineequation> (delimitador) +</term><listitem><para>} Llave derecha (de +cierre). Sinónimo: <literal>\}</literal>. Coincide con <literal>\lbrace</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rbrack</primary></indexterm><literal>\rbrack</literal> -</term><listitem><para><inlineequation><mathphrase>\rbrack</mathphrase></inlineequation> (delimitador) +</term><listitem><para>] Corchete derecho (de +cierre). Sinónimo: <literal>]</literal>. Coincide con <literal>\lbrack</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rceil</primary></indexterm><literal>\rceil</literal> -</term><listitem><para><inlineequation><mathphrase>\rceil</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⌉ Soporte de techo derecho (cierre). Coincide +con <literal>\lceil</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Re</primary></indexterm><literal>\Re</literal> -</term><listitem><para><inlineequation><mathphrase>\Re</mathphrase></inlineequation> +</term><listitem><para>ℜ Parte real, números reales, R mayúscula cursiva +(común). Relacionado: doble línea o negrita de pizarra, +R <literal>\mathbb{R}</literal>; acceder esto, carga el paquete +<literal>amsfonts</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\restriction</primary></indexterm><literal>\restriction</literal> +</term><listitem><para>↾, Restricción de una función (relación). Sinónimo: +<literal>\upharpoonright</literal>. No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\revemptyset</primary></indexterm><literal>\revemptyset</literal> +</term><listitem><para>⦰, Símbolo de conjunto vacío invertido (común). +Relacionado: <literal>\varnothing</literal>. No disponible en &tex; simple. En &latex; necesitas cargar el paquete <filename>stix</filename>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rfloor</primary></indexterm><literal>\rfloor</literal> -</term><listitem><para><inlineequation><mathphrase>\rfloor</mathphrase></inlineequation> +</term><listitem><para>⌋ Soporte de piso derecho, un corchete derecho con el +corte superior apagado (cierre). Coincide con <literal>\lfloor</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rhd</primary></indexterm><literal>\rhd</literal> -</term><listitem><para>(operación binaria) <!-- xx no en sencillo @math{\rhd} --> +</term><listitem><para>◁ Punta de flecha, es decir, triángulo, apuntando a la +derecha (binario). Para el símbolo de subgrupo normal, en su lugar, +debes cargar <literal>amssymb</literal> y use <literal>\vartriangleright</literal> +(que es una relación y así da un mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rho</primary></indexterm><literal>\rho</literal> -</term><listitem><para><inlineequation><mathphrase>\rho</mathphrase></inlineequation> +</term><listitem><para>ρ Letra griega minúscula (común). La forma variante +es <literal>\varrho</literal> ϱ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Rightarrow</primary></indexterm><literal>\Rightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Rightarrow</mathphrase></inlineequation> +</term><listitem><para>⇒ Implica, flecha de doble línea hacia la derecha +(relación). Similar: flecha derecha de una sola +línea <literal>\rightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightarrow</primary></indexterm><literal>\rightarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\rightarrow</mathphrase></inlineequation> +</term><listitem><para>→ Flecha de una sola línea que apunta hacia la +derecha (relación). Sinónimo: <literal>\to</literal>. Similar: línea doble +fecha derecha <literal>\Rightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightharpoondown</primary></indexterm><literal>\rightharpoondown</literal> -</term><listitem><para><inlineequation><mathphrase>\rightharpoondown</mathphrase></inlineequation> +</term><listitem><para>⇁ Arpón que apunta hacia la derecha con +lengüeta debajo de la línea (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightharpoonup</primary></indexterm><literal>\rightharpoonup</literal> -</term><listitem><para><inlineequation><mathphrase>\rightharpoonup</mathphrase></inlineequation> +</term><listitem><para>⇀ Arpón apuntando a la derecha con lengüeta +sobre el línea (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rightleftharpoons</primary></indexterm><literal>\rightleftharpoons</literal> -</term><listitem><para><inlineequation><mathphrase>\rightleftharpoons</mathphrase></inlineequation> +</term><listitem><para>⇌ Arpón derecho arriba arpón izquierdo +abajo (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\searrow</primary></indexterm><literal>\searrow</literal> -</term><listitem><para><inlineequation><mathphrase>\searrow</mathphrase></inlineequation> +</term><listitem><para>↘ Flecha que apunta al sureste (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\setminus</primary></indexterm><literal>\setminus</literal> -</term><listitem><para><inlineequation><mathphrase>\setminus</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⧵ Establecer diferencia, solido inverso o barra +invertida, como \ (binario). Similar: barra +inversa <literal>\backslash</literal> y también <literal>\textbackslash</literal> fuera +del modo matemático. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sharp</primary></indexterm><literal>\sharp</literal> -</term><listitem><para><inlineequation><mathphrase>\sharp</mathphrase></inlineequation> +</term><listitem><para>♯ Sostenido musical (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Sigma</primary></indexterm><literal>\Sigma</literal> -</term><listitem><para><inlineequation><mathphrase>\Sigma</mathphrase></inlineequation> +</term><listitem><para>Σ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sigma</primary></indexterm><literal>\sigma</literal> -</term><listitem><para><inlineequation><mathphrase>\sigma</mathphrase></inlineequation> +</term><listitem><para>σ Letra griega minúscula (común). La forma +variante es <literal>\varsigma</literal> ς. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sim</primary></indexterm><literal>\sim</literal> -</term><listitem><para><inlineequation><mathphrase>\sim</mathphrase></inlineequation> (relación) +</term><listitem><para>∼ Similar, en una relación (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\simeq</primary></indexterm><literal>\simeq</literal> -</term><listitem><para><inlineequation><mathphrase>\simeq</mathphrase></inlineequation> (relación) +</term><listitem><para>≃ Similar o igual a, en una relación (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\smallint</primary></indexterm><literal>\smallint</literal> -</term><listitem><para><inlineequation><mathphrase>\smallint</mathphrase></inlineequation> +</term><listitem><para>∫ Signo integral que no cambia a un tamaño mayor en +una pantalla (operador). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\smile</primary></indexterm><literal>\smile</literal> -</term><listitem><para><inlineequation><mathphrase>\smile</mathphrase></inlineequation> (relación) +</term><listitem><para>⌣ Arco curvo hacia arriba, sonrisa (normal). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\spadesuit</primary></indexterm><literal>\spadesuit</literal> -</term><listitem><para><inlineequation><mathphrase>\spadesuit</mathphrase></inlineequation> +</term><listitem><para>♠ Palo de cartas de espadas (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqcap</primary></indexterm><literal>\sqcap</literal> -</term><listitem><para><inlineequation><mathphrase>\sqcap</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊓ Símbolo de intersección cuadrada (binario). Similar: +intersección <literal>cap</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqcup</primary></indexterm><literal>\sqcup</literal> -</term><listitem><para><inlineequation><mathphrase>\sqcup</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊔ Símbolo de unión cuadrada (binario). Similar: +unión <literal>cup</literal>. Relacionado: de tamaño variable +operator <literal>\bigsqcup</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsubset</primary></indexterm><literal>\sqsubset</literal> -</term><listitem><para>(relación) <!-- no en (@math{\sqsubset}) simple --> +</term><listitem><para>⊏, símbolo de subconjunto cuadrado (relación). Similar: +subconjunto <literal>\subset</literal>. No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsubseteq</primary></indexterm><literal>\sqsubseteq</literal> -</term><listitem><para><inlineequation><mathphrase>\sqsubseteq</mathphrase></inlineequation> (relación) +</term><listitem><para>⊑ Subconjunto cuadrado o símbolo igual +(binario). Similar: subconjunto o igual a <literal>\subseteq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsupset</primary></indexterm><literal>\sqsupset</literal> -</term><listitem><para>(relación) <!-- no en (@math{\sqsupset}) simple --> +</term><listitem><para>⊐, símbolo de superconjunto cuadrado (relación). Similar: +superconjunto <literal>\supset</literal>. No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqsupseteq</primary></indexterm><literal>\sqsupseteq</literal> -</term><listitem><para><inlineequation><mathphrase>\sqsupseteq</mathphrase></inlineequation> (relación) +</term><listitem><para>⊒ Superconjunto cuadrado o símbolo igual +(binario). Similar: superconjunto o igual <literal>\supseteq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\star</primary></indexterm><literal>\star</literal> -</term><listitem><para><inlineequation><mathphrase>\star</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⋆ Estrella de cinco puntas, a veces utilizada como +binario general pero a veces reservado para la correlación cruzada +(binario). Similar: los sinónimos asterisco <literal>*</literal> y +<literal>\ast</literal>, que son de seis puntas, y más a menudo aparecen como un +superíndice o subíndice, como con la estrella Kleene. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subset</primary></indexterm><literal>\subset</literal> -</term><listitem><para><inlineequation><mathphrase>\subset</mathphrase></inlineequation> (relación) +</term><listitem><para>⊂ Subconjunto (ocasionalmente, está implícito en) +(relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\subseteq</primary></indexterm><literal>\subseteq</literal> -</term><listitem><para><inlineequation><mathphrase>\subseteq</mathphrase></inlineequation> (relación) +</term><listitem><para>⊆ Subconjunto o igual a (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\succ</primary></indexterm><literal>\succ</literal> -</term><listitem><para><inlineequation><mathphrase>\succ</mathphrase></inlineequation> (relación) +</term><listitem><para>≻ Viene después, tiene éxito (relación). Similar: es +menos que <literal>></literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\succeq</primary></indexterm><literal>\succeq</literal> -</term><listitem><para><inlineequation><mathphrase>\succeq</mathphrase></inlineequation> (relación) +</term><listitem><para>⪰ Tiene éxito o es igual a (relación). Similar: menos +que o igual a <literal>\leq</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sum</primary></indexterm><literal>\sum</literal> -</term><listitem><para><inlineequation><mathphrase>\sum</mathphrase></inlineequation> +</term><listitem><para>∑ Sumatoria (operador). Similar: capital griega +sigma <literal>\Sigma</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\supset</primary></indexterm><literal>\supset</literal> -</term><listitem><para><inlineequation><mathphrase>\supset</mathphrase></inlineequation> (relación) +</term><listitem><para>⊃ Superconjunto (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\supseteq</primary></indexterm><literal>\supseteq</literal> -</term><listitem><para><inlineequation><mathphrase>\supseteq</mathphrase></inlineequation> (relación) +</term><listitem><para>⊇ Superconjunto o igual a (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\surd</primary></indexterm><literal>\surd</literal> -</term><listitem><para><inlineequation><mathphrase>\surd</mathphrase></inlineequation> +</term><listitem><para>√ Símbolo radical (común). El comando &latex; +<literal>\sqrt{...}</literal> escribe la raíz cuadrada del argumento, con una +barra que se extiende para cubrir el argumento. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\swarrow</primary></indexterm><literal>\swarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\swarrow</mathphrase></inlineequation> +</term><listitem><para>↙ Flecha que apunta al suroeste (relación). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tau</primary></indexterm><literal>\tau</literal> -</term><listitem><para><inlineequation><mathphrase>\tau</mathphrase></inlineequation> +</term><listitem><para>τ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\theta</primary></indexterm><literal>\theta</literal> -</term><listitem><para><inlineequation><mathphrase>\theta</mathphrase></inlineequation> +</term><listitem><para>θ Letra griega minúscula (común). La forma +variante es <literal>\vartheta</literal> ϑ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\times</primary></indexterm><literal>\times</literal> -</term><listitem><para><inlineequation><mathphrase>\times</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>× Signo de multiplicación de escuela primaria +(binario). Ve también <literal>\cdot</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\to</primary></indexterm><literal>\to</literal> -</term><listitem><para><inlineequation><mathphrase>\to</mathphrase></inlineequation> +</term><listitem><para>→ Flecha de una sola línea que apunta hacia la derecha +(relación). Sinónimo: <literal>\rightarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\top</primary></indexterm><literal>\top</literal> -</term><listitem><para><inlineequation><mathphrase>\top</mathphrase></inlineequation> +</term><listitem><para>⊤ Arriba, elemento más grande de un conjunto +parcialmente ordenado (común). Consulta también <literal>\bot</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\triangle</primary></indexterm><literal>\triangle</literal> -</term><listitem><para><inlineequation><mathphrase>\triangle</mathphrase></inlineequation> +</term><listitem><para>△ Triángulo (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\triangleleft</primary></indexterm><literal>\triangleleft</literal> -</term><listitem><para><inlineequation><mathphrase>\triangleleft</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>◁ Triángulo sin rellenar que apunta hacia la +izquierda (binario). Similar: <literal>\lhd</literal>. Para el símbolo de +subgrupo normal que debe cargar <literal>amssymb</literal> y +usar <literal>\vartriangleleft</literal> (que es una relación y por lo tanto +proporciona un mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\triangleright</primary></indexterm><literal>\triangleright</literal> -</term><listitem><para><inlineequation><mathphrase>\triangleright</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>▷ Triángulo sin rellenar que apunta a la +derecha (binario). Para el símbolo de subgrupo normal, en su lugar, +debe cargar <literal>amssymb</literal> y usar <literal>\vartriangleright</literal> +(que es una relación y así da un mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\unlhd</primary></indexterm><literal>\unlhd</literal> -</term><listitem><para>punta de flecha apuntando hacia la izquierda con una línea debajo -(operación binaria) <!-- no en sencillo --> +</term><listitem><para>⊴ Punta de flecha subrayada sin relleno que apunta +hacia la izquierda, es decir, triángulo, con una línea debajo +(binario). Para el símbolo de subgrupo normal carga <literal>amssymb</literal> +y usa <literal>\vartrianglelefteq</literal> (que es una relación y por lo +tanto da mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\unrhd</primary></indexterm><literal>\unrhd</literal> -</term><listitem><para>punta de flecha apuntando hacia la derecha con línea debajo -(operación binaria) <!-- no en sencillo --> +</term><listitem><para>⊵ Punta de flecha subrayada sin relleno que apunta +hacia la derecha, es decir, triángulo, con una línea debajo +(binario). Para el símbolo de subgrupo normal carga <literal>amssymb</literal> +y usa <literal>\vartrianglerighteq</literal> (que es una relación y por lo +tanto da mejor espaciado). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Uparrow</primary></indexterm><literal>\Uparrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Uparrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⇑ Flecha de doble línea que apunta hacia arriba +(relación). Similar: apuntando hacia arriba de una sola línea +flecha <literal>\uparrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\uparrow</primary></indexterm><literal>\uparrow</literal> -</term><listitem><para><inlineequation><mathphrase>\uparrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>↑ Flecha de una sola línea que apunta hacia arriba, +diverge (relación). Similar: doble línea apuntando hacia arriba +flecha <literal>\Uparrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Updownarrow</primary></indexterm><literal>\Updownarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\Updownarrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>⇕ Flecha de doble línea que apunta hacia arriba +y hacia abajo (relación). Similar: una sola línea apuntando hacia +arriba y hacia abajo arrow <literal>\updownarrow</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\updownarrow</primary></indexterm><literal>\updownarrow</literal> -</term><listitem><para><inlineequation><mathphrase>\updownarrow</mathphrase></inlineequation> (delimitador) +</term><listitem><para>↕ Flecha de una sola línea que apunta hacia +arriba y hacia abajo (relación). Similar: doble línea apuntando hacia +arriba y hacia abajo arrow <literal>\Updownarrow</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\upharpoonright</primary></indexterm><literal>\upharpoonright</literal> +</term><listitem><para>↾, arpón levantado, con púa en el lado derecho +(relación). Sinónimo: <literal>\restriction</literal>. +No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\uplus</primary></indexterm><literal>\uplus</literal> -</term><listitem><para><inlineequation><mathphrase>\uplus</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>⊎ Unión multiconjunto, un símbolo de unión con un +símbolo más en el medio (binario). Similar: +union <literal>\cup</literal>. Relacionado: operador de tamaño +variable <literal>\biguplus</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Upsilon</primary></indexterm><literal>\Upsilon</literal> -</term><listitem><para><inlineequation><mathphrase>\Upsilon</mathphrase></inlineequation> +</term><listitem><para>Υ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\upsilon</primary></indexterm><literal>\upsilon</literal> -</term><listitem><para><inlineequation><mathphrase>\upsilon</mathphrase></inlineequation> +</term><listitem><para>υ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varepsilon</primary></indexterm><literal>\varepsilon</literal> -</term><listitem><para><inlineequation><mathphrase>\varepsilon</mathphrase></inlineequation> +</term><listitem><para>ε Epsilon de script en letra minúscula +(común). Esto es ampliamente utilizado en matemáticas que la +forma épsilon semilunar no variante +<literal>\epsilon</literal> ϵ. Relacionado: establece +membresía <literal>\in</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vanothing</primary></indexterm><literal>\vanothing</literal> +</term><listitem><para>∅, Símbolo de conjunto vacío. Similar: +<literal>\emptyset</literal>. Relacionado: +<literal>\revemptyset</literal>. No disponible en &tex; simple. En &latex; necesitas cargar el paquete <literal>amssymb</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varphi</primary></indexterm><literal>\varphi</literal> -</term><listitem><para><inlineequation><mathphrase>\varphi</mathphrase></inlineequation> +</term><listitem><para>φ Variante de la letra griega minúscula (común). +La forma no variante es <literal>\phi</literal> ϕ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varpi</primary></indexterm><literal>\varpi</literal> -</term><listitem><para><inlineequation><mathphrase>\varpi</mathphrase></inlineequation> +</term><listitem><para>ϖ Variante de la letra griega minúscula (común). +La forma no variante es <literal>\pi</literal> π. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varrho</primary></indexterm><literal>\varrho</literal> -</term><listitem><para><inlineequation><mathphrase>\varrho</mathphrase></inlineequation> +</term><listitem><para>ϱ Variante de la letra griega minúscula (común). +La forma no variante es <literal>\rho</literal> ρ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\varsigma</primary></indexterm><literal>\varsigma</literal> -</term><listitem><para><inlineequation><mathphrase>\varsigma</mathphrase></inlineequation> +</term><listitem><para>ς Variante de la letra griega minúscula (común). +La forma no variante es <literal>\sigma</literal> σ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vartheta</primary></indexterm><literal>\vartheta</literal> -</term><listitem><para><inlineequation><mathphrase>\vartheta</mathphrase></inlineequation> +</term><listitem><para>ϑ Variante de la letra griega minúscula (común). +La forma no variante es <literal>\theta</literal> θ. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vdash</primary></indexterm><literal>\vdash</literal> -</term><listitem><para><inlineequation><mathphrase>\vdash</mathphrase></inlineequation> (relation) +</term><listitem><para>⊢ Demostrable; torniquete, vertical y un guión +(relación). Similar: torniquete giró un +semicírculo <literal>\dashv</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vee</primary></indexterm><literal>\vee</literal> -</term><listitem><para><inlineequation><mathphrase>\vee</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∨ Lógico o; una forma de v hacia abajo (binario). +Relacionado: y lógico <literal>\wedge</literal>. Similar: de tamaño +variable operator <literal>\bigvee</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Vert</primary></indexterm><literal>\Vert</literal> -</term><listitem><para><inlineequation><mathphrase>\Vert</mathphrase></inlineequation> (delimitador) +</term><listitem><para>‖ Doble barra vertical (común). Véase <link linkend="Delimitadores">Delimitadores</link>, +sobre cómo usar el paquete <literal>mathtools</literal> para crear símbolos de +norma. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vert</primary></indexterm><literal>\vert</literal> -</term><listitem><para><inlineequation><mathphrase>\vert</mathphrase></inlineequation> (delimitador) +</term><listitem><para>| Barra vertical de una sola línea (común). Para “tal +que”, como en la definición de un conjunto, usa <literal>\mid</literal> +porque es una relación Véase <link linkend="Delimitadores">Delimitadores</link>, para saber cómo usar el +paquete <literal>mathtools</literal> para crear símbolos de valor absoluto de +tamaño flexible. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\wedge</primary></indexterm><literal>\wedge</literal> -</term><listitem><para><inlineequation><mathphrase>\wedge</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>∧ y lógico (binario). Sinónimo: <literal>\land</literal>. +Ve también or lógico <literal>\vee</literal>. Similar: operator de tamaño +variable <literal>\bigwedge</literal>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\wp</primary></indexterm><literal>\wp</literal> -</term><listitem><para><inlineequation><mathphrase>\wp</mathphrase></inlineequation> +</term><listitem><para>℘ Weierstrass p (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\wr</primary></indexterm><literal>\wr</literal> -</term><listitem><para><inlineequation><mathphrase>\wr</mathphrase></inlineequation> (operación binaria) +</term><listitem><para>≀ Producto de guirnalda (binario). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Xi</primary></indexterm><literal>\Xi</literal> -</term><listitem><para><inlineequation><mathphrase>\Xi</mathphrase></inlineequation> +</term><listitem><para>Ξ letra griega mayúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\xi</primary></indexterm><literal>\xi</literal> -</term><listitem><para><inlineequation><mathphrase>\xi</mathphrase></inlineequation> +</term><listitem><para>ξ Letra griega minúscula (común). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\zeta</primary></indexterm><literal>\zeta</literal> -</term><listitem><para><inlineequation><mathphrase>\zeta</mathphrase></inlineequation> +</term><listitem><para>ζ Letra griega minúscula (común). </para> </listitem></varlistentry></variablelist> +<para>Los siguientes símbolos se usan con mayor frecuencia en texto sin +formato, pero &latex; proporciona versiones para usar en texto +matemático. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\mathdollar</primary></indexterm><literal>\mathdollar</literal> +</term><listitem><para>Signo de dólar en modo matemático: $. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mathparagraph</primary></indexterm><literal>\mathparagraph</literal> +</term><listitem><para>Signo de párrafo (pilcrow) en modo matemático, ¶. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mathsection</primary></indexterm><literal>\mathsection</literal> +</term><listitem><para>Signo de sección en modo math: §. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mathsterling</primary></indexterm><literal>\mathsterling</literal> +</term><listitem><para>Signo esterlina en modo matemático: £. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mathunderscore</primary></indexterm><literal>\mathunderscore</literal> +</term><listitem><para>Guión bajo en modo matemático: _. +</para> +</listitem></varlistentry></variablelist> + + +<sect2 label="16.2.1" id="Flechas"> +<title>Flechas</title> + +<indexterm role="cp"><primary>flechas</primary></indexterm> +<indexterm role="cp"><primary>símbolos, flechas</primary></indexterm> +<indexterm role="fn"><primary>math, flechas</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>amsfonts</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsfonts</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>latexsym</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>latexsym</literal> package</primary></indexterm> +<para>Estas son las flechas que +vienen con &latex; estándar. Los paquetes <literal>latexsym</literal> y +<literal>amsfonts</literal> contienen muchos más. +</para> +<informaltable><tgroup cols="3"><colspec colwidth="10*"></colspec><colspec colwidth="40*"></colspec><colspec colwidth="50*"></colspec><thead><row><entry><para>Símbolo</para></entry><entry><para>Comando</para></entry><entry></entry></row></thead><tbody><row><entry><para>⇓ </para></entry><entry><para><literal>\Downarrow</literal> </para></entry><entry></entry></row><row><entry><para>↓ </para></entry><entry><para><literal>\downarrow</literal> </para></entry><entry></entry></row><row><entry><para>↩ </para></entry><entry><para><literal>\hookleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>↪ </para></entry><entry><para><literal>\hookrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>← </para></entry><entry><para><literal>\leftarrow</literal> </para></entry><entry></entry></row><row><entry><para>⇐ </para></entry><entry><para><literal>\Leftarrow</literal> </para></entry><entry></entry></row><row><entry><para>⇔ </para></entry><entry><para><literal>\Leftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>↔ </para></entry><entry><para><literal>\leftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟵ </para></entry><entry><para><literal>\longleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟸ </para></entry><entry><para><literal>\Longleftarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟷ </para></entry><entry><para><literal>\longleftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟺ </para></entry><entry><para><literal>\Longleftrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟼ </para></entry><entry><para><literal>\longmapsto</literal> </para></entry><entry></entry></row><row><entry><para>⟹ </para></entry><entry><para><literal>\Longrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>⟶ </para></entry><entry><para><literal>\longrightarrow</literal> </para></entry><entry></entry></row><row><entry><para>↦ </para></entry><entry><para><literal>\mapsto</literal> </para></entry><entry></entry></row><row><entry><para>↗ </para></entry><entry><para><literal>\nearrow</literal> </para></entry><entry></entry></row><row><entry><para>↖ </para></entry><entry><para><literal>\nwarrow</literal> </para></entry><entry></entry></row><row><entry><para>⇒ </para></entry><entry><para><literal>\Rightarrow</literal> </para></entry><entry></entry></row><row><entry><para>→ </para></entry><entry><para><literal>\rightarrow</literal>, o <literal>\to</literal> </para></entry><entry></entry></row><row><entry><para>↘ </para></entry><entry><para><literal>\searrow</literal> </para></entry><entry></entry></row><row><entry><para>↙ </para></entry><entry><para><literal>\swarrow</literal> </para></entry><entry></entry></row><row><entry><para>↑ </para></entry><entry><para><literal>\uparrow</literal> </para></entry><entry></entry></row><row><entry><para>⇑ </para></entry><entry><para><literal>\Uparrow</literal> </para></entry><entry></entry></row><row><entry><para>↕ </para></entry><entry><para><literal>\updownarrow</literal> </para></entry><entry></entry></row><row><entry><para>⇕ </para></entry><entry><para><literal>\Updownarrow</literal> </para></entry><entry></entry></row></tbody></tgroup></informaltable> +<para>Un ejemplo de la diferencia entre <literal>\to</literal> y <literal>\mapsto</literal> es: +<literal>\( f\colon D\to C \) dado por \( n\mapsto n^2 \)</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>amscd</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amscd</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>tikz-cd</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tikz-cd</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>amscd</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amscd</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>tikz-cd</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tikz-cd</literal> package</primary></indexterm> +<para>Para diagramas conmutativos hay una serie de +paquetes, incluyendo <literal>tikz-cd</literal> y <literal>amscd</literal>. +</para> + +</sect2> +<sect2 label="16.2.2" id="_005cboldmath-y-_005cunboldmath"> +<title><literal>\boldmath</literal> y <literal>\unboldmath</literal></title> + +<anchor id="_005cboldmath"/><anchor id="_005cunboldmath"/><indexterm role="fn"><primary>\boldmath</primary></indexterm> +<indexterm role="fn"><primary>\unboldmath</primary></indexterm> +<indexterm role="cp"><primary>matemáticas en negrita</primary></indexterm> +<indexterm role="cp"><primary>matemáticas, negrita</primary></indexterm> + +<para>Sinopsis (usada en modo párrafo o modo LR): +</para> +<screen>\boldmath \( <replaceable>math</replaceable> \) +</screen> +<para>o +</para> +<screen>\unboldmath \( <replaceable>math</replaceable> \) +</screen> +<indexterm role="fn"><primary>\boldmath</primary></indexterm> +<indexterm role="fn"><primary>\unboldmath</primary></indexterm> +<para>Declaraciones para cambiar las letras y símbolos en <replaceable>math</replaceable> para +estar en un tipo de letra en negrita, o para anular eso y traer de +vuelta el predeterminado (sin negrita), respectivamente. Se deben usar +cuando <emphasis>no</emphasis> está en modo math o el modo <literal>display math</literal> +(véase <link linkend="Modos">Modos</link>). Ambos comandos son frágiles (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>En este ejemplo, cada comando <literal>\boldmath</literal> tiene lugar dentro de +un <literal>\mbox</literal>, +</para> +<screen>tenemos $\mbox{\boldmath \(v \)} = 5\cdot\mbox{\boldmath \(u \)$}$ +</screen> +<para>lo cual significa que <literal>\boldmath</literal> solo se llama en modo texto, +aquí LR y explica por qué debemos cambiar &latex; al modo math para +establecer <literal>v</literal> y <literal>u</literal>. +</para> +<para>Si usas cualquiera de los comandos dentro del <literal>modo math</literal>, como +con <literal>Problema: \( \boldmath x \)</literal>, entonces obtienes algo como +‘<literal>Advertencia de letras LaTeX: Comando \boldmath no válido en +modo math</literal>’ y ‘<literal>Advertencia de tipo de letra LaTeX: Comando +\mathversion inválido en modo math</literal>’. +</para> + +<sect3 label="16.2.2.1" id="bm"> +<title><literal>bm</literal>: Símbolos matemáticos individuales en negrita</title> + +<indexterm role="cp"><primary>package, <literal>bm</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>bm</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>símbolos, negrita</primary></indexterm> + +<!-- https://github.com/latex3/latex2e/issues/974 --> +<para>Especificar <literal>\boldmath</literal> es el mejor método para componer una +expresión matemática en negrita. Pero para componer tipográficamente +símbolos individuales dentro de una expresión en negrita, el paquete +<literal>bm</literal> proporcionado por el equipo del proyecto &latex; es +mejor. Su uso está fuera del alcance de este documento (consulta su +documentación en <ulink url="https://ctan.org/pkg/bm">https://ctan.org/pkg/bm</ulink> o en tu instalación) +pero el espacio en la salida de este pequeño ejemplo mostrará que es +una mejora sobre <literal>\boldmath</literal> dentro de una expresión: +</para> +<screen>\usepackage{bm} % en el preámbulo +... +tenemos $\bm{v} = 5\cdot\bm{u}$ +</screen> +</sect3> +<sect3 label="16.2.2.2" id="Math-OpenType-en-negrita"> +<title>Math OpenType en negrita</title> + +<indexterm role="cp"><primary>package, <literal>fontspec</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fontspec</literal> package</primary></indexterm> + + +<para>Desafortunadamente, al usar los motores Unicode (Xe&latex;, +Lua&latex;), ni <literal>\boldmath</literal> ni <literal>bm</literal> suelen funcionar +bien, porque los tipos de letra matemáticos de OpenType que +normalmente se usan con esos motores rara vez vienen con un compañero +en negrita, y tanto <literal>\boldmath</literal> como <literal>bm</literal> lo requieren. +(La implementación de <literal>bm</literal> se basa en <literal>\boldmath</literal>, por lo +que los requisitos son los mismos). Si tienes un tipo de letra +matemático en negrita, entonces <literal>\boldmath</literal> y el <literal>bm</literal> +funcionan bien. +</para> +<para>Si no hay tal tipo de letra disponible, una alternativa es construir +un tipo de letra en negrita falso con el parámetro <literal>FakeBold=1</literal> +del paquete <literal>fontspec</literal> (consulta su documentación, +<ulink url="https://ctan.org/pkg/fontspec">https://ctan.org/pkg/fontspec</ulink>). Esto puede ser aceptable para +redacción o distribución informal, pero los resultados están lejos de +ser una verdadera negrita. +</para> +<indexterm role="cp"><primary>package, <literal>unicode-math</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>unicode-math</literal> package</primary></indexterm> + +<indexterm role="fn"><primary>\symbf</primary></indexterm> +<indexterm role="fn"><primary>\symbfit</primary></indexterm> +<para>Otra alternativa al manejo de negrita para tipos de letra matemáticos +OpenType es usar el <literal>\symbf</literal> (negrita), <literal>\symbfit</literal> (negrita +y cursiva) y comandos relacionados del paquete <literal>unicode-math</literal>. +Estos no cambian el tipo de letra actual, sino que cambian el +"alfabeto" (Unicode) usado, que en la práctica es más compatible que +un tipo de letra en negrita separado. Son posibles muchas +variaciones, por lo que hay sutilezas para obtener la salida deseada. +Como de costumbre, consulta la documentación del paquete +(<ulink url="https://ctan.org/pkg/unicode-math">https://ctan.org/pkg/unicode-math</ulink>). +</para> +</sect3> +</sect2> +<sect2 label="16.2.3" id="Pizarra-negra"> +<title>Pizarra negra</title> + +<indexterm role="cp"><primary>pizarra en negrita</primary></indexterm> +<indexterm role="cp"><primary>doblemente sorprendido</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\usepackage{amssymb} % en el preámbulo + ... +\mathbb{<replaceable>uppercase-letter</replaceable>} +</screen> +<para>Proporciona símbolos en negrita de pizarra, a veces también conocidos +como letras doublestruck, usadas para denotar conjuntos de números +como los números naturales, los enteros, etc. +</para> +<para>Aquí +</para> +<screen>\( \forall n \in \mathbb{N}, n^2 \geq 0 \) +</screen> +<para>el <literal>\mathbb{N}</literal> da el símbolo de pizarra en negrita +ℕ, representación de los números naturales. +</para> +<para>Si el argumento contiene algo que no sea una letra mayúscula, no +obtienes un error, pero obtienes resultados extraños, incluidos +caracteres inesperados. +</para> +<para>Hay paquetes que dan acceso a otros símbolos además de las letras +mayúsculas; mira en CTAN. +</para> + +</sect2> +<sect2 label="16.2.4" id="Caligr_00e1fico"> +<title>Caligráfico</title> + +<indexterm role="cp"><primary>tipos de letra caligráficas</primary></indexterm> +<indexterm role="cp"><primary>tipos de letra script</primary></indexterm> +<indexterm role="cp"><primary>tipos de letra, script</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\mathcal{<replaceable>letras-mayúsculas</replaceable>} +</screen> +<para>Utiliza un tipo de letra como el tipo script. +</para> +<para>En este ejemplo, el identificador del gráfico se genera en letra +cursiva. +</para> +<screen>Sea la gráfica \( \mathcal{G} \). +</screen> +<para>Si usa algo que no sea una letra mayúscula, entonces no obtienes un +error, pero tampoco obtienes una salida caligráfica matemática. Por +ejemplo, <literal>\mathcal{g}</literal> genera un símbolo de llave de cierre. +</para> +</sect2> +<sect2 label="16.2.5" id="Delimitadores"> +<title>Delimitadores</title> + +<indexterm role="cp"><primary>delimitadores</primary></indexterm> +<indexterm role="cp"><primary>paréntesis</primary></indexterm> +<indexterm role="cp"><primary>corchetes</primary></indexterm> +<indexterm role="cp"><primary>llaves</primary></indexterm> +<indexterm role="cp"><primary>soportes</primary></indexterm> + +<para>Los delimitadores son paréntesis, llaves u otros caracteres que se +utilizan para marcar el inicio y el final de las subfórmulas. Esta +fórmula tiene tres conjuntos de paréntesis que delimitan las tres +subfórmulas. +</para> +<screen>(z-z_0)^2 = (x-x_0)^2 + (y-y_0)^2 +</screen> +<para>No es necesario que los delimitadores coincidan, por lo que puedes +ingresar <literal>\( [0,1) \)</literal>. +</para> +<para>Estos son los delimitadores comunes.: +</para> +<informaltable><tgroup cols="4"><colspec colwidth="11*"></colspec><colspec colwidth="20*"></colspec><colspec colwidth="40*"></colspec><colspec colwidth="29*"></colspec><thead><row><entry><para>Delimitador</para></entry><entry><para>Comando</para></entry><entry><para>Nombre +</para></entry></row></thead><tbody><row><entry><para>( </para></entry><entry><para><literal>(</literal> </para></entry><entry><para>Paréntesis izquierdo +</para></entry></row><row><entry><para>) </para></entry><entry><para><literal>)</literal> </para></entry><entry><para>Paréntesis derecho +</para></entry></row><row><entry><para>\} </para></entry><entry><para><literal>{</literal> o <literal>\lbrace</literal> </para></entry><entry><para>Llave izquierda +</para></entry></row><row><entry><para>\{ </para></entry><entry><para><literal>}</literal> o <literal>\rbrace</literal> </para></entry><entry><para>Llave derecha +</para></entry></row><row><entry><para>[ </para></entry><entry><para><literal>[</literal> o <literal>\lbrack</literal> </para></entry><entry><para>Corchete izquierdo +</para></entry></row><row><entry><para>] </para></entry><entry><para><literal>]</literal> o <literal>\rbrack</literal> </para></entry><entry><para>Corchete derecho +</para></entry></row><row><entry><para>⌊ </para></entry><entry><para><literal>\lfloor</literal> </para></entry><entry><para>Left floor bracket +</para></entry></row><row><entry><para>⌋ </para></entry><entry><para><literal>\rfloor</literal> </para></entry><entry><para>Soporte de piso derecho +</para></entry></row><row><entry><para>⌈ </para></entry><entry><para><literal>\lceil</literal> </para></entry><entry><para>Soporte superior izquierdo +</para></entry></row><row><entry><para>⌉ </para></entry><entry><para><literal>\rceil</literal> </para></entry><entry><para>Soporte superior derecho +</para></entry></row><row><entry><para>⟨ </para></entry><entry><para><literal>\langle</literal> </para></entry><entry><para>Paréntesis angular +izquierdo +</para></entry></row><row><entry><para>⟩ </para></entry><entry><para><literal>\rangle</literal> </para></entry><entry><para>Soporte angular derecho +</para></entry></row><row><entry><para>/ </para></entry><entry><para><literal>/</literal> </para></entry><entry><para>Barra o barra inclinada +</para></entry></row><row><entry><para>\ </para></entry><entry><para><literal>\backslash</literal> </para></entry><entry><para>Barra invertida o barra invertida +</para></entry></row><row><entry><para>| </para></entry><entry><para><literal>|</literal> o <literal>\vert</literal> </para></entry><entry><para>Barra vertical +</para></entry></row><row><entry><para>‖ </para></entry><entry><para><literal>\|</literal> o <literal>\Vert</literal> </para></entry><entry><para>Barra vertical doble +</para></entry></row></tbody></tgroup></informaltable> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>El paquete <literal>mathtools</literal> te permite crear +comandos para pares delimitadores. Por ejemplo, si pones +<literal>\DeclarePairedDelimiter\abs{\lvert}{\rvert}</literal> en tu preámbulo +entonces obtienes dos comandos para barras verticales de una sola +línea (solo funcionan en modo matemático). La forma con estrella, +como <literal>\abs*{\frac{22}{7}}</literal>, tiene la altura de las barras +verticales coincide con la altura del argumento. La forma sin +estrella, como <literal>\abs{\frac{22}{7}}</literal>, tiene las barras fijas +a una altura predeterminada. Esta forma acepta un argumento opcional, +como en el <literal>\abs[<replaceable>comando size</replaceable>]{\frac{22}{7}}</literal>, donde +la altura de las barras se da en <replaceable>comando size</replaceable>, como +<literal>\Bigg</literal>. Usando en su lugar <literal>\lVert</literal> y <literal>\rVert</literal> como +símbolos te darán un símbolo de norma con el mismo comportamiento. +</para> + + +<sect3 label="16.2.5.1" id="_005cleft-y-_005cright"> +<title><literal>\left</literal> y <literal>\right</literal></title> + +<anchor id="_005cleft"/><anchor id="_005cright"/><indexterm role="fn"><primary>\left</primary></indexterm> +<indexterm role="fn"><primary>\right|</primary></indexterm> +<indexterm role="cp"><primary>delimitadores, emparejados</primary></indexterm> +<indexterm role="cp"><primary>delimitadores emparejados</primary></indexterm> +<indexterm role="cp"><primary>paréntesis coincidentes</primary></indexterm> +<indexterm role="cp"><primary>corchetes coincidentes</primary></indexterm> +<indexterm role="cp"><primary>delimitador nulo</primary></indexterm> + +<!-- Créditos: SE userPhilipp https://tex.stackexchange.com/a/12793 --> + +<para>Sinopsis: +</para> +<screen>\left <replaceable>delimiter1</replaceable> ... \right <replaceable>delimiter2</replaceable> +</screen> +<para>Crea paréntesis, llaves u otros delimitadores coincidentes. &latex; +hace los delimitadores lo suficientemente altos como para cubrir el +tamaño de la fórmula que ellos encierran. +</para> +<para>Esto crea un vector unitario rodeado por paréntesis lo suficientemente +alto como para cubrir las entradas. +</para> +<screen>\begin{equation} + \left(\begin{array}{c} + 1 \\ + 0 \\ + \end{array}\right) +\end{equation} +</screen> +<para>Véase <link linkend="Delimitadores">Delimitadores</link>, para obtener una lista de los delimitadores +comunes. +</para> +<para>Cada <literal>\left</literal> debe tener un <literal>\right</literal> coincidente. En el +ejemplo anterior, al omitir <literal>\left(</literal> aparece el mensaje de error +‘<literal>Extra \right</literal>’. Omitir el <literal>\right)</literal> obtiene ‘<literal>No puedes +usar `\eqno' en modo matemático</literal>’. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>Sin embargo, <replaceable>delimiter1</replaceable> +y <replaceable>delimiter2</replaceable> no necesitan coincidir. Una caso común es que +deseas un aparato ortopédico sin igual, como se muestra a +continuación. Usa un punto, ‘<literal>.</literal>’, como <firstterm>delimitador nulo</firstterm>. +</para> +<screen>\begin{equation} + f(n)=\left\{\begin{array}{ll} + 1 &\mbox{--if \(n=0\)} \\ + f(n-1)+3n^2 &\mbox{--else} + \end{array}\right. +\end{equation} +</screen> +<para>Ten en cuenta que para obtener una llave como delimitador, los debes +prefijar con una barra invertida, <literal>\{</literal> (véase <link linkend="Caracteres-reservados">Caracteres +reservados</link>). (Los paquetes <literal>amsmath</literal> y <literal>mathtools</literal> +te permiten obtener la construcción anterior a través de un entorno +<literal>cases</literal>). +</para> +<para>El par <literal>\left ... \right</literal> forma un grupo. Una consecuencia es +que la fórmula encerrada en el par <literal>\left ... \right</literal> no puede +tener saltos de línea en la salida. Esto incluye saltos de línea +manuales y automáticos generados por &latex;. En este ejemplo, +&latex; rompe la ecuación para que la fórmula se ajuste a los +márgenes. +</para> +<screen>Lorem ipsum dolor sit amet +\( (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) \) +</screen> +<para>Pero con <literal>\left</literal> y <literal>\right</literal> +</para> +<screen>Lorem ipsum dolor sit amet +\( \left(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\right) \) +</screen> +<para>&latex; no romperá la línea, lo que hará que la fórmula se extienda +al margen. +</para> +<para>Porque <literal>\left ... \right</literal> hace un grupo, todas las reglas de +agrupación usuales se mantienen. Aquí, el valor de <literal>\testlength</literal> +establecido dentro de la ecuación se olvidará y la salida es +‘<literal>1.2pt</literal>’. +</para> +<screen>\newlength{\testlength} \setlength{\testlength}{1.2pt} +\begin{equation} + \left( a+b=c \setlength{\testlength}{3.4pt} \right) + \the\testlength +\end{equation} +</screen> +<para>El par <literal>\left ... \right</literal> afecta el espaciado horizontal de la +fórmula adjunta, de dos maneras. La primera es que en <literal>\( +\sin(x) = \sin\left(x\right) \)</literal> el que está después del signo igual +tiene más espacio alrededor del <literal>x</literal>. Eso es porque <literal>\left( +... \right)</literal> inserta un nodo interno mientras que <literal>( ... )</literal> +inserta un nodo de apertura. La segunda forma en que el par afecta el +espacio horizontal es que debido a que forman un grupo, la subfórmula +adjunta se escribirá en su forma de ancho natural, sin estirar ni +encoger para que la línea se ajuste mejor. +</para> +<para>&tex; escala los delimitadores según la altura y la profundidad de la +fórmula adjunta. Aquí &latex; aumenta los corchetes para extender la +altura de la integral. +</para> +<screen>\begin{equation} + \left[ \int_{x=r_0}^{\infty} -G\frac{Mm}{r^2}\, dr \right] +\end{equation} +</screen> +<para>El tamaño manual a menudo es mejor. Por ejemplo, aunque por debajo de +la regla no tiene profundidad, &tex; creará delimitadores que se +extienden muy por debajo de la regla. +</para> +<screen>\begin{equation} + \left( \rule{1pt}{1cm} \right) +\end{equation} +</screen> +<para>&tex; puede elegir delimitadores que son demasiado pequeños, como en +<literal>\( \left| |x|+|y| \right| \)</literal>. También puede elegir +delimitadores demasiado grandes, como aquí. +</para> +<screen>\begin{equation} + \left( \sum_{0\leq i<n} i^k \right) +\end{equation} +</screen> +<para>Un tercer caso incómodo es cuando una fórmula que se muestra durante +mucho tiempo está en más de una línea y debe hacer coincidir los +tamaños del delimitador de apertura y cierre; no puedes usar +<literal>\left</literal> en la primera línea y <literal>\right</literal> en la última porque +deben estar emparejados. +</para> +<para>Para cambiar manualmente el tamaño de los delimitadores, <link linkend="_005cbigl-y-_005cbigr-etc_002e">\bigl y +\bigr etc.</link>. +</para> + +</sect3> +<sect3 label="16.2.5.2" id="_005cbigl-y-_005cbigr-etc_002e"> +<title><literal>\bigl</literal>, <literal>\bigr</literal>, etc.</title> + +<anchor id="_005cbigl"/><anchor id="_005cbigr"/><indexterm role="fn"><primary>\bigl</primary></indexterm> +<indexterm role="fn"><primary>\bigr</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\bigl<replaceable>delimiter1</replaceable> ... \bigr<replaceable>delimiter2</replaceable> +\Bigl<replaceable>delimiter1</replaceable> ... \bigr<replaceable>delimiter2</replaceable> +\biggl<replaceable>delimiter1</replaceable> ... \biggr<replaceable>delimiter2</replaceable> +\Biggl<replaceable>delimiter1</replaceable> ... \Biggr<replaceable>delimiter2</replaceable> +</screen> +<para>(como con <literal>\bigl[...\bigr]</literal>; estrictamente hablando, no necesitan +coincidir, ve más abajo), o uno de: +</para> +<screen>\bigm<replaceable>delimiter</replaceable> +\Bigm<replaceable>delimiter</replaceable> +\biggm<replaceable>delimiter</replaceable> +\Biggm<replaceable>delimiter</replaceable> +</screen> +<para>(como con <literal>\bigm|</literal>), o uno de: +</para> +<screen>\big<replaceable>delimiter</replaceable> +\Big<replaceable>delimiter</replaceable> +\bigg<replaceable>delimiter</replaceable> +\Bigg<replaceable>delimiter</replaceable> +</screen> +<para>(como con <literal>\\big[</literal>). +</para> +<para>Produce delimitadores de tamaño manual. Para delimitadores que son +tamaño automático <link linkend="_005cleft-y-_005cright">\left y \right</link>). +</para> +<para>Esto produce barras verticales exteriores ligeramente más grandes. +</para> +<screen> \bigl| |x|+|y| \bigr| +</screen> +<para>Los comandos anteriores se enumeran en orden de tamaño creciente. +Puedes usar el tamaño más pequeño como <literal>\bigl...\bigr</literal> en un +párrafo sin causar que &latex; separe las líneas. Los tamaños más +grandes están destinados para las ecuaciones mostradas. +</para> +<para>Véase <link linkend="Delimitadores">Delimitadores</link>, para obtener una lista de los delimitadores +comunes. En la familia de comandos con ‘<literal>l</literal>’ o ‘<literal>r</literal>’, +<replaceable>delimiter1</replaceable> y <replaceable>delimiter2</replaceable> no necesita coincidir. +</para> +<para>Los comandos ‘<literal>l</literal>’ y ‘<literal>r</literal>’ producen delimitadores abiertos y +cerrados que no insertan ningún espacio horizontal entre un átomo +precedente y el delimitador, mientras que los comandos sin ‘<literal>l</literal>’ y +‘<literal>r</literal>’ insertan algunos espacios (porque cada delimitador se +establece como una variable ordinaria). Compara estos dos. +</para> +<!-- crédito: Martin Heller https://tex.stackexchange.com/a/1234 --> +<screen>\begin{tabular}{l} + \(\displaystyle \sin\biggl(\frac{1}{2}\biggr) \) \\ % bien + \(\displaystyle \sin\bigg(\frac{1}{2}\bigg) \) \\ % mal +\end{tabular} +</screen> +<para>El tratamiento tipográfico tradicional está en la primera línea. +Sobre la segunda línea, la salida tendrá algo de espacio extra entre +la <literal>\sin</literal> y el que apoya una moción paréntesis de apertura. +</para> +<para>Los comandos sin ‘<literal>l</literal>’ o ‘<literal>r</literal>’ dan el espacio correcto en +algunas circunstancias, como con esta gran línea vertical +</para> +<screen>\begin{equation} + \int_{x=a}^b x^2\,dx = \frac{1}{3} x^3 \Big|_{x=a}^b +\end{equation} +</screen> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> + +<para>(muchos autores reemplazarían <literal>\frac</literal> con el comando +<literal>\tfrac</literal> del paquete <literal>amsmath</literal>), y como con esta barra +inclinada más grande. +</para> +<screen>\begin{equation} + \lim_{n\to\infty}\pi(n) \big/ (n/\log n) = 1 +\end{equation} +</screen> +<para>A diferencia del par <literal>\left...\right</literal> (véase <link linkend="_005cleft-y-_005cright">\left y \right</link>), +los comandos aquí con ‘<literal>l</literal>’ o ‘<literal>r</literal>’ no forman un grupo. +Estrictamente hablando, no es necesario que coincidan para que puedas +escribir algo como esto. +</para> +<screen>\begin{equation} + \Biggl[ \pi/6 ] +\end{equation} +</screen> +<para>Los comandos con ‘<literal>m</literal>’ son para relaciones, que están en medio de +fórmulas, como aquí. +</para> +<screen>\begin{equation} + \biggl\{ a\in B \biggm| a=\sum_{0\leq i<n}3i^2+4 \biggr\} +\end{equation} +</screen> +<!-- xx Agregar discusión \bigg\mid no es bueno y \bigg| tiene razón; --> +<!-- ¿Quizás mencionar el paquete \middle y braket? --> + + +</sect3> +</sect2> +<sect2 label="16.2.6" id="Puntos"> +<title>Puntos, horizontales o verticales</title> + +<indexterm role="cp"><primary>puntos suspensivos</primary></indexterm> +<indexterm role="cp"><primary>puntos</primary></indexterm> + +<para>Las elipsis son los tres puntos (generalmente tres) que indican que un patrón +continúa. +</para> +<screen>\begin{array}{cccc} + a_{0,0} &a_{0,1} &a_{0,2} &\ldots \\ + a_{1,0} &\ddots \\ + \vdots +\end{array} +</screen> +<para>&latex; proporciona estos. +</para> +<variablelist><anchor id="elipsis-cdots"/><varlistentry><term><indexterm role="fn"><primary>\cdots</primary></indexterm><literal>\cdots</literal> +</term><listitem><para>Puntos suspensivos horizontales con los puntos elevados al centro de +la línea, como en ⋯. Usado como: <literal>\( a_0\cdot +a_1\cdots a_{n-1} \)</literal>. +</para> +<anchor id="elipsis-ddots"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddots</primary></indexterm><literal>\ddots</literal> +</term><listitem><para>Puntos suspensivos diagonales, ⋱. Ve el arreglo del +ejemplo anterior para un uso. +</para> +<anchor id="elipsis-ldots"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ldots</primary></indexterm><literal>\ldots</literal> +</term><term><indexterm role="fn"><primary>\mathellipsis</primary></indexterm><literal>\mathellipsis</literal> +</term><term><indexterm role="fn"><primary>\dots</primary></indexterm><literal>\dots</literal> +</term><listitem><para>Puntos suspensivos en la línea base, …. Usado como: +<literal>\( x_0,\ldots x_{n-1} \)</literal>. Otro ejemplo es el arreglo del +ejemplo anterior. Los sinónimos son <literal>\mathellipsis</literal> y +<literal>\dots</literal>. Un sinónimo de el paquete <literal>amsmath</literal> es +<literal>\hdots</literal>. +</para> +<para>También puedes usar este comando fuera del texto matemático, como en +<literal>Los engranajes, frenos, \ldots{} están todos rotos</literal>. +</para> +<anchor id="elipsis-vdots"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vdots</primary></indexterm><literal>\vdots</literal> +</term><listitem><para>Puntos suspensivos verticales, ⋮. Ve el arreglo del +ejemplo anterior para un uso. +</para> +</listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>package, <literal>ammath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>ammath</literal> package</primary></indexterm> +<para>El paquete <literal>amsmath</literal> tiene el comando +<literal>\dots</literal> para semánticamente marcar puntos suspensivos. Este +ejemplo produce dos salidas de aspecto diferente para los dos primeros +usos del comando <literal>\dots</literal>. +</para> +<screen>\usepackage{amsmath} % en el preámbulo + ... + +Supongamos que \( p_0, p_1, \dots, p_{n-1} \) enumera todos los +números primos. Observa que \( p_0\cdot p_1 \dots \cdot p_{n-1} +1 + \) no es un múltiplo de cualquier \( p_i \). +Conclusión: hay infinitos números primos \( p_0, p_1, \dotsc \). +</screen> +<indexterm role="fn"><primary>\dotsc</primary></indexterm> +<indexterm role="fn"><primary>\dotsb</primary></indexterm> +<indexterm role="fn"><primary>\dotsi</primary></indexterm> +<indexterm role="fn"><primary>\dot</primary></indexterm> +<para>En la primera línea, &latex; busca la coma que sigue a <literal>\dots</literal> +para determinar que debe generar puntos suspensivos en la línea base. +El segundo tiene un <literal>\cdot</literal> después de <literal>\dots</literal> por lo que +&latex; genera un puntos suspensivos que están en el eje matemático, +centrados verticalmente. Sin embargo, el tercer uso no tiene un +carácter de seguimiento, por lo que debes decirle a &latex; qué +hacer. Puedes usar uno de los comandos: <literal>\dotsc</literal> si necesitas +los puntos suspensivos apropiados para una coma después, <literal>\dotsb</literal> +si necesitas los puntos suspensivos que se ajustan cuando los puntos +van seguidos de un operador binario o símbolo de relación, +<literal>\dotsi</literal> para puntos con integrales, o <literal>\dotso</literal> para otros. +</para> +<!-- https://github.com/latex3/latex2e/issues/976 --> +<indexterm role="cp"><primary>package, <literal>unicode-math</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>unicode-math</literal> package</primary></indexterm> +<para>El comando <literal>\dots</literal> de <literal>amsmath</literal> +difiere de otra manera del comando <literal>\dots</literal> del kernel de +&latex;: emite un espacio delgado después de los puntos +suspensivos. Además, el paquete <literal>unicode-math</literal> automáticamente +carga <literal>amsmath</literal>, por lo que <literal>\dots</literal> del <literal>amsmath</literal> +puede estar activo incluso cuando no lo cargaste explícitamente, +cambiando así la salida de <literal>\dots</literal> tanto en modo de texto como +matemático. +</para> +<indexterm role="cp"><primary>puntos suspensivos, en Unicode (U+2026)</primary></indexterm> +<indexterm role="cp"><primary>puntos suspensivos, tradicional (tres puntos)</primary></indexterm> +<para>Aún más sobre los comandos de puntos suspensivos: cuando se ejecuta +bajo motores Unicode (<literal>lualatex</literal>, <literal>xelatex</literal>), &latex; usará +el carácter de puntos suspensivos Unicode (U+2026) en el tipo de +letra, si está disponible; bajo motores &tex; tradicionales +(<literal>pdflatex</literal>, <literal>latex</literal>), compondrá tipográficamente tres +puntos espaciados. En general, los puntos suspensivos Unicode de un +solo carácter casi no tienen espacio entre los tres puntos, mientras +que el espaciado de los puntos suspensivos no Unicode es más flexible, +más de acuerdo con la tipografía tradicional. +</para> + +</sect2> +<sect2 label="16.2.7" id="Letras-griegas"> +<title>Letras griegas</title> + +<indexterm role="cp"><primary>Letras griegas</primary></indexterm> + +<para>Las versiones en mayúsculas de estas letras griegas solo se muestran +cuando difieren de las mayúsculas romanas. +</para> +<informaltable><tgroup cols="4"><colspec colwidth="10*"></colspec><colspec colwidth="30*"></colspec><colspec colwidth="15*"></colspec><colspec colwidth="45*"></colspec><thead><row><entry><para>Symbol</para></entry><entry><para>Command</para></entry><entry><para>Name</para></entry><entry></entry></row></thead><tbody><row><entry><para>α</para></entry><entry><para><literal>\alpha</literal></para></entry><entry><para>Alpha +</para></entry></row><row><entry><para>β</para></entry><entry><para><literal>\beta</literal></para></entry><entry><para>Beta +</para></entry></row><row><entry><para>γ, Γ</para></entry><entry><para><literal>\gamma</literal>, +<literal>\Gamma</literal></para></entry><entry><para>Gamma +</para></entry></row><row><entry><para>δ, Δ</para></entry><entry><para><literal>\delta</literal>, +<literal>\Delta</literal></para></entry><entry><para>Delta +</para></entry></row><row><entry><para>ε, ϵ</para></entry><entry><para><literal>\varepsilon</literal>, <literal>\epsilon</literal></para></entry><entry><para>Epsilon +</para></entry></row><row><entry><para>ζ</para></entry><entry><para><literal>\zeta</literal></para></entry><entry><para>Zeta +</para></entry></row><row><entry><para>η</para></entry><entry><para><literal>\eta</literal></para></entry><entry><para>Eta +</para></entry></row><row><entry><para>θ, ϑ</para></entry><entry><para><literal>\theta</literal>, + <literal>\vartheta</literal></para></entry><entry><para>Theta +</para></entry></row><row><entry><para>ι</para></entry><entry><para><literal>\iota</literal></para></entry><entry><para>Iota +</para></entry></row><row><entry><para>κ</para></entry><entry><para><literal>\kappa</literal></para></entry><entry><para>Kappa +</para></entry></row><row><entry><para>λ, Λ</para></entry><entry><para><literal>\lambda</literal>, + <literal>\Lambda</literal></para></entry><entry><para>Lambda +</para></entry></row><row><entry><para>μ</para></entry><entry><para><literal>\mu</literal></para></entry><entry><para>Mu +</para></entry></row><row><entry><para>ν</para></entry><entry><para><literal>\nu</literal></para></entry><entry><para>Nu +</para></entry></row><row><entry><para>ξ, Ξ</para></entry><entry><para><literal>\xi</literal>, <literal>\Xi</literal></para></entry><entry><para>Xi +</para></entry></row><row><entry><para>π, Π</para></entry><entry><para><literal>\pi</literal>, <literal>\Pi</literal></para></entry><entry><para>Pi +</para></entry></row><row><entry><para>ρ, ϱ</para></entry><entry><para><literal>\rho</literal>, +<literal>\varrho</literal></para></entry><entry><para>Rho +</para></entry></row><row><entry><para>σ, Σ</para></entry><entry><para><literal>\sigma</literal>, +<literal>\Sigma</literal></para></entry><entry><para>Sigma +</para></entry></row><row><entry><para>τ</para></entry><entry><para><literal>\tau</literal></para></entry><entry><para>Tau +</para></entry></row><row><entry><para>ϕ, φ, Φ</para></entry><entry><para><literal>\phi</literal>, + <literal>\varphi</literal>, <literal>\Phi</literal></para></entry><entry><para>Phi +</para></entry></row><row><entry><para>χ</para></entry><entry><para><literal>\chi</literal></para></entry><entry><para>chi +</para></entry></row><row><entry><para>ψ, Ψ</para></entry><entry><para><literal>\psi</literal>, <literal>\Psi</literal></para></entry><entry><para>Psi +</para></entry></row><row><entry><para>ω, Ω</para></entry><entry><para><literal>\omega</literal>, +<literal>\Omega</literal></para></entry><entry><para>Omega +</para></entry></row></tbody></tgroup></informaltable> +<para>Para ómicron, si estás utilizando la letra Computer Modern +predeterminada de &latex; luego ingresa ómicron como ‘<literal>o</literal>’ o +‘<literal>O</literal>’. Si te gusta tener el nombre o si tu letra muestra una +diferencia, entonces puedes usar algo como +<literal>\newcommand\omicron{o}</literal>. El paquete <literal>unicode-math</literal> +tiene <literal>\upomicron</literal> para omicron vertical y <literal>\mitomicron</literal> +para matemáticas itálicas. +</para> +<para>Mientras que el símbolo de relación de pertenencia establecida +∈ generado por <literal>\in</literal> está relacionado con epsilon, +nunca se usa para una variable. +</para> + +</sect2> </sect1> -<sect1 label="17.3" id="Funciones-Matem_00e1ticas"> -<title>Funciones Matemáticas</title> -<indexterm role="cp"><primary>funciones matemáticas</primary></indexterm> +<sect1 label="16.3" id="Funciones-matem_00e1ticas"> +<title>Funciones matemáticas</title> + <indexterm role="cp"><primary>funciones, matemáticas</primary></indexterm> +<indexterm role="cp"><primary>funciones, math</primary></indexterm> -<para>Estas instrucciones producen nombres de función romanos en modo math con -el espaciado adecuado. +<para>Estos comandos producen nombres de funciones romanas en modo +matemático con espaciado. </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\arccos</primary></indexterm><literal>\arccos</literal> -</term><listitem><para><inlineequation><mathphrase>\arccos</mathphrase></inlineequation> +</term><listitem><para>coseno inverso </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arcsin</primary></indexterm><literal>\arcsin</literal> -</term><listitem><para><inlineequation><mathphrase>\arcsin</mathphrase></inlineequation> +</term><listitem><para>Seno inverso </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arctan</primary></indexterm><literal>\arctan</literal> -</term><listitem><para><inlineequation><mathphrase>\arctan</mathphrase></inlineequation> +</term><listitem><para>Tangente inversa </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\arg</primary></indexterm><literal>\arg</literal> -</term><listitem><para><inlineequation><mathphrase>\arg</mathphrase></inlineequation> +</term><listitem><para>Ángulo entre el eje real y un punto en el plano complejo </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bmod</primary></indexterm><literal>\bmod</literal> -</term><listitem><para>Operador residuo binario (<inlineequation><mathphrase>x \bmod y</mathphrase></inlineequation>) +</term><listitem><para>Operador módulo binario, usado como en <literal>\( 5\bmod 3=2 \)</literal> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cos</primary></indexterm><literal>\cos</literal> -</term><listitem><para><inlineequation><mathphrase>\cos</mathphrase></inlineequation> +</term><listitem><para>Coseno </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cosh</primary></indexterm><literal>\cosh</literal> -</term><listitem><para><inlineequation><mathphrase>\cosh</mathphrase></inlineequation> +</term><listitem><para>Coseno hiperbólico </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cot</primary></indexterm><literal>\cot</literal> -</term><listitem><para><inlineequation><mathphrase>\cos</mathphrase></inlineequation> +</term><listitem><para>Cotangente </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\coth</primary></indexterm><literal>\coth</literal> -</term><listitem><para><inlineequation><mathphrase>\cosh</mathphrase></inlineequation> +</term><listitem><para>Cotangente hiperbólico </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\csc</primary></indexterm><literal>\csc</literal> -</term><listitem><para><inlineequation><mathphrase>\csc</mathphrase></inlineequation> +</term><listitem><para>Cosecante </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\deg</primary></indexterm><literal>\deg</literal> -</term><listitem><para><inlineequation><mathphrase>\deg</mathphrase></inlineequation> +</term><listitem><para>Grados </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\det</primary></indexterm><literal>\det</literal> -</term><listitem><para><inlineequation><mathphrase>\deg</mathphrase></inlineequation> +</term><listitem><para>Determinante </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dim</primary></indexterm><literal>\dim</literal> -</term><listitem><para><inlineequation><mathphrase>\dim</mathphrase></inlineequation> +</term><listitem><para>Dimensión </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\exp</primary></indexterm><literal>\exp</literal> -</term><listitem><para><inlineequation><mathphrase>\exp</mathphrase></inlineequation> +</term><listitem><para>Exponencial </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\gcd</primary></indexterm><literal>\gcd</literal> -</term><listitem><para><inlineequation><mathphrase>\gcd</mathphrase></inlineequation> +</term><listitem><para>Máximo común divisor </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hom</primary></indexterm><literal>\hom</literal> -</term><listitem><para><inlineequation><mathphrase>\hom</mathphrase></inlineequation> +</term><listitem><para>Homomorfismo </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\inf</primary></indexterm><literal>\inf</literal> -</term><listitem><para><inlineequation><mathphrase>\inf</mathphrase></inlineequation> +</term><listitem><para>Infimum </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ker</primary></indexterm><literal>\ker</literal> -</term><listitem><para><inlineequation><mathphrase>\ker</mathphrase></inlineequation> +</term><listitem><para>Kernel </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lg</primary></indexterm><literal>\lg</literal> -</term><listitem><para><inlineequation><mathphrase>\lg</mathphrase></inlineequation> +</term><listitem><para>Logaritmo en base 2 </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lim</primary></indexterm><literal>\lim</literal> -</term><listitem><para><inlineequation><mathphrase>\lim</mathphrase></inlineequation> +</term><listitem><para>Límite </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\liminf</primary></indexterm><literal>\liminf</literal> -</term><listitem><para><inlineequation><mathphrase>\liminf</mathphrase></inlineequation> +</term><listitem><para>Límite inferior </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\limsup</primary></indexterm><literal>\limsup</literal> -</term><listitem><para><inlineequation><mathphrase>\limsup</mathphrase></inlineequation> +</term><listitem><para>Límite superior </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ln</primary></indexterm><literal>\ln</literal> -</term><listitem><para><inlineequation><mathphrase>\ln</mathphrase></inlineequation> +</term><listitem><para>Logaritmo natural </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\log</primary></indexterm><literal>\log</literal> -</term><listitem><para><inlineequation><mathphrase>\log</mathphrase></inlineequation> +</term><listitem><para>Logaritmo </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\max</primary></indexterm><literal>\max</literal> -</term><listitem><para><inlineequation><mathphrase>\max</mathphrase></inlineequation> +</term><listitem><para>Máximo </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\min</primary></indexterm><literal>\min</literal> -</term><listitem><para><inlineequation><mathphrase>\min</mathphrase></inlineequation> -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pmod</primary></indexterm><literal>\pmod</literal> -</term><listitem><para>residuo entre paréntesis, como en (<inlineequation><mathphrase>\pmod 2^n - 1</mathphrase></inlineequation>) +</term><listitem><para>Mínimo </para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>Módulo entre paréntesis, como se usa en <literal>\( 5\equiv 2\pmod 3 \)</literal></primary></indexterm><literal>Módulo entre paréntesis, como se usa en <literal>\( 5\equiv 2\pmod 3 \)</literal></literal> +</term><listitem> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\Pr</primary></indexterm><literal>\Pr</literal> -</term><listitem><para><inlineequation><mathphrase>\Pr</mathphrase></inlineequation> +</term><listitem><para>Probabilidad </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sec</primary></indexterm><literal>\sec</literal> -</term><listitem><para><inlineequation><mathphrase>\sec</mathphrase></inlineequation> +</term><listitem><para>Secante </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sin</primary></indexterm><literal>\sin</literal> -</term><listitem><para><inlineequation><mathphrase>\sin</mathphrase></inlineequation> +</term><listitem><para>Seno </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sinh</primary></indexterm><literal>\sinh</literal> -</term><listitem><para><inlineequation><mathphrase>\sinh</mathphrase></inlineequation> +</term><listitem><para>Seno hiperbólico </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sup</primary></indexterm><literal>\sup</literal> -</term><listitem><para>sup -<!-- see comments in latex2e.texi. --> +</term><listitem><para>Supremum +sup +<!-- no intentes usar \sup con salida dvi/pdf ya que se convirtió en un --> +<!-- comando Texinfo y no vale la pena molestarse con diferentes --> +<!-- versiones cuando son solo tres letras romanas de todos modos. --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tan</primary></indexterm><literal>\tan</literal> -</term><listitem><para><inlineequation><mathphrase>\tan</mathphrase></inlineequation> +</term><listitem><para>Tangente </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tanh</primary></indexterm><literal>\tanh</literal> -</term><listitem><para><inlineequation><mathphrase>\tanh</mathphrase></inlineequation> +</term><listitem><para>Tangente hiperbólica </para> </listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>El paquete <literal>amsmath</literal> agrega mejoras en +algunos de estos, y también te permite definir el tuyo propio. La +documentación completa está en CTAN, pero brevemente, puedes definir +un operador de identidad con +<literal>\DeclareMathOperator{\identity}{id}</literal> que es como los de +arriba pero se imprime como ‘<literal>id</literal>’. La forma estrellada +<literal>\DeclareMathOperator*{\op}{op}</literal> establece cualquier +superíndice o subíndice para estar arriba y abajo, como es tradicional +con <literal>\lim</literal>, <literal>\sup</literal> o <literal>\max</literal>. +</para> </sect1> -<sect1 label="17.4" id="Acentos-Matem_00e1ticos"> -<title>Acentos Matemáticos</title> -<indexterm role="cp"><primary>acentos matemáticos</primary></indexterm> -<indexterm role="cp"><primary>acentos, matemáticas</primary></indexterm> +<sect1 label="16.4" id="Acentos-matem_00e1ticos"> +<title>Acentos matemáticos</title> -<para>&latex; proporciona una variedad de instrucciones para producir letras -acentuadas en matemáticas. Son distintas de los acentos en un texto normal -(véase <link linkend="Acentos">Acentos</link>). +<indexterm role="cp"><primary>Acentos matemáticos</primary></indexterm> +<indexterm role="cp"><primary>acentos, matemáticos</primary></indexterm> + +<para>&latex; proporciona una variedad de comandos para producir letras +acentuadas en matemáticas. Estos son diferentes de los acentos en el +texto normal. (véase <link linkend="Acentos">Acentos</link>). </para> <variablelist><varlistentry><term><indexterm role="fn"><primary>\acute</primary></indexterm><literal>\acute</literal> -</term><listitem><indexterm role="cp"><primary>acento agudo, math</primary></indexterm> -<para>Acento agudo en modo Math: <inlineequation><mathphrase>\acute{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento agudo, matemáticas</primary></indexterm> +<para>Acento agudo matemático </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\bar</primary></indexterm><literal>\bar</literal> -</term><listitem><indexterm role="cp"><primary>acento barra horizontal, math</primary></indexterm> -<indexterm role="cp"><primary>acento macrón, math</primary></indexterm> -<para>Acento barra horizontal (macrón) en modo Math: <inlineequation><mathphrase>\bar{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento de barra, matemáticas</primary></indexterm> +<indexterm role="cp"><primary>acento macrón, matemáticas</primary></indexterm> +<para>Acento de barra de matemáticas </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\breve</primary></indexterm><literal>\breve</literal> -</term><listitem><indexterm role="cp"><primary>acento breve, math</primary></indexterm> -<para>Acento breve en modo Math: <inlineequation><mathphrase>\breve{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento breve, matemáticas</primary></indexterm> +<para>Acento matemático breve </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\check</primary></indexterm><literal>\check</literal> -</term><listitem><indexterm role="cp"><primary>acento de verificación, math</primary></indexterm> -<indexterm role="cp"><primary>acento háček, math</primary></indexterm> -<para>Acento de verificación háček en modo Math: <inlineequation><mathphrase>\check{x}</mathphrase></inlineequation>. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddot</primary></indexterm><literal>\ddot</literal> -</term><listitem><indexterm role="cp"><primary>acento diéresis, math</primary></indexterm> -<para>Acento diéresis en modo Math: <inlineequation><mathphrase>\ddot{x}</mathphrase></inlineequation>. -</para> +</term><listitem><indexterm role="cp"><primary>comprobar acento, matemáticas</primary></indexterm> +<indexterm role="cp"><primary>acento háček, matemáticas</primary></indexterm> + +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddots</primary></indexterm><literal>\ddots</literal> +</term><listitem><indexterm role="cp"><primary>acento de doble punto, matemáticas</primary></indexterm> + </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dot</primary></indexterm><literal>\dot</literal> -</term><listitem><indexterm role="cp"><primary>acento punto superior, math</primary></indexterm> -<indexterm role="cp"><primary>punto superior acento, math</primary></indexterm> -<para>Acento punto superior en modo Math: <inlineequation><mathphrase>\dot{x}</mathphrase></inlineequation>. -</para> +</term><listitem><indexterm role="cp"><primary>acento exagerado, matemáticas</primary></indexterm> +<indexterm role="cp"><primary>punto sobre acento, matemáticas</primary></indexterm> + </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\grave</primary></indexterm><literal>\grave</literal> -</term><listitem><indexterm role="cp"><primary>acento grave, math</primary></indexterm> -<para>Acento grave en modo Math: <inlineequation><mathphrase>\grave{x}</mathphrase></inlineequation>. -</para> +</term><listitem><indexterm role="cp"><primary>acento grave, matemáticas</primary></indexterm> + </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\hat</primary></indexterm><literal>\hat</literal> -</term><listitem><indexterm role="cp"><primary>acento circunflejo, math</primary></indexterm> -<indexterm role="cp"><primary>acento circunflejo, math</primary></indexterm> -<para>Acento circunflejo en modo Math: <inlineequation><mathphrase>\hat{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento de sombrero, matemáticas</primary></indexterm> +<indexterm role="cp"><primary>acento circunflejo, matemáticas</primary></indexterm> +<para>Acento de sombrero de matemáticas (circunflejo) </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\imath</primary></indexterm><literal>\imath</literal> -</term><listitem><indexterm role="cp"><primary>i sin punto, math</primary></indexterm> -<para>i sin punto en modo Math. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\jmath</primary></indexterm><literal>\jmath</literal> -</term><listitem><indexterm role="cp"><primary>j sin punto, math</primary></indexterm> -<para>j sin punto en modo Math. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\mathring</primary></indexterm><literal>\mathring</literal> +</term><listitem><indexterm role="cp"><primary>acento de anillo, matemáticas</primary></indexterm> +<para>Acento de anillo matemático <!-- no te molestes en implementarlo en --> + <!-- texinfo --> </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\tilde</primary></indexterm><literal>\tilde</literal> -</term><listitem><indexterm role="cp"><primary>acento tilde, math</primary></indexterm> -<para>Acento tilde en modo Math: <inlineequation><mathphrase>\tilde{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento tilde, matemáticas</primary></indexterm> +<para>Acento de tilde matemática </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vec</primary></indexterm><literal>\vec</literal> -</term><listitem><indexterm role="cp"><primary>símbolo de vector, math</primary></indexterm> -<para>Símbolo de vector en modo Math: <inlineequation><mathphrase>\vec{x}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>símbolo vectorial, matemáticas</primary></indexterm> +<para>símbolo de vector de matemáticas </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\widehat</primary></indexterm><literal>\widehat</literal> -</term><listitem><indexterm role="cp"><primary>acento circunflejo amplio, math</primary></indexterm> -<para>Acento circunflejo amplio en modo Math: <inlineequation><mathphrase>\widehat{x+y}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento de sombrero ancho, matemáticas</primary></indexterm> +<para>Acento de sombrero ancho de matemáticas </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\widetilde</primary></indexterm><literal>\widetilde</literal> -</term><listitem><indexterm role="cp"><primary>acento tilde amplia, math</primary></indexterm> -<para>Acento tilde amplia en modo Math: <inlineequation><mathphrase>\widetilde{x+y}</mathphrase></inlineequation>. +</term><listitem><indexterm role="cp"><primary>acento de tilde ancho, matemáticas</primary></indexterm> +<para>Acento de tilde ancho de matemáticas </para> </listitem></varlistentry></variablelist> +<para>Cuando pones un acento en una i o una j, la tradición es usar uno sin +punto, <literal>\imath</literal> o <literal>jmath</literal> (véase <link linkend="S_00edmbolos-matem_00e1ticos">Símbolos matemáticos</link>). +</para> </sect1> -<sect1 label="17.5" id="Espacios-en-Modo-Math"> -<title>Espacios en Modo Math</title> -<indexterm role="cp"><primary>espacio dentro del modo math</primary></indexterm> -<indexterm role="cp"><primary>modo math mode, espaciado</primary></indexterm> +<sect1 label="16.5" id="Sobre-y-subrayado"> +<title>Sobre y subrayado</title> -<para>En un entorno <literal>math</literal>, &latex; ignora los espacios que usted -escriba y coloca espacios de acuerdo a las reglas normales para texto -matemático. Si desea un espaciado diferente, &latex; proporciona las -siguientes instrucciones para su uso en modo matemático: +<indexterm role="cp"><primary>superposición</primary></indexterm> +<indexterm role="cp"><primary>subrayado</primary></indexterm> + +<para>&latex; proporciona comandos para hacer líneas superpuestas o +subrayadas, o poner llaves sobre o debajo de algún material. +</para> +<variablelist> +<varlistentry><term><indexterm role="fn"><primary>\underline{<replaceable>text</replaceable>}</primary></indexterm><literal>\underline{<replaceable>text</replaceable>}</literal> +</term><listitem><para><replaceable>text</replaceable> subrayado. Funciona dentro y fuera del modo matemático. +La línea siempre está completamente debajo del texto, teniendo en +cuenta descendientes, por lo que en <literal>\(\underline{y}\)</literal> la +línea es más baja que en <literal>\(\underline{x}\)</literal>. Este comando es +frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<indexterm role="cp"><primary>package, <literal>ulem</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>ulem</literal> package</primary></indexterm> +<para>Ten en cuenta que el paquete <literal>ulem</literal> subraya el +modo de texto y permite salto de línea, así como una serie de otras +características. Ve la documentación en CTAN. +También <link linkend="_005chrulefill-y-_005cdotfill">\hrulefill y \dotfill</link> para producir una línea, para +cosas como una firma. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overline{<replaceable>text</replaceable>}</primary></indexterm><literal>\overline{<replaceable>text</replaceable>}</literal> +</term><listitem><para>Coloca una línea horizontal sobre <replaceable>text</replaceable>. Funciona dentro y fuera +del modo matemático. Por ejemplo, <literal>\overline{x+y}</literal>. +Ten en cuenta que esto difiere del comando <literal>\bar</literal> (véase <link linkend="Acentos-matem_00e1ticos">Acentos +matemáticos</link>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\underbrace{<replaceable>math</replaceable>}</primary></indexterm><literal>\underbrace{<replaceable>math</replaceable>}</literal> +</term><listitem><para>Pone una llave debajo de <replaceable>math</replaceable>. Por ejemplo, este +<literal>(1-\underbrace{1/2)+(1/2}-1/3)</literal> enfatiza la parte telescópica. +Adjunta texto a la llave usando el comando de subíndice, <literal>_</literal> o +superíndice, <literal>^</literal>, como aquí. +</para> +<screen>\begin{displaymath} + 1+1/2+\underbrace{1/3+1/4}_{>1/2}+ + \underbrace{1/5+1/6+1/7+1/8}_{>1/2}+\cdots +\end{displaymath} +</screen> +<para>El superíndice aparece encima de la expresión, por lo que se puede ver +desconectado de la llave inferior. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overbrace{<replaceable>math</replaceable>}</primary></indexterm><literal>\overbrace{<replaceable>math</replaceable>}</literal> +</term><listitem><para>Pone una llave sobre <replaceable>math</replaceable>, como con +<literal>\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}</literal>. Ve +también <literal>\underbrace</literal>. +</para> +</listitem></varlistentry></variablelist> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>El paquete <literal>mathtools</literal> agrega una llave +superior e inferior, así como algunas mejoras en los corchetes. +Consulta la documentación en CTAN. +</para> + +</sect1> +<sect1 label="16.6" id="Espaciado-en-modo-matem_00e1tico"> +<title>Espaciado en modo matemático</title> + +<indexterm role="cp"><primary>Espaciado dentro del modo matemático</primary></indexterm> +<indexterm role="cp"><primary>modo matemático, espaciado</primary></indexterm> + +<para>Al componer matemáticas, &latex; pone espacios de acuerdo con las +reglas normales para textos de matemáticas. Si ingresas <literal>y=m x</literal> +entonces &latex; ignora el espacio y en la salida la m está al lado +de la x, como <inlineequation><mathphrase>y=mx</mathphrase></inlineequation>. +</para> +<para>Pero las reglas de &latex; ocasionalmente necesitan ajustes. Por +ejemplo, en una integral la tradición es poner un pequeño espacio +extra entre el <literal>f(x)</literal> y el <literal>dx</literal>, aquí hecho con el comando +<literal>\,</literal>: +</para> +<screen>\int_0^1 f(x)\,dx +</screen> +<para>&latex; proporciona los siguientes comandos para usar en modo +matemático. Muchas de estas definiciones de espaciado se expresan en +términos de la unidad matemática <firstterm>mu</firstterm>. Se define como +1/18em, donde el em se toma de la familia actual de símbolos +matemáticos (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>). Así, un +<literal>\thickspace</literal> es algo así como 5/18 veces el ancho de +una ‘<literal>M</literal>’. </para> <variablelist><varlistentry><term><literal>\;</literal> </term><listitem><indexterm role="fn"><primary>\;</primary></indexterm> -<para>Un espacio de grosor (<inlineequation><mathphrase>5\over18\,</mathphrase></inlineequation>cuádruple). -</para></listitem></varlistentry><varlistentry><term><literal>\:</literal> +<indexterm role="fn"><primary>\thickspace</primary></indexterm> +<anchor id="espaciado-en-modo-matem_00e1tico-espacio-grueso"/><indexterm role="cp"><primary>package, <literal>ammath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>ammath</literal> package</primary></indexterm> + +<para>Sinónimo: <literal>\thickspace</literal>. Normalmente <literal>5.0mu plus 5.0mu</literal>. +Con el paquete <literal>amsmath</literal>, o a partir de la versión 2020-10-01 +&latex;, se puede utilizar tanto en modo texto como en modo +matemático; de lo contrario, en modo matemático solamente. +</para> +</listitem></varlistentry><varlistentry><term><literal>\negthickspace</literal> +</term><listitem><indexterm role="fn"><primary>\negthickspace</primary></indexterm> +<para>Normalmente <literal>-5.0mu plus 2.0mu minus 4.0mu</literal>. Con el paquete +<literal>amsmath</literal>, o a partir de la versión 2020-10-01 &latex;, se +puede usar en modo texto así como en modo matemático; de lo contrario, +solo en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\:</literal> </term><term><literal>\></literal> </term><listitem><indexterm role="fn"><primary>\:</primary></indexterm> <indexterm role="fn"><primary>\></primary></indexterm> -<para>Ambos producen un espacio medio (<inlineequation><mathphrase>2\over9\,</mathphrase></inlineequation>cuádruple). -</para></listitem></varlistentry><varlistentry><term><literal>\,</literal> +<indexterm role="fn"><primary>\medspace</primary></indexterm> +<anchor id="espaciado-en-modo-matem_00e1tico-medspace"/><para>Sinónimo: +<literal>\medspace</literal>. Normalmente <literal>4.0mu plus 2.0mu minus 4.0mu</literal>. +Con el paquete <literal>amsmath</literal>, o a partir del 2020-10-01 la versión +de &latex;, se puede usar tanto en modo de texto como en modo +matemático; antes de eso, solo en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\negmedspace</literal> +</term><listitem><indexterm role="fn"><primary>\negmedspace</primary></indexterm> +<para>Normalmente <literal>-4.0mu plus 2.0mu minus 4.0mu</literal>. Con el paquete +<literal>amsmath</literal>, o a partir de la versión 2020-10-01 &latex;, se +puede usar en modo texto así como modo matemático; antes de eso, solo +en modo matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\,</literal> </term><listitem><indexterm role="fn"><primary>\,</primary></indexterm> -<para>Un espacio fino (<inlineequation><mathphrase>1\over6\,</mathphrase></inlineequation>cuádruple); no se limita a modo matemático. -</para></listitem></varlistentry><varlistentry><term><literal>\!</literal> -</term><listitem><para>Un espacio fino negativo (<inlineequation><mathphrase>-{1\over6}\,</mathphrase></inlineequation>cuádruple). +<indexterm role="fn"><primary>\thinspace</primary></indexterm> +<indexterm role="cp"><primary>espacio delgado</primary></indexterm> +<anchor id="Espaciado-en-modo-matem_00e1tico_002f_005cthinspace"/><anchor id="espaciado-en-modo-matem_00e1tico-thinspace"/><para>Sinónimo: <literal>\thinspace</literal>. Normalmente +<literal>3mu</literal>, que es 1/6em. Se puede usar tanto en modo +matemático como en modo texto (véase <link linkend="_005cthinspace-y-_005cnegthinspace">\thinspace y \negthinspace</link>). +</para> +<para>Este espacio es muy utilizado, por ejemplo entre la función y el +infinitesimal en una integral <literal>\int f(x)\,dx</literal> y, si un autor hace +esto, antes de la puntuación en una ecuación mostrada. +</para> +<screen>La antiderivada es +\begin{equation} + 3x^{-1/2}+3^{1/2}\,. +\end{equation} +\end{equation} +</screen> +</listitem></varlistentry><varlistentry><term><literal>\!</literal> +</term><listitem><indexterm role="fn"><primary>\!</primary></indexterm> +<indexterm role="fn"><primary>\negthinspace</primary></indexterm> +<indexterm role="cp"><primary>espacio delgado, negativo</primary></indexterm> +<anchor id="espaciado-en-modo-matem_00e1tico-negthinspace"/><para>Sinónimo: +<literal>\negthinspace</literal>. Un espacio delgado negativo. Normalmente +<literal>-3mu</literal>. Con el paquete <literal>amsmath</literal>, o a partir de la +versión 2020-10-01 de &latex;, se puede usar tanto en modo de texto +como en modo matemático; de lo contrario, el comando <literal>\!</literal> es solo +modo matemático, pero el comando <literal>\negthinspace</literal> también ha +funcionado siempre en modo texto (véase <link linkend="_005cthinspace-y-_005cnegthinspace">\thinspace y \negthinspace</link>). +</para> +</listitem></varlistentry><varlistentry><term><literal>\quad</literal> +</term><listitem><indexterm role="cp"><primary>quad</primary></indexterm> +<indexterm role="fn"><primary>\quad</primary></indexterm> +<anchor id="espaciado-en-modo-matem_00e1tico-quad"/><para>Esto es 18mu, es +decir, 1em. Esto se usa a menudo para el espacio ecuaciones o +expresiones circundantes, por ejemplo para el espacio entre dos +ecuaciones dentro de un entorno <literal>displaymath</literal>. Está disponible +tanto en modo de texto como matemático. +</para> +</listitem></varlistentry><varlistentry><term><literal>\qquad</literal> +</term><listitem><indexterm role="fn"><primary>\qquad</primary></indexterm> +<anchor id="espaciado-en-modo-matem_00e1tico-qquad"/><para>Una longitud de 2 quads, +es decir, 36mu = 2em. Esta disponible en modo texto y +modo matemático. </para></listitem></varlistentry></variablelist> + +<sect2 label="16.6.1" id="_005csmash"> +<title><literal>\smash</literal></title> + +<indexterm role="cp"><primary>espaciado vertical, modo matemático</primary></indexterm> +<indexterm role="cp"><primary>modo matemático, espacio vertical</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\smash{<replaceable>subformula</replaceable>} +</screen> +<para>Escribe <replaceable>subformula</replaceable> como si su altura y profundidad fuera cero. +</para> +<para>En este ejemplo, la exponencial es tan alta que sin el comando +<literal>\smash</literal> &latex; separaría su línea de la línea por encima de +él, y el espaciado desigual de las líneas puede resultar antiestético. +</para> +<screen>Para calcular la tetración $\smash{2^{2^{2^2}}}$, +evaluar de arriba hacia abajo, como $2^{2^4}=2^{16}=65536$. +</screen> +<para>(Debido al <literal>\smash</literal>, la expresión impresa se podría encontrar con +la línea anterior, por lo que es posible que desees esperar hasta la +versión final del documento para hacer tales ajustes). +</para> +<para>Esto representa el efecto de <literal>\smash</literal> usando <literal>\fbox</literal> para +rodear el cuadro que &latex; pondrá en la línea. El comando +<literal>\blackbar</literal> crea una barra que se extiende desde 10 puntos +debajo la línea base a 20 puntos arriba. +</para> +<screen>\newcommand{\blackbar}{\rule[-10pt]{5pt}{30pt}} +\fbox{\blackbar} +\fbox{\smash{\blackbar}} +</screen> +<para>El primer cuadro que coloca &latex; tiene una altura de +20 puntos y 10 puntos de profundidad. Pero el segundo +cuadro es tratado por &latex; como teniendo cero altura y cero +profundidad, a pesar de que la tinta impresa en la página aún se +extiende muy por encima y por debajo de la línea. +</para> +<para>El comando <literal>\smash</literal> aparece a menudo en matemáticas para ajustar +el tamaño de un elemento que rodea una subfórmula. Aquí el primer +radical se extiende por debajo de la línea base mientras que el +segundo se encuentra justo en la línea base. +</para> +<screen>\begin{equation} +\sqrt{\sum_{0\leq k< n} f(k)} +\sqrt{\vphantom{\sum}\smash{\sum_{0\leq k< n}} f(k)} +\end{equation} +</screen> +<para>Ten en cuenta el uso de <literal>\\vphantom</literal> para dar al comando +<literal>\sqrt</literal> un argumento con la altura de <literal>\sum</literal> +(véase <link linkend="_005cphantom-_002d-_005cvphantom-y-_005chphantom">\phantom - \vphantom y \hphantom</link>). +</para> +<para>Si bien se usan con mayor frecuencia en matemáticas, estos tres pueden +aparecer en otros contextos. Sin embargo, no hacen que &latex; +cambie a modo horizontal. Entonces, si uno de estos comienza un +párrafo, lo debes anteponer con <literal>\leavevmode</literal>. +</para> +<screen>xxx xxx xxx + +\smash{yyy} % sin sangría de párrafo + +\leavevmode\smash{zzz} % sangría de párrafo habitual +</screen> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>El paquete <literal>mathtools</literal> tiene operadores +que brindan control sobre romper un cuadro de subfórmula. +</para> + +</sect2> +<sect2 label="16.6.2" id="_005cphantom-_002d-_005cvphantom-y-_005chphantom"> +<title><literal>\phantom</literal>, <literal>\vphantom</literal> y <literal>\hphantom</literal></title> + +<anchor id="_005cphantom"/><anchor id="_005cvphantom"/><anchor id="_005chphantom"/><indexterm role="fn"><primary>\phantom</primary></indexterm> +<indexterm role="fn"><primary>\vphantom</primary></indexterm> +<indexterm role="fn"><primary>\hphantom</primary></indexterm> + +<indexterm role="cp"><primary>espaciado, modo matemático</primary></indexterm> +<indexterm role="cp"><primary>espaciado horizontal</primary></indexterm> +<indexterm role="cp"><primary>espaciado vertical</primary></indexterm> +<indexterm role="cp"><primary>modo matemático, espaciado</primary></indexterm> +<indexterm role="cp"><primary>carácter invisible</primary></indexterm> +<indexterm role="cp"><primary>carácter, invisible</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\phantom{<replaceable>subformula</replaceable>} +</screen> +<para>o +</para> +<screen>\vphantom{<replaceable>subformula</replaceable>} +</screen> +<para>o +</para> +<screen>\hphantom{<replaceable>subformula</replaceable>} +</screen> +<para>El comando <literal>\phantom</literal> crea un cuadro con la misma altura, +profundidad y ancho como <replaceable>subformula</replaceable>, pero vacío. Es decir, este +comando provoca que &latex; escriba el espacio pero no lo llena con +el material. Aquí &latex; pondrá una línea en blanco con el ancho +correcto para la respuesta, pero no mostrará esa respuesta. +</para> +<screen>\begin{displaymath} + \int x^2\,dx=\mbox{\underline{$\phantom{(1/3)x^3+C}$}} +\end{displaymath} +</screen> +<para>La variante <literal>\vphantom</literal> produce un cuadro invisible con el mismo +tamaño vertical que <replaceable>subformula</replaceable>, la misma altura y profundidad, +pero teniendo ancho cero. Y <literal>\hphantom</literal> crea un cuadro con el +mismo ancho que <replaceable>subformula</replaceable> pero con altura y profundidad cero. +</para> +<para>En este ejemplo, la torre de exponentes en la segunda expresión del +sumando es tan alto que &tex; coloca esta expresión más abajo que su +predeterminado. Sin ajuste, las dos expresiones de sumando estarían +en niveles diferentes. El <literal>\vphantom</literal> en la primera expresión +dice a &tex; que deje tanto espacio vertical como para la torre, por +lo que las dos expresiones salen al mismo nivel. +</para> +<screen>\begin{displaymath} + \sum_{j\in\{0,\ldots\, 10\}\vphantom{3^{3^{3^j}}}} + \sum_{i\in\{0,\ldots\, 3^{3^{3^j}}\}} i\cdot j +\end{displaymath} +</screen> +<para>Estos comandos a menudo se usan junto con <literal>\smash</literal>. +Véase <link linkend="_005csmash">\smash</link>, que incluye otro ejemplo de <literal>\vphantom</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm> +<para>Los tres comandos fantasma aparecen a menudo, +pero ten en cuenta que &latex; proporciona un conjunto de otros +comandos para trabajar con tamaños de caja que pueden ser más +convenientes, incluyendo <literal>\makebox</literal> (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>) +también como <literal>\settodepth</literal> (véase <link linkend="_005csettodepth">\settodepth</link>), +<literal>\settoheight</literal> (véase <link linkend="_005csettoheight">\settoheight</link>), y <literal>\settowidth</literal> +(véase <link linkend="_005csettowidth">\settowidth</link>). Además, el paquete <literal>mathtools</literal> tiene +muchos comandos que ofrecen control detallado sobre el espaciado. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>Los tres comandos producen una caja ordinaria, sin +ningún estado de matemáticas especial. Entonces, para hacer algo como +adjuntar un superíndice, deberías darle ese estado, por ejemplo con el +comando <literal>\operatorname</literal> del paquete <literal>amsmath</literal>. +</para> +<para>Si bien se usan con mayor frecuencia en matemáticas, estos tres pueden +aparecer en otros contextos. Sin embargo, no hacen que &latex; +cambie a modo horizontal. Entonces, si uno de estos comienza un +párrafo, lo debes anteponer con <literal>\leavevmode</literal>. +</para> + +</sect2> +<sect2 label="16.6.3" id="_005cmathstrut"> +<title><literal>\mathstrut</literal></title> + +<indexterm role="fn"><primary><literal>\mathstrut</literal></primary></indexterm> +<indexterm role="cp"><primary>espaciado, modo matemático</primary></indexterm> +<indexterm role="cp"><primary>espaciado vertical</primary></indexterm> +<indexterm role="cp"><primary>modo matemático, espaciado</primary></indexterm> +<indexterm role="cp"><primary>carácter invisible</primary></indexterm> +<indexterm role="cp"><primary>carácter, invisible</primary></indexterm> +<indexterm role="cp"><primary>strut, math</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\mathstrut +</screen> +<para>El análogo de <literal>\strut</literal> para matemáticas. Véase <link linkend="_005cstrut">\strut</link>. +</para> +<para>La entrada <literal>$\sqrt{x} + \sqrt{x^i}$</literal> da salida donde el +segundo radical es más alto que el primero. Para agregar espacio +vertical adicional sin ningún espacio horizontal, para que los dos +tengan la misma altura, usa <literal>$\sqrt{x\mathstrut} + +\sqrt{x^i\mathstrut}$</literal>. +</para> +<para>El comando <literal>\mathstrut</literal> agrega la altura vertical de un +paréntesis de apertura, <literal>(</literal>, pero sin espacio horizontal. Se +define como <literal>\vphantom{(}</literal>, así que <link linkend="_005cphantom-_002d-_005cvphantom-y-_005chphantom">\phantom - \vphantom y +\hphantom</link> para más. Una ventaja sobre <literal>\strut</literal> es que +<literal>\mathstrut</literal> no agrega profundidad, que suele ser lo correcto +para las fórmulas. Usar la altura de un paréntesis de apertura es +solo una convención; para un control completo sobre la cantidad de +espacio, usa <literal>\rule</literal> con un ancho cero. Véase <link linkend="_005crule">\rule</link>. +</para> + +</sect2> +</sect1> +<sect1 label="16.7" id="Estilos-math"> +<title>Estilos math</title> + +<indexterm role="cp"><primary>math estilos</primary></indexterm> + +<para>Las reglas de &tex; para escribir una fórmula dependen del contexto. +Por ejemplo, dentro de una ecuación mostrada, la entrada +<literal>\sum_{0\leq i<n}k^m=\frac{n^{m+1}}{m+1}+\mbox{términos +de orden inferior}</literal> dará salida con el índice de suma centrado debajo +del símbolo de suma. Pero si esa entrada está en línea, entonces el +índice de suma está a la derecha en lugar de debajo, por lo que no +empujará aparte las líneas. Del mismo modo, en un contexto mostrado, +los símbolos en el numerador y el denominador será más grande que para +un contexto en línea, y en mostrar subíndices matemáticos y los +superíndices están más separados que en matemáticas en línea. +</para> +<para>&tex; usa cuatro estilos matemáticos. +</para> +<itemizedlist> +<listitem><indexterm role="cp"><primary>estilo de visualización</primary></indexterm> +<para>El estilo de visualización es para una fórmula que se muestra en una +línea por sí misma, como con <literal>\begin{equation} +... \end{equation}</literal>. +</para> +</listitem><listitem><indexterm role="cp"><primary>estilo de texto</primary></indexterm> +<para>El estilo de texto es para una fórmula en línea, como con ‘<literal>así +que tenemos $ ... $</literal>’. +</para> +</listitem><listitem><indexterm role="cp"><primary>estilo de script</primary></indexterm> +<para>El estilo de escritura es para partes de una fórmula en un subíndice o +superíndice. +</para> +</listitem><listitem><indexterm role="cp"><primary>estilo scriptscript</primary></indexterm> +<para>El estilo Scriptscript es para partes de una fórmula en un segundo +nivel (o más) de subíndice o superíndice. +</para> +</listitem></itemizedlist> +<indexterm role="fn"><primary>\displaystyle</primary></indexterm> +<indexterm role="fn"><primary>\textstyle</primary></indexterm> +<indexterm role="fn"><primary>\scriptstyle</primary></indexterm> +<indexterm role="fn"><primary>\scriptscriptstyle</primary></indexterm> +<para>&tex; determina un estilo matemático predeterminado, pero lo puedes +redefinir con una declaración de <literal>\displaystyle</literal>, o +<literal>\textstyle</literal>, o <literal>\scriptstyle</literal> o <literal>\scriptscriptstyle</literal>. +</para> +<para>En este ejemplo, la fracción de la línea ‘<literal>Arithmetic</literal>’ se verá +arrugada. +</para> + +<screen>\begin{tabular}{r|cc} + \textsc{Name} &\textsc{Series} &\textsc{Sum} \\ \hline + Arithmetic &$a+(a+b)+(a+2b)+\cdots+(a+(n-1)b)$ + &$na+(n-1)n\cdot\frac{b}{2}$ \\ + Geometric &$a+ab+ab^2+\cdots+ab^{n-1}$ + &$\displaystyle a\cdot\frac{1-b^n}{1-b}$ \\ +\end{tabular} +</screen> +<para>Pero debido a la declaración <literal>\displaystyle</literal>, la fracción de la +línea ‘<literal>Geometric</literal>’ será fácil de leer, con caracteres del mismo +tamaño que en el resto de la línea. +</para> +<para>Otro ejemplo es que, en comparación con la misma entrada sin la +declaración, el resultado de +</para> +<screen>obtenemos +$\pi=2\cdot{\displaystyle\int_{x=0}^1 \sqrt{1-x^2}\,dx}$ +</screen> +<para>tendrá un signo integral que es mucho más alto. Ten en cuenta que +aquí el <literal>\displaystyle</literal> se aplica solo a una parte de la fórmula, +y está delimitado por estar dentro de llaves, como +‘<literal>{\displaystyle ...}</literal>’. +</para> +<para>El último ejemplo es una fracción continua. +</para> +<screen>\begin{equation} +a_0+\frac{1}{ + \displaystyle a_1+\frac{\mathstrut 1}{ + \displaystyle a_2+\frac{\mathstrut 1}{ + \displaystyle a_3}}} +\end{equation} +</screen> +<para>Sin las declaraciones de <literal>\displaystyle</literal>, los denominadores +serían establecido en estilo script y estilo scriptscript. (El +<literal>\mathstrut</literal> mejora la altura de los denominadores; +véase <link linkend="_005cmathstrut">\mathstrut</link>). +</para> + </sect1> -<sect1 label="17.6" id="Miscel_00e1nea-Math"> -<title>Miscelánea Math</title> -<indexterm role="cp"><primary>miscelánea math</primary></indexterm> +<sect1 label="16.8" id="Miscel_00e1nea-matem_00e1tica"> +<title>Miscelánea matemática</title> -<variablelist> -<varlistentry><term><indexterm role="fn"><primary>\*</primary></indexterm><literal>\*</literal> -</term><listitem><indexterm role="cp"><primary>multiplicación discrecional</primary></indexterm> -<indexterm role="cp"><primary>símbolo de multiplicación, con salto de línea discrecional</primary></indexterm> -<para>Un símbolo de multiplicación “discrecional”, en el que se permiten -saltos de línea. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\cdots</primary></indexterm><literal>\cdots</literal> -</term><listitem><para>Puntos suspensivos horizontales con los puntos elevados al centro de la -línea. +<indexterm role="cp"><primary>miscelánea matemática</primary></indexterm> + +<para>&latex; contiene una amplia variedad de funciones matemáticas. Aquí +están algunas que no encajan en otras categorías. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddots</primary></indexterm><literal>\ddots</literal> -</term><listitem><para>Puntos suspensivos en diagonal: <inlineequation><mathphrase>\ddots</mathphrase></inlineequation>. + + +<sect2 label="16.8.1" id="Car_00e1cter-de-dos-puntos-y-_005ccolon"> +<title>Carácter de dos puntos <literal>:</literal> y <literal>\colon</literal></title> + +<anchor id="Dos-puntos"/><indexterm role="cp"><primary>carácter dos puntos</primary></indexterm> +<indexterm role="fn"><primary>: (para math)</primary></indexterm> +<indexterm role="fn"><primary>\colon</primary></indexterm> + +<para>Sinopsis, una de: </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\frac{num}{den}</primary></indexterm><literal>\frac{num}{den}</literal> -</term><listitem><indexterm role="fn"><primary>\frac</primary></indexterm> -<para>Produce la fracción <literal>num</literal> dividida entre <literal>den</literal>. +<screen>: +\colon +</screen> +<para>En matemáticas, el carácter de dos puntos, <literal>:</literal>, es una relación. </para> +<screen>Con proporciones laterales \( 3:4 \) y \( 4:5 \), el triángulo es +correcto. +</screen> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\left <replaceable>delimitador1</replaceable> ... \right <replaceable>delimitador2</replaceable></primary></indexterm><literal>\left <replaceable>delimitador1</replaceable> ... \right <replaceable>delimitador2</replaceable></literal> -</term><listitem><indexterm role="fn"><primary>\right</primary></indexterm> -<indexterm role="cp"><primary>delimitador nulo</primary></indexterm> -<para>Los dos delimitadores no necesitan coincidir; ‘<literal>.</literal>’ actúa como un -delimitador nulo, sin producir salida. Los delimitadores son del tamaño -de acuerdo a las matemáticas en el medio. Ejemplo: <literal>\left( -\sum_i=1^10 a_i \right]</literal>. +<para>&latex; ordinario define <literal>\colon</literal> para producir el carácter de +dos puntos con el espacio apropiado para la puntuación, como en la +notación de creación de conjuntos <literal>\{x\colon 0\leq x<1\}</literal>. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overbrace{<replaceable>texto</replaceable>}</primary></indexterm><literal>\overbrace{<replaceable>texto</replaceable>}</literal> -</term><listitem><para>Genera un par de <replaceable>texto</replaceable> más. Por ejemplo, -<inlineequation><mathphrase>\overbrace{x+\cdots+x}^{k \rm\;veces}</mathphrase></inlineequation>. +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>Pero el paquete <literal>amsmath</literal> ampliamente +utilizado define <literal>\colon</literal> para su uso en la definición de +funciones <literal>f\colon D\to C</literal>. Así que si quieres el carácter de +dos puntos como puntuación y entonces usa <literal>\mathpunct{:}</literal>. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overline{<replaceable>texto</replaceable>}</primary></indexterm><literal>\overline{<replaceable>texto</replaceable>}</literal> -</term><listitem><para>Genera una línea horizontal sobre <replaceable>texo</replaceable>. Por ejemplo, -<inlineequation><mathphrase>\overline{x+y}</mathphrase></inlineequation>. + +</sect2> +<sect2 label="16.8.2" id="_005c_002a"> +<title><literal>\*</literal></title> + +<indexterm role="cp"><primary>multiplicación, discrecional</primary></indexterm> +<indexterm role="cp"><primary>saltos, multiplicación discrecional</primary></indexterm> +<indexterm role="cp"><primary>saltos de línea, multiplicación discrecional</primary></indexterm> +<indexterm role="cp"><primary>saltos discrecionales, multiplicación</primary></indexterm> +<indexterm role="fn"><primary>\*</primary></indexterm> + +<para>Sinopsis: </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\sqrt[<replaceable>raíz</replaceable>]{argumento}</primary></indexterm><literal>\sqrt[<replaceable>raíz</replaceable>]{argumento}</literal> -</term><listitem><para>Produce la representación de la raíz cuadrada de <replaceable>argumento</replaceable>. El -argumento opcional <replaceable>raíz</replaceable> determina qué raíz producir. Por ejemplo, -la raíz cúbica de <literal>x+y</literal> se escribe como <literal>$\sqrt[3]{x+y}$</literal>. +<screen>\* +</screen> +<para>Un símbolo de multiplicación que permite un salto de línea. Si hay un +salto entonces &latex; pone un símbolo <literal>\times</literal>, +×, antes de ese salto. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\stackrel{<replaceable>texto</replaceable>}{<replaceable>relación</replaceable>}</primary></indexterm><literal>\stackrel{<replaceable>texto</replaceable>}{<replaceable>relación</replaceable>}</literal> -</term><listitem><para>Coloca el <replaceable>texto</replaceable> sobre la <replaceable>relación</replaceable>. +<para>En <literal>\( A_1\* A_2\* A_3\* A_4 \)</literal>, si no hay salto de línea, +entonces &latex; los muestra como si fuera <literal>\( A_1 A_2 A_3 A_4 +\)</literal>. Si ocurre un salto de línea, por ejemplo, entre los dos del +medio, entonces &latex; lo establece como <literal>\( A_1 A_2 \times +\)</literal>, seguido por el salto, seguido de <literal>\( A_3 A_4 \)</literal>. </para> -<para>Por ejemplo, <literal>\stackrel{f}{\longrightarrow}</literal>. + +</sect2> +<sect2 label="16.8.3" id="_005cfrac"> +<title><literal>\frac</literal></title> + +<indexterm role="cp"><primary>fracción</primary></indexterm> +<indexterm role="fn"><primary>\frac</primary></indexterm> + +<para>Sinopsis: </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\underbrace{matemáticas}</primary></indexterm><literal>\underbrace{matemáticas}</literal> -</term><listitem><para>Genera <replaceable>matemáticas</replaceable> con una llave por debajo. +<screen>\frac{<replaceable>numerator</replaceable>}{<replaceable>denominator</replaceable>} +</screen> +<para>Produce la fracción. Usado como: <literal>\begin{displaymath} +\frac{1}{\sqrt{2\pi\sigma}} \end{displaymath}</literal>. En el modo +math en línea sale pequeño; ve la explicación de <literal>\displaystyle</literal> +(véase <link linkend="F_00f3rmulas-math">Fórmulas math</link>). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\underline{text}</primary></indexterm><literal>\underline{text}</literal> -</term><listitem><para>Provoca que se subraye el <replaceable>texto</replaceable>, el cual bien puede estar en modo -math o no. La línea siempre está por debajo del texto, teniendo en -cuenta los descendientes. + +</sect2> +<sect2 label="16.8.4" id="_005csqrt"> +<title><literal>\sqrt</literal></title> + +<indexterm role="cp"><primary>raíz cuadrada</primary></indexterm> +<indexterm role="cp"><primary>roots</primary></indexterm> +<indexterm role="cp"><primary>radical</primary></indexterm> +<indexterm role="fn"><primary>\sqrt</primary></indexterm> + +<para>Sinopsis, una de: </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\vdots</primary></indexterm><literal>\vdots</literal> -</term><listitem><indexterm role="fn"><primary>\vdots</primary></indexterm> -<para>Produce puntos suspensivos verticales. +<screen>\sqrt{<replaceable>arg</replaceable>} +\sqrt[<replaceable>root-number</replaceable>]{<replaceable>arg</replaceable>} +</screen> +<para>La raíz cuadrada, u opcionalmente otras raíces, de <replaceable>arg</replaceable>. El +argumento opcional <replaceable>root-number</replaceable> da la raíz, es decir, ingresa la +raíz cúbica de <literal>x+y</literal> como <literal>\sqrt[3]{x+y}</literal>. +El tamaño del radical crece con el de <replaceable>arg</replaceable> (conforme la altura +del radical crece, el ángulo en la parte más a la izquierda se hace +más pronunciado, hasta que <literal>arg</literal> es lo suficientemente alto, es +vertical). +</para> +<para>&latex; tiene un símbolo <literal>\surd</literal> separado para hacer una raíz +cuadrada sin <replaceable>arg</replaceable> (véase <link linkend="S_00edmbolos-matem_00e1ticos">Símbolos matemáticos</link>). </para> -</listitem></varlistentry></variablelist> +</sect2> +<sect2 label="16.8.5" id="_005cstackrel"> +<title><literal>\stackrel</literal></title> + +<indexterm role="cp"><primary>la pila de matemáticas</primary></indexterm> +<indexterm role="cp"><primary>relación, texto arriba</primary></indexterm> +<indexterm role="fn"><primary>\stackrel</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\stackrel{<replaceable>text</replaceable>}{<replaceable>relation</replaceable>} +</screen> +<para>Pon <replaceable>text</replaceable> encima de <replaceable>relation</replaceable>. Para poner un nombre de +función encima de una flecha ingresa +<literal>\stackrel{f}{\longrightarrow}</literal>. +</para> + +</sect2> </sect1> </chapter> -<chapter label="18" id="Modos"> +<chapter label="17" id="Modos"> <title>Modos</title> + <indexterm role="cp"><primary>modos</primary></indexterm> -<indexterm role="cp"><primary>modo párrafo</primary></indexterm> -<indexterm role="cp"><primary>modo math</primary></indexterm> -<indexterm role="cp"><primary>modo izquierda-a-derecha</primary></indexterm> -<indexterm role="cp"><primary>modo lR</primary></indexterm> +<para>A medida que &latex; procesa tu documento, en cualquier momento se +encuentra en uno de seis modos. Se dividen en tres categorías de dos +cada una, los modos horizontales, los modos matemáticos y los modos +verticales. Algunos comandos solo funcionan en un modo u otro (en +particular, muchos comandos solo funcionan en uno de los modos +matemáticos), y los mensajes de error se referirán a estos. +</para> +<itemizedlist><listitem><anchor id="modos-modo-p_00e1rrafo"/><indexterm role="cp"><primary>modo párrafo</primary></indexterm> +<para><firstterm>Modo párrafo</firstterm> (en &tex; simple esto se llama <firstterm>modo +horizontal</firstterm>) es en lo que se encuentra &latex; cuando procesa texto +normal. Se rompe el texto de entrada en líneas y encuentra las +posiciones de los saltos de línea, de modo que en modo vertical se +pueden hacer saltos de página. Este es el modo &latex;, es en la +mayor parte del tiempo. +</para> +<indexterm role="cp"><primary>modo de izquierda a derecha</primary></indexterm> +<indexterm role="cp"><primary>modo LR</primary></indexterm> +<anchor id="modos-modo-lr"/><para><firstterm>modo LR</firstterm> (para el modo de izquierda a +derecha; en &tex; simple esto se llama <firstterm>modo horizontal +restringido</firstterm>) está en vigor cuando se inicia &latex; hace una caja +con un comando <literal>\mbox</literal>. Como en el modo de párrafo, la salida de +&latex; es una cadena de palabras con espacios entre ellas. A +diferencia de en modo párrafo, en modo LR &latex; nunca comienza una +nueva línea, simplemente continúa de izquierda a derecha. (Aunque +&latex; no se quejará que la caja LR es demasiado larga, cuando está +terminada y luego intenta poner esa caja en una línea, bien se podría +quejar de que la caja LR terminada no cabe allí). +</para> +</listitem><listitem><indexterm role="cp"><primary>modo matemático</primary></indexterm> +<anchor id="modos-modo-matem_00e1tico"/><para><firstterm>modo matemático</firstterm> es cuando +&latex; está generando una fórmula matemática en línea. +</para> +<indexterm role="cp"><primary>muestra el modo matemático</primary></indexterm> +<para><firstterm>Muestra modo math</firstterm> es cuando &latex; está generando una fórmula +matemática. (Las fórmulas mostradas difieren un poco de las fórmulas +en línea. Un ejemplo es que la ubicación del subíndice en <literal>\int</literal> +difiere en las dos situaciones). +</para> +</listitem><listitem><indexterm role="cp"><primary>modo vertical</primary></indexterm> +<anchor id="modos-modo-vertical"/><para><firstterm>Modo vertical</firstterm> es cuando &latex; +está construyendo la lista de líneas y otro material haciendo la +página de salida, que comprende la inserción de saltos de página. +Este es el modo &latex;, es cuando se inicia un documento. +</para> +<indexterm role="cp"><primary>modo vertical interno</primary></indexterm> +<anchor id="modos-modo-vertical-interno"/><para><firstterm>Modo vertical interno</firstterm> está +en efecto cuando &latex; comienza a hacer una <literal>\vbox</literal>. No tiene +saltos de página, y como tal es el análogo vertical del modo LR. +</para> +</listitem></itemizedlist> +<para>Por ejemplo, si comienzas un artículo de &latex; con ‘<literal>Let \( x +\) ...</literal>’ entonces estos son los modos: primero &latex; inicia cada +documento en modo vertical, entonces lee la ‘<literal>L</literal>’ y cambia al modo +párrafo, entonces el siguiente cambio ocurre en la ‘<literal>\(</literal>’ donde +&latex; cambia al modo matemático, y luego, cuando sale de la +fórmula, parece volver al modo de párrafo. +</para> +<indexterm role="cp"><primary>modo de párrafo interno</primary></indexterm> +<indexterm role="cp"><primary>modo párrafo externo</primary></indexterm> +<anchor id="modos-modo-p_00e1rrafo-interno"/><anchor id="modos-modo-p_00e1rrafo-externo"/><para>El modo párrafo tiene dos subcasos. Si usas un comando +<literal>\parbox</literal> o un <literal>minipage</literal> entonces &latex; se pone en modo +párrafo. Pero no pondré un salto de página aquí. Dentro de una de +estas cajas, llamada <firstterm>parbox</firstterm>, &latex; está en <firstterm>modo de +párrafo interior</firstterm>. Es la situación mas usual, donde puedes poner +saltos de página, es <firstterm>modo de párrafo externo</firstterm> (véase <link linkend="Salto-de-p_00e1gina">Salto de +página</link>). +</para> + +<sect1 label="17.1" id="_005censuremath"> +<title><literal>\ensuremath</literal></title> -<para>Cuando &latex; está procesando el texto fuente, este siempre está en -uno de tres modos: +<para>Sinopsis: </para> -<itemizedlist><listitem><para>Modo Párrafo -</para></listitem><listitem><para>Modo Math -</para></listitem><listitem><para>Modo de Izquierda a derecha (Left-to-Right), llamado modo LR para -abreviar -</para></listitem></itemizedlist> -<para>&latex; cambia el modo sólo cuando sube o baja una escala a un -diferente nivel, aunque no todos los cambios de nivel producen cambios -de modo. Los cambios de modo sólo se producen al entrar o salir de un -entorno, o cuando &latex; está procesando el argumento de determinadas -instrucciones que producen texto. -</para> -<para>El “modo Párrafo” es el más común; es en el que &latex; está cuando -procesa texto ordinario. En ese modo, &latex; rompe el texto en líneas -y separa líneas en páginas. &latex; está en “modo math” cuando está -generando fórmulas matemáticas. En “modo LR”, como en modo párrafo, -&latex; considera que la salida que produce es una cadena de palabras -con espacios entre ellas. Sin embargo, a diferencia del modo párrafo, -&latex; sigue yendo de izquierda a derecha; nunca inicia una nueva -línea en modo LR. Incluso si usted pone un centenar de palabras en una -<literal>\mbox</literal>, &latex; mantendrá la composición de izquierda a derecha -dentro de una caja única, y luego se quejará porque la caja resultante -fue demasiado grande para caber en la línea. -</para> -<para>&latex; está en modo LR cuando comienza a hacer una caja con una -instrucción <literal>\mbox</literal>. Usted puede conseguir introducirse en un modo -diferente dentro de la caja —por ejemplo, usted puede hacerlo entrar -en el modo matemático para poner una fórmula en la caja. También hay -varias instrucciones productoras de texto y entornos para hacer una caja -que ponga a &latex; en el modo de párrafo. La caja hecha por medio de -una de estas instrucciones o entornos se llama <literal>parbox</literal>. Cuando -&latex; está en el modo de párrafo mientras que hace una caja, se dice -que está en “modo interno de párrafo”. Su modo de párrafo normal, que -se inicia fuera de él, se llama el “modo de párrafo externo”. +<screen>\ensuremath{<replaceable>formula</replaceable>} +</screen> +<para>Se asegura de que <replaceable>formula</replaceable> esté escrito en modo matemático. +</para> +<para>Por ejemplo, puedes redefinir comandos que normalmente solo se pueden +usar en modo matemático, para que se puedan usar tanto en matemáticas +como en texto sin formato. +</para> +<screen>\newcommand{\dx}{\ensuremath{dx}} +En $\int f(x)\, \dx$, el \dx{} es un infinitesimal. +</screen> +<para>Precaución: el comando <literal>\ensuremath</literal> es útil pero no una panacea. +</para> +<screen>\newcommand{\alf}{\ensuremath{\alpha}} + +Obtienes un alfa en modo texto: \alf. Pero compara el espaciado +correcto en $\alf+\alf$ con el de \alf+\alf. +</screen> +<para>Lo mejor es escribir cosas matemáticas en modo math. </para> +</sect1> </chapter> -<chapter label="19" id="Estilos-de-P_00e1gina"> -<title>Estilos de Página</title> +<chapter label="18" id="Estilos-de-p_00e1gina"> +<title>Estilos de página</title> + <indexterm role="cp"><primary>estilos, página</primary></indexterm> -<indexterm role="cp"><primary>estilos de página</primary></indexterm> +<indexterm role="cp"><primary>página, estilos</primary></indexterm> -<para>La instrucción <literal>\documentclass</literal> determina el tamaño y posición de -las cabeceras y pies de página. El estilo de página determina lo que -sucede en ellos. +<para>El estilo de una página determina dónde coloca &latex; los +componentes de esa página, como encabezados y pies de página, y el +cuerpo del texto. Este incluye páginas en la parte principal del +documento pero también incluye páginas especiales como la portada de +un libro, una página de un índice o la primera página de un artículo. +</para> +<indexterm role="cp"><primary>package, <literal>fancyhdr</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fancyhdr</literal> package</primary></indexterm> +<para>El paquete <literal>fancyhdr</literal> se usa comúnmente +para construir estilos de página. Ve su documentación. </para> -<sect1 label="19.1" id="_005cmaketitle"> +<sect1 label="18.1" id="_005cmaketitle"> <title><literal>\maketitle</literal></title> -<indexterm role="cp"><primary>títulos, haciendo</primary></indexterm> + +<indexterm role="cp"><primary>títulos, hacer</primary></indexterm> <indexterm role="fn"><primary>\maketitle</primary></indexterm> -<para>La instrucción <literal>\maketitle</literal> genera un título en una página -independiente — excepto en la clase <literal>article</literal>, donde se coloca el -título en la parte superior de la primera página. La información -utilizada para producir el título se obtiene de las siguientes -declaraciones: -</para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\author{<replaceable>nombre</replaceable> \and <replaceable>nombre2</replaceable>}</primary></indexterm><literal>\author{<replaceable>nombre</replaceable> \and <replaceable>nombre2</replaceable>}</literal> -</term><listitem><indexterm role="cp"><primary>autor, para titlepage</primary></indexterm> -<indexterm role="fn"><primary>\\ para <literal>\author</literal></primary></indexterm> -<indexterm role="fn"><primary>\and para <literal>\author</literal></primary></indexterm> -<para>La instrucción <literal>\author</literal> declara los autor(es) del documento, donde -el argumento es una lista de autores separados por instrucciones -<literal>\and</literal>. Use <literal>\\</literal> para separar líneas con una única entrada de -autor —por ejemplo, para proporcionar las entidades de autor o -dirección. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\date{<replaceable>texto</replaceable>}</primary></indexterm><literal>\date{<replaceable>texto</replaceable>}</literal> -</term><listitem><indexterm role="cp"><primary>fecha, para la página de título</primary></indexterm> -<para>La instrucción <literal>\date</literal> declara el <replaceable>texto</replaceable> para ser la fecha del -documento. Sin la instrucción <literal>\date</literal>, se utiliza la fecha actual -(véase <link linkend="_005ctoday">\today</link>). -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\thanks{<replaceable>texto</replaceable>}</primary></indexterm><literal>\thanks{<replaceable>texto</replaceable>}</literal> -</term><listitem><indexterm role="cp"><primary>thanks, para titlepage</primary></indexterm> -<indexterm role="cp"><primary>créditos al pie de página</primary></indexterm> -<para>La instrucción <literal>\thanks</literal> produce un pie de página -(<literal>\footnote</literal>) para el título, normalmente utilizada para -reconocimiento de créditos. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\title{<replaceable>texto</replaceable>}</primary></indexterm><literal>\title{<replaceable>texto</replaceable>}</literal> -</term><listitem><indexterm role="cp"><primary>title, para titlepage</primary></indexterm> -<indexterm role="fn"><primary>\\ para <literal>\title</literal></primary></indexterm> -<para>La instrucción <literal>\title</literal> declara <replaceable>texto</replaceable> para ser el título del -documento. Use <literal>\\</literal> para forzar un salto de línea, de la manera -usual. +<para>Sinopsis: +</para> +<screen>\maketitle +</screen> +<para>Genera un título. En las clases estándar el título aparece en una +página separada, excepto en la clase <literal>article</literal> donde está en la +parte superior de la primera página. (Véase <link linkend="Opciones-de-la-clase-documento">Opciones de la clase +documento</link>, para obtener información sobre la opción <literal>titlepage</literal> +de la clase documento). +</para> +<para>Este ejemplo muestra que <literal>\maketitle</literal> aparece en su lugar +habitual, inmediatamente después de <literal>\begin{document}</literal>. +</para> +<screen>\documentclass{article} \title{Construir un reactor nuclear usando +solo cocos} \author{Jonas Grumby\thanks{% Con el apoyo de una beca +Ginger de la Roy Hinkley Society.} \\ Capitán, \textit{Minnow} \and +Willy Gilligan\thanks{% Gracias a la fundación Mary Ann Summers ya +Thurston y Lovey Howell.} \\ Compañero, \textit{Minnow} } +\date{1964-Sep-26} \begin{document} \maketitle Solo siéntate y +escucharás un cuento, el cuento de un fatídico viaje. Que partió +desde este puerto tropical, a bordo de este diminuto barco. El +compañero era un navegante poderoso, el Capitán valiente y seguro. Un +conjunto de cinco pasajeros navega ese día para un recorrido de tres +horas. Un recorrido de tres horas. + ... +</screen> +<para>Le dices a &latex; la información utilizada para producir el título +haciendo las siguientes declaraciones. Estos deben venir antes de +<literal>\maketitle</literal>, ya sea en el preámbulo o en el cuerpo del +documento. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\author{<replaceable>name1</replaceable> \and <replaceable>name2</replaceable> \and ...}</primary></indexterm><literal>\author{<replaceable>name1</replaceable> \and <replaceable>name2</replaceable> \and ...}</literal> +</term><listitem><indexterm role="cp"><primary>autor, para portada</primary></indexterm> +<indexterm role="fn"><primary>\\ (para <literal>\author</literal>)</primary></indexterm> +<indexterm role="fn"><primary>\and (para <literal>\author</literal>)</primary></indexterm> +<para>Requerido. Declara el autor o autores del documento. El argumento es +un lista de autores separados por los comandos <literal>\and</literal>. Para +separar líneas dentro de la entrada de un solo autor, por ejemplo, +para dar la institución o dirección, usa una barra invertida doble, +<literal>\\</literal>. Si omites la declaración <literal>\author</literal> entonces obtienes +‘<literal>Advertencia LaTeX: Sin \autor dado</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\date{<replaceable>text</replaceable>}</primary></indexterm><literal>\date{<replaceable>text</replaceable>}</literal> +</term><listitem><indexterm role="cp"><primary>fecha, para portada</primary></indexterm> +<para>Opcional. Declara <replaceable>text</replaceable> como la fecha del documento. El +<replaceable>text</replaceable> no necesita estar en un formato de fecha; puede ser +cualquier texto. Si omites <literal>\date</literal> entonces &latex; usa la +fecha actual (véase <link linkend="_005ctoday">\today</link>). Para no tener fecha, utiliza +<literal>\date{}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\thanks{<replaceable>text</replaceable>}</primary></indexterm><literal>\thanks{<replaceable>text</replaceable>}</literal> +</term><listitem><indexterm role="cp"><primary>thanks, para la portada</primary></indexterm> +<indexterm role="cp"><primary>crédito, en nota al pie</primary></indexterm> +<para>Opcional. Produce una nota al pie. Lo puedes usar en la información +del autor para agradecimientos como se ilustra arriba, pero también lo +puedes usar en el título, o cualquier lugar donde tenga sentido una +marca de nota al pie. Puede ser cualquier texto en absoluto para que +lo puedas usar para cualquier propósito, como imprimir una dirección +de correo electrónico. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\title{<replaceable>text</replaceable>}</primary></indexterm><literal>\title{<replaceable>text</replaceable>}</literal> +</term><listitem><indexterm role="cp"><primary>título, para portada</primary></indexterm> +<indexterm role="fn"><primary>\\ (para <literal>\title</literal>)</primary></indexterm> +<para>Requerido. Declara <replaceable>text</replaceable> como título del documento. Obtiene un +salto de línea dentro de <replaceable>text</replaceable> con una barra invertida doble, +<literal>\\</literal>. Si omites la declaración <literal>\title</literal>, entonces el +comando <literal>\maketitle</literal> produce el ‘<literal>Error de LaTeX: No se +proporcionó \title</literal>’. </para> </listitem></varlistentry></variablelist> +<para>Para crear tu propia página de título, <link linkend="titlepage">titlepage</link>. También lo +puedes crear como único o lo puedes incluir como parte de un comando +<literal>\maketitle</literal> renovado. (Muchos editores proporcionarán una clase +para usar en lugar de <literal>article</literal> que formatea el título según sus +requisitos de la casa). +</para> </sect1> -<sect1 label="19.2" id="_005cpagenumbering"> +<sect1 label="18.2" id="_005cpagenumbering"> <title><literal>\pagenumbering</literal></title> + <indexterm role="fn"><primary>\pagenumbering</primary></indexterm> -<indexterm role="cp"><primary>estilo de numeración de página</primary></indexterm> +<indexterm role="cp"><primary>estilo de numeración de páginas</primary></indexterm> <para>Sinopsis: </para> -<screen>\pagenumbering{<replaceable>estilo</replaceable>} +<screen>\pagenumbering{<replaceable>number-style</replaceable>} </screen> -<para>Especifica el estilo de los números de página, de acuerdo a -<replaceable>estilo</replaceable>. <literal>\pagenumbering</literal> tambien -reinicializa le numero de pagína a <inlineequation><mathphrase>1</mathphrase></inlineequation>. Los valores de <replaceable>estilo</replaceable> -que se pueden utilizar son por ejemplo:: +<para>Especifica el estilo de los números de página y restablece el número +de página. El estilo de numeración se refleja en la página, y también +en la tabla de contenido y otras referencias de página. Esta +declaración tiene alcance global por lo que su efecto no se detiene +por un final de grupo como una llave de cierre o un fin de entorno. +</para> +<para>En este ejemplo, antes de la sección ‘<literal>Principal</literal>’ las páginas +están numeradas ‘<literal>a</literal>’, etc. Comenzando en la página que contiene la +llamada a <literal>\pagenumbering</literal> en esa sección, las páginas están +numeradas ‘<literal>1</literal>’, etc. +</para> +<screen>\begin{document}\pagenumbering{alph} + ... +\section{Main}\pagenumbering{arabic} + ... +</screen> +<para>El argumento <replaceable>number-style</replaceable> es uno de los siguientes +(también <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>). </para> <variablelist><varlistentry><term><literal>arabic</literal> -</term><listitem><para>números arábigos -</para></listitem></varlistentry><varlistentry><term><literal>roman</literal> -</term><listitem><para>números romanos en minúscula -</para></listitem></varlistentry><varlistentry><term><literal>Roman</literal> -</term><listitem><para>numeros romanos en mayúscula -</para></listitem></varlistentry><varlistentry><term><literal>alph</literal> -</term><listitem><para>letras en minúscula -</para></listitem></varlistentry><varlistentry><term><literal>Alph</literal> -</term><listitem><para>letras en mayúscula -</para></listitem></varlistentry></variablelist> +</term><listitem><para>número arábigo: 1, 2, … +</para> +</listitem></varlistentry><varlistentry><term><literal>roman</literal> +</term><listitem><para>Números romanos en minúsculas: i, ii, … +</para> +</listitem></varlistentry><varlistentry><term><literal>Roman</literal> +</term><listitem><para>Números romanos en mayúsculas: I, II, … +</para> +</listitem></varlistentry><varlistentry><term><literal>alph</literal> +</term><listitem><para>minúsculas: a, b, … Si tienes más de 26 páginas, entonces obtén +‘<literal>Error de LaTeX: Contador demasiado grande</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><literal>Alph</literal> +</term><listitem><para>letras mayúsculas: A, B, … Si tiene más de 26 páginas, entonces +obtienes ‘<literal>Error de LaTeX: Contador demasiado grande</literal>’. +</para> +</listitem></varlistentry><varlistentry><term><literal>gobble</literal> +</term><listitem><indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm> +<para>&latex; no genera un número de página, aunque se +reinicia. Las referencias a esa página también están en blanco. +(Esto no lo hace trabajar con el popular paquete <literal>hyperref</literal> +para tener el número de página no aparece, es posible que desees +utilizar <literal>\pagestyle{empty}</literal> o <literal>\thispagestyle{empty}</literal>). +</para> +</listitem></varlistentry></variablelist> +<para>Tradicionalmente, si un documento tiene antesala—prefacio, tabla de +contenido, etc.—entonces se numera con números romanos en +minúsculas. El asunto principal de un documento utiliza el árabe. +Véase <link linkend="_005cfrontmatter-_002d-_005cmainmatter-y-_005cbackmatter">\frontmatter - \mainmatter y \backmatter</link>. +</para> +<para>Si deseas cambiar el lugar donde aparece el número de página en la +página, <link linkend="_005cpagestyle">\pagestyle</link>. Si deseas cambiar el valor del número de +página, entonces manipula el contador <literal>page</literal> +(véase <link linkend="Contadores">Contadores</link>). +</para> </sect1> -<sect1 label="19.3" id="_005cpagestyle"> +<sect1 label="18.3" id="_005cpagestyle"> <title><literal>\pagestyle</literal></title> + <indexterm role="fn"><primary>\pagestyle</primary></indexterm> <indexterm role="cp"><primary>estilo de encabezado</primary></indexterm> -<indexterm role="cp"><primary>estilo del pie de página</primary></indexterm> -<indexterm role="cp"><primary>siguiendo el estilo de encabezado y pie de página</primary></indexterm> +<indexterm role="cp"><primary>estilo de pie de página</primary></indexterm> +<indexterm role="cp"><primary>ejecutar estilo de encabezado y pie de página</primary></indexterm> <para>Sinopsis: </para> -<screen>\pagestyle{<replaceable>estilo</replaceable>} +<screen>\pagestyle{<replaceable>style</replaceable>} </screen> -<para>La instrucción <literal>\pagestyle</literal> especifica como se componen -tipográficamente las cabeceras y pies de página a partir de la página -actual. Valores para <replaceable>estilo</replaceable>: +<para>Declaración que especifica cómo se componen los encabezados y pies de +página, desde la página actual en adelante. +</para> +<indexterm role="cp"><primary>package, <literal>fancyhdr</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>fancyhdr</literal> package</primary></indexterm> +<para>Una explicación con un ejemplo está abajo. Ten en +cuenta primero que el paquete <literal>fancyhdr</literal> es ahora la forma +estándar de manipular encabezados y pies de página. Nuevos documentos +que necesitan hacer algo diferente a una de las opciones estándar a +continuación deben usar este paquete. Ve su documentación en CTAN. +</para> +<para>Valores para <replaceable>style</replaceable>: </para> <variablelist><varlistentry><term><literal>plain</literal> -</term><listitem><para>Únicamente un número de página sencillo. +</term><listitem><para>El encabezado está vacío. El pie de página contiene solo un número de +página, centrado. </para> </listitem></varlistentry><varlistentry><term><literal>empty</literal> -</term><listitem><para>Cabeceras y pies de página vacíos, por ejemplo, sin números de página. +</term><listitem><para>Tanto el encabezado como el pie de página están vacíos. </para> </listitem></varlistentry><varlistentry><term><literal>headings</literal> -</term><listitem><para>Coloca encabezados en cada página. El estilo de documento especifica lo -que sucede en las cabeceras. +</term><listitem><para>Coloca encabezados y pies de página continuos en cada página. El +estilo del documento especifica lo que va allí; ve la explicación a +continuación. </para> </listitem></varlistentry><varlistentry><term><literal>myheadings</literal> -</term><listitem><para>Cabeceras personalizadas, especificadas via las instrucciones +</term><listitem><para>Encabezados personalizados, especificados a través de los comandos <literal>\markboth</literal> o <literal>\markright</literal>. </para> </listitem></varlistentry></variablelist> +<para>Un poco de discusión sobre la motivación del mecanismo de &latex; te +ayudará a trabajar con las opciones <literal>headings</literal> o +<literal>myheadings</literal>. La fuente del documento a continuación produce un +artículo, a dos caras, con el estilo de página <literal>headings</literal>. En +las páginas de la izquierda de este documento, &latex; quiere (además +del número de página) el título de la sección actual. En sus páginas +de la derecha &latex; quiere el título de la subsección actual. +Cuando crea una página, &latex; obtiene esta información del comandos +<literal>\leftmark</literal> y <literal>\rightmark</literal>. Así que depende de +<literal>\section</literal> y <literal>\subsection</literal> para almacenar esa información +allí. +</para> +<screen>\documentclass[twoside]{article} +\pagestyle{headings} +\begin{document} + ... \section{Section 1} ... \subsection{Subsección 1.1} ... +\section{Sección 2} + ... +\subsection{Subsección 2.1} + ... +\subsection{Subsección 2.2} + ... +</screen> +<para>Supongamos que la segunda sección cae en una página de la izquierda. +Aunque cuando la página comienza en la primera sección, &latex; +pondrá ‘<literal>Sección 2</literal>’ en el encabezado de la página izquierda. +En cuanto al encabezado derecho, si ninguna subsección comienza antes +del final de la página derecha, entonces &latex; deja en blanco el +encabezado de la derecha. Si una subsección aparece antes de terminar +la página derecha entonces hay dos casos. Si al menos una subsección +comienza en la página de la derecha, entonces &latex; colocará el +encabezado derecho en el título de la primera subsección que comienza +en esa página derecha. Si al menos uno de 2.1, 2.2, …, comienza +en la página izquierda pero ninguno empieza a la derecha entonces +&latex; pone en el encabezado de la derecha el título del último +inciso por comenzar, es decir, el que esté vigente durante la página +de la derecha. +</para> +<para>Para lograr esto, en un artículo de dos caras, &latex; hace que +<literal>\section</literal>emita un comando <literal>\markboth</literal>, configurando +<literal>\leftmark</literal> a ‘<literal>Section 2</literal>’ y configura <literal>\rightmark</literal> +en un contenido vacío. Y, &latex; hace que <literal>\subsection</literal> emita +un comando <literal>\markright</literal>, configurando <literal>\rightmark</literal> a +‘<literal>Subsección 2.1</literal>’, etc. +</para> <para>Aquí están las descripciones de <literal>\markboth</literal> y <literal>\markright</literal>: </para> -<variablelist><varlistentry><term><indexterm role="fn"><primary>\markboth{<replaceable>izquierda</replaceable>}{<replaceable>derecha</replaceable>}</primary></indexterm><literal>\markboth{<replaceable>izquierda</replaceable>}{<replaceable>derecha</replaceable>}</literal> -</term><listitem><para>Establece ambas cabeceras izquierda y derecha. Una “cabecera a mano -izquierda” (<replaceable>izquierda</replaceable>) es generada por la última instrucción -<literal>\markboth</literal> antes del final de la página, mientras que una -“cabecera a mano derecha” (<replaceable>derecha</replaceable>) es generada por la primera -<literal>\markboth</literal> o <literal>\markright</literal> que venga en la página si la hay, -de otra manera por la última antes de la página. +<variablelist><varlistentry><term><indexterm role="fn"><primary>\markboth{<replaceable>left-head</replaceable>}{<replaceable>right-head</replaceable>}</primary></indexterm><literal>\markboth{<replaceable>left-head</replaceable>}{<replaceable>right-head</replaceable>}</literal> +</term><listitem><para>Establece la información de rumbo tanto a la derecha como a la +izquierda para un estilo de página de <literal>headings</literal> o +<literal>myheadings</literal>. Una página de la izquierda el encabezado +<replaceable>left-head</replaceable> es generado por el último comando <literal>\markboth</literal> +antes del final de la página. Un encabezado de página a la derecha +<replaceable>right-head</replaceable> es generado por el primer <literal>\markboth</literal> o +<literal>\markright</literal> que viene en la página si hay uno, de lo contrario +por el último que vino antes de esa página. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\markright{<replaceable>derecha</replaceable>}</primary></indexterm><literal>\markright{<replaceable>derecha</replaceable>}</literal> -</term><listitem><para>Establece la cabecera de la derecha, dejando la cabecera de la izquierda -sin cambios. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\markright{<replaceable>right-head</replaceable>}</primary></indexterm><literal>\markright{<replaceable>right-head</replaceable>}</literal> +</term><listitem><para>Establece el encabezado de la página de la derecha, dejando el +izquierdo sin cambios. </para> </listitem></varlistentry></variablelist> </sect1> -<sect1 label="19.4" id="_005cthispagestyle"> -<title><literal>\thispagestyle{<replaceable>estilo</replaceable>}</literal></title> +<sect1 label="18.4" id="_005cthispagestyle"> +<title><literal>\thispagestyle</literal></title> + <indexterm role="fn"><primary>\thispagestyle</primary></indexterm> +<indexterm role="cp"><primary>estilo de página, esta página</primary></indexterm> -<para>La instrucción <literal>\thispagestyle</literal> trabaja de la misma manera que la -instrucción <literal>\pagestyle</literal> (vea la sección previa) excepto que esta -únicamente cambia el <replaceable>estilo</replaceable> de la página actual. +<para>Sinopsis: +</para> +<screen>\thispagestyle{<replaceable>style</replaceable>} +</screen> +<para>Funciona de la misma manera que el <literal>\pagestyle</literal> +(véase <link linkend="_005cpagestyle">\pagestyle</link>), excepto que cambia a <replaceable>style</replaceable> solo para la +página actual. Esta declaración tiene alcance global, por lo que su +efecto no está delimitado por llaves o entornos. +</para> +<para>A menudo, la primera página de un capítulo o sección tiene un estilo +diferente. Por ejemplo, este documento de libro &latex; tiene la +primera página del primer capítulo en estilo <literal>plain</literal>, como es el +predeterminado (véase <link linkend="Estilos-de-p_00e1gina">Estilos de página</link>). +</para> +<screen>\documentclass{book} +\pagestyle{headings} +\begin{document} +\chapter{Primer capítulo} + ... +\chapter{Segundo capítulo}\thispagestyle{empty} + ... +</screen> +<para>El estilo <literal>plain</literal> tiene un número de página, centrado en el pie +de página. Para hacer que la página esté completamente vacía, el +comando <literal>\thispagestyle{empty}</literal> sigue inmediatamente al segundo +<literal>\chapter</literal>. </para> </sect1> </chapter> -<chapter label="20" id="Espacios"> +<chapter label="19" id="Espacios"> <title>Espacios</title> + <indexterm role="cp"><primary>espacios</primary></indexterm> +<indexterm role="cp"><primary>espacio en blanco</primary></indexterm> -<para>&latex; tiene muchas formas de producir espacios en blanco (o llenos). -</para> -<para>Otra instrucción que produce espacios es <literal>\</literal> para producir un -espacio “fino” (por lo general 1/6cuadrático). -<!-- vincentb1: I don't think that quad should be translated in that context. --> -Se puede -utilizar en modo texto, pero más a menudo es útil en modo matemático -(véase <link linkend="Espacios-en-Modo-Math">Espacios en Modo Math</link>). +<para>&latex; tiene muchas formas de producir espacios en blanco o espacios +llenos. Algunos de estos se adaptan mejor al texto matemático; para +estos <link linkend="Espaciado-en-modo-matem_00e1tico">Espaciado en modo matemático</link>. </para> -<sect1 label="20.1" id="_005chspace"> +<sect1 label="19.1" id="_005censpace-_002d-_005cquad-y-_005cqquad"> +<title><literal>\enspace</literal>, <literal>\quad</literal> y <literal>\qquad</literal></title> + +<anchor id="_005censpace"/><anchor id="_005cquad"/><anchor id="_005cqquad"/><indexterm role="fn"><primary>\enspace</primary></indexterm> +<indexterm role="fn"><primary>\quad</primary></indexterm> +<indexterm role="fn"><primary>\qquad</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\enspace +\quad +\qquad +</screen> +<para>Inserta un espacio horizontal de 1/2em, 1em o +2em. La em es una longitud definida por un diseñador de fuentes, +a menudo considerada como el ancho de una M mayúscula. Una +ventaja de describir el espacio en ems es que puede ser más portátil +entre documentos que una medida absoluta como puntos +(véase <link linkend="Longitudes_002fem">Longitudes/em</link>). +</para> +<para>Esto pone un +espacio adecuado entre dos gráficos. +</para> +<screen>\begin{center} + \includegraphics{womensmile.png}% + \qquad\includegraphics{mensmile.png} +\end{center} +</screen> +<para>Véase <link linkend="Espaciado-en-modo-matem_00e1tico">Espaciado en modo matemático</link>, para <literal>\quad</literal> y +<literal>\qquad</literal>. Estas son longitudes de siglos de composición +tipográfica y, por lo tanto, pueden ser una mejor opción en muchas +circunstancias que las longitudes arbitrarias, como las que se +obtienen con <literal>\hspace</literal>. +</para> + +</sect1> +<sect1 label="19.2" id="_005chspace"> <title><literal>\hspace</literal></title> + <indexterm role="fn"><primary>\hspace</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: +</para> +<screen>\hspace{<replaceable>length</replaceable>} +\hspace*{<replaceable>length</replaceable>} +</screen> +<para>Inserta la cantidad <replaceable>length</replaceable> de espacio horizontal. <replaceable>length</replaceable> +puede ser positiva, negativa o cero; agregar una cantidad negativa de +espacio es como retroceder. Es una longitud elástica, es decir, puede +contener un componente <literal>plus</literal> o <literal>minus</literal>, o ambas +(véase <link linkend="Longitudes">Longitudes</link>). Debido a que el espacio se puede estirar y +contraer, a veces se le llama <firstterm>pegamento</firstterm>. +</para> +<para>Esto hace una línea con ‘<literal>Name:</literal>’ a una pulgada del margen derecho. </para> -<screen>\hspace[*]{<replaceable>longitud</replaceable>} +<screen>\noindent\makebox[\linewidth][r]{Name:\hspace{1in}} +</screen> +<para>La forma <literal>*</literal> inserta un espacio horizontal que no se puede +descartar. Más precisamente, cuando &tex; divide un párrafo en +líneas blancas el espacio—pegamentos y kerns—que vienen en un +salto de línea se descartan. La forma-<literal>*</literal> evita eso +(técnicamente, agrega un elemento invisible no descartable delante del +espacio). +</para> +<para>En este ejemplo +</para> +<screen>\parbox{0.8\linewidth}{% + Completa cada espacio en blanco: Cuatro \hspace*{1in} y hace + siete años nuestros padres produjeron en este continente, un nuevo + \hspace*{1in}, concebido en \hspace*{1in}, y dedicado a la + propuesta que todos los hombres son creados \hspace*{1in}.} </screen> -<para>La instrucción <literal>\hspace</literal> añade espacio horizontal. El argumento -<replaceable>length</replaceable> se puede expresar en cualquier término que &latex; -entienda: puntos, pulgadas, etc. Esta es la longitud a preservar. -Usted puede agregar tanto espacios negativos como positivos con una -instrucción <literal>\hspace</literal>; agregar espacio negativo es como espacio -hacia atrás. +<para>el espacio en blanco de 1 pulgada que sigue a ‘<literal>concebido en</literal>’ +cae al principio de una linea. Si borras el <literal>*</literal> entonces +&latex; descarta el espacio en blanco. </para> -<para>&latex; normalmente elimina el espacio horizontal que viene al -principio o al final de una línea. Para preservar este espacio, use la -forma opcional con <literal>*</literal>. +<para>Aquí, el <literal>\hspace</literal> separa los tres gráficos. +</para> +<screen>\begin{center} + \includegraphics{lion.png}% el espacio extra queda fuera del + comentario + \hspace{1cm minus 0.25cm}\includegraphics{tiger.png}% + \hspace{1cm minus 0.25cm}\includegraphics{bear.png} +\end{center} +</screen> +<para>Porque el argumento de cada <literal>\hspace</literal> tiene <literal>minus 0.25cm</literal>, +cada uno se puede encoger un poco si las tres figuras son demasiado +anchas. Pero cada espacio no se reducirá más de 0.25cm +(véase <link linkend="Longitudes">Longitudes</link>). </para> </sect1> -<sect1 label="20.2" id="_005chfill"> +<sect1 label="19.3" id="_005chfill"> <title><literal>\hfill</literal></title> <indexterm role="fn"><primary>\hfill</primary></indexterm> -<para>La instrucción <literal>\hfill</literal> produce un “relleno de longitud” que no -tiene espacio natural sino que se puede extender o reducir en sentido -horizontal en la medida necesaria. + +<indexterm role="cp"><primary>tramo, infinito horizontal</primary></indexterm> +<indexterm role="cp"><primary>tramo horizontal infinito</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\hfill +</screen> +<para>Produce una longitud elástica que no tenga espacio natural pero que se +pueda estirar horizontalmente tanto como sea necesario +(véase <link linkend="Longitudes">Longitudes</link>). +</para> +<para>Esto crea un párrafo de una línea con ‘<literal>Name:</literal>’ en el lado izquierdo +de la página y ‘<literal>Prueba uno</literal>’ a la derecha. </para> +<screen>\noindent Name:\hfill Prueba uno +</screen> <indexterm role="fn"><primary>\fill</primary></indexterm> -<para>El parámetro <literal>\fill</literal> es la misma longitud a rellenar (técnicamente, -el valor a agregar ‘<literal>0pt plus1fill</literal>’); es decir, <literal>\hspace\fill</literal> -es equivalente a <literal>\hfill</literal>. +<para>El comando <literal>\hfill</literal> es equivalente a <literal>\hspace{\fill}</literal> y +por lo que el espacio se puede descartar en los saltos de línea. Para +evitar eso, en su lugar usa <literal>\hspace*{\fill}</literal> +(véase <link linkend="_005chspace">\hspace</link>). +</para> +<para>Aquí las gráficas están espaciadas uniformemente en el centro de la +figura. +</para> +<screen>\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} + ... +\begin{figure} + \hspace*{\fill}% + \vcenteredhbox{\includegraphics{graph0.png}}% + \hfill\vcenteredhbox{\includegraphics{graph1.png}}% + \hspace*{\fill}% + \caption{Comparación de dos gráficos} \label{fig:twographs} +\end{figure} +</screen> +<para>Ten en cuenta los <literal>\hspace*</literal> donde el espacio se podría eliminar. </para> </sect1> -<sect1 label="20.3" id="_005cSPACE"> -<title><literal>\SPACE</literal></title> -<indexterm role="fn"><primary>\SPACE</primary></indexterm> -<indexterm role="fn"><primary>\TAB</primary></indexterm> -<indexterm role="fn"><primary>\NEWLINE</primary></indexterm> +<sect1 label="19.4" id="_005chss"> +<title><literal>\hss</literal></title> -<para>La instrucción <literal>\ </literal> (space) produce un espacio entre palabras -normal. Es útil después de signos de puntuación que no deben terminar -una oración. Por ejemplo, <literal>Knuth's article in Proc.\ Amer.\ -Math\. Soc.\ es fundamental</literal>. Esta también se suele utilizar después de -secuencias de control, como en <literal>\TeX\ es un sistema agradable</literal>. +<indexterm role="fn"><primary>\hss</primary></indexterm> +<indexterm role="cp"><primary>espacio horizontal</primary></indexterm> +<indexterm role="cp"><primary>espacio horizontal, extensible</primary></indexterm> +<indexterm role="cp"><primary>espacio, insertando horizontal</primary></indexterm> + +<para>Sinopsis: </para> -<para>En circunstancias normales, <literal>\</literal><keycap>tab</keycap> y <literal>\</literal><keycap>newline</keycap> -son equivalentes a <literal>\ </literal>. +<screen>\hss +</screen> +<para>Produce un espacio horizontal que es infinitamente contraíble así como +infinitamente extensible (este comando es un primitivo &tex;). Los +autores &latex; deben alcanzar primero el comando <literal>\makebox</literal> +para obtener efectos de <literal>\hss</literal> (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>). +</para> +<para>Aquí, el <literal>\hss</literal> de la primera línea hace que la Z sobresalga +hacia la derecha, sobrescribiendo la Y. En la segunda línea, la Z +sobresale a la izquierda, sobrescribiendo la X. +</para> +<screen>X\hbox to 0pt{Z\hss}Y +X\hbox to 0pt{\hss Z}Y +</screen> +<para>Sin el <literal>\hss</literal> obtienes algo como ‘<literal>Sobrecarga \hbox +(6.11111pt demasiado ancho) detectado en la línea 20</literal>’. </para> </sect1> -<sect1 label="20.4" id="_005cAT"> +<sect1 label="19.5" id="_005cspacefactor"> +<title><literal>\spacefactor</literal></title> + +<para>Sinopsis: +</para> +<screen>\spacefactor=<replaceable>integer</replaceable> +</screen> +<indexterm role="fn"><primary>\spacefactor</primary></indexterm> +<para>Influye en el comportamiento de estiramiento y contracción del +pegamento de &latex;. La mayoría a nivel de usuario los documentos +no utilizan este comando. +</para> +<para>Mientras &latex; está estilizando el material, puedes estirar o +encoger los espacios entre palabras. (Este espacio no es un carácter; +se llama el <firstterm>pegamento entre palabras</firstterm>; véase <link linkend="_005chspace">\hspace</link>). El +comando <literal>\spacefactor</literal> (de &tex; simple) te permite, por +ejemplo, hacer que el espacio después de un punto se extienda más que +el espacio después de una letra de final de palabra. +</para> +<para>Después de que &latex; coloca cada carácter, regla u otro cuadro, +establece un parámetro llamado <firstterm>factor de espacio</firstterm>. Si lo +siguiente en la entrada es un espacio, entonces este parámetro afecta +cuánto se puede estirar o encoger. Un factor de espacio que es mayor +que el valor normal significa que el pegamento se puede estirar más y +encoger menos. Normalmente, el espacio factor es 1000. Este valor +está en efecto después de la mayoría de los caracteres, y cualquier +cuadro que no sea de caracteres o fórmula matemática. Pero es 3000 +después de un punto, signo de exclamación o signo de interrogación, es +2000 después de dos puntos, 1500 después un punto y coma, 1250 después +de una coma y 0 después de un paréntesis derecho o paréntesis, +comillas dobles de cierre o comillas simples. Finalmente, es 999 +después de una letra mayúscula. +</para> +<para>Si el factor espacio <replaceable>f</replaceable> es 1000, entonces el espacio de +pegamento será el valor del espacio normal de la letra (para Computer +Modern Roman 10 puntos esto es 3.3333 puntos). De lo contrario, +si el factor de espacio <replaceable>f</replaceable> es mayor de 2000, entonces &tex; +agrega el valor de espacio extra de la letra (para Computer Modern +Roman 10 point esto es 1.11111 points), y entonces la letra el +valor de estiramiento normal se multiplica por <inlineequation><mathphrase>f /1000</mathphrase></inlineequation> y el +valor normal el valor de contracción se multiplica por <inlineequation><mathphrase>1000/f</mathphrase></inlineequation> +(para Computer Modern Roman 10 puntos, estos son 1.66666 y +1.11111 puntos). +</para> +<para>Por ejemplo, considera el punto que termina <literal>El mejor amigo de un +hombre es su perro.</literal> Después de eso, &tex; pone un espacio extra +fijo, y también permite que el pegamento para estirar 3 veces más y +encoger 1/3 más, que el pegamento después de <literal>amigo</literal>, que no +termina en un punto. +</para> +<para>Las reglas para los factores espaciales son aún más complejas porque +juegan papeles adicionales. En la práctica, hay dos consecuencias. +Primero, si un punto u otro signo de puntuación está seguido por un +paréntesis derecho o corchete, o comillas simples o dobles a la +derecha, entonces el efecto de espaciado de ese período lleva a través +de esos caracteres (es decir, el pegamento siguiente habrá aumentado +el estiramiento y la contracción). Segundo, si la puntuación viene +después de una letra mayúscula, entonces su efecto no está en su lugar +por lo que obtienes un espacio ordinario. Este segundo caso también +afecta a las abreviaturas que no terminen en mayúscula (véase <link linkend="_005c_0040">\@</link>). +</para> +<para>Solo puedes usar <literal>\spacefactor</literal> en modo párrafo o modo LR +(véase <link linkend="Modos">Modos</link>). Puedes ver el valor actual con +<literal>\the\spacefactor</literal> o <literal>\showthe\spacefactor</literal>. +</para> +<para>(Comentario, no realmente relacionado con <literal>\spacefactor</literal>: si +obtienes errores como ‘<literal>No puedes usar `\spacefactor' en modo +vertical</literal>’, o ‘<literal>No puedes usar `\spacefactor' en modo matemático.</literal>’, +o ‘<literal>Impropio \spacefactor</literal>’ entonces probablemente hayas intentado +redefinir un comando interno. Véase <link linkend="_005cmakeatletter-y-_005cmakeatother">\makeatletter y \makeatother</link>). +</para> + + + +<sect2 label="19.5.1" id="_005c_0040"> <title><literal>\@</literal></title> + <indexterm role="fn"><primary>\@</primary></indexterm> +<indexterm role="fn"><primary>arroba</primary></indexterm> +<indexterm role="cp"><primary>punto, final de oración</primary></indexterm> +<indexterm role="cp"><primary>punto, final de abreviatura</primary></indexterm> +<indexterm role="cp"><primary>punto, espaciado después</primary></indexterm> +<anchor id="_005cAT"/><!-- nombre antiguo --> -<para>La instrucción <literal>\@</literal> hace que el siguiente carácter de puntuación -final una declaración incluso si normalmente no es así. Esto se suele -utilizar después de una letra mayúscula. Aquí están lado a lado -ejemplos con y sin <literal>\@</literal>: +<para>Sinopsis: </para> -<screen>… en C\@. Pascal, aunque … -… en C. Pascal, aunque … +<screen><replaceable>capital-letter</replaceable>\@. </screen> -<para>produce +<para>Trata un punto como final de oración, donde &latex; de lo contrario +pensaría que es parte de una abreviatura. &latex; piensa que un +punto termina una abreviatura si el punto va después de una letra +mayúscula, y en caso contrario piensa que el punto termina la oración. +De manera predeterminada, al justificar una línea &latex; ajusta el +espacio después de un punto final de oración (o un signo de pregunta, +de exclamación, coma o dos puntos) más de lo que ajusta el espacio +entre palabras (véase <link linkend="_005cspacefactor">\spacefactor</link>). +</para> +<para>Este ejemplo muestra los dos casos para recordar. +</para> +<screen>Las canciones \textit{Guitarra roja}, etc.\ son de Loudon +Wainwright~III\@. +</screen> +<para>El segundo punto termina la oración, a pesar de que está precedido por +una mayúscula. Le decimos a &latex; que termina la oración poniendo +<literal>\@</literal> antes. El primer punto termina la abreviatura ‘<literal>etc.</literal>’ +pero no la oración. El espacio de barra invertida, <literal>\ </literal>, produce +un espacio en la mitad de la oración. +</para> +<para>Entonces: si tienes una letra mayúscula seguida de un punto que +termina la oración, entonces coloca <literal>\@</literal> antes del punto. Esto +se mantiene incluso si hay un paréntesis o corchete derecho +intermedio, o derecho simple o comillas dobles, porque el efecto de +espaciado de ese período continúa esos caracteres. Por ejemplo, este +</para> +<screen>Usa la \textit{Guía de Prácticas de Instrucción}, (un libro de la +MAA)\@. +</screen> +<para>tendrá el espaciado correcto entre oraciones después del punto. +</para> +<para>El comando <literal>\@</literal> es solo para un modo de texto. Si lo usas fuera +de un modo de texto, entonces obtienes ‘<literal>No puedes usar +`\spacefactor' en modo vertical</literal>’ (véase <link linkend="Modos">Modos</link>). </para> -<!-- Texinfo lo hace de manera diferente, pero el resultado es el mismo. --> -<blockquote><para>… en C. Pascal, aunque … -… en C. Pascal, aunque … -</para></blockquote> +<para>Comentario: el caso inverso es un punto que termina una abreviatura +cuya última letra no es una letra mayúscula, y esa abreviatura no es +la última palabra en la oración. Para ese caso sigue el punto con una +barra invertida, (<literal>\ </literal>), o una tie, (<literal>~</literal>), o <literal>\@</literal>. +Algunos ejemplos son <literal>Nat.\ Acad.\ Science</literal> y <literal>Mr.~Bean</literal>, y +<literal>(manure, etc.\@) a la venta</literal> (nótese en la última que la +<literal>\@</literal> viene antes del paréntesis de cierre). +</para> + +</sect2> +<sect2 label="19.5.2" id="_005cfrenchspacing-y-_005cnonfrenchspacing"> +<title><literal>\frenchspacing</literal> y <literal>\nonfrenchspacing</literal></title> +<anchor id="_005cfrenchspacing"/><!-- nombre de nodo antiguo --> + +<anchor id="_005cnonfrenchspacing"/><indexterm role="fn"><primary>\frenchspacing</primary></indexterm> +<indexterm role="fn"><primary>\nonfrenchspacing</primary></indexterm> +<indexterm role="cp"><primary>espaciado, entre oraciones</primary></indexterm> +<para>Sinopsis, una de: +</para> +<screen>\frenchspacing +\nonfrenchspacing +</screen> +<para>La primera declaración hace que &latex; maneje el espacio entre +oraciones de la misma manera que el espaciado entre palabras en medio +de una frase. El segundo vuelve al manejo predeterminado en el que el +espacio entre oraciones se estira o se encoge más +(véase <link linkend="_005cspacefactor">\spacefactor</link>). +</para> +<para>Algunas tradiciones tipográficas, incluido el inglés, prefieren +ajustar el espacio entre oraciones (o espacios después de un signo de +interrogación, signo de exclamación, coma o dos puntos) más que el +espacio entre palabras que están en medio de una oración. Declarando +<literal>\frenchspacing</literal> (el comando es de &tex;) simple cambia a la +tradición de que todos los espacios son tratados por igual. +</para> + +</sect2> +<sect2 label="19.5.3" id="_005cnormalsfcodes"> +<title><literal>\normalsfcodes</literal></title> + +<indexterm role="fn"><primary>\normalsfcodes</primary></indexterm> +<indexterm role="cp"><primary>espaciado, entre oraciones</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\normalsfcodes +</screen> +<para>Restablece los factores de espacio de &latex; a los valores +predeterminados (véase <link linkend="_005cspacefactor">\spacefactor</link>). +</para> + +</sect2> </sect1> -<sect1 label="20.5" id="_005cthinspace"> -<title><literal>\thinspace</literal></title> -<indexterm role="fn"><primary>\thinspace</primary></indexterm> +<sect1 label="19.6" id="_005c_0028SPACE_0029"> +<title>Barra invertida-espacio, <literal>\ </literal></title> -<para><literal>\thinspace</literal> produce un espacio inviolable e inextensible que es de -un 1/6 de em. Este es el espacio adecuado para su uso en citas -anidadas, como en ’”. +<indexterm role="cp"><primary>\<keycap>NEWLINE</keycap></primary></indexterm> +<indexterm role="cp"><primary>\<keycap>SPACE</keycap></primary></indexterm> +<indexterm role="cp"><primary>\<keycap>TAB</keycap></primary></indexterm> +<indexterm role="fn"><primary>\ <!-- /@w --> (backslash-space)</primary></indexterm> +<indexterm role="fn"><primary>\<keycap>SPACE</keycap></primary></indexterm> + +<para>Esta sección se refiere al comando que consta de dos caracteres, una +barra invertida seguida de un espacio. +Sinopsis: +</para> +<screen>\ <!-- /@w --> +</screen> +<para>Produce un espacio. De manera predeterminada produce espacios en +blanco de longitud 3.33333pt más 1.66666pt menos +1.11111pt. +</para> +<para>Cuando escribes uno o más espacios en blanco entre palabras, &latex; +produce espacio blanco. Pero eso es diferente a un espacio explícito. +Esto ilustra. +</para> +<screen>\begin{tabular}{rl} +Un espacio en blanco:& hace algo de espacio \\ +Tres espacios en blanco:& en un renglón \\ +Tres espacios:&\ \ \ en un renglón \\ +\end{tabular} +</screen> +<para>En la primera línea, &latex; pone algo de espacio después de los dos +puntos. Sobre la segunda línea &latex; colapsa los tres espacios en +blanco para generar un espacio en blanco, por lo que termina con el +mismo espacio después de los dos puntos como en la primera linea. +&latex; los colapsaría de manera similar en un solo espacio en blanco +si uno, dos o los tres espacios en blanco fueron reemplazados por una +tabulación, o por una nueva línea. Sin embargo, la línea inferior +pide tres espacios para que el área blanca sea más ancha. Es decir, +el comando barra invertida-espacio crea una cantidad fija de espacio +horizontal. (Ten en cuenta que puedes definir un espacio horizontal +de cualquier ancho con <literal>\hspace</literal>; <link linkend="_005chspace">\hspace</link>). +</para> +<para>El comando barra-inversa-espacio tiene dos usos principales. A menudo +se usa después de secuencias de control para evitar que se traguen el +espacio en blanco que sigue, como después de <literal>\TeX</literal> en +<literal>\TeX\ (o \LaTeX)</literal>. (Pero usar llaves tiene la ventaja de seguir +funcionando si el siguiente carácter es un espacio en blanco o +cualquier otra no letra, como en <literal>\TeX{} (o \LaTeX{})</literal> en la +que <literal>{}</literal> se puede agregar después de <literal>\LaTeX</literal> así como +después de <literal>\TeX</literal>). El otro uso común es que marca un punto como +final de una abreviatura en lugar de terminar una oración, como en +<literal>Prof.\ Smith</literal> o <literal>Jones et al.\ (1993)</literal> (véase <link linkend="_005c_0040">\@</link>). +</para> +<para>En circunstancias normales, <literal>\</literal><keycap>TAB</keycap> y <literal>\</literal><keycap>NEWLINE</keycap> +son equivalentes a la barra invertida-espacio, <literal>\ </literal>. +</para> +<anchor id="Espacios-en-blanco-iniciales"/><para>Ten en cuenta también que para +permitir la sangría del código fuente, en circunstancias normales, +&tex; ignora los espacios en blanco iniciales en una línea. Entonces +el siguiente imprime ‘<literal>una palabra</literal>’: +</para> +<screen>una + palabra +</screen> +<para>donde el espacio en blanco entre ‘<literal>una</literal>’ y ‘<literal>palabra</literal>’ es +producido por la nueva línea después de ‘<literal>una</literal>’, no por el espacio +antes de ‘<literal>palabra</literal>’. </para> +<!-- @PkgIndex{xspace} Algunos comandos individuales, en particular los --> +<!-- definidos con @package{xspace}, el paquete no sigue el --> +<!-- comportamiento estándar. --> + +</sect1> +<sect1 label="19.7" id="_007e"> +<title><literal>~</literal></title> + +<indexterm role="fn"><primary>~</primary></indexterm> +<indexterm role="cp"><primary>tie</primary></indexterm> +<indexterm role="cp"><primary>espacio, irrompible</primary></indexterm> +<indexterm role="cp"><primary>espacio duro</primary></indexterm> +<indexterm role="cp"><primary>espacio irrompible</primary></indexterm> +<indexterm role="cp"><primary>NBSP</primary></indexterm> + +<para>Sinopsis: +</para> +<screen><replaceable>before</replaceable>~<replaceable>after</replaceable> +</screen> +<para>El carácter <firstterm>tie</firstterm>, <literal>~</literal>, genera un espacio entre <replaceable>before</replaceable> +y <replaceable>after</replaceable> en el que la línea no se romperá. De manera +predeterminada el espacio en blanco tiene una longitud de +3.33333pt más 1.66666pt menos 1.11111pt +(véase <link linkend="Longitudes">Longitudes</link>). +</para> +<!-- Este párrafo no está traducido al francés, ya que la traducción al --> +<!-- francés usa un término que significa ``irrompible''. --> +<para>Ten en cuenta que la palabra ‘<literal>tie</literal>’ tiene este significado en la +comunidad &tex;/Texinfo; esto difiere del término tipográfico +“tie”, que es un diacrítico en forma de arco, llamado acento de +“lazo-después” en <citetitle>El libro &tex;</citetitle>. +</para> +<para>Aquí &latex; no romperá la línea entre las dos últimas palabras: +</para> +<screen>Gracias al Prof.~Lerman. +</screen> +<para>Además, a pesar del punto, &latex; no usa el espaciado al final de la +oración (véase <link linkend="_005c_0040">\@</link>). +</para> +<para>Los lazos evitan la separación de cosas al final de la línea donde eso +podría causar confusión. También todavía permiten la separación +silábica (de cualquiera de las palabras ligadas), por lo que +generalmente son preferibles a poner palabras consecutivas en un +<literal>\mbox</literal> (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>). +</para> +<para>También son cuestión de gusto, a veces alarmantemente dogmáticos, +entre los lectores. Sin embargo, aquí hay algunos modelos de uso, +muchos de ellos de <citetitle>El libro de &tex;</citetitle>. +</para> +<itemizedlist><listitem><para>Entre una etiqueta de enumerador y un número, como en las referencias: +<literal>Capítulo~12</literal>, o <literal>Teorema~\ref{th:Wilsons}</literal>, o +<literal>Figura~\ref{fig:KGraph}</literal>. +</para> +</listitem><listitem><para>Cuando los casos se enumeran en línea: <literal>(b)~Muestra que $f(x)$ es +(1)~continuo, y (2)~acotado</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>siunitx</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>siunitx</literal> package</primary></indexterm> + +</listitem><listitem><para>Entre un número y su unidad: <literal>$745.7.8$~watts</literal> (El paquete +<literal>siunitx</literal> tiene una función especial para esto) o +<literal>144~eggs</literal>. Esto incluye entre un número de mes y día en una +fecha: <literal>Octubre~12</literal> o <literal>12~Oct</literal>. En general, en cualquier +expresión donde números y abreviaturas o símbolos están separados por +un espacio: <literal>AD~565</literal>, o <literal>2:50~pm</literal>, o <literal>Boeing~747</literal>, o +<literal>268~Camino de las llanuras</literal>, o <literal>\$$1.4$~billón</literal>. Otras +opciones comunes aquí son un espacio delgado (véase <link linkend="_005cthinspace-y-_005cnegthinspace">\thinspace y +\negthinspace</link>) y no hay espacio en absoluto. +</para> +</listitem><listitem><para>Cuando las frases matemáticas se traducen en palabras: +<literal>equals~$n$</literal>, o <literal>menor que~$\epsilon$</literal>, o <literal>dado~$X$</literal>, o +<literal>módulo~$p^e$ para todos los ~$n$</literal> grandes (pero compara +<literal>es~$15$</literal> con <literal>es $15$~veces la altura</literal>). Entre símbolos +matemáticos en aposición con sustantivos: <literal>dimensión~$d$</literal> o +<literal>función~$f(x)$</literal> (pero compara <literal>con longitud $l$~o +más</literal>). Cuando un símbolo es un objeto fuertemente ligado de una +preposición: <literal>de~$x$</literal>, o <literal>de $0$ a~$1$</literal>, o <literal>en común +con ~$m$</literal>. +</para> +</listitem><listitem><para>Entre símbolos en serie: <literal>$1$,~$2$, o~$3$</literal> o <literal>$1$,~$2$, +\ldots,~$n$</literal>. +</para> +</listitem><listitem><para>Entre los nombres de pila de una persona y entre varios apellidos: +<literal>Donald~E. Knuth</literal>, o <literal>Luis~I. Trabb~Pardo</literal>, o +<literal>Charles~XII</literal>—pero debes darle a &tex; lugares para romper la +línea así que podrías hacer <literal>Charles Louis Xavier~Joseph de~la +Vall\'ee~Poussin</literal>. +</para> +</listitem></itemizedlist> + +</sect1> +<sect1 label="19.8" id="_005cthinspace-y-_005cnegthinspace"> +<title><literal>\thinspace</literal> y <literal>\negthinspace</literal></title> + +<anchor id="_005cthinspace"/><anchor id="_005cnegthinspace"/><indexterm role="fn"><primary>\thinspace</primary></indexterm> +<indexterm role="fn"><primary>\negthinspace</primary></indexterm> +<indexterm role="cp"><primary>espacio delgado</primary></indexterm> +<indexterm role="cp"><primary>espacio, delgado</primary></indexterm> +<indexterm role="cp"><primary>espacio delgado, negativo</primary></indexterm> +<indexterm role="cp"><primary>espacio, negativo delgado</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\thinspace +\negthinspace +</screen> +<para>Estos producen espacios irrompibles e inextensibles de 1/6em y +-1/6em, respectivamente. Estos son los equivalentes en modo +texto de <literal>\,</literal> y <literal>\!</literal> (véase <link linkend="Espaciado-en-modo-matem_00e1tico_002f_005cthinspace">Espaciado en modo +matemático/\thinspace</link>). +</para> +<para>Puedes usar <literal>\,</literal> como sinónimo de <literal>\thinspace</literal> en modo +texto. +</para> +<para>Un uso común de <literal>\thinspace</literal> es como el espacio entre comillas +anidadas: +</para> +<screen>Killick respondió: "Escuché al capitán decir: 'Ahoy allí.'\thinspace" +</screen> +<para>Otro uso es que algunas guías de estilo requieren un <literal>\thinspace</literal> +entre una elipsis y un punto final de oración (otras guías de estilo, +creo que los tres puntos y/o los cuatro puntos son suficientes). Otro +uso específico del estilo es entre iniciales, como en +<literal>D.\thinspace E.\Knuth</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsmath</literal> package</primary></indexterm> +<para>&latex; proporciona una variedad de comandos de +espaciado similares para el modo matemático (véase <link linkend="Espaciado-en-modo-matem_00e1tico">Espaciado en modo +matemático</link>). Con el paquete <literal>amsmath</literal>, o como de la versión +2020-10-01 &latex;, se pueden usar en modo texto así como el modo +matemático, incluido <literal>\!</literal> para <literal>\negthinspace</literal>; pero de lo +contrario, solo están disponibles en el modo matemático. +</para> </sect1> -<sect1 label="20.6" id="_005c_002f"> +<sect1 label="19.9" id="_005c_002f"> <title><literal>\/</literal></title> + <indexterm role="fn"><primary>\/</primary></indexterm> +<indexterm role="cp"><primary>corrección en cursiva</primary></indexterm> -<para>La instrucción <literal>\/</literal> produce una <firstterm>corrección en cursiva</firstterm>. Este -es un pequeño espacio definido por el diseñador de tipografías para un -carácter determinado, para evitar chocar con el carácter que lo sigue. -El carácter en cursiva <emphasis>f</emphasis> típicamente tiene un valor de corrección en -cursiva grande. +<para>Sinopsis: </para> -<para>Si el siguiente carácter es un punto o una coma, no es necesario -insertar una corrección en cursiva, dado que estos símbolos tienen una -puntuación de muy poca altura. Sin embargo, con punto y coma o dos -puntos, así como letras normales, puede ayudar. Compare -<emphasis>f: f;</emphasis> (en la salida &tex;, las ‘f’s están separadas correctamente) -con <emphasis>f: f;</emphasis>. +<screen><replaceable>before-character</replaceable>\/<replaceable>after-character</replaceable> +</screen> +<para>Inserta una <firstterm>corrección en cursiva</firstterm>, un pequeño espacio definido +por el diseñador de letra para cada carácter (posiblemente cero), para +evitar el carácter chocando con lo que sigue. Cuando usas <literal>\/</literal>, +&latex; toma la corrección del archivo métrico de la fuente, la +escala por cualquier escala que se ha aplicado a la fuente, y luego +inserta esa cantidad de espacio horizontal. +</para> +<para>Aquí, si no fuera por la <literal>\/</literal>, el <replaceable>before-character</replaceable> +cursiva f golpearía el <replaceable>after-character</replaceable> roman H </para> -<para>A pesar del nombre, los caracteres latinos también pueden tener una -corrección en cursiva. Compare -pdf&tex; (en la &tex; salida, hay un pequeño espacio después de la -‘f’) -con pdf&tex;. +<screen>\newcommand{\companylogo}{{\it f}\/H} +</screen> +<para>porque la letra cursiva f se inclina mucho hacia la derecha. +</para> +<para>Si <replaceable>after-character</replaceable> es un punto o una coma, no insertes una +corrección en cursiva ya que esos símbolos de puntuación son tan bajos +para la línea base ya. Sin embargo, con punto y coma o dos puntos, +así como con letras normales, la corrección en cursiva puede +ayudar. Se usa normalmente entre un cambio de fuentes cursivas o +inclinadas a una fuente vertical. +</para> +<para>Cuando usas comandos como <literal>\emph</literal> y <literal>\textit</literal> y +<literal>\textsl</literal> para cambiar las fuentes, &latex; inserta +automáticamente la corrección en cursiva cuando sea necesario +(véase <link linkend="Estilos-de-tipos-de-letra">Estilos de tipos de letra</link>). Sin embargo, declaraciones como +<literal>\em</literal> e <literal>\itshape</literal> y <literal>\slshape</literal> no inserta +automáticamente correcciones en cursiva. +</para> +<para>Los caracteres verticales también pueden tener una corrección en +cursiva. Un ejemplo donde se necesita es el nombre +<literal>pdf\/\TeX</literal>. Sin embargo, la mayoría de los caracteres verticales +tienen una corrección de cursiva cero. Algunos creadores de fuentes no +incluyen valores de corrección de cursiva ni siquiera para fuentes en +cursiva. +</para> +<indexterm role="fn"><primary>\fontdimen1</primary></indexterm> +<indexterm role="cp"><primary>dimensión de fuente, inclinación</primary></indexterm> +<para>Técnicamente, &latex; usa otro valor específico de fuente, el llamado +<firstterm>parámetro inclinado</firstterm> (es decir, <literal>\fontdimen1</literal>), para +determinar si posiblemente insertar una corrección en cursiva, en +lugar de vincular la acción a comandos de fuente particulares. +</para> +<para>No existe el concepto de corrección de cursiva en el modo matemático; +el espaciado matemático está hecho de una manera diferente. </para> </sect1> -<sect1 label="20.7" id="_005chrulefill"> -<title><literal>\hrulefill</literal></title> -<indexterm role="fn"><primary>\hrulefill</primary></indexterm> +<sect1 label="19.10" id="_005chrulefill-y-_005cdotfill"> +<title><literal>\hrulefill</literal> y <literal>\dotfill</literal></title> -<para>La instrucción <literal>\hrulefill</literal> produce un “relleno de longitud” el -cual se puede estrechar o estirar horizontalmente. Este se llenará con -una regla horizontal. +<anchor id="_005chrulefill"/><anchor id="_005cdotfill"/><indexterm role="fn"><primary>\hrulefill</primary></indexterm> +<indexterm role="fn"><primary>\dotfill</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\hrulefill +\dotfill +</screen> +<para>Produce una longitud elástica horizontal infinita (véase <link linkend="Longitudes">Longitudes</link>) +que &latex; se rellena con una regla (es decir, una línea) o con +puntos, en lugar de espacio en blanco. +</para> +<para>Esto genera una línea de 2 pulgadas de largo. +</para> +<screen>Nombre:~\makebox[2in]{\hrulefill} +</screen> +<para>Este ejemplo, cuando se coloca entre líneas en blanco, crea un párrafo +que está justificado a la izquierda y a la derecha y donde el medio +está lleno de manera uniforme de puntos espaciados. +</para> +<screen>\noindent John Aubrey, RN \dotfill{} Melbury Lodge +</screen> +<para>Para hacer que la regla o los puntos vayan al final de la línea, usa +<literal>\null</literal> al comenzar o terminar. +</para> +<para>Para cambiar el grosor de la regla, copia la definición y ajústala, +como aquí +</para> +<screen>\renewcommand{\hrulefill}{% + \leavevmode\leaders\hrule height 1pt\hfill\kern0pt } +</screen> +<para>que cambia el grosor predeterminado de 0.4pt a 1pt. Del +mismo modo, ajusta el espacio entre puntos como con +</para> +<screen>\renewcommand{\dotfill}{% + \leavevmode\cleaders\hbox to 1.00em{\hss .\hss }\hfill\kern0pt } +</screen> +<para>que cambia la longitud predeterminada de 0.33em a 1.00em. +</para> +<para>Este ejemplo produce una línea para una firma. +</para> +<screen>\begin{minipage}{4cm} + \centering + \hrulefill\\ + Firmado +\end{minipage} +</screen> +<para>La línea mide 4cm de largo. </para> </sect1> -<sect1 label="20.8" id="_005cdotfill"> -<title><literal>\dotfill</literal></title> +<sect1 label="19.11" id="_005cbigskip-_002d-_005cmedskip-y-_005csmallskip"> +<title><literal>\bigskip</literal>, <literal>\medskip</literal> y <literal>\smallskip</literal></title> -<indexterm role="fn"><primary>\dotfill</primary></indexterm> +<anchor id="_005cbigskip"/><anchor id="_005cmedskip"/><anchor id="_005csmallskip"/><indexterm role="fn"><primary>\bigskip</primary></indexterm> +<indexterm role="fn"><primary>\medskip</primary></indexterm> +<indexterm role="fn"><primary>\smallskip</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\bigskip +\medskip +\smallskip +</screen> +<para>Produce una cantidad de espacio vertical, grande, mediano o +pequeño. Estos comandos son frágiles (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Aquí el salto sugiere el paso del tiempo (de <emphasis>El océano dorado</emphasis> por +O’Brian). +</para> +<screen>El señor Saumarez tendría algo grosero que decirle, sin duda: él +estaba en casa de nuevo, y era una delicia. + +\bigskip -<para>La instrucción <literal>\dotfill</literal> produce un “relleno de longitud” la -cual se rellena con puntos en lugar de sólo espacios en blanco. +``Ciento cincuenta y siete millas y un tercio, en veinticuatro horas", +dijo Pedro. +</screen> +<para>Cada comando está asociado a una longitud definida en el archivo de la clase +documento. +</para> +<variablelist><anchor id="bigskip"/><varlistentry><term><indexterm role="fn"><primary>\bigskip</primary></indexterm><literal>\bigskip</literal> +</term><listitem><indexterm role="fn"><primary>\bigskipamount</primary></indexterm> +<para>Lo mismo que <literal>\vspace{\bigskipamount}</literal>, normalmente alrededor +de una línea de espacio, con estiramiento y contracción. El valor +predeterminado para el <literal>libro</literal> y las clases de <literal>article</literal> son +<literal>12pt plus 4pt minus 4pt</literal>. +</para> +<anchor id="medskip"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\medskip</primary></indexterm><literal>\medskip</literal> +</term><listitem><indexterm role="fn"><primary>\medskipamount</primary></indexterm> +<para>Lo mismo que <literal>\vspace{\medskipamount}</literal>, normalmente alrededor +de la mitad de una línea de espacio, con estiramiento y contracción. +El valor predeterminado para las clases <literal>book</literal> y <literal>article</literal> +son <literal>6pt plus 2pt minus 2pt</literal>. +</para> +<anchor id="smallskip"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\smallskip</primary></indexterm><literal>\smallskip</literal> +</term><listitem><indexterm role="fn"><primary>\smallskipamount</primary></indexterm> +<para>Lo mismo que <literal>\vspace{\smallskipamount}</literal>, normalmente sobre un +espacio de un cuarto de línea, con estiramiento y contracción. El +valor predeterminado para las clases <literal>book</literal> y <literal>article</literal> son +<literal>3pt plus 1pt minus 1pt</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>Debido a que cada comando es un <literal>\vspace</literal>, si lo usas en medio +del párrafo entonces insertará su espacio vertical entre la línea en +la que lo usas y la siguiente línea, no necesariamente en el lugar +donde lo usas. Así que estos son mejores entre párrafos. +</para> +<para>Los comandos <literal>\bigbreak</literal>, <literal>\medbreak</literal> y <literal>\smallbreak</literal> +son similares pero también sugieren a &latex; que este es un buen +lugar para poner un salto de página (véase <link linkend="_005cbigbreak-_002d-_005cmedbreak-y-_005csmallbreak">\bigbreak - \medbreak y +\smallbreak</link>. </para> -<!-- xx deshacer --> </sect1> -<sect1 label="20.9" id="_005caddvspace"> -<title><literal>\addvspace</literal></title> -<indexterm role="fn"><primary>\addvspace</primary></indexterm> -<indexterm role="cp"><primary>espacio vertical</primary></indexterm> -<indexterm role="cp"><primary>espacio vertical, insertando</primary></indexterm> +<sect1 label="19.12" id="_005cbigbreak-_002d-_005cmedbreak-y-_005csmallbreak"> +<title><literal>\bigbreak</literal>, <literal>\medbreak</literal> y <literal>\smallbreak</literal></title> + +<anchor id="_005cbigbreak"/><anchor id="_005cmedbreak"/><anchor id="_005csmallbreak"/><indexterm role="fn"><primary>\bigbreak</primary></indexterm> +<indexterm role="fn"><primary>\medbreak</primary></indexterm> +<indexterm role="fn"><primary>\smallbreak</primary></indexterm> -<para><literal>\addvspace{longitud}</literal> +<para>Sinopsis, una de: </para> -<para>La instrucción <literal>\addvspace</literal> normalmente añade un espacio vertical -de altura longitud. Sin embargo, si el espacio vertical ya se ha -añadido al mismo punto en la salida por medio de una instrucción -<literal>\addvspace</literal> anterior, esta instrucción no añade más espacio que el -necesario para hacer que la longitud natural del espacio vertical total -equivalente a <literal>longitud</literal>. +<screen>\bigbreak +\medbreak +\smallbreak +</screen> +<para>Produce un espacio vertical que sea grande o mediano o pequeño, y +sugiere a &latex; que este es un buen lugar para romper la página. +(Las sanciones asociadas son −200, −100 y −50) +respectivamente. +</para> +<para>Véase <link linkend="_005cbigskip-_002d-_005cmedskip-y-_005csmallskip">\bigskip - \medskip y \smallskip</link>, para más. Estos comandos +producen el mismo espacio vertical pero difieren en que también +eliminan un espacio vertical precedente si es menor que lo que +insertarías (como con <literal>\addvspace</literal>). Además, terminan un párrafo +donde se usan: este ejemplo +</para> +<screen>abc\bigbreak def ghi + +jkl mno pqr +</screen> +<para>generará tres párrafos, el primero que termina en ‘<literal>abc</literal>’ y el +segundo comienza, después de un espacio vertical adicional y una +sangría de párrafo, con ‘<literal>def</literal>’. </para> </sect1> -<sect1 label="20.10" id="_005cbigskip-_005cmedskip-_005csmallskip"> -<title><literal>\bigskip \medskip \smallskip</literal></title> +<sect1 label="19.13" id="_005cstrut"> +<title><literal>\strut</literal></title> + +<indexterm role="fn"><primary>\strut</primary></indexterm> +<indexterm role="cp"><primary>strut</primary></indexterm> -<para>Estas instrucciones producen una determinada cantidad de espacio. +<para>Sinopsis: </para> -<variablelist><varlistentry><term><literal>\bigskip</literal> -</term><listitem><indexterm role="fn"><primary>\bigskip</primary></indexterm> -<indexterm role="fn"><primary>\bigskipamount</primary></indexterm> -<para>Al igual que <literal>\vspace{bigskipamount}</literal>, normalmente alrededor de -un espacio de línea (con estirar y encoger). +<screen>\strut +</screen> +<para>Asegúrate de que la línea actual tenga una altura de al menos +<literal>0.7\baselineskip</literal> y profundidad al menos de +<literal>0.3\baselineskip</literal>. Esencialmente, &latex; inserta en la línea +un rectángulo de ancho cero, +<literal>\rule[-0.3\baselineskip]{0pt}{\baselineskip}</literal> +(véase <link linkend="_005crule">\rule</link>). El <literal>\baselineskip</literal> cambia con la fuente o +tamaño de fuente actual. +</para> +<para>En este ejemplo, <literal>\strut</literal> mantiene la caja dentro del marco de +tener altura cero. +</para> +<screen>\setlength{\fboxsep}{0pt}\framebox[2in]{\strut} +</screen> +<para>Este ejemplo tiene cuatro listas. En el primero hay una brecha mucho +mayor. entre los elementos 2 y 3 que entre los elementos 1 +y 2. La segunda lista corrige eso con un <literal>\strut</literal> al final +de su primer elemento de la segunda línea. +</para> +<screen>\setlength{\fboxsep}{0pt} +\noindent\begin{minipage}[t]{0.2\linewidth} +\begin{enumerate} + \item \parbox[t]{15pt}{test \\ test} + \item test + \item test +\end{enumerate} +\end{minipage}% +\begin{minipage}[t]{0.2\linewidth} +\begin{enumerate} + \item \parbox[t]{15pt}{test \\ test\strut} + \item test + \item test +\end{enumerate} +\end{minipage}% +\begin{minipage}[t]{0.2\linewidth} +\begin{enumerate} + \item \fbox{\parbox[t]{15pt}{test \\ test}} + \item \fbox{test} + \item \fbox{test} +\end{enumerate} +\end{minipage}% +\begin{minipage}[t]{0.2\linewidth} +\begin{enumerate} + \item \fbox{\parbox[t]{15pt}{test \\ test\strut}} + \item \fbox{test} + \item \fbox{test} +\end{enumerate} +\end{minipage}% +</screen> +<para>Las dos listas finales usan <literal>\fbox</literal> para mostrar lo que está +sucediendo. El primer elemento <literal>\parbox</literal> de la tercera lista va +solo al final de su segundo ‘<literal>test</literal>’, que sucede que no tiene +ningún carácter que descender por debajo de la línea base. La cuarta +lista agrega el puntal que da el espacio adicional necesario debajo de +la línea base. +</para> +<indexterm role="cp"><primary>package, <literal>TikZ</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>TikZ</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm> +<para>El comando <literal>\strut</literal> suele +ser útil en gráficos, como en <literal>TikZ</literal> o <literal>Asymptote</literal>. +Por ejemplo, puedes tener un comando como +<literal>\graphnode{<replaceable>nombre-nodo</replaceable>}</literal> que se ajusta a un círculo +alrededor de <replaceable>nombre-nodo</replaceable>. Sin embargo, a menos que tengas +cuidado con el <replaceable>nombre-nodo</replaceable> ‘<literal>x</literal>’ y ‘<literal>y</literal>’ producirán +círculos de diferentes diámetros porque los caracteres son de +diferentes tamaños. Un <literal>\graphnode</literal> cuidadoso podría insertar +<literal>\strut</literal>, entonces <replaceable>nombre-nodo</replaceable> y luego dibujar el círculo. +</para> +<para>El enfoque general de usar un <literal>\rule</literal> ancho cero es útil en +muchas circunstancias. En esta tabla, la regla de ancho cero mantiene +la parte superior de la primera integral de golpear el <literal>\hline</literal>. +Del mismo modo, la segunda regla evita que la segunda integral +coincida con la primera. +</para> +<screen>\begin{tabular}{rl} + \textsc{Integral} &\textsc{Value} \\ + \hline + $\int_0^x t\, dt$ &$x^2/2$ \rule{0em}{2.5ex} \\ + $\int_0^x t^2\, dt$ &$x^3/3$ \rule{0em}{2.5ex} +\end{tabular} +</screen> +<para>(Aunque el comando de doble barra invertida de final de línea tiene un +argumento opcional para cambiar el salto de línea base +correspondiente, eso no resuelve este problema. Cambiar la primera +barra invertida doble a algo como <literal>\\[2.5ex]</literal> pondrá más espacio +entre la línea de encabezado y la regla <literal>\hline</literal>, y la integral +seguiría cumpliendo la regla). </para> -</listitem></varlistentry><varlistentry><term><literal>\medskip</literal> -</term><listitem><indexterm role="fn"><primary>\medskip</primary></indexterm> -<indexterm role="fn"><primary>\medskipamount</primary></indexterm> -<para>Al igual que <literal>\vspace{medskipamount}</literal>, normalmente cerca de la -mitad del espacio de una línea (con estirar y encoger). + +</sect1> +<sect1 label="19.14" id="_005cvspace"> +<title><literal>\vspace</literal></title> + +<indexterm role="fn"><primary>\vspace</primary></indexterm> +<indexterm role="cp"><primary>espacio vertical</primary></indexterm> +<indexterm role="cp"><primary>espacio, vertical</primary></indexterm> + +<para>Sinopsis, una de: </para> -</listitem></varlistentry><varlistentry><term><literal>\smallskip</literal> -</term><listitem><indexterm role="fn"><primary>\smallskip</primary></indexterm> -<indexterm role="fn"><primary>\smallskipamount</primary></indexterm> -<para>Al igual que <literal>\vspace{smallskipamount}</literal>, normalmente alrededor de -un cuarto del espacio de una línea (con estirar y encoger). +<screen>\vspace{<replaceable>length</replaceable>} +\vspace*{<replaceable>length</replaceable>} +</screen> +<para>Agrega <replaceable>length</replaceable> al espacio vertical. <replaceable>length</replaceable> puede ser +positivo, negativo o cero. Es una longitud elástica — puede +contener un componente <literal>plus</literal> o <literal>minus</literal> +(véase <link linkend="Longitudes">Longitudes</link>). </para> -</listitem></varlistentry></variablelist> -<para>Los parámetros <literal>\...cantidad</literal> están determinados por la clase de -documento. +<para>Esto pone espacio entre los dos párrafos. </para> +<screen>Y dormí. + +\vspace{1ex plus 0.5ex} +El nuevo día amaneció frío. +</screen> +<para>(Véase <link linkend="_005cbigskip-_002d-_005cmedskip-y-_005csmallskip">\bigskip - \medskip y \smallskip</link>, para interpárrafo de +espacios común). +</para> +<para>La forma <literal>*</literal> inserta un espacio vertical que no se puede +descartar. Más precisamente, &latex; descarta el espacio vertical en +un salto de página y la forma-<literal>*</literal> hace que el espacio permanezca. +Este ejemplo deja espacio entre las dos preguntas. +</para> +<screen>Pregunta: Encuentra la integral de \( 5x^4+5 \). + +\vspace*{2cm más 0.5cm} +Pregunta: Encuentra la derivada de \( x^5+5x+9 \). +</screen> +<para>Ese espacio estará presente incluso si el salto de página cae entre +las preguntas. +</para> +<para>Si usas <literal>\vspace</literal> en medio de un párrafo (es decir, en modo +horizontal), entonces el espacio se inserta después de la línea que +contiene el comando <literal>\vspace</literal>; no comienza un nuevo párrafo en el +comando <literal>\vspace</literal>. +</para> +<para>En este ejemplo, las dos preguntas estarán espaciadas verticalmente de +manera uniforme en la página, con al menos una pulgada de espacio +debajo de cada una. +</para> +<screen>\begin{document} +1) ¿Quién puso el bomp en el bomp bah bomp bah bomp? +\vspace{1in plus 1fill} + +2) ¿Quién puso el carnero en la rama lama ding dong? +\vspace{1in plus 1fill} +\end{document} +</screen> </sect1> -<sect1 label="20.11" id="_005cvfill"> +<sect1 label="19.15" id="_005cvfill"> <title><literal>\vfill</literal></title> + <indexterm role="fn"><primary>\vfill</primary></indexterm> -<para>La instrucción <literal>\vfill</literal> produce un relleno de longitud (pegado) el -cual se puede reducir y estirar verticalmente tanto como sea necesario. -Este es equivalente a <literal>\vspace{\fill}</literal> (véase <link linkend="_005chfill">\hfill</link>). +<indexterm role="cp"><primary>estiramiento, infinito vertical</primary></indexterm> +<indexterm role="cp"><primary>estiramiento vertical infinito</primary></indexterm> + +<para>Sinopsis: </para> +<screen>\vfill +</screen> +<para>Finaliza el párrafo actual e inserta una longitud elástica vertical +que sea infinita, por lo que se puede estirar o encoger tanto como sea +necesario (véase <link linkend="Longitudes">Longitudes</link>). +</para> +<para>A menudo se usa de la misma manera que <literal>\vspace{\fill}</literal>, +excepto que <literal>\vfill</literal> finaliza el párrafo actual mientras que +<literal>\vspace{\fill}</literal> agrega el espacio vertical infinito debajo de +su línea, independientemente de la estructura del párrafo. En ambos +casos ese espacio desaparecerá en un perímetro de la página; para +eludir esto, ve la opción destacada en <link linkend="_005cvspace">\vspace</link>. +</para> +<para>En este ejemplo, la página está llena, por lo que las líneas superior +e inferior contienen el texto ‘<literal>¡Perro perdido!</literal>’ y el segundo +‘<literal>¡Perro perdido!</literal>’ es exactamente a medio camino entre ellos. +</para> +<screen>\begin{document} +¡Perro perdido! +\vfill +¡Perro perdido! % perfectamente en el medio +\vfill +¡Perro perdido! +\end{document} +</screen> </sect1> -<sect1 label="20.12" id="_005cvspace"> -<title><literal>\vspace[*]{<replaceable>longitud</replaceable>}</literal></title> -<indexterm role="fn"><primary>\vspace</primary></indexterm> +<sect1 label="19.16" id="_005caddvspace"> +<title><literal>\addvspace</literal></title> + +<indexterm role="fn"><primary>\addvspace</primary></indexterm> +<indexterm role="cp"><primary>espacio vertical</primary></indexterm> +<indexterm role="cp"><primary>espacio, insertar vertical</primary></indexterm> <para>Sinopsis: </para> -<screen>\vspace[*]{<replaceable>longitud</replaceable>} +<screen>\addvspace{<replaceable>vert-length</replaceable>} </screen> -<para>La instrucción <literal>\vspace</literal> añade el espacio vertical <replaceable>length</replaceable>, es -decir, un relleno de longitud. <replaceable>longitud</replaceable> puede ser positivo o -negativo. +<para>Agrega un espacio vertical de <replaceable>vert-length</replaceable>. Sin embargo, si hay +dos o más <literal>\addvspace</literal> en una secuencia y luego juntos solo +agregan el espacio necesario para que la longitud natural sea igual al +máximo de la <replaceable>vert-length</replaceable> está en esa secuencia. Este comando es +frágil (véase <link linkend="_005cprotect">\protect</link>). El <replaceable>vert-length</replaceable> es una longitud +elástica (véase <link linkend="Longitudes">Longitudes</link>). +</para> +<para>Este ejemplo ilustra. El <literal>picture</literal> dibuja una escala sobre la +cual se colocan las reglas. En un artículo &latex; estándar, la +longitud <literal>\baselineskip</literal> es 12pt. Como muestra la escala, +las dos reglas están separadas por 22pt: la suma del +<literal>\baselineskip</literal> y el 10pt desde el primer +<literal>\addvspace</literal>. </para> -<para>Normalmente, &latex; remueve el espacio vertical añadido por -<literal>\vspace</literal> en la parte superior o inferior de una página. Con el -argumento opcional <literal>*</literal>, no se elimina el espacio. +<screen>\documentclass{article} +\usepackage{color} +\begin{document} +\setlength{\unitlength}{2pt}% +\noindent\begin{picture}(0,0)% + \multiput(0,0)(0,-1){25}{{\color{blue}\line(1,0){1}}} + \multiput(0,0)(0,-5){6}{{\color{red}\line(1,0){2}}} +\end{picture}% +\rule{0.25\linewidth}{0.1pt}% +\par\addvspace{10pt}% \addvspace{20pt}% +\par\noindent\rule{0.25\linewidth}{0.1pt}% +\end{document} +</screen> +<para>Ahora descomenta el segundo <literal>\addvspace</literal>. No hace la brecha +20pt más; en cambio, la brecha es la suma de +<literal>\baselineskip</literal> y 20pt. Entonces <literal>\addvspace</literal> en +cierto sentido hace lo contrario de su nombre—se asegura de que +múltiples espacios verticales no acumulan, sino que sólo se utiliza el +más grande. +</para> +<para>&latex; usa este comando para ajustar el espacio vertical arriba o +abajo de un entorno que comienza un nuevo párrafo. Por ejemplo, un +entorno <literal>theorem</literal> comienza y termina con <literal>\addvspace</literal>, por +lo que dos <literal>theorem</literal> consecutivos están separados por un espacio +vertical, no dos. +</para> +<para>Un error ‘<literal>Algo anda mal, tal vez un \item</literal>’ faltante que apunta a +un <literal>\addvspace</literal> significa que no estabas en modo vertical cuando +presionaste este comando. Una forma de cambiar eso es preceder a +<literal>\addvspace</literal> con un comando <literal>\par</literal> (véase <link linkend="_005cpar">\par</link>), como en +el ejemplo anterior. </para> </sect1> </chapter> -<chapter label="21" id="Cajas"> +<chapter label="20" id="Cajas"> <title>Cajas</title> <indexterm role="cp"><primary>cajas</primary></indexterm> -<para>Todos los parámetros de longitud predeterminados (véase <link linkend="Longitudes-Predeterminadas">Longitudes -Predeterminadas</link>) se pueden utilizar en los argumentos de las -instrucciones que generan cajas. +<!-- xx Amplía los cuadros y pega, para xref de otro lugar. --> +<para>En esencia, &latex; pone las cosas en cajas y luego pone las cajas en +una página. Así que estos comandos son centrales. </para> +<indexterm role="cp"><primary>package, <literal>adjustbox</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>adjustbox</literal> package</primary></indexterm> +<para>Hay muchos paquetes en CTAN que son útiles para +manipular cajas. Un complemento útil para los comandos aquí es +<literal>adjustbox</literal>. +</para> + +<sect1 label="20.1" id="_005cmbox-y-_005cmakebox"> +<title><literal>\mbox</literal> y <literal>\makebox</literal></title> -<sect1 label="21.1" id="_005cmbox"> -<title><literal>\mbox{<replaceable>texto}</replaceable></literal></title> -<indexterm role="fn"><primary>\mbox</primary></indexterm> +<anchor id="_005cmbox"/><anchor id="_005cmakebox"/><indexterm role="fn"><primary>\mbox</primary></indexterm> +<indexterm role="fn"><primary>\makebox</primary></indexterm> +<indexterm role="cp"><primary>caja</primary></indexterm> +<indexterm role="cp"><primary>hace una caja</primary></indexterm> +<indexterm role="cp"><primary>separación silábica, prevenir</primary></indexterm> -<indexterm role="cp"><primary>división silábica, impidiendo</primary></indexterm> -<para>La instrucción <literal>\mbox</literal> crea una caja lo suficientemente ancha para -contener el texto creado por sus argumentos. El <replaceable>texto</replaceable> no se -separa en líneas, por lo tanto este se puede utilizar para prevenir la -separación silábica. +<para>Sinopsis, una de: +</para> +<screen>\mbox{<replaceable>text</replaceable>} +\makebox{<replaceable>text</replaceable>} +\makebox[<replaceable>width</replaceable>]{<replaceable>text</replaceable>} +\makebox[<replaceable>width</replaceable>][<replaceable>position</replaceable>]{<replaceable>text</replaceable>} +</screen> +<para>Crea una caja, un contenedor para el material. El <replaceable>text</replaceable> está +escrito en modo LR (véase <link linkend="Modos">Modos</link>) para que no se divida en líneas. +El comando <literal>\mbox</literal> es robusto, mientras que <literal>\makebox</literal> es +frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Debido a que <literal>text</literal> no se divide en líneas, puedes usar +<literal>\mbox</literal> para evitar la separación silábica. En este ejemplo, +&latex; no dividirá con guiones el nombre del tanque, ‘<literal>T-34</literal>’. +</para> +<screen>El tanque soviético \mbox{T-34} es un símbolo de victoria contra el +nazismo. +</screen> +<para>Las dos primeras llamadas a comandos que se muestran, <literal>\mbox</literal> y +<literal>\makebox</literal>, son más o menos iguales. Crean una caja apenas lo +suficientemente ancha para contener el <replaceable>text</replaceable>o. (Son como simples +<literal>\hbox</literal> de &tex;). +</para> +<para>En la tercera versión, el argumento opcional <replaceable>width</replaceable> especifica el +ancho de la caja. Ten en cuenta que el espacio ocupado por el texto +no necesita igualar el ancho de la caja. Por un lado, <replaceable>text</replaceable> +puede ser demasiado pequeño; esto crea un cuadro de línea completa +</para> +<screen>\makebox[\linewidth]{Examen del capítulo} +</screen> +<para>con ‘<literal>Examen del capítulo</literal>’ centrado. Pero <replaceable>text</replaceable> también +puede ser demasiado ancho para <replaceable>width</replaceable>. Ve el siguiente ejemplo +de cuadros de ancho cero. +</para> +<anchor id="mbox-makebox-depth"/><anchor id="mbox-makebox-height"/><anchor id="mbox-makebox-width"/><anchor id="mbox-makebox-totalheight"/><para>En el argumento +<replaceable>width</replaceable> puedes usar las siguientes longitudes que se refieren a la +dimensión de la caja que obtiene &latex; al componer <replaceable>text</replaceable>: +<literal>\depth</literal>, <literal>\height</literal>, <literal>\width</literal>, <literal>\totalheight</literal> +(esta es la altura de la caja más su profundidad). Por ejemplo, para +hacer un cuadro con el texto estirado para duplicar el tamaño natural +se puede decir esto. +</para> +<screen>\makebox[2\width]{Obtener una camilla} +</screen> +<para>Para la cuarta versión de la sinopsis del comando, el argumento +opcional <replaceable>position</replaceable> da la posición del texto dentro del +cuadro. Puede tomar los siguientes valores: +</para> +<variablelist><varlistentry><term><literal>c</literal> +</term><listitem><para>El <replaceable>text</replaceable> está centrado (predeterminado). +</para> +</listitem></varlistentry><varlistentry><term><literal>l</literal> +</term><listitem><para>El <replaceable>text</replaceable> está alineado a la izquierda. +</para> +</listitem></varlistentry><varlistentry><term><literal>r</literal> +</term><listitem><para>Flujo a la derecha. +</para> +</listitem></varlistentry><varlistentry><term><literal>s</literal> +</term><listitem><!-- xx TODO agrega un nodo genérico para aclarar que alguna declaración --> +<!-- puede no ser cierto para alguna internacionalización o algún --> +<!-- script. P. ej. en árabe script o con paquete de microtipo creo que --> +<!-- el estirar también juega en ancho de palabra --> +<para>Estira el espacio entre palabras en <replaceable>text</replaceable> en todo el <replaceable>width</replaceable>. +El <replaceable>text</replaceable> debe contener un espacio extensible para que esto +funcione. Por ejemplo, esto podría encabezar un comunicado de prensa: +<literal>\noindent\makebox[\textwidth][s]{\large\hfil LIBERACIÓN\hfil +INMEDIATA\hfil}</literal> +</para></listitem></varlistentry></variablelist> +<para>Un uso común de <literal>\makebox</literal> es crear cuadros de texto de ancho +cero. Esto pone el valor de las preguntas del cuestionario a la +izquierda de esas preguntas. +</para> +<screen>\newcommand{\pts}[1]{\makebox[0em][r]{#1 points\hspace*{1em}}} +\pts{10}¿Cuál es la velocidad en el aire de una golondrina sin carga? + +\pts{90}¿Una golondrina africana o europea? +</screen> +<indexterm role="cp"><primary>package, <literal>TikZ</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>TikZ</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm> +<para>El borde derecho de la salida +‘<literal>10 puntos</literal>’ (ten en cuenta el espacio final después de +‘<literal>puntos</literal>’) estará justo antes de ‘<literal>Cual</literal>’. Puedes usar +<literal>\makebox</literal> de manera similar al hacer gráficos, como en +<literal>TikZ</literal> o <literal>Asymptote</literal>, donde pones el borde del texto +en una ubicación en un punto conocido, independientemente de la +longitud de ese texto. +</para> +<para>Para cajas con marcos <link linkend="_005cfbox-y-_005cframebox">\fbox y \framebox</link>. Para +colores <link linkend="Cuadros-de-colores">Cuadros de colores</link>. +</para> +<para>Hay una versión relacionada de <literal>\makebox</literal> que se usa dentro del +entorno <literal>picture</literal>, donde la longitud se da en términos de +<literal>\unitlength</literal> (véase <link linkend="_005cmakebox-_0028picture_0029">\makebox (picture)</link>). +</para> +<para>Puesto que <replaceable>text</replaceable> está escrito en modo LR, ni una barra invertida +doble <literal>\\</literal> ni <literal>\par</literal> te darán una nueva línea; por ejemplo +<literal>\makebox{abc def \\ ghi}</literal> genera ‘<literal>abc defghi</literal>’ mientras +<literal>\makebox{abc def \par ghi}</literal> genera ‘<literal>abc def ghi</literal>’, ambos +en una sola línea. Para obtener varias líneas, <link linkend="_005cparbox">\parbox</link> +y <link linkend="minipage">minipage</link>. </para> </sect1> -<sect1 label="21.2" id="_005cfbox-y-_005cframebox"> +<sect1 label="20.2" id="_005cfbox-y-_005cframebox"> <title><literal>\fbox</literal> y <literal>\framebox</literal></title> -<indexterm role="fn"><primary>\fbox</primary></indexterm> +<anchor id="_005cfbox"/><anchor id="_005cframebox"/><indexterm role="fn"><primary>\fbox</primary></indexterm> <indexterm role="fn"><primary>\framebox</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\fbox{<replaceable>texto</replaceable>} -\framebox[<replaceable>ancho</replaceable>][<replaceable>posición</replaceable>]{<replaceable>texto</replaceable>} +<screen>\fbox{<replaceable>text</replaceable>} +\framebox{<replaceable>text</replaceable>} +\framebox[<replaceable>width</replaceable>]{<replaceable>text</replaceable>} +\framebox[<replaceable>width</replaceable>][<replaceable>position</replaceable>]{<replaceable>text</replaceable>} </screen> -<para>Las instrucciones <literal>\fbox</literal> y <literal>\framebox</literal> son como <literal>\mbox</literal>, -excepto que estas ponen un marco al rededor del exterior de la caja que -se está creando. +<para>Crea un cuadro con un marco envolvente, cuatro reglas que rodean el +<replaceable>text</replaceable>. Estos comandos son los mismos que <literal>\mbox</literal> y +<literal>\makebox</literal> excepto para el marco (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>). El +comando <literal>\fbox</literal> es robusto, el comando <literal>\framebox</literal> es frágil +(véase <link linkend="_005cprotect">\protect</link>). </para> -<para>Además, la instrucción <literal>\framebox</literal> permite especificar -explícitamente la anchura de la caja con el argumento opcional -<replaceable>width</replaceable> (una dimensión), y la posiciona con el argumento opcional -<replaceable>posición</replaceable>. <!-- xx ref --> +<screen>\fbox{¡Advertencia! No se muestra el trabajo, no se otorga crédito.} +</screen> +<para>&latex; pone el texto en un cuadro, el texto no se puede dividir +silábicamente. Alrededor de esa caja, separadas de ella por un +pequeño espacio, hay cuatro reglas que hacen un cuadro. +</para> +<para>Las dos primeras invocaciones de comandos, <literal>\fbox{...}</literal> y +<literal>\framebox{...}</literal>, son más o menos iguales. En cuanto a la +tercera y cuartas invocaciones, los argumentos opcionales te permiten +especificar el ancho de la casilla como <replaceable>width</replaceable> y la posición del +texto dentro de ese cuadro como <replaceable>position</replaceable>. Véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y +\makebox</link>, para la descripción completa pero aquí hay un ejemplo de +creación de un cuadro vacío de 1/4in de ancho. +</para> +<screen>\setlength{\fboxsep}{0pt}\framebox[0.25in]{\strut}} +</screen> +<para>El <literal>\strut</literal> asegura una altura total de <literal>\baselineskip</literal> +(véase <link linkend="_005cstrut">\strut</link>). +</para> +<para>Estos parámetros determinan el diseño del marco. +</para> +<variablelist><anchor id="fbox-framebox-fboxrule"/><varlistentry><term><indexterm role="fn"><primary>\fboxrule</primary></indexterm><literal>\fboxrule</literal> +</term><listitem><indexterm role="fn"><primary>marco, ancho de línea</primary></indexterm> +<indexterm role="fn"><primary>Ancho de la regla de cuadro</primary></indexterm> +<indexterm role="cp"><primary>\fboxrule</primary></indexterm> +<para>El grosor de las reglas alrededor de la caja cerrada. El valor +predeterminado es 0.2pt. Cámbialo con un comando como +<literal>\setlength{\fboxrule}{0.8pt}</literal> (véase <link linkend="_005csetlength">\setlength</link>). +</para> +<anchor id="fbox-framebox-fboxsep"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\fboxsep</primary></indexterm><literal>\fboxsep</literal> +</term><listitem><indexterm role="fn"><primary>marco, separación de contenido</primary></indexterm> +<indexterm role="cp"><primary>\fboxsep</primary></indexterm> +<para>La distancia desde el marco hasta la caja cerrada. El valor +predeterminado es 3pt. Cámbialo con un comando como +<literal>\setlength{\fboxsep}{0pt}</literal> (véase <link linkend="_005csetlength">\setlength</link>). +Establecerlo en 0pt es útil a veces: esto colocará un marco +alrededor de la imagen sin borde blanco. +</para> +<screen>{\setlength{\fboxsep}{0pt}% + \framebox{% + \includegraphics[width=0.5\textwidth]{prudence.jpg}}} +</screen> +<para>Las llaves adicionales mantienen el efecto del <literal>\setlength</literal> +local. </para> -<indexterm role="fn"><primary>\fboxrule</primary></indexterm> -<indexterm role="fn"><primary>\fboxsep</primary></indexterm> -<para>Ambas instrucciones producen una regla de espesor <literal>\fboxrule</literal> -(predeterminado a ‘<literal>.4pt</literal>’), y dejan un espacio de <literal>\fboxsep</literal> -(predeterminado a ‘<literal>3pt</literal>’) entre la regla y el contenido de la caja. +</listitem></varlistentry></variablelist> +<para>Al igual que con <literal>\mbox</literal> y <literal>\makebox</literal>, &latex; no romperá +líneas en <replaceable>text</replaceable>. Pero este ejemplo tiene líneas de ruptura +&latex; para hacer un párrafo, y luego encuadra el resultado. +</para> +<screen>\framebox{% + \begin{minipage}{0.6\linewidth} + Querida, aquí debemos correr lo más rápido que podamos, solo para + mantenernos en el lugar. + Y si deseas ir a donde debes correr el doble de rápido que eso. + \end{minipage}} +</screen> +<para>Véase <link linkend="Cuadros-de-colores">Cuadros de colores</link>, para colores que no sean blanco y negro. </para> -<para>Véase <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>, para la instrucción <literal>\framebox</literal> en el -entorno <literal>picture</literal>. +<para>El entorno <literal>picture</literal> tiene una versión del comando +<literal>\framebox</literal> donde las unidades dependen del <literal>\unitlength</literal> de +<literal>picture</literal> (véase <link linkend="_005cframebox-_0028picture_0029">\framebox (picture)</link>). +</para> + +</sect1> +<sect1 label="20.3" id="_005cparbox"> +<title><literal>\parbox</literal></title> + +<indexterm role="fn"><primary>\parbox</primary></indexterm> +<indexterm role="cp"><primary>modo paragraph</primary></indexterm> +<indexterm role="cp"><primary>paragraph, en una caja</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\parbox{<replaceable>width</replaceable>}{<replaceable>contenido</replaceable>} +\parbox[<replaceable>position</replaceable>]{<replaceable>width</replaceable>}{<replaceable>contenido</replaceable>} +\parbox[<replaceable>position</replaceable>][<replaceable>height</replaceable>]{<replaceable>width</replaceable>}{<replaceable>contenido</replaceable>} +\parbox[<replaceable>position</replaceable>][<replaceable>height</replaceable>][<replaceable>inner-pos</replaceable>]{<replaceable>width</replaceable>}{<replaceable>contenido</replaceable>} +</screen> +<para>Produce un cuadro de texto de <replaceable>width</replaceable> de ancho. Usa este comando +para hacer una caja de pequeños fragmentos de texto, de un solo +párrafo. Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<screen>\begin{picture}(0,0) ... \put(1,2){\parbox{1.75in}{\raggedright + Debido a que el gráfico es una línea en este artículo semilog, la + relación es exponencial.}} \end{picture} +</screen> +<para>El <replaceable>contenido</replaceable> se procesa en modo texto (véase <link linkend="Modos">Modos</link>) por lo que +&latex; dividirá líneas para formar un párrafo. Pero no hará varios +párrafos; para eso, usa un entorno <literal>minipage</literal> (véase <link linkend="minipage">minipage</link>). +</para> +<para>Las opciones para <literal>\parbox</literal> (excepto <replaceable>contenido</replaceable>) son las +mismas como las de <literal>minipage</literal>. Para mayor comodidad, un resumen +de las opciones está aquí, pero <link linkend="minipage">minipage</link> para obtener una +descripción completa. +</para> +<para>Hay dos argumentos necesarios. El <replaceable>width</replaceable> es una longitud rígida +(véase <link linkend="Longitudes">Longitudes</link>). Establece el ancho del cuadro en el que +&latex; compone <replaceable>contenido</replaceable>. <replaceable>contenido</replaceable> es el texto que se +coloca en esa caja. No debe tener ningún componente de creación de +párrafos. +</para> +<para>Hay tres argumentos opcionales, <replaceable>position</replaceable>, <replaceable>height</replaceable> e +<replaceable>inner-pos</replaceable>. La <replaceable>position</replaceable> da la alineación vertical de la +<firstterm>parbox</firstterm> con respecto al material circundante. Los valores +apoyados son <literal>c</literal> o <literal>m</literal> para hacer que el centro vertical del +parbox se alinea con el centro de la línea de texto adyacente (este es +el predeterminado), o <literal>t</literal> para hacer coincidir la línea superior +del parbox con la línea base del material circundante, o <literal>b</literal> para +que coincida con la línea de fondo. +</para> +<para>El argumento opcional <replaceable>height</replaceable> redefine la altura natural de la +caja. +</para> +<para>El argumento opcional <replaceable>inner-pos</replaceable> controla la ubicación de +<replaceable>content</replaceable> dentro del <literal>parbox</literal>. Su valor predeterminado es el +valor de <replaceable>position</replaceable>. Sus posibles valores son: <literal>t</literal> para +poner el <replaceable>content</replaceable> en la parte superior del cuadro, <literal>c</literal> para +ponerlo en el centro vertical, <literal>b</literal> para colocarlo en la parte +inferior del cuadro y <literal>s</literal> para estirarlo verticalmente (para +ello, el texto debe contener espacio extensible verticalmente). +</para> +</sect1> +<sect1 label="20.4" id="_005craisebox"> +<title><literal>\raisebox</literal></title> + +<indexterm role="fn"><primary>\raisebox</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\raisebox{<replaceable>distance</replaceable>}{<replaceable>text</replaceable>} +\raisebox{<replaceable>distance</replaceable>}[<replaceable>height</replaceable>]{<replaceable>text</replaceable>} +\raisebox{<replaceable>distance</replaceable>}[<replaceable>height</replaceable>][<replaceable>depth</replaceable>]{<replaceable>text</replaceable>} +</screen> +<para>Sube o baja <replaceable>text</replaceable>. Este comando es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Este ejemplo hace un comando para denotar la restricción de una +función bajando el símbolo de la barra vertical. +</para> +<!-- crédito: egreg https://tex.stackexchange.com/a/278631/121234 --> +<screen>\newcommand*\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}} +$f\restricted{A}$ +</screen> +<para>El primer argumento obligatorio <replaceable>distance</replaceable> especifica qué tan +lejos subir el segundo argumento obligatorio <replaceable>text</replaceable>. Esta es una +longitud rígida (véase <link linkend="Longitudes">Longitudes</link>). Si es negativo entonces baja +<replaceable>text</replaceable>. El <replaceable>text</replaceable> se procesa en modo LR por lo que no puede +contener saltos de línea (véase <link linkend="Modos">Modos</link>). +</para> +<para>Los argumentos opcionales <replaceable>height</replaceable> y <replaceable>depth</replaceable> son dimensiones. +Si se especifican, redefinen la altura y profundidad natural de la +caja, &latex; compone tipográficamente <replaceable>text</replaceable>. +</para> +<anchor id="raisebox-depth"/><anchor id="raisebox-height"/><anchor id="raisebox-width"/><anchor id="raisebox-totalheight"/><para>En los argumentos <replaceable>distance</replaceable>, +<replaceable>height</replaceable> y <replaceable>depth</replaceable> puedes utilizar las siguientes longitudes +que se refieren a la dimensión de la caja que &latex; empieza a +componer <replaceable>text</replaceable>: <literal>\depth</literal>, <literal>\height</literal>, <literal>\width</literal>, +<literal>\totalheight</literal> (esta es la altura de la caja más su profundidad). +</para> +<para>Esto alineará dos gráficos en su parte superior (véase <link linkend="Gr_00e1ficos">Gráficos</link>). +</para> +<!-- crédito: Preguntas frecuentes https://texfaq.org/FAQ-topgraph --> +<screen>\usepackage{graphicx,calc} % en el preámbulo + ... +\begin{center} + \raisebox{1ex-\height}{% + \includegraphics[width=0.4\linewidth]{lion.png}} + \qquad + \raisebox{1ex-\height}{% + \includegraphics[width=0.4\linewidth]{meta.png}} +\end{center} +</screen> +<para>El primer <literal>\height</literal> es la altura de <filename>lion.png</filename> mientras que +el segundo es la altura de <filename>meta.png</filename>. +</para> + +</sect1> +<sect1 label="20.5" id="_005csbox-y-_005csavebox"> +<title><literal>\sbox</literal> y <literal>\savebox</literal></title> + +<anchor id="_005csbox"/><anchor id="_005csavebox"/><indexterm role="fn"><primary>\sbox</primary></indexterm> +<indexterm role="fn"><primary>\savebox</primary></indexterm> +<indexterm role="cp"><primary>caja, guardar</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\sbox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>} +\savebox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>} +\savebox{<replaceable>box-cmd</replaceable>}[<replaceable>width</replaceable>]{<replaceable>text</replaceable>} +\savebox{<replaceable>box-cmd</replaceable>}[<replaceable>width</replaceable>][<replaceable>pos</replaceable>]{<replaceable>text</replaceable>} +</screen> +<para>Compone <replaceable>text</replaceable> igual que con <literal>\makebox</literal> (véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y +\makebox</link>) excepto que &latex; no lo genera, sino que lo guarda en un +registro de caja al que hace referencia una variable denominada +<replaceable>box-cmd</replaceable>. El nombre de la variable <replaceable>box-cmd</replaceable> comienza con +una barra invertida, <literal>\</literal>. Debes haber asignado previamente el +cuadro de registro <replaceable>box-cmd</replaceable> con <literal>\newsavebox</literal> +(véase <link linkend="_005cnewsavebox">\newsavebox</link>). El comando <literal>\sbox</literal> es robusto mientras +<literal>\savebox</literal> es frágil (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Esto crea y utiliza un registro de caja. +</para> +<screen>\newsavebox{\fullname} +\sbox{\fullname}{John Jacob Jingleheimer Schmidt} + ... +\usebox{\fullname}! ¡Su nombre también es mi nombre! +¡Cuando salimos, la gente siempre grita! +¡Ahí va \usebox{\fullname}! Ya da da da da da da. +</screen> +<para>Una ventaja de usar y reutilizar un registro de caja sobre una +variable macro <literal>\newcommand</literal> es la eficiencia, que &latex; no +necesita vuelve a escribir repetidamente el contenido. Ve el ejemplo +a continuación. +</para> +<para>Las dos primeras llamadas a comandos que se muestran arriba, +<literal>\sbox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>}</literal> y +<literal>\savebox{<replaceable>box-cmd</replaceable>}{<replaceable>text</replaceable>}</literal>, son más o menos +iguales. En cuanto a la tercera y cuarta, los argumentos opcionales +te permiten especificar el ancho de la caja como <replaceable>width</replaceable>, y la +posición del texto dentro de esa caja como <replaceable>position</replaceable>. +Véase <link linkend="_005cmbox-y-_005cmakebox">\mbox y \makebox</link>, para la descripción completa. +</para> +<para>En los comandos <literal>\sbox</literal> y <literal>\savebox</literal> el <replaceable>text</replaceable> es +tipografiado en modo LR para que no tenga saltos de línea +(véase <link linkend="Modos">Modos</link>). Si usas estos, entonces &latex; no te da un error +pero ignora lo que quieres: si ingresas <literal>\sbox{\newreg}{test +\\ test}</literal> y <literal>\usebox{\newreg}</literal> entonces obtienes +‘<literal>testtest</literal>’, mientras que si ingresas <literal>\sbox{\newreg}{test +\par test}</literal> y <literal>\usebox{\newreg}</literal> entonces obtienes ‘<literal>test +test</literal>’, pero no hay error ni advertencia. Para solucionar esto, usa +<literal>\parbox</literal> o <literal>minipage</literal> como aquí. +</para> +<!-- crédito: egreg https://tex.stackexchange.com/a/41668/121234 --> +<screen>\newsavebox{\areg} +\savebox{\areg}{% + \begin{minipage}{\linewidth} + \begin{enumerate} + \item Primer elemento + \item Segundo elemento + \end{enumerate} + \end{minipage}} + ... +\usebox{\areg} +</screen> +<para>Como ejemplo de la eficiencia de reutilizar el contenido de un +registro, esto pone la misma imagen en cada página del documento +colocándola en el encabezado. &latex; solo la compone una vez. +</para> +<screen>\usepackage{graphicx} % todo esto en el preámbulo +\newsavebox{\sealreg} +\savebox{\sealreg}{% + \setlength{\unitlength}{1in}% + \begin{picture}(0,0)% + \put(1.5,-2.5){% + \begin{tabular}{c} + \includegraphics[height=2in]{companylogo.png} \\ + La oficina del presidente + \end{tabular}} + \end{picture}% +} +\markright{\usebox{\sealreg}} +\pagestyle{headings} +</screen> +<para>El entorno <literal>picture</literal> es bueno para ajustar la ubicación. +</para> +<para>Si el registro <literal>\noreg</literal> aún no se ha definido, obtendrás algo +como ‘<literal>Secuencia de control indefinida. <argument> \noreg</literal>’. </para> </sect1> -<sect1 label="21.3" id="lrbox"> +<sect1 label="20.6" id="lrbox"> <title><literal>lrbox</literal></title> + <indexterm role="fn"><primary>lrbox</primary></indexterm> -<para><literal>\begin{lrbox}{instrucción} texto \end{lrbox}</literal> +<para>Sinopsis: </para> -<para>Esta es la forma de entorno de <literal>\sbox</literal>. +<screen>\begin{lrbox}{<replaceable>box-cmd</replaceable>} + <replaceable>text</replaceable> +\end{lrbox} +</screen> +<para>Esta es la forma de entorno de los comandos <literal>\sbox</literal> y +<literal>\savebox</literal>, y es equivalente a ellos. Véase <link linkend="_005csbox-y-_005csavebox">\sbox y \savebox</link>, +para la descripción completa. +</para> +<para>El <replaceable>text</replaceable> dentro del entorno se guarda en el cuadro de registro +referido por la variable <literal><replaceable>box-cmd</replaceable></literal>. El nombre de la +variable <replaceable>box-cmd</replaceable> debe comenzar con una barra invertida, +<literal>\</literal>. Debes asignar esta caja regístrate con anticipación con +<literal>\newsavebox</literal> (véase <link linkend="_005cnewsavebox">\newsavebox</link>). En este ejemplo el entorno +es conveniente para ingresar el <literal>tabular</literal>. +</para> +<screen>\newsavebox{\jhreg} +\begin{lrbox}{\jhreg} + \begin{tabular}{c} + \includegraphics[height=1in]{jh.png} \\ + Jim Hef{}feron + \end{tabular} +\end{lrbox} + ... +\usebox{\jhreg} +</screen> + +</sect1> +<sect1 label="20.7" id="_005cusebox"> +<title><literal>\usebox</literal></title> + +<indexterm role="fn"><primary>\usebox</primary></indexterm> +<indexterm role="cp"><primary>cuadro, usa cuadro guardado</primary></indexterm> + +<para>Sinopsis: </para> -<para>El texto dentro del entorno se guarda en la caja <literal>instrucción</literal>, -misma que se debe haber declarado con <literal>\newsavebox</literal>. +<screen>\usebox{<replaceable>box-cmd</replaceable>} +</screen> +<para>Produce el cuadro guardado más recientemente en el registro de cuadro +<replaceable>box-cmd</replaceable> por los comandos <literal>\sbox</literal> o <literal>\savebox</literal>, o el +entorno <literal>lrbox</literal>. Para obtener más información y ejemplos, +véase <link linkend="_005csbox-y-_005csavebox">\sbox y \savebox</link>. (Ten en cuenta que el nombre de la variable +<replaceable>box-cmd</replaceable> comienza con una barra invertida, <literal>\</literal>). Este +comando es robusto (véase <link linkend="_005cprotect">\protect</link>). </para> </sect1> -<sect1 label="21.4" id="_005cmakebox"> -<title><literal>\makebox</literal></title> -<indexterm role="fn"><primary>\makebox</primary></indexterm> +</chapter> +<chapter label="21" id="Color"> +<title>Color</title> -<para>Sinopsis: +<indexterm role="cp"><primary>color</primary></indexterm> + +<para>Puedes agregar color al texto, reglas, etc. También puedes tener color +en un cuadro o en una página entera y escribir texto encima. </para> -<screen>\makebox[<replaceable>ancho</replaceable>][<replaceable>posición</replaceable>]{<replaceable>texto</replaceable>} +<para>El soporte de color viene como un paquete adicional. Así que pon +<literal>\usepackage{color}</literal> en el preámbulo de su documento para usar +los comandos descritos aquí. +</para> +<para>Muchos otros paquetes también complementan las capacidades de color de +&latex;. Particularmente digno de mención es <filename>xcolor</filename>, que se +utiliza ampliamente y extiende significativamente las capacidades +descritas aquí, incluida la adición de modelos de color ‘<literal>HTML</literal>’ y +‘<literal>Hsb</literal>’. +</para> + + +<sect1 label="21.1" id="Opciones-del-paquete-Color"> +<title>Opciones del paquete <literal>color</literal></title> + +<indexterm role="cp"><primary>opciones de paquete color</primary></indexterm> +<indexterm role="cp"><primary>opciones, paquete color</primary></indexterm> + +<para>Sinopsis (debe estar en el preámbulo del documento): +</para> +<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{color} </screen> -<para>La instrucción <literal>\makebox</literal> crea una caja lo suficientemente ancha -para contener el <replaceable>texto</replaceable> especificado. La anchura de la caja es -especificada por el argumento opcional <replaceable>ancho</replaceable>. La posición del -texto dentro de la caja está determinada por el argumento opcional -<replaceable>posición</replaceable>, el cual puede tomar los siguientes valores: +<para>Cuando cargas el paquete <filename>color</filename> hay dos tipos de opciones de +archivo disponibles. +</para> +<para>El primero especifica el <firstterm>controlador de impresora</firstterm>. &latex; no +contiene información sobre diferentes sistemas de salida, sino que +depende de información almacenada en un archivo. Normalmente no debes +especificar la opción driver en el documento y, en su lugar, confía en +la configuración predeterminada de tu sistema. Una ventaja de esto es +que hace que el documento sea portátil a través de los sistemas. Para +completar, incluimos una lista de los controladores. Los relevantes +actualmente son: <filename>dvipdfmx</filename>, <filename>dvips</filename>, <filename>dvisvgm</filename>, +<filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>. Los dos <filename>xdvi</filename> y +<filename>oztex</filename> esencialmente son alias para <filename>dvips</filename> (y <filename>xdvi</filename> +es monocromo). Los que no se deben usar para nuevos sistemas son: +<filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>, <filename>dvipsone</filename>, +<filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>, <filename>pctexhp</filename>, +<filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>, <filename>vtex</filename> (y +<filename>dviwindo</filename> es un alias de <filename>dvipsone</filename>). +</para> +<para>El segundo tipo de opciones, más allá de los controladores, se +encuentran a continuación. </para> -<variablelist><varlistentry><term><literal>c</literal> -</term><listitem><para>Centrado (predeterminado). -</para></listitem></varlistentry><varlistentry><term><literal>l</literal> -</term><listitem><para>Alineado a la izquierda -</para></listitem></varlistentry><varlistentry><term><literal>r</literal> -</term><listitem><para>Alineado a la derecha -</para></listitem></varlistentry><varlistentry><term><literal>s</literal> -</term><listitem><para>Alineado (justificado) a través de <replaceable>ancho</replaceable>; <replaceable>texto</replaceable> debe -contener espacio elástico para que esto funcione. -</para></listitem></varlistentry></variablelist> -<para><literal>\makebox</literal> también se utiliza en el entorno picture véase <link linkend="_005cmakebox-_0028picture_0029">\makebox -(picture)</link>. +<variablelist> +<varlistentry><term><literal>monochrome</literal> +</term><listitem><para>Deshabilita los comandos de color, para que no generen errores pero +tampoco generar color. </para> +</listitem></varlistentry><varlistentry><term><literal>dvipsnames</literal> +</term><listitem><para>Pone a disposición una lista de 68 nombres de colores que se usan con +frecuencia, particularmente en documentos heredados. Estos nombres de +colores originalmente fueron proporcionados por el controlador +<filename>dvips</filename>, dando el nombre de la opción. +</para> +</listitem></varlistentry><varlistentry><term><literal>nodvipsnames</literal> +</term><listitem><para>No carga esa lista de nombres de colores, ahorrando &latex; una +pequeña cantidad de espacio de memoria. +</para> +</listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.5" id="_005cparbox"> -<title><literal>\parbox</literal></title> -<indexterm role="fn"><primary>\parbox</primary></indexterm> +<sect1 label="21.2" id="Modelos-de-color"> +<title>Modelos de color</title> + +<indexterm role="cp"><primary>modelos de color</primary></indexterm> + +<para>Un <firstterm>modelo de color</firstterm> es una forma de representar los colores. Las +capacidades de &latex; dependen del controlador de la impresora. Sin +embargo, <filename>pdftex</filename>, los controladores de impresora <filename>xetex</filename> y +<filename>luatex</filename> son, con diferencia, los más comúnmente utilizados. Los +siguientes modelos funcionan para esos controladores. Todo pero uno +de estos también es compatible con prácticamente todos los demás +controladores de impresora usados hoy. +</para> +<para>Ten en cuenta que la combinación de colores puede ser aditiva o +sustractiva. Mezcla aditiva de colores de luz, de modo que, por +ejemplo, combinando intensidades completas de rojo, verde y azul +produce blanco. Mezclas sustractivas de pigmentos, como con tintas, +de modo que la combinación de la intensidad total de cian, magenta y +el amarillo hace negro. +</para> +<variablelist><anchor id="modelos-de-color-cmyk"/><varlistentry><term><literal>cmyk</literal> +</term><listitem><para>Una lista separada por comas con cuatro números reales entre 0 y 1, +inclusive. El primer número es la intensidad del cian, el segundo es +magenta, y los otros son amarillo y negro. Un valor numérico de 0 +significa intensidad mínima, mientras que un 1 es para intensidad +máxima. Este modelo a menudo se utiliza en la impresión a color. Es +un modelo sustractivo. +</para> +<anchor id="modelos-de-color-gris"/></listitem></varlistentry><varlistentry><term><literal>gray</literal> +</term><listitem><para>Un solo número real entre 0 y 1, ambos inclusive. Los colores son +sombras de gris. El número 0 produce negro mientras que el 1 da +blanco. +</para> +<anchor id="modelos-de-color-rgb"/></listitem></varlistentry><varlistentry><term><literal>rgb</literal> +</term><listitem><para>Una lista separada por comas con tres números reales entre 0 y 1, +inclusive. El primer número es la intensidad del componente rojo, el +segundo es verde, y el tercero el azul. Un valor numérico de 0 +significa que no se agrega nada de ese componente, mientras que un 1 +significa intensidad total. Este es un modelo aditivo. +</para> +<anchor id="modelos-de-color-RGB"/></listitem></varlistentry><varlistentry><term><literal>RGB</literal> +</term><listitem><para>(<filename>pdftex</filename>, <filename>xetex</filename>, <filename>luatex</filename> drivers) Una lista +separada por comas con tres números enteros entre 0 y 255, ambos +inclusive. Este modelo es una conveniencia de usar <literal>rgb</literal> ya que +fuera de &latex; los colores a menudo se describen en un modelo +rojo-verde-azul usando números en este rango. Los valores +introducidos aquí se convierten al modelo <literal>rgb</literal> mediante división +entre 255. +</para> +<anchor id="modelos-de-color-nombrados"/></listitem></varlistentry><varlistentry><term><literal>named</literal> +</term><listitem><para>Se accede a los colores por nombre, como ‘<literal>PrussianBlue</literal>’. La +lista de nombres depende del controlador, pero todos admiten los +nombres ‘<literal>black</literal>’, ‘<literal>azul</literal>’, ‘<literal>cian</literal>’, ‘<literal>verde</literal>’, +‘<literal>magenta</literal>’, ‘<literal>rojo</literal>’, ‘<literal>white</literal>’ y ‘<literal>yellow</literal>’ (Consulta la +opción <literal>dvipsnames</literal> en <link linkend="Opciones-del-paquete-Color">Opciones del paquete Color</link>). +</para> +</listitem></varlistentry></variablelist> + +</sect1> +<sect1 label="21.3" id="Comandos-para-color"> +<title>Comandos para color</title> + +<indexterm role="cp"><primary>comandos del paquete color</primary></indexterm> + +<para>Estos son los comandos disponibles con el paquete <filename>color</filename>. +</para> + + +<sect2 label="21.3.1" id="Definir-colores"> +<title>Definir colores</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>definir color</primary></indexterm> +<indexterm role="cp"><primary>color, definir</primary></indexterm> <para>Sinopsis: </para> -<screen>\parbox[<replaceable>posición</replaceable>][<replaceable>alto</replaceable>][<replaceable>pos-interna</replaceable>]{<replaceable>ancho</replaceable>}{<replaceable>texto</replaceable>} +<screen>\definecolor{<replaceable>name</replaceable>}{<replaceable>model</replaceable>}{<replaceable>specification</replaceable>} </screen> -<para>La instrucción <literal>\parbox</literal> produce una caja cuyo contenido es creado -en modo <literal>paragraph</literal>. Se debe utilizar para hacer una caja de -pequeñas piezas de texto, sin nada lujoso en el interior. En -particular, no debe utilizar ningún entorno que genere párrafos dentro -de un argumento <literal>\parbox</literal>. Para grandes piezas de texto, -incluyendo aquellas que contienen un entorno que genera párrafos, debe -usar un entorno <literal>minipágina</literal> (véase <link linkend="minipage">minipage</link>). +<para>Asigna el nombre <replaceable>name</replaceable> al color. Por ejemplo, después de esto </para> -<para><literal>\parbox</literal> tiene dos argumentos obligatorios: +<screen>\definecolor{silver}{rgb}{0.75,0.75,0.74} +</screen> +<para>puedes usar ese nombre de color con <literal>Hola hola, +\textcolor{silver}{Silver}!</literal>. </para> -<variablelist><varlistentry><term><replaceable>ancho</replaceable> -</term><listitem><para>la anchura de parbox; -</para></listitem></varlistentry><varlistentry><term><replaceable>texto</replaceable> -</term><listitem><para>El texto que va dentro de la parbox. -</para></listitem></varlistentry></variablelist> -<para>El argumento opcional <replaceable>posición</replaceable> le permite alinear la línea en la -parte superior o inferior de parbox con la línea base del texto que lo -rodea (de manera predeterminada es superior). +<para>Este ejemplo da al color un nombre más abstracto, por lo que podría +cambiar y no ser engañoso. </para> -<para>El argumento opcional <replaceable>alto</replaceable> reemplaza la altura natural de la caja. +<screen>\definecolor{logocolor}{RGB}{145,92,131} % RGB needs pdflatex +\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}} +</screen> +<para>A menudo, los colores de un documento se definen en el preámbulo o en +la clase o estilo, en lugar de en el cuerpo del documento. </para> -<para>Al argumento <replaceable>pos-interior</replaceable> controla la ubicación del texto dentro -de la caja de la siguiente manera; Si no se especifica, se utiliza -<replaceable>posición</replaceable>. + +</sect2> +<sect2 label="21.3.2" id="Texto-en-color"> +<title>Texto en color</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>texto en color</primary></indexterm> + +<para>Sinopsis: </para> -<variablelist><varlistentry><term><literal>t</literal> -</term><listitem><para>El texto es colocado en la parte superior de la caja. -</para></listitem></varlistentry><varlistentry><term><literal>c</literal> -</term><listitem><para>El texto se coloca al centro de la caja. -</para></listitem></varlistentry><varlistentry><term><literal>b</literal> -</term><listitem><para>El texto se coloca en la parte inferior de la caja. -</para></listitem></varlistentry><varlistentry><term><literal>s</literal> -</term><listitem><para>Se extiende verticalmente; el texto debe contener espacio vertical -extensible para que esto funcione. -</para></listitem></varlistentry></variablelist> +<screen>\textcolor{<replaceable>name</replaceable>}{...} +\textcolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}{...} +</screen> +<para>o +</para> +<screen>\color{<replaceable>name</replaceable>} +\color[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>} +</screen> +<para>El texto afectado obtiene el color. Esta línea +</para> +<screen>\textcolor{magenta}{Mi nombre es Ozymandias, Rey de Reyes;} ¡Mirad +mis obras, poderosos, y desesperaos! +</screen> +<para>hace que la primera mitad esté en magenta mientras que el resto está +en negro. Puedes usar un color declarado con <literal>\definecolor</literal> +exactamente de la misma manera que usamos el color integrado +‘<literal>magenta</literal>’. +</para> +<screen>\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0} +Estoy pensando en adquirir un \textcolor{MidlifeCrisisRed}{auto +deportivo}. +</screen> +<para>Los dos <literal>\textcolor</literal> y <literal>\color</literal> difieren en que la primera +es una forma de comando, que incluye el texto a colorear como +argumento. Con frecuencia esta forma es más conveniente, o al menos +más explícita. La segunda forma es una declaración, como en <literal>La +luna está hecha de {\color{green} green} cheese</literal>, por lo que está +vigente hasta el final del grupo actual o entorno. Esto a veces es +útil cuando se escriben macros o como debajo, donde colorea todo +dentro del entorno <literal>center</literal>, incluyendo las líneas verticales y +horizontales. +</para> +<screen>\begin{center} \color{blue} + \begin{tabular}{l|r} + UL &UR \\ \hline + LL &LR + \end{tabular} +\end{center} +</screen> +<para>Puedes usar el color en las ecuaciones. Un documento podría tener +esta definición en el preámbulo +</para> +<screen>\definecolor{highlightcolor}{RGB}{225,15,0} +</screen> +<para>y luego contener esta ecuación. +</para> +<screen>\begin{equation} + \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a) +\end{equation} +</screen> +<para>Normalmente, los colores utilizados en un documento se declaran en una +clase o estilo. Pero a veces quieres uno único. Esas son las segundas +formas en la sinopsis. +</para> +<screen>Colores de \textcolor[rgb]{0.33,0.14,0.47}{Purple} y +{\color[rgb]{0.72,0.60,0.37}Gold} para el equipo. +</screen> +<para>El formato de <replaceable>especificación de color</replaceable> depende del modelo de +color (véase <link linkend="Modelos-de-color">Modelos de color</link>). Por ejemplo, mientras <literal>rgb</literal> +toma tres números, <literal>gray</literal> solo toma uno. +</para> +<screen>La selección fue \textcolor[gray]{0.5}{grayed out}. +</screen> +<para>Los colores dentro de los colores no combinan. De este modo +</para> +<screen>\textcolor{green}{clase de \textcolor{blue}{blue}} +</screen> +<para>tiene una palabra final que es azul, no una combinación de azul y +verde. +</para> +<!-- xx ¿dirección coloreando una línea de una tabla? --> -</sect1> -<sect1 label="21.6" id="_005craisebox"> -<title><literal>\raisebox</literal></title> -<indexterm role="fn"><primary>\raisebox</primary></indexterm> + +</sect2> +<sect2 label="21.3.3" id="Cuadros-de-colores"> +<title>Cuadros de colores</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>cajas de colores</primary></indexterm> +<indexterm role="cp"><primary>caja, coloreada</primary></indexterm> <para>Sinopsis: </para> -<screen>\raisebox{distancia}[<replaceable>alto</replaceable>][<replaceable>profundidad</replaceable>]{texto} +<screen>\colorbox{<replaceable>name</replaceable>}{...} +\colorbox[<replaceable>nombre del modelo</replaceable>]{<replaceable>color de fondo del +cuadro</replaceable>}{...} +</screen> +<para>o +</para> +<screen>\fcolorbox{<replaceable>color del cuadro</replaceable>}{<replaceable>color de fondo del +cuadro</replaceable>}{...} +\fcolorbox[<replaceable>nombre del modelo</replaceable>]{<replaceable>color del +cuadro</replaceable>}{<replaceable>color de fondo del cuadro</replaceable>}{...} +</screen> +<para>Haz un cuadro con el color de fondo indicado. El comando +<literal>\fcolorbox</literal> pone un marco alrededor de la caja. Por ejemplo +esto +</para> +<screen>Nombre:~\colorbox{cyan}{\makebox[5cm][l]{\strut}} </screen> -<para>La instrucción <literal>\raisebox</literal> aumenta o disminuye el <replaceable>texto</replaceable>. El -primer argumento obligatorio especifica a qué altura se va a levantar (o -bajar si la cantidad es negativa) el <replaceable>texto</replaceable>. El <replaceable>texto</replaceable> mismo -es procesado en modo LR. +<para>hace una caja de color cian de cinco centímetros de largo y recibe su +profundidad y altura del <literal>\strut</literal> (por lo que la profundidad es +<literal>-.3\baselineskip</literal> y la altura es <literal>\baselineskip</literal>). Este +pone texto blanco sobre un fondo azul. </para> -<para>Los argumentos opcionales <replaceable>alto</replaceable> y <replaceable>profundidad</replaceable> son -dimensiones. Si se especifican, &latex; trata a <replaceable>texto</replaceable> como una -ampliación de una distancia determinada sobre la línea base (alto) o -bajo (profundidad), omitiendo su altura y profundidad natural. +<screen>\colorbox{blue}{\textcolor{white}{Bienvenido a la máquina.}} +</screen> +<para>Los comandos <literal>\fcolorbox</literal> usan los mismos parámetros que +<literal>\fbox</literal> (véase <link linkend="_005cfbox-y-_005cframebox">\fbox y \framebox</link>), <literal>\fboxrule</literal> y +<literal>\fboxsep</literal>, para establecer el grosor de la regla y el límite +entre el interior de la caja y la regla circundante. Los valores +predeterminados de &latex; son <literal>0.4pt</literal> y <literal>3pt</literal>, +respectivamente. +</para> +<para>Este ejemplo cambia el grosor del borde a 0.8 puntos. Nota que está +rodeado de llaves para que el cambio termine al final de la segunda +línea. </para> +<screen>{\setlength{\fboxrule}{0.8pt} +\fcolorbox{black}{red}{Bajo ninguna circunstancia gires esta +perilla.}} +</screen> -</sect1> -<sect1 label="21.7" id="_005csavebox"> -<title><literal>\savebox</literal></title> -<indexterm role="fn"><primary>\savebox</primary></indexterm> +</sect2> +<sect2 label="21.3.4" id="P_00e1ginas-coloreadas"> +<title>Páginas coloreadas</title> + +<indexterm role="cp"><primary>color</primary></indexterm> +<indexterm role="cp"><primary>pagina coloreada</primary></indexterm> +<indexterm role="cp"><primary>página, en color</primary></indexterm> +<indexterm role="cp"><primary>fondo, coloreado</primary></indexterm> <para>Sinopsis: </para> -<screen>\savebox{<replaceable>\instrucción-caja</replaceable>}[<replaceable>ancho</replaceable>][<replaceable>posición</replaceable>]{<replaceable>texto</replaceable>} +<screen>\pagecolor{<replaceable>name</replaceable>} +\pagecolor[<replaceable>modelo de color</replaceable>]{<replaceable>especificación de color</replaceable>} +\nopagecolor +</screen> +<para>Los dos primeros establecen el fondo de la página, y todas las páginas +posteriores, al color. Para una explicación de la especificación en +la segunda forma véase <link linkend="Texto-en-color">Texto en color</link>. La tercera devuelve el fondo +a la normalidad, que es un fondo transparente. (Si eso no es +compatible, usa <literal>\pagecolor{white}</literal>, aunque eso hará un fondo +blanco en lugar del fondo transparente predeterminado). +</para> +<screen> ... +\pagecolor{cyan} + ... +\nopagecolor </screen> -<para>Esta instrucción fija la tipografía de <replaceable>texto</replaceable> en una caja al igual -que <literal>\makebox</literal> (véase <link linkend="_005cmakebox">\makebox</link>), excepto que el lugar de imprimir -la caja resultante, esta la guarda en la caja etiquetada -<replaceable>\instrucción-caja</replaceable>, que se debe haber declarado con -<literal>\newsavebox</literal> (véase <link linkend="_005cnewsavebox">\newsavebox</link>). + +</sect2> +</sect1> +</chapter> +<chapter label="22" id="Gr_00e1ficos"> +<title>Gráficos</title> + +<indexterm role="cp"><primary>gráficos</primary></indexterm> +<indexterm role="cp"><primary>paquete graphics</primary></indexterm> + +<para>Puedes usar gráficos como archivos PNG o PDF en tu documento &latex;. +Necesitas un paquete adicional, que viene estándar con &latex;. Este +ejemplo es el breve procedimiento. </para> +<screen>\include{graphicx} % va en el preámbulo + ... +\includegraphics[width=0.5\linewidth]{plot.pdf} +</screen> +<para>Para usar los comandos descritos aquí, el preámbulo de tu documento +debe contener ya sea <literal>\usepackage{graphicx}</literal> o +<literal>\usepackage{graphics}</literal>. La mayoría de las veces, +<literal>graphicx</literal> es la mejor elección. +</para> +<para>Los gráficos vienen en dos tipos principales, rasterizados y +vectoriales. &latex; puede usar ambos. En gráficos rasterizados, el +archivo contiene una entrada para cada ubicación en un arreglo, +describiendo de qué color es. Un ejemplo es una fotografía en formato +JPG. En gráficos vectoriales, el archivo contiene una lista de +instrucciones como ‘<literal>dibuja un círculo con este radio y ese +centro</literal>’. Un ejemplo es un dibujo lineal producido por el programa +Asymptote, en formato PDF. En general, los gráficos vectoriales son +más útiles porque puedes cambiar la escala de su tamaño sin pixelación +u otros problemas, y porque suelen tener un tamaño más pequeño. +</para> +<para>Hay sistemas particularmente adecuados para hacer gráficos para un +documento &latex;. Por ejemplo, estos te permiten usar las mismas +letras como en tu documento. &latex; viene con un entorno +<literal>picture</literal> (véase <link linkend="picture">picture</link>) que tiene capacidades simples. +Además de eso, hay otras formas de incluir los comandos de creación de +gráficos en el documento. Dos de dichos sistemas son los paquetes +PSTricks y TikZ. También hay sistemas externos a &latex;, que +generan un gráfico que incluyes usando los comandos de este capítulo. +Dos que usan un lenguaje de programación son Asymptote y MetaPost. +Uno que utiliza una interfaz gráfica es Xfig. La descripción completa +de estos sistemas está fuera del alcance de este documento; ve su +documentación en CTAN. +</para> + + +<sect1 label="22.1" id="Opciones-del-paquete-Graphics"> +<title>Opciones del paquete <literal>graphics</literal></title> + +<indexterm role="cp"><primary>opciones del paquete graphics</primary></indexterm> +<indexterm role="cp"><primary>opciones, paquete graphics</primary></indexterm> + +<para>Sinopsis (debe estar en el preámbulo del documento): +</para> +<screen>\usepackage[<replaceable>lista de opciones separadas por comas</replaceable>]{graphics} +</screen> +<para>o +</para> +<screen>\usepackage[<replaceable>lista de opciones separadas por comas</replaceable>]{graphicx} +</screen> +<para>El paquete <literal>graphicx</literal> tiene un formato para argumentos opcionales +al comando <literal>\includegraphics</literal> que sea conveniente (es el formato +valor-clave), por lo que es la mejor opción para documentos nuevos. +Cuando cargas el paquete <literal>graphics</literal> o <literal>graphicx</literal> con +<literal>\usepackage</literal> hay dos tipos de opciones disponibles. +</para> +<para>La primera es que &latex; no contiene información sobre diferentes +sistemas de salida, sino que depende de la información almacenada en +un archivo <firstterm>controlador de impresora</firstterm>. Normalmente no debes +especificar el controlador en el documento y, en su lugar, confía en +la opción predeterminada de tu sistema. Una ventaja de esto es que +hace que el documento sea portátil entre sistemas. +</para> +<para>Para completar, aquí hay una lista de los controladores. Los +actualmente relevantes son: <filename>dvipdfmx</filename>, <filename>dvips</filename>, +<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>. Los dos +<filename>xdvi</filename> y <filename>oztex</filename> esencialmente son alias para <filename>dvips</filename> +(y <filename>xdvi</filename> es monocromo). Los que no se deben usar para sistemas +nuevos son: <filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>, +<filename>dvipsone</filename>, <filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>, +<filename>pctexhp</filename>, <filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>, +<filename>vtex</filename> (y <filename>dviwindo</filename> es un alias para <filename>dvipsone</filename>). +Estos se almacenan en archivos con una extensión <filename>.def</filename>, como +<filename>pdftex.def</filename>. +</para> +<para>El segundo tipo de opciones se encuentra a continuación. +</para> +<variablelist><varlistentry><term><literal>demo</literal> +</term><listitem><para>En lugar de un archivo de imagen, &latex; coloca un rectángulo de +150 pt por 100 pt (a menos que se especifique otro tamaño en +el comando <literal>\includegraphics</literal>). +</para> +</listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>Para cada archivo gráfico, no se muestra, sino que su nombre de +archivo es impreso en una caja del tamaño correcto. Para determinar +el tamaño, el archivo debe estar presente. +</para> +</listitem></varlistentry><varlistentry><term><literal>final</literal> +</term><listitem><para>(Predeterminado) Redefinir cualquier opción <literal>draft</literal> anterior, de +modo que el documento muestra el contenido de los archivos gráficos. +</para> +</listitem></varlistentry><varlistentry><term><literal>hiderotate</literal> +</term><listitem><para>No muestra texto girado. (Esto permite la posibilidad de que una +vista previa no tiene la capacidad de rotar el texto). +<!-- ¿qué muestra? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hidescale</literal> +</term><listitem><para>No mostrar texto escalado. (Esto permite la posibilidad de que una +vista previa no tiene la capacidad de escalar). +<!-- ¿qué muestra? --> +</para> +</listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>En un archivo PS o EPS, el tamaño del gráfico se puede especificar de +dos formas. Las líneas de <literal>%%BoundingBox</literal> describen el tamaño +del gráfico usando un número entero múltiplo de un punto PostScript, +es decir, múltiplos enteros de 1/72 pulgada. Una adición posterior al +lenguaje PostScript permite múltiplos decimales, como 1.23, en líneas +<literal>%%HiResBoundingBox</literal>. Esta opción tiene &latex; para leer el +tamaño de esta última. +</para> +</listitem></varlistentry></variablelist> </sect1> -<sect1 label="21.8" id="_005csbox"> -<title><literal>\sbox{<replaceable>\instrucción-caja</replaceable>}{<replaceable>texto</replaceable>}</literal></title> -<indexterm role="fn"><primary>\sbox</primary></indexterm> +<sect1 label="22.2" id="Configuraci_00f3n-del-paquete-de-graphics"> +<title>Configuración del paquete <literal>graphics</literal></title> + +<indexterm role="cp"><primary>gráficos</primary></indexterm> +<indexterm role="cp"><primary>paquete graphics</primary></indexterm> +<indexterm role="cp"><primary>configuración, paquete graphics</primary></indexterm> + +<para>Estos comandos configuran la forma en que &latex; busca en el sistema +de archivos gráficos. +</para> +<para>El comportamiento del código de búsqueda del sistema de archivos +necesariamente es dependiente de la plataforma. En este documento +cubrimos GNU/Linux, Macintosh y Windows, así como esos sistemas suelen +estar configurados. Para otras situaciones consulta la documentación +en <filename>grfguide.pdf</filename>, o la fuente de &latex;, o su documentación de +la distribución de &tex;. +</para> + + +<sect2 label="22.2.1" id="_005cgraphicspath"> +<title><literal>\graphicspath</literal></title> + +<indexterm role="fn"><primary>\graphicspath</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\graphicspath{<replaceable>lista de directorios entre llaves</replaceable>} +</screen> +<para>Declara una lista de directorios para buscar archivos gráficos. Esto +permite que luego digas algo como <literal>\includegraphics{lion.png}</literal> +en lugar de tener que dar su ruta. +</para> +<para>&latex; siempre busca archivos gráficos primero en el directorio +actual (y el directorio de salida, si se especifica; véase <link linkend="directorio-de-salida">directorio +de salida</link>). La siguiente declaración le dice al sistema que busque +en el subdirectorio <filename>pix</filename>, y luego <filename>../pix</filename>. +</para> +<screen>\usepackage{graphicx} % o gráficos; poner en el preámbulo + ... +\graphicspath{ {pix/} {../pix/} } +</screen> +<para>La declaración <literal>\graphicspath</literal> es opcional. Si no lo incluyes +entonces el valor predeterminado de &latex; es buscar en todos los +lugares en los que generalmente busca un archivo (usa el +<literal>\input@path</literal> de &latex;). En particular, en este caso uno de +los lugares donde mira es el directorio actual. +</para> +<para>Encierra cada nombre de directorio entre llaves; por ejemplo arriba +dice ‘<literal><literal>{pix}</literal></literal>’. Haz esto incluso si solo hay un +directorio. Cada nombre de directorio debe terminar en una barra +diagonal, <filename>/</filename>. Esto es cierto incluso en Windows, donde una +buena práctica es usar barras diagonales para todos los separadores de +directorio ya que hace que el documento sea portátil a otras +plataformas. Si tienes espacios en el nombre de tu directorio, usa +dobles comillas, como con <literal>{"my docs/"}</literal>. Usar una de estas +reglas incorrectamente hará que &latex; informe <literal>Error: Archivo +`<replaceable>filename</replaceable>' no encontrado</literal>. +</para> +<para>Básicamente, el algoritmo es que con este ejemplo, después de mirar en +el directorio actual, +</para> +<screen>\graphicspath{ {pix/} {../pix/} } +... +\usepackage{lion.png} +</screen> +<para>para cada uno de los directorios enumerados, &latex; lo concatena con +el nombre de archivo y busca el resultado, encontrando +<filename>pix/lion.png</filename> y luego <filename>../pix/lion.png</filename>. Este algoritmo +significa que el comando <literal>\graphicspath</literal> no busca subdirectorios +recursivamente: si emites <literal>\graphicspath{{a/}}</literal> y el gráfico +está en <filename>a/b/lion.png</filename> entonces &latex; no lo encontrará. +También significa que puedes usar rutas absolutas como +<literal>\graphicspath{{/home/jim/logos/}}</literal> o +<literal>\graphicspath{{C:/Users/Albert/Pictures/}}</literal>. Sin embargo, +usar esto significa que el documento no es portátil. (Puedes +conservar portabilidad ajustando el parámetro <literal>TEXINPUTS</literal> de tu +archivo de configuración del sistema &tex;; consulta la documentación +de tu sistema). +</para> +<para>Puedes usar <literal>\graphicspath</literal> en cualquier parte del documento. Lo +puedes usar más de una vez. Muestra su valor con +<literal>\makeatletter\typeout{\Ginput@path}\makeatother</literal>. +</para> +<para>Los directorios se toman con respecto al archivo base. Eso es, supón +que estás trabajando en un documento basado en <filename>book/book.tex</filename> y +contiene <literal>\include{chapters/chap1}</literal>. Si en <filename>chap1.tex</filename> +pones <literal>\graphicspath{{plots/}}</literal> entonces &latex; no buscará +gráficos en <filename>book/chapters/plots</filename>, sino en cambio en +<filename>book/plots</filename>. +</para> + +</sect2> +<sect2 label="22.2.2" id="_005cDeclareGraphicsExtensions"> +<title><literal>\DeclareGraphicsExtensions</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsExtensions</primary></indexterm> <para>Sinopsis: </para> -<screen>\sbox{<replaceable>\instrucción-caja</replaceable>}{<replaceable>texto</replaceable>} +<screen>\DeclareGraphicsExtensions{<replaceable>lista de extensiones de archivo +separadas por comas</replaceable>} +</screen> +<para>Declara las extensiones de nombre de archivo para probar. Esto te +permite especificar el orden en el que elegir los formatos gráficos +cuando incluyes archivos gráficos dando el nombre del archivo sin la +extensión, como en <literal>\includegraphics{functionplot}</literal>. +</para> +<para>En este ejemplo, &latex; encontrará archivos en formato PNG antes que +archivos PDF. +</para> +<screen>\DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} + ... +\includegraphics{lion} % encontrará <filename>lion.png</filename> antes que +<filename>lion.pdf</filename> +</screen> +<para>Debido a que el nombre de archivo <filename>lion</filename> no tiene punto, &latex; +usa la lista de extensiones. Para cada directorio en la ruta de +gráficos (véase <link linkend="_005cgraphicspath">\graphicspath</link>), &latex; probará las extensiones en +el orden dado. Si no encuentra dicho archivo después de probar todos +los directorios y extensiones, entonces informa ‘<literal>! Error de +LaTeX: Archivo `<filename>lion</filename>' no encontrado</literal>’. Ten en cuenta que debes +incluir los puntos al comienzo de las extensiones. +</para> +<para>Dado que los nombres de archivo de GNU/Linux y Macintosh distinguen +entre mayúsculas y minúsculas, la lista de extensiones de archivo +distinguen entre mayúsculas y minúsculas en esas plataformas. La +plataforma Windows no distingue entre mayúsculas y minúsculas. +</para> +<para>No es necesario que incluya <literal>\DeclareGraphicsExtensions</literal> en tu +documento; el controlador de la impresora tiene un valor +predeterminado razonable. Por ejemplo, el <filename>pdftex.def</filename> más +reciente tiene esta lista de extensiones. +</para> +<screen>.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2 </screen> -<para><literal>\sbox</literal> escribe el <replaceable>texto</replaceable> en una caja tal como <literal>\mbox</literal> -(véase <link linkend="_005cmbox">\mbox</link>) excepto que en lugar de incluir la caja resultante en la -salida normal, esta la guarda en la caja etiquetada -<replaceable>\instrucción-caja</replaceable>. <replaceable>\instrucción-caja</replaceable> se debió declarar -previamente con <literal>\newsavebox</literal> (véase <link linkend="_005cnewsavebox">\newsavebox</link>). +<indexterm role="cp"><primary>package, <literal>grfext</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>grfext</literal> package</primary></indexterm> + +<para>Para cambiar el orden, usa el paquete <literal>grfext</literal>. +</para> +<para>Puedes usar este comando en cualquier parte del documento. Lo puedes +usar más de una vez. Muestra su valor con +<literal>\makeatletter\typeout{\Gin@extensions}\makeatother</literal>. </para> +</sect2> +<sect2 label="22.2.3" id="_005cDeclareGraphicsRule"> +<title><literal>\DeclareGraphicsRule</literal></title> + +<indexterm role="fn"><primary>\DeclareGraphicsRule</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\DeclareGraphicsRule{<replaceable>extension</replaceable>}{<replaceable>type</replaceable>}{<replaceable>size-file +extension</replaceable>}{<replaceable>command</replaceable>} +</screen> +<para>Declara cómo manejar archivos gráficos cuyos nombres terminan en +<replaceable>extensión</replaceable>. +</para> +<para>Este ejemplo declara que todos los archivos con nombres de la forma +<filename>nombre-de-archivo-sin-punto.mps</filename> se tratará como salida de +MetaPost, lo cual significa que el controlador de la impresora usará +su código de manejo de MetaPost para ingresar el archivo. +</para> +<screen>\DeclareGraphicsRule{.mps}{mps}{.mps}{} +</screen> +<para>Este +</para> +<screen>\DeclareGraphicsRule{*}{mps}{*}{} +</screen> +<para>le dice a &latex; que debe manejar como salida MetaPost cualquier +archivo con una extensión no cubierta por otra regla, por lo que cubre +<filename>filename.1</filename>, <filename>nombre-de-archivo.2</filename>, etc. +</para> +<para>Esto describe los cuatro argumentos. +</para> +<variablelist><varlistentry><term><replaceable>extension</replaceable> +</term><listitem><para>La extensión de archivo a la que se aplica esta regla. La extensión es +cualquier cosa después e incluyendo el primer punto en el nombre del +archivo. Usa la estrella Kleene, forma-<literal>*</literal>, para indicar el +comportamiento predeterminado de todas las extensiones no declaradas. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>type</replaceable> +</term><listitem><para>El tipo de archivo involucrado. Este tipo es una cadena que se debe +definir en el controlador de la impresora. Por ejemplo, archivos con +extensiones <filename>.ps</filename>, <filename>.eps</filename> o <filename>.ps.gz</filename> se pueden +clasificar como tipo <literal>eps</literal>. Todos los archivos del mismo tipo se +ingresarán con el mismo comando interno por el controlador de la +impresora. Por ejemplo, los tipos de archivo que <filename>pdftex</filename> +reconoce son: <literal>jpg</literal>, <literal>jbig2</literal>, <literal>mps</literal>, <literal>pdf</literal>, +<literal>png</literal>, <literal>tif</literal>. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>tamaño de extensión de archivo</replaceable> +</term><listitem><para>La extensión del archivo a leer para determinar el tamaño del gráfico, +si existe tal archivo. Puede ser lo mismo que <replaceable>extension</replaceable> pero +puede ser diferente. +</para> +<para>Como ejemplo, considera un gráfico PostScript. Para hacerlo más +pequeño, puede estar comprimido en un archivo <filename>.ps.gz</filename>. Los +archivos comprimidos no son fáciles de leer por &latex; para que +pueda poner la información del cuadro delimitador en un archivo +separado. Si <replaceable>size-file extension</replaceable> está vacío, entonces debes +especificar la información de tamaño en los argumentos de +<literal>\includegraphics</literal>. +</para> +<para>Si el archivo del controlador tiene un procedimiento para leer +archivos de tamaño para <literal>tipo</literal> entonces se usará, de lo contrario +usará el procedimiento para leer archivos <filename>.eps</filename>. (Por lo tanto, +puedes especificar el tamaño de archivos de mapa de bits en un archivo +con una línea de estilo PostScript <literal>%%BoundingBox</literal> si no otro +formato está disponible). +</para> +</listitem></varlistentry><varlistentry><term><replaceable>command</replaceable> +</term><listitem><para>Un comando que se aplicará al archivo. Este a menudo se deja +vacío. Este comando debe comenzar con una sola comilla inversa. De +este modo, +<literal>\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c +#1}</literal> especifica que cualquier archivo con la extensión <filename>.eps.gz</filename> +se debe tratar como un archivo <literal>eps</literal>, con la información de +BoundingBox almacenado en el archivo con extensión <filename>.eps.bb</filename>, y +que el comando <literal>gunzip -c</literal> se ejecutará en tu plataforma para +descomprimir el archivo. +</para> +<para>Tal comando es específico para tu plataforma. Además, tu sistema +&tex; te debe permitir ejecutar comandos externos; como medida de +seguridad los sistemas modernos restringen la ejecución de comandos a +menos que lo permitas explícitamente. Consulta la documentación de tu +distribución &tex;. +</para> +</listitem></varlistentry></variablelist> +</sect2> </sect1> -<sect1 label="21.9" id="_005cusebox"> -<title><literal>\usebox{<replaceable>\instrucción-caja</replaceable>}</literal></title> -<indexterm role="fn"><primary>\usebox</primary></indexterm> +<sect1 label="22.3" id="Comandos-para-graphics"> +<title>Comandos para graphics</title> + +<indexterm role="cp"><primary>comandos del paquete graphics</primary></indexterm> +<indexterm role="cp"><primary>comandos, paquete graphics</primary></indexterm> + +<para>Estos son los comandos disponibles con los paquetes <literal>graphics</literal> +y <literal>graphicx</literal>. +</para> + + +<sect2 label="22.3.1" id="_005cincludegraphics"> +<title><literal>\includegraphics</literal></title> + +<indexterm role="cp"><primary>gráficos</primary></indexterm> +<indexterm role="cp"><primary>paquete graphics</primary></indexterm> +<indexterm role="cp"><primary>incluir gráficos</primary></indexterm> +<indexterm role="cp"><primary>importar gráficos</primary></indexterm> +<indexterm role="cp"><primary>archivos EPS</primary></indexterm> +<indexterm role="cp"><primary>archivos JPEG</primary></indexterm> +<indexterm role="cp"><primary>archivos JPG</primary></indexterm> +<indexterm role="cp"><primary>archivos gráficos PDF</primary></indexterm> +<indexterm role="cp"><primary>archivos PNG</primary></indexterm> +<indexterm role="fn"><primary>\includegraphics</primary></indexterm> + +<para>Sinopsis del paquete <literal>graphics</literal>: +</para> +<screen>\includegraphics{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>][<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]{<replaceable>filename</replaceable>} +</screen> +<para>Sinopsis del paquete <literal>graphicx</literal>: +</para> +<screen>\includegraphics{<replaceable>filename</replaceable>} +\includegraphics[<replaceable>key-value list</replaceable>]{<replaceable>filename</replaceable>} +\includegraphics*{<replaceable>filename</replaceable>} +\includegraphics*[<replaceable>key-value list</replaceable>]{<replaceable>filename</replaceable>} +</screen> +<para>Incluye un archivo de gráficos. La forma destacada +<literal>\includegraphics*</literal> recortar el gráfico al tamaño especificado, +mientras que para la forma sin estrella cualquier parte del gráfico +que está fuera del cuadro del tamaño especificado se sobreimprimir el +área circundante. +</para> +<para>Este +</para> +<screen>\usepackage{graphicx} % en el preámbulo + ... +\begin{center} + \includegraphics{plot.pdf} +\end{center} +</screen> +<para>incorporará al documento el gráfico en <filename>plot.pdf</filename>, centrado y en +su tamaño nominal. También puedes dar una ruta al archivo, como con +<literal>\includegraphics{graphics/plot.pdf}</literal>. Para especificar una +lista de ubicaciones para buscar el archivo, véase <link linkend="_005cgraphicspath">\graphicspath</link>. +</para> +<para>Si tu nombre de archivo incluye espacios, ponlo entre comillas +dobles. Un ejemplo es <literal>\includegraphics{"sister picture.jpg"}</literal>. +</para> +<para>El comando <literal>\includegraphics{<replaceable>filename</replaceable>}</literal> decide sobre el +tipo de gráfico dividiendo <replaceable>filename</replaceable> en el primer punto. Puedes +en su lugar, usar <replaceable>filename</replaceable> sin punto, como en +<literal>\includegraphics{turing}</literal>, y luego &latex; intenta una +secuencia de extensiones como <literal>.png</literal> y <literal>.pdf</literal> hasta que +encuentre un archivo con esa extensión +(véase <link linkend="_005cDeclareGraphicsExtensions">\DeclareGraphicsExtensions</link>). +</para> +<para>Si tu nombre de archivo contiene puntos antes de la extensión, puedes +ocultar con llaves, como en +<literal>\includegraphics{{plot.2018.03.12.a}.pdf}</literal>. O, si usas el +paquete <literal>graphicx</literal> entonces puedes usar las opciones +<literal>type</literal> y <literal>ext</literal>; ve abajo. Este y otros problemas de nombre +de archivo también se manejan con el paquete <filename>grffile</filename>. +</para> +<para>Este ejemplo coloca un gráfico en un entorno <literal>figure</literal> para que +&latex; lo pueda mover a la página siguiente si al encajarlo en la +página actual es incómodo (véase <link linkend="figure">figure</link>). +</para> +<screen>\begin{figure} + \centering + \includegraphics[width=3cm]{lungxray.jpg} + \caption{La evidencia es abrumadora: no fumes.} \label{fig:xray} +\end{figure} +</screen> +<para>Esto coloca un gráfico que no flotará, por lo que es seguro que +aparecerá en este punto en el documento incluso si haces que &latex; +estire el texto o recurra a las áreas en blanco de la página. Estará +centrado y tendrá un subtítulo. +</para> +<screen>\usepackage{caption} % en el preámbulo + ... +\begin{center} + \includegraphics{pix/nix.png} + \captionof{figure}{El espíritu de la noche} \label{pix:nix} % opcional +\end{center} +</screen> +<para>Este ejemplo pone una caja con un gráfico al lado de otra que tiene +texto, con los dos centrados verticalmente. +</para> +<screen>\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} + ... +\begin{center} + \vcenteredhbox{\includegraphics[width=0.4\textwidth]{plot}} + \hspace{1em} + \vcenteredhbox{\begin{minipage}{0.4\textwidth} + \begin{displaymath} + f(x)=x\cdot \sin (1/x) + \end{displaymath} + \end{minipage}} +\end{center} +</screen> +<para>Si usas el paquete <literal>graphics</literal> entonces las únicas opciones +involucran el tamaño del gráfico (pero <link linkend="_005crotatebox">\rotatebox</link> y +<link linkend="_005cscalebox">\scalebox</link>). Cuando un argumento opcional está presente, +entonces es <literal>[<replaceable>urx</replaceable>,<replaceable>ury</replaceable>]</literal> y da las coordenadas de la +parte superior esquina derecha de la imagen, como un par de +dimensiones &tex; (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>). Si se omiten las +unidades, de manera predeterminada son <literal>bp</literal>. En este caso, se +supone que la esquina inferior izquierda de la imagen está en (0,0). +Si hay dos argumentos opcionales, entonces el principal es +<literal>[<replaceable>llx</replaceable>,<replaceable>lly</replaceable>]</literal>, especificando las coordenadas de la +imagen abajo a la izquierda. Por lo tanto, +<literal>\includegraphics[1in,0.618in]{...}</literal> pide el gráfico se +colocará de manera que tenga 1 pulgadas de ancho y +0.618 pulgadas alto y por lo que su origen está en (0,0). +</para> +<para>El paquete <literal>graphicx</literal> te brinda muchas más opciones. +Especifícalos en una forma clave-valor, como aquí. +</para> +<screen>\begin{center} + \includegraphics[width=1in,angle=90]{lion} + \hspace{2em} + \includegraphics[angle=90,width=1in]{lion} +\end{center} +</screen> +<para>Las opciones se leen de izquierda a derecha. Así que el primer gráfico +de arriba está hecho de una pulgada de ancho y luego se gira, mientras +que el segundo se gira y luego se hace de una pulgada de ancho. Por +lo tanto, a menos que el gráfico sea perfectamente cuadrado, los dos +terminarán con diferentes anchos y alturas. +</para> +<para>Hay muchas opciones. Las principales se enumeran primero. +</para> +<indexterm role="cp"><primary>delimitador del cuadro</primary></indexterm> +<indexterm role="cp"><primary>cuadro, delimitar</primary></indexterm> +<para>Ten en cuenta que &latex; coloca un gráfico en un cuadro, que es +conocido tradicionalmente como su <firstterm>delimitador de cuadro</firstterm> +(distinto del PostScript BoundingBox descrito a continuación). El +área impresa del gráfico puede ir más allá de este cuadro, o sentarse +dentro de este cuadro, pero cuando &latex; crea una página junta +casillas y esta es la casilla asignada para el gráfico. +</para> +<variablelist><anchor id="incluye-ancho-de-gr_00e1ficos"/><varlistentry><term><literal>width</literal> +</term><listitem><para>El gráfico se mostrará de modo que su cuadro delimitador tenga este +ancho. Un ejemplo es <literal>\includegraphics[width=1in]{plot}</literal>. +Puedes usar las dimensiones &tex; estándar (véase <link linkend="Unidades-de-longitud">Unidades de +longitud</link>) y también es conveniente <literal>\linewidth</literal>, o en un +documento de dos columnas, <literal>\columnwidth</literal> (véase <link linkend="Par_00e1metros-de-composici_00f3n-de-p_00e1gina">Parámetros de +composición de página</link>). Un ejemplo es que al usar <filename>calc</filename> puedes +hacer que el gráfico sea 1 cm más estrecho que el ancho del texto +con <literal>\includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>height</literal> +</term><listitem><anchor id="includegraphics-height"/><para>El gráfico se mostrará de modo que su +delimitador de cuadro tenga esta altura. Puedes usar las dimensiones +&tex; estándar (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>), y también +<literal>\pageheight</literal> y <literal>\textheight</literal> son convenientes +(véase <link linkend="Par_00e1metros-de-composici_00f3n-de-p_00e1gina">Parámetros de composición de página</link>). Por ejemplo, el +comando <literal>\includegraphics[height=0.25\textheight]{godel}</literal> hará +el gráfico un cuarto de la altura del área de texto. +</para> +</listitem></varlistentry><varlistentry><term><literal>totalheight</literal> +</term><listitem><anchor id="incluye-la-altura-total-de-los-gr_00e1ficos"/><para>El gráfico se +mostrará de modo que su delimitador de cuadro tenga esta altura más +profundidad. Esto difiere de la altura si se gira el gráfico. Por +ejemplo, si se ha girado -90, entonces tendrá una altura cero pero una +gran profundidad. +</para> +</listitem></varlistentry><varlistentry><term><literal>keepaspectratio</literal> +</term><listitem><anchor id="includegraphics-keepaspectratio"/><para>Si se establece en +<literal>true</literal>, o simplemente se especifica como aquí +</para> +<screen><literal>\includegraphics[...,keepaspectratio,...]{...}</literal> +</screen> +<para>y das como opciones tanto <literal>width</literal> como <literal>height</literal> (o +<literal>totalheight</literal>), entonces &latex; hará que el gráfico sea tan +grande como sea posible sin distorsión. Es decir, &latex; se +asegurará de que el gráfico no sea más ancho que <literal>width</literal> ni más +alto que <literal>height</literal> (o <literal>totalheight</literal>). +</para> +</listitem></varlistentry><varlistentry><term><literal>scale</literal> +</term><listitem><para>Factor por el cual escalar el gráfico. Para hacer un gráfico el doble +de su tamaño nominal, ingresa +<literal>\includegraphics[scale=2.0]{...}</literal>. Este número puede ser +cualquier valor; un número entre 0 y 1 reducirá el gráfico y un +número negativo lo reflejará. +</para> +</listitem></varlistentry><varlistentry><term><literal>angle</literal> +</term><listitem><para>Rota el gráfico. El ángulo se toma en grados y en sentido +antihorario. El gráfico se gira sobre su <literal>origen</literal>; ve esa +opción. Para una descripción completa de cómo se compone el material +rotado, véase <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry><varlistentry><term><literal>origin</literal> +</term><listitem><para>El punto del gráfico sobre el que ocurre la rotación. Los posible +valores son cualquier cadena que contenga una o dos: <literal>l</literal> para +izquierda, <literal>r</literal> para derecha, <literal>b</literal> para la parte inferior, +<literal>c</literal> para el centro, <literal>t</literal> para la parte superior y <literal>B</literal> +para la línea base. Por lo tanto, al ingresar el comando +<literal>\includegraphics[angle=180,origin=c]{moon}</literal> convertirá la +imagen al revés sobre el centro de esa imagen, mientras que el comando +<literal>\includegraphics[angle=180,origin=lB]{LeBateau}</literal> convertirá su +imagen al revés sobre su línea base izquierda. (El carácter <literal>c</literal> +da el centro horizontal en <literal>bc</literal> o <literal>tc</literal>, pero da el centro +vertical en <literal>lc</literal> o <literal>rc</literal>). El valor predeterminado es +<literal>lB</literal>. +</para> +<para>Para rotar sobre un punto arbitrario, véase <link linkend="_005crotatebox">\rotatebox</link>. +</para> +</listitem></varlistentry></variablelist> +<para>Estas son opciones menos utilizadas. +</para> +<variablelist><anchor id="incluir-ventana-gr_00e1fica"/><varlistentry><term><literal>viewport</literal> +</term><listitem><para>Selecciona una subregión del gráfico para mostrar. Toma cuatro +argumentos, separados por espacios y dados en dimensiones &tex;, como +con <literal>\includegraphics[.., viewport=0in 0in 1in 0.618in]{...}</literal>. +Cuando la unidad se omite, las dimensiones predeterminadas son grandes +puntos <literal>bp</literal>. Se toman en relación con el origen +especificado por el delimitador del cuadro. Ve también la opción +<literal>trim</literal>. +</para> +<anchor id="includegraphics-trim"/></listitem></varlistentry><varlistentry><term><literal>trim</literal> +</term><listitem><para>Proporciona partes del gráfico para que no se muestren. Toma cuatro +argumentos, separados por espacios, que se dan en dimensiones &tex;, +como con <literal>\includegraphics[.., trim= 0in 0.1in 0.2in 0.3in, +...]{...}</literal>. Estos dan las cantidades del gráfico para no mostrar, +es decir, &latex; recortará la imagen 0 pulgadas a la izquierda, +0.1 pulgadas a la parte inferior, 0.2 pulgadas a la derecha +y 0.3 pulgadas en la parte superior. Consulta también la opción +<literal>viewport</literal>. +</para> +<anchor id="includegraphics-clip"/></listitem></varlistentry><varlistentry><term><literal>clip</literal> +</term><listitem><para>Si se establece en <literal>true</literal>, o solo se especifica como aquí +</para> +<screen>\includegraphics[...,clip,...]{...} +</screen> +<para>luego, el gráfico se recorta al delimitador del cuadro. Esto es lo +mismo que utilizar la forma estrellada del comando, +<literal>\includegraphics*[...]{...}</literal>. +</para> +<anchor id="includegraphics-page"/></listitem></varlistentry><varlistentry><term><literal>page</literal> +</term><listitem><para>Proporciona el número de página de un archivo PDF de varias páginas. +El valor predeterminado es <literal>page=1</literal>. +</para> +<anchor id="includegraphics-pagebox"/></listitem></varlistentry><varlistentry><term><literal>pagebox</literal> +</term><listitem><para>Especifica qué delimitador de cuadro usar para los archivos PDF de +entre <literal>mediabox</literal>, <literal>cropbox</literal>, <literal>bleedbox</literal>, +<literal>trimbox</literal>, o <literal>artbox</literal>. Los archivos PDF no tienen el +BoundingBox que los archivos PostScript tienen, pero pueden +especificar hasta cuatro rectángulos predefinidos. MediaBox da los +límites del medio físico. CropBox es la región a la que se recortará +el contenido de la página cuando se despliega. BleedBox es la región +a la que se dirige el contenido de la página se debe recortar en +producción. TrimBox tiene las dimensiones previstas de la página +terminada. El ArtBox es el grado de significado del contenido de la +página. El controlador establecerá el tamaño de la imagen en función +de CropBox si está presente, de lo contrario no utilizará uno de los +otros, con un orden de preferencia definido por el controlador. +MediaBox siempre está presente. +</para> +<anchor id="includegraphics-interpolate"/></listitem></varlistentry><varlistentry><term><literal>interpolate</literal> +</term><listitem><para>Habilita o deshabilita la interpolación de imágenes rasterizadas por +parte del espectador. Se puede configurar con <literal>interpolate=true</literal> +o simplemente especificarlo como aquí. +</para> +<screen>\includegraphics[...,interpolate,...]{...} +</screen> +<anchor id="includegraphics-quiet"/></listitem></varlistentry><varlistentry><term><literal>quiet</literal> +</term><listitem><para>No escribe información en el registro. Lo puedes configurar con +<literal>quiet=true</literal> o simplemente especificarlo con +<literal>\includegraphics[...,quiet,...]{...}</literal>, +</para> +<anchor id="includegraphics-draft"/></listitem></varlistentry><varlistentry><term><literal>draft</literal> +</term><listitem><para>Si lo configuras con <literal>draft=true</literal> o simplemente lo especificas +con +</para> +<screen>\includegraphics[...,draft,...]{...} +</screen> +<para>entonces el gráfico no aparecerá en el documento, posiblemente +guardando tinta de color de la impresora. En su lugar, &latex; +colocará un cuadro vacío del tamaño correcto con el nombre del archivo +impreso en él. +</para> +</listitem></varlistentry></variablelist> +<para>Estas opciones abordan el delimitador del cuadro para PostScript +encapsulando archivos gráficos, que tienen un tamaño especificado con +una línea <literal>%%BoundingBox</literal> que aparece en el archivo. Tiene +cuatro valores, dando la coordenada <inlineequation><mathphrase>x</mathphrase></inlineequation> inferior, la coordenada +<inlineequation><mathphrase>y</mathphrase></inlineequation> inferior, la coordenada <inlineequation><mathphrase>x</mathphrase></inlineequation> superior y la coordenada +<inlineequation><mathphrase>y</mathphrase></inlineequation> superior. Las unidades son puntos PostScript, equivalentes a +los puntos grandes de &tex;, 1/72 pulgada. Por ejemplo, si un +archivo <filename>.eps</filename> tiene la línea <literal>%%BoundingBox 10 20 40 80</literal> +entonces su tamaño natural es 30/72 pulgadas de ancho por +60/72 pulgadas de alto. +</para> +<variablelist><anchor id="includegraphics-bb"/><varlistentry><term><literal>bb</literal> +</term><listitem><para>Especifica el cuadro delimitador de la región mostrada. El argumento +es cuatro dimensiones separadas por espacios, como con +<literal>\includegraphics[.., bb= 0in 0in 1in 0.618in]{...}</literal>. Por lo +general, <literal>\includegraphics</literal> lee los números BoundingBox del +archivo EPS automáticamente, por lo que esta opción solo es útil si +falta el cuadro delimitador en ese archivo o si deseas cambiarlo. +</para> +<anchor id="includegraphics-bbllx"/><anchor id="includegraphics-bblly"/><anchor id="includegraphics-bburx"/><anchor id="includegraphics-bbury"/></listitem></varlistentry><varlistentry><term><literal>bbllx, bblly, bburx, bbury</literal> +</term><listitem><para>Establece el cuadro delimitador. Estos cuatro son obsoletos, pero se +conservan por compatibilidad con paquetes antiguos. +</para> +<anchor id="includegraphics-natwidth"/><anchor id="includegraphics-natheight"/></listitem></varlistentry><varlistentry><term><literal>natwidth, natheight</literal> +</term><listitem><para>Una alternativa para <literal>bb</literal>. Ajustar +</para> +<screen>\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...} +</screen> +<para>es lo mismo que configurar <literal>bb=0 0 1in 0.618in</literal>. +</para> +<anchor id="includegraphics-hiresbb"/></listitem></varlistentry><varlistentry><term><literal>hiresbb</literal> +</term><listitem><para>Si se establece en <literal>true</literal>, o simplemente se especifica como con +</para> +<screen>\includegraphics[...,hiresbb,...]{...} +</screen> +<para>entonces &latex; buscará las líneas <literal>%%HiResBoundingBox</literal> en +lugar de líneas <literal>%%BoundingBox</literal>. (Las líneas <literal>BoundingBox</literal> +solo usan números naturales mientras que las líneas +<literal>HiResBoundingBox</literal> usan decimales; ambos usan unidades +equivalentes a los puntos grandes de &tex;, 1/72 pulgadas). Para +redefinir una configuración anterior de <literal>true</literal>, la puedes +establecer en <literal>false</literal>. +</para> +</listitem></varlistentry></variablelist> +<para>Las siguientes opciones permiten a un usuario anular el método +&latex; de elegir el tipo de gráfico en función de la extensión del +nombre de archivo. Un ejemplo es ese +<literal>\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}</literal> leerá el +archivo <filename>lion.xxx</filename> como si fuera <filename>lion.png</filename>. Para obtener +más información sobre estos, véase <link linkend="_005cDeclareGraphicsRule">\DeclareGraphicsRule</link>. +</para> +<variablelist><anchor id="includegraphics-type"/><varlistentry><term><literal>type</literal> +</term><listitem><para>Especifica el tipo de gráficos. +</para> +<anchor id="includegraphics-ext"/></listitem></varlistentry><varlistentry><term><literal>ext</literal> +</term><listitem><para>Especifica la extensión de gráficos. Solo usa esto junto con la +opción <literal>type</literal>. +</para> +<anchor id="includegraphics-read"/></listitem></varlistentry><varlistentry><term><literal>read</literal> +</term><listitem><para>Especifica la extensión de archivo del archivo leído. Solo usa esto +junto con la opción <literal>type</literal>. +</para> +<anchor id="includegraphics-command"/></listitem></varlistentry><varlistentry><term><literal>command</literal> +</term><listitem><para>Especifica un comando que se aplicará a este archivo. Solo usa esto +en conjunción con la opción <literal>type</literal>. Véase <link linkend="Opciones-de-la-l_00ednea-de-comandos">Opciones de la línea +de comandos</link>, para una explicación sobre cómo habilitar la +funcionalidad <literal>\write18</literal> para ejecutar comandos externos. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.2" id="_005crotatebox"> +<title><literal>\rotatebox</literal></title> + +<indexterm role="cp"><primary>rotación</primary></indexterm> +<indexterm role="cp"><primary>gráficos giratorios</primary></indexterm> +<indexterm role="cp"><primary>texto giratorio</primary></indexterm> +<indexterm role="fn"><primary>\rotatebox</primary></indexterm> + +<para>Sinopsis si usas el paquete <literal>graphics</literal>: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Sinopsis si usas el paquete <literal>graphicx</literal>: +</para> +<screen>\rotatebox{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +\rotatebox[<replaceable>key-value list</replaceable>]{<replaceable>angle</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Pon <replaceable>material</replaceable> en un cuadro y lo gira <replaceable>angle</replaceable> grados en +sentido antihorario. +</para> +<para>Este ejemplo gira los encabezados de las columnas de la tabla cuarenta +y cinco grados. +</para> +<screen>\begin{tabular}{ll} + \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ + A &AL-FAH \\ + B &BRAH-VOH +\end{tabular} +</screen> +<para>El <replaceable>material</replaceable> puede ser cualquier cosa que vaya en una caja, +incluido un gráfico. +</para> +<screen> \rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}} +</screen> +<para>Para colocar el material rotado, el primer paso es que &latex; +establece <replaceable>material</replaceable> en un cuadro, con un punto de referencia en +la línea base izquierda. El segundo paso es la rotación, +predeterminada sobre el punto de referencia. El tercer paso es que +&latex; calcula un cuadro para delimitar el material rotado. Cuarto, +&latex; mueve este cuadro horizontalmente para que el borde izquierdo +de este nuevo delimitador del cuadro coincida con el borde izquierdo +del cuadro del primer paso (no es necesario que coincidan +verticalmente). Este nuevo cuadro delimitador, en su nueva posición, +es lo que &latex; usa como cuadro cuando se compone tipográficamente +este material. +</para> +<para>Si usas el paquete <literal>graphics</literal> entonces la rotación es sobre el +punto de referencia de la caja. Si usas el paquete <literal>graphicx</literal> +entonces estas son las opciones que pueden ir en la <replaceable>lista de +valores clave</replaceable>, pero ten en cuenta que puedes obtener el mismo efecto +sin necesidad de este paquete, excepto las opciones <literal>x</literal> e +<literal>y</literal> (véase <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<variablelist><varlistentry><term><literal>origin</literal> +</term><listitem><para>El punto de la caja de <replaceable>material</replaceable> sobre el cual ocurre la +rotación. El posible valor es cualquier cadena que contenga uno o dos +de: <literal>l</literal> para izquierda, <literal>r</literal> para derecha, <literal>b</literal> para la +parte inferior, <literal>c</literal> para el centro, <literal>t</literal> para la parte +superior y <literal>B</literal> para la línea base. Así, la primera línea aquí +</para> +<screen>\rotatebox[origin=c]{180}{moon} +\rotatebox[origin=lB]{180}{LeBateau} +</screen> +<para>dará la vuelta a la imagen desde el centro mientras que la segunda +voltea tu imagen al revés sobre su línea base izquierda. (El carácter +<literal>c</literal> da el centro horizontal en <literal>bc</literal> o <literal>tc</literal> pero da el +centro vertical en <literal>lc</literal> o <literal>rc</literal>, y da ambos en <literal>c</literal>). El +valor predeterminado es <literal>lB</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>x, y</literal> +</term><listitem><para>Especifica un punto arbitrario de rotación con +<literal>\rotatebox[x=<replaceable>&tex; dimensión</replaceable>,y=<replaceable>&tex; +dimensión</replaceable>]{...}</literal> (véase <link linkend="Unidades-de-longitud">Unidades de longitud</link>). Estos dan la +compensación desde el punto de referencia de la caja. +</para> +</listitem></varlistentry><varlistentry><term><literal>units</literal> +</term><listitem><para>Esta clave te permite cambiar el valor predeterminado de grados en el +sentido contrario a las agujas del reloj. Establecer +<literal>units=-360</literal> cambia la dirección a grados en el sentido de las +agujas del reloj y la configuración de <literal>units=6.283185</literal> cambia a +radianes en sentido contrario a las agujas del reloj. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="22.3.3" id="_005cscalebox"> +<title><literal>\scalebox</literal></title> + +<indexterm role="cp"><primary>gráficos, escalar</primary></indexterm> +<indexterm role="cp"><primary>gráficos, cambiar de tamaño</primary></indexterm> +<indexterm role="cp"><primary>escalando</primary></indexterm> +<indexterm role="cp"><primary>redimensionado</primary></indexterm> +<indexterm role="cp"><primary>texto, escalado</primary></indexterm> +<indexterm role="cp"><primary>texto, cambio de tamaño</primary></indexterm> +<indexterm role="fn"><primary>\scalebox</primary></indexterm> +<indexterm role="fn"><primary>\reflectbox</primary></indexterm> <para>Sinopsis: </para> -<screen>\usebox{<replaceable>\instrucción-caja</replaceable>} +<screen>\scalebox{<replaceable>factor horizontal</replaceable>}{<replaceable>material</replaceable>} +\scalebox{<replaceable>factor horizontal</replaceable>}[<replaceable>factor vertical</replaceable>]{<replaceable>material</replaceable>} +\reflectbox{<replaceable>material</replaceable>} +</screen> +<para>Escala el <replaceable>material</replaceable>. +</para> +<para>Este ejemplo reduce a la mitad el tamaño, tanto horizontal como +verticalmente, del primer texto y duplica el tamaño del segundo. +</para> +<screen>\scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me} </screen> -<para><literal>\usebox</literal> produce la caja guardada más recientemente en el depósito -<replaceable>\instrucción-caja</replaceable> por una instrucción <literal>\savebox</literal> -(véase <link linkend="_005csavebox">\savebox</link>). +<para>Si no especificas el <replaceable>factor vertical</replaceable> opcional, entonces el valor +predeterminado es el mismo que el <replaceable>factor horizontal</replaceable>. +</para> +<para>Puedes usar este comando para cambiar el tamaño de un gráfico, como +aquí. +</para> +<screen>\scalebox{0.5}{\includegraphics{lion}} +</screen> +<para>Si usas el paquete <literal>graphicx</literal>, puedes conseguir la misma cosa +con argumentos opcionales para <literal>\includegraphics</literal> +(véase <link linkend="_005cincludegraphics">\includegraphics</link>). +</para> +<para>El comando <literal>\reflectbox</literal> abrevia +<literal>\scalebox{-1}[1]{<replaceable>material</replaceable>}</literal>. Por lo tanto, <literal>Able +was I\reflectbox{Able was I}</literal> mostrará la frase ‘<literal>Able was I</literal>’ +seguida inmediatamente por su reflejo especular contra un eje +vertical. +</para> + +</sect2> +<sect2 label="22.3.4" id="_005cresizebox"> +<title><literal>\resizebox</literal></title> + +<indexterm role="cp"><primary>gráficos, escalar</primary></indexterm> +<indexterm role="cp"><primary>gráficos, cambiar de tamaño</primary></indexterm> +<indexterm role="cp"><primary>escalando</primary></indexterm> +<indexterm role="cp"><primary>redimensionado</primary></indexterm> +<indexterm role="cp"><primary>texto, escalado</primary></indexterm> +<indexterm role="cp"><primary>texto, cambio de tamaño</primary></indexterm> +<indexterm role="fn"><primary>\resizebox</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\resizebox{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +\resizebox*{<replaceable>horizontal length</replaceable>}{<replaceable>vertical length</replaceable>}{<replaceable>material</replaceable>} +</screen> +<para>Dado un tamaño, como <literal>3cm</literal>, transforma <replaceable>material</replaceable> para +hacerlo a ese tamaño. Si <replaceable>longitud horizontal</replaceable> o <replaceable>longitud +vertical</replaceable> es un signo de exclamación <literal>!</literal> entonces se usa el +otro argumento para determinar un factor de escala para ambas +direcciones. +</para> +<para>Este ejemplo hace que el gráfico tenga media pulgada de ancho y lo +escala verticalmente por el mismo factor para evitar que se +distorsione. +</para> +<screen>\resizebox{0.5in}{!}{\includegraphics{lion}} +</screen> +<para>La forma sin estrella <literal>\resizebox</literal> toma <replaceable>longitud vertical</replaceable> +como la altura del cuadro mientras que la forma estrellada +<literal>\resizebox*</literal> lo lleva a ser altura+profundidad. Por ejemplo, +haz que el texto tenga una altura+profundidad de un cuarto de pulgada +con <literal>\resizebox*{!}{0.25in}{\parbox{3.5in}{Este cuadro +tiene altura y profundidad.}}</literal>. +</para> +<para>Puedes usar <literal>\depth</literal>, <literal>\height</literal>, <literal>\totalheight</literal> y +<literal>\width</literal> para referirte al tamaño original de la caja. Es decir, +hace el texto de dos pulgadas de ancho pero manteniendo la altura +original con <literal>\resizebox{2in}{\height}{Dos pulgadas}</literal>. </para> +</sect2> </sect1> </chapter> -<chapter label="22" id="Inserciones-Especiales"> -<title>Inserciones Especiales</title> +<chapter label="23" id="Inserciones-especiales"> +<title>Inserciones especiales</title> + +<indexterm role="cp"><primary>Inserciones especiales</primary></indexterm> +<indexterm role="cp"><primary>Inserción de caracteres especiales</primary></indexterm> -<para>&latex; proporciona instrucciones para insertar caracteres que tienen -un significado especial que no corresponde a caracteres simples que -usted puede escribir. +<para>&latex; proporciona comandos para insertar caracteres que tienen un +significado especial no corresponde a los caracteres simples que +puedes escribir. </para> -<sect1 label="22.1" id="Caracteres-Reservados"> -<title>Caracteres Reservados</title> +<sect1 label="23.1" id="Caracteres-reservados"> +<title>Caracteres reservados</title> + <indexterm role="cp"><primary>caracteres reservados</primary></indexterm> <indexterm role="cp"><primary>caracteres, reservados</primary></indexterm> - -<para>Los siguientes caracteres desempeñan un papel especial en &latex; y se -llaman “caracteres reservados” o “caracteres especiales”. +<indexterm role="cp"><primary>caracteres especiales</primary></indexterm> +<indexterm role="cp"><primary>caracteres, especiales</primary></indexterm> +<para>&latex; reserva los siguientes caracteres para propósitos +especiales. Por ejemplo, el signo de porcentaje <literal>%</literal> es para +comentarios. Se llaman <firstterm>caracteres reservados</firstterm> o <firstterm>caracteres +especiales</firstterm>. Todo está explicado en otra parte de este manual. </para> -<screen># $ % & ~ _ ^ \ { } +<screen># $ % & { } _ ~ ^ \ </screen> <indexterm role="fn"><primary>\#</primary></indexterm> <indexterm role="fn"><primary>\$</primary></indexterm> @@ -5433,549 +16988,765 @@ llaman “caracteres reservados” o “caracteres especiales” <indexterm role="fn"><primary>\_</primary></indexterm> <indexterm role="fn"><primary>\{</primary></indexterm> <indexterm role="fn"><primary>\}</primary></indexterm> -<para>Siempre que escriba en su archivo uno de estos caracteres, &latex; debe -hacer algo especial. Si simplemente desea imprimir el carácter en sí -mismo, incluya un carácter <literal>\</literal> anteponiéndolo a este. Por ejemplo, -<literal>\$</literal> debe producir <literal>$</literal> en su salida. -</para> -<indexterm role="fn"><primary>\backslash</primary></indexterm> -<para>Una excepción a esta regla es la <literal>\</literal> misma, debido a que <literal>\</literal> -tiene su propio significado especial (dependiente del contexto). Una \ -romana es producida al escribir <literal>$\backslash$</literal> en su archivo, y una -<literal>\</literal> de máquina de escribir es producida usando ‘<literal>\</literal>’ en una -instrucción verbatim (véase <link linkend="verbatim">verbatim</link>). +<para>Si deseas que un carácter reservado se imprima por sí mismo, en el +texto fuente del cuerpo, para todos menos los últimos tres caracteres +en esa lista simplemente coloca una barra invertida <literal>\</literal> +delante del carácter. De este modo, escribir <literal>\$1.23</literal> +producirá <literal>$1.23</literal> en tu salida. </para> <indexterm role="fn"><primary>\~</primary></indexterm> <indexterm role="fn"><primary>\^</primary></indexterm> -<para>Además, <literal>\~</literal> y <literal>\^</literal> colocan acentos tilde y circunflejo sobre -la siguiente letra, como en õ y ô (véase <link linkend="Acentos">Acentos</link>); Para -obtener una <literal>~</literal> o <literal>^</literal> independiente, usted puede utilizar una -instrucción verbatim. +<indexterm role="fn"><primary>\textbackslash</primary></indexterm> +<para>En cuanto a los últimos tres caracteres, para obtener una tilde en la +letra del cuerpo del texto usa <literal>\~{}</literal> (omitir las llaves daría +como resultado que el siguiente carácter recibe un acento de tilde). +Del mismo modo, para colocar un acento circunflejo en el texto del +cuerpo fuente usa <literal>\^{}</literal>. Para colocar una barra invertida en +el texto del cuerpo fuente, ingresa <literal>\textbackslash{}</literal>. +</para> +<para>Para producir los caracteres reservados en una fuente de máquina de +escribir, utiliza <literal>\verb!!</literal> como se muestra a continuación (la +doble barra inversa <literal>\\</literal> en el ejemplo solo está ahí para +dividir las líneas en la salida). </para> +<screen>\begin{center} + \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\ + \verb!# $ % & { } _ ~ ^ \! +\end{center} +</screen> + +</sect1> +<sect1 label="23.2" id="May_00fasculas-y-min_00fasculas"> +<title>Mayúsculas y minúsculas</title> + +<indexterm role="cp"><primary>mayúsculas</primary></indexterm> +<indexterm role="cp"><primary>lowercase</primary></indexterm> +<indexterm role="cp"><primary>caracteres, caso de</primary></indexterm> +<indexterm role="cp"><primary>cambiar caracteres de mayúsculas y minúsculas</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\uppercase{<replaceable>text</replaceable>} +\lowercase{<replaceable>text</replaceable>} +\MakeUppercase{<replaceable>text</replaceable>} +\MakeLowercase{<replaceable>text</replaceable>} +</screen> +<para>Cambia el caso de los caracteres. Los comandos primitivos &tex; +<literal>\uppercase</literal> y <literal>\lowercase</literal> están configurados de forma +predeterminada para funcionar solo con las 26 letras a–z y A–Z. Los +comandos &latex; <literal>\MakeUppercase</literal> y <literal>\MakeLowercase</literal> +también cambian caracteres a los que se accede mediante comandos como +<literal>\ae</literal> o <literal>\aa</literal>. Los comandos <literal>\MakeUppercase</literal> y +<literal>\MakeLowercase</literal> son robustos pero tienen argumentos en +movimiento (véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Estos comandos no cambian el uso de mayúsculas y minúsculas en el +nombre de un comando dentro de <replaceable>text</replaceable>. Pero cambian el caso de +todas las demás letras dentro del argumento <replaceable>text</replaceable>. De este modo, +<literal>\MakeUppercase{Let $y=f(x)$</literal>} produce ‘<literal>LET Y=F(X)</literal>’. Otro +ejemplo es que se cambiará el nombre de un entorno, de modo que +<literal>\MakeUppercase{\begin{tabular} ... \end{tabular}}</literal> produce +un error porque la primera mitad se cambia a <literal>\begin{TABULAR}</literal>. +</para> +<para>&latex; usa la misma tabla fija para cambiar mayúsculas y minúsculas +a lo largo de un documento. La tabla utilizada está diseñada para la +codificación de fuente T1; esto funciona bien con las fuentes &tex; +estándar para todos los alfabetos latinos, pero causará problemas al +usar otros alfabetos. +</para> +<para>Para cambiar el caso del texto que resulta de una macro dentro de +<replaceable>text</replaceable> tienes que hacer la expansión. Aquí el <literal>\Schoolname</literal> +produce ‘<literal>FACULTAD DE MATEMÁTICAS</literal>’. +</para> +<screen>\newcommand{\schoolname}{Facultad de matemáticas} +\newcommand{\Schoolname}{\expandafter\MakeUppercase + <!-- /@w -->\expandafter{\schoolname}} +</screen> +<indexterm role="cp"><primary>package, <literal>textcase</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>textcase</literal> package</primary></indexterm> +<para>El paquete <literal>textcase</literal> trae algunas de las +funciones que faltan en los comandos &latex; estándar +<literal>\MakeUppercase</literal> y <literal>\MakeLowerCase</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>mfirstuc</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>mfirstuc</literal> package</primary></indexterm> +<para>Para escribir en mayúsculas solo la primera letra +de las palabras, puedes usar el paquete <literal>mfirstuc</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>pict2e</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>pict2e</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>Wright, Joseph</primary></indexterm> +<para>El manejo de todas las reglas de mayúsculas y minúsculas especificadas +por Unicode, por ejemplo, para escrituras no latinas, es un trabajo +mucho más grande que cualquier cosa prevista en el &tex; original y +&latex;. Se ha implementado en el paquete <literal>expl3</literal> a partir +de 2020. El artículo “Cambio de caso: De primitivas &tex; al +algoritmo Unicode”, (Joseph Wright, <citetitle>TUGboat</citetitle> 41:1, +<ulink url="https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf">https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf</ulink>), da una +buena visión general del tema, pasado y presente. +</para> + +</sect1> +<sect1 label="23.3" id="S_00edmbolos-por-posici_00f3n-de-fuente"> +<title>Símbolos por posición de fuente</title> + <indexterm role="fn"><primary>\symbol</primary></indexterm> -<indexterm role="cp"><primary>accediendo a cualquier carácter del tipo de letra</primary></indexterm> +<indexterm role="cp"><primary>acceder a cualquier carácter de una fuente</primary></indexterm> +<indexterm role="cp"><primary>símbolos de fuente, por número</primary></indexterm> -<para>Por último, puede acceder a cualquier carácter del tipo de letra actual -una vez que sepa su número utilizando la instrucción <literal>\symbol</literal>. Por -ejemplo, el carácter de espacio visibles utilizada en la instrucción -<literal>\verb*</literal> tiene el código decimal 32, por lo tanto se puede escribir -como <literal>\symbol{32}</literal>. +<para>Puedes acceder a cualquier carácter de la fuente actual usando su +número con el comando <literal>\symbol</literal>. Por ejemplo, el carácter de +espacio visible usado en el comando <literal>\verb*</literal> tiene el código +decimal 32 en la fuente de máquina de escribir Computer Modern +estándar, por lo que se puede escribir como <literal>\symbol{32}</literal>. </para> -<para>También puede especificar números octales con <literal>'</literal> o números -hexadecimales con <literal>"</literal>, por lo que el ejemplo anterior también se -podría escribir como <literal>\symbol{'40}</literal> o <literal>\symbol{"20}</literal>. +<para>También puedes especificar números en octal (base 8) usando un prefijo +<literal>'</literal>, o hexadecimal (base 16) con un prefijo <literal>"</literal>, por lo que +el espacio visible en 32 decimal también se podría escribir como +<literal>\symbol{'40}</literal> o <literal>\symbol{"20}</literal>. </para> </sect1> -<sect1 label="22.2" id="S_00edmbolos-de-Texto"> -<title>Símbolos de Texto</title> +<sect1 label="23.4" id="S_00edmbolos-de-texto"> +<title>Símbolos de texto</title> <indexterm role="cp"><primary>símbolos de texto</primary></indexterm> -<indexterm role="fn"><primary>paquete textcomp</primary></indexterm> -<para>&latex; proporciona instrucciones para generar una serie símbolos -distintos de letras, en el texto. Algunos de estos, especialmente los -más oscuros, no están disponibles en OT1; posiblemente tenga que cargar -el paquete <literal>textcomp</literal>. +<indexterm role="cp"><primary>símbolos, texto</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>textcomp</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>textcomp</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>codificación TS1</primary></indexterm> +<para>&latex; proporciona comandos para generar una serie de símbolos que +no son letras en texto corriente. Algunos de estos, especialmente los +más oscuros, no están disponibles en OT1. A partir del lanzamiento de +&latex; de febrero de 2020, todos los símbolos están disponibles de +manera predeterminada; antes de eso, era necesario usar el paquete +<literal>textcomp</literal> para algunos (técnicamente, aquellos en la +codificación de fuentes <literal>TS1</literal>). </para> -<variablelist> -<varlistentry><term><indexterm role="fn"><primary>\copyright</primary></indexterm><literal>\copyright</literal> +<variablelist><varlistentry><term><indexterm role="fn"><primary>\copyright</primary></indexterm><literal>\copyright</literal> </term><term><indexterm role="fn"><primary>\textcopyright</primary></indexterm><literal>\textcopyright</literal> -</term><listitem><indexterm role="cp"><primary>símbolo de copyright</primary></indexterm> -<para>El símbolo de copyright, ©. +</term><listitem><indexterm role="cp"><primary>símbolo de derechos de autor</primary></indexterm> +<para>© El símbolo de copyright. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\dag</primary></indexterm><literal>\dag</literal> -</term><listitem><indexterm role="cp"><primary>daga, en texto</primary></indexterm> -<para>El símbolo daga (en texto). +</term><listitem><indexterm role="cp"><primary>dagger, en texto</primary></indexterm> +<para>† El símbolo de la daga (en texto). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ddag</primary></indexterm><literal>\ddag</literal> -</term><listitem><indexterm role="cp"><primary>doble daga, en texto</primary></indexterm> -<para>El símbolo doble daga (en texto). +</term><listitem><indexterm role="cp"><primary>daga doble, en texto</primary></indexterm> +<para>‡ El símbolo de la daga doble (en texto). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\LaTeX</primary></indexterm><literal>\LaTeX</literal> -</term><listitem><indexterm role="cp"><primary>Logotipo de &latex;</primary></indexterm> -<indexterm role="cp"><primary>logotipo, &latex;</primary></indexterm> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>latex</primary></indexterm><literal>latex</literal> +</term><listitem><indexterm role="cp"><primary>logotipo &latex;</primary></indexterm> +<indexterm role="cp"><primary>logo, &latex;</primary></indexterm> <para>El logotipo de &latex;. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\LaTeXe</primary></indexterm><literal>\LaTeXe</literal> -</term><listitem><indexterm role="cp"><primary>Logotipo de &latex;2e</primary></indexterm> -<indexterm role="cp"><primary>logotipo, &latex;2e</primary></indexterm> -<para>El logotypo de &latex;2e. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>latex</primary></indexterm><literal>latex</literal> +</term><listitem><indexterm role="cp"><primary>&latex;2e logo</primary></indexterm> +<indexterm role="cp"><primary>logo, &latex;2e</primary></indexterm> +<para>&latex;2e, logo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\guillemotleft («)</primary></indexterm><literal>\guillemotleft («)</literal> </term><term><indexterm role="fn"><primary>\guillemotright (»)</primary></indexterm><literal>\guillemotright (»)</literal> </term><term><indexterm role="fn"><primary>\guilsinglleft (‹)</primary></indexterm><literal>\guilsinglleft (‹)</literal> </term><term><indexterm role="fn"><primary>\guilsinglright (›)</primary></indexterm><literal>\guilsinglright (›)</literal> -</term><listitem><indexterm role="cp"><primary>comillas tipográficas, latinas o angulares</primary></indexterm> -<indexterm role="cp"><primary>comillas tipográficas simples</primary></indexterm> -<indexterm role="cp"><primary>comilla angular de apertura</primary></indexterm> -<indexterm role="cp"><primary>comilla angular de cierre</primary></indexterm> -<indexterm role="cp"><primary>comillas tipográficas angulares</primary></indexterm> -<indexterm role="cp"><primary>comillas tipográficas angulares simples</primary></indexterm> -<indexterm role="cp"><primary>comillas tipográficas Francesas</primary></indexterm> -<indexterm role="cp"><primary>comillas tipográficas, Francesas</primary></indexterm> -<para>Comillas tipográficas angulares dobles y simples, utilizadas comúnmente -en Francés: «, », ‹, -›. +</term><listitem><indexterm role="cp"><primary>doble guillemets</primary></indexterm> +<indexterm role="cp"><primary>guillemet única</primary></indexterm> +<indexterm role="cp"><primary>comilla angular izquierda</primary></indexterm> +<indexterm role="cp"><primary>comilla angular derecha</primary></indexterm> +<indexterm role="cp"><primary>dobles comillas angulares</primary></indexterm> +<indexterm role="cp"><primary>comilla angular única</primary></indexterm> +<indexterm role="cp"><primary>comillas francesas</primary></indexterm> +<indexterm role="cp"><primary>comillas, francesas</primary></indexterm> +<para>«, », ‹, › +Comillas angulares simples y dobles, de uso común en francés. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ldots</primary></indexterm><literal>\ldots</literal> -</term><term><indexterm role="fn"><primary>\dots</primary></indexterm><literal>\dots</literal> </term><term><indexterm role="fn"><primary>\textellipsis</primary></indexterm><literal>\textellipsis</literal> -</term><listitem><indexterm role="cp"><primary>puntos suspensivos</primary></indexterm> -<para>Puntos suspensivos (tres puntos en la línea base): ‘…’. -<literal>\ldots</literal> y <literal>\dots</literal> también trabajan en modo math. +</term><term><indexterm role="fn"><primary>\dot</primary></indexterm><literal>\dot</literal> +</term><listitem><indexterm role="cp"><primary>elipsis</primary></indexterm> +<para>… Puntos suspensivos (tres puntos en la línea base): +<literal>\ldots</literal> y <literal>\dots</literal> también trabaja en modo math +(véase <link linkend="Puntos">Puntos</link>). Ve la descripción de los puntos suspensivos del +<literal>modo math</literal> para obtener información adicional. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\lq</primary></indexterm><literal>\lq</literal> </term><listitem><indexterm role="cp"><primary>comilla izquierda</primary></indexterm> <indexterm role="cp"><primary>comilla de apertura</primary></indexterm> -<para>Comilla izquierda (de apertura): ‘. +<para>‘ Comilla izquierda (apertura). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\P</primary></indexterm><literal>\P</literal> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>p</primary></indexterm><literal>p</literal> </term><term><indexterm role="fn"><primary>\textparagraph</primary></indexterm><literal>\textparagraph</literal> </term><listitem><indexterm role="cp"><primary>símbolo de párrafo</primary></indexterm> -<indexterm role="cp"><primary>antígrafo o simplemente signo de párrafo</primary></indexterm> -<para>Signo de párrafo (antígrafo). +<indexterm role="cp"><primary>pilcrow, almohada</primary></indexterm> +<para>¶ Signo de párrafo (pilcrow). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\pounds</primary></indexterm><literal>\pounds</literal> </term><term><indexterm role="fn"><primary>\textsterling</primary></indexterm><literal>\textsterling</literal> -</term><listitem><indexterm role="cp"><primary>símbolo de libra esterlina</primary></indexterm> -<indexterm role="cp"><primary>símbolo de libra esterlina</primary></indexterm> -<para>Libras esterlinas en Inglés: £. +</term><listitem><indexterm role="cp"><primary>símbolo de libras</primary></indexterm> +<indexterm role="cp"><primary>símbolo de la libra esterlina</primary></indexterm> +<para>£ libras esterlinas inglesas. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\quotedblbase („)</primary></indexterm><literal>\quotedblbase („)</literal> </term><term><indexterm role="fn"><primary>\quotesinglbase (‚)</primary></indexterm><literal>\quotesinglbase (‚)</literal> -</term><listitem><indexterm role="cp"><primary>comillas dobles en línea base</primary></indexterm> -<indexterm role="cp"><primary>comilla simple en línea base</primary></indexterm> -<indexterm role="cp"><primary>comilla en línea base, simple y doble</primary></indexterm> -<para>Simple y dobles comillas en la línea base: -„ y ‚. +</term><listitem><indexterm role="cp"><primary>dobles comillas low-9</primary></indexterm> +<indexterm role="cp"><primary>comillas simples low-9</primary></indexterm> +<indexterm role="cp"><primary>low-9 comillas simples y dobles</primary></indexterm> +<para>„ y ‚ +Comillas simples y dobles en la línea base. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\rq</primary></indexterm><literal>\rq</literal> </term><listitem><indexterm role="cp"><primary>comilla derecha</primary></indexterm> <indexterm role="cp"><primary>comilla de cierre</primary></indexterm> -<para>Comilla derecha (de cierre): ’. +<para>’ Comilla de derecha (de cierre). </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\S</primary></indexterm><literal>\S</literal> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>s</primary></indexterm><literal>s</literal> +</term><term><indexterm role="fn"><primary>\textsection</primary></indexterm><literal>\textsection</literal> </term><listitem><indexterm role="cp"><primary>símbolo de sección</primary></indexterm> -<para>Símbolo de sección. +<para>§ Signo de sección. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\TeX</primary></indexterm><literal>\TeX</literal> -</term><listitem><indexterm role="cp"><primary>logotipo de &tex;</primary></indexterm> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>tex</primary></indexterm><literal>tex</literal> +</term><listitem><indexterm role="cp"><primary>Logotipo de &tex;</primary></indexterm> <indexterm role="cp"><primary>logotipo, &tex;</primary></indexterm> <para>El logotipo de &tex;. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textasciicircum</primary></indexterm><literal>\textasciicircum</literal> </term><listitem><indexterm role="cp"><primary>circunflejo, ASCII, en texto</primary></indexterm> <indexterm role="cp"><primary>ASCII circunflejo, en texto</primary></indexterm> -<para>Circunflejo ASCII: ^. +<para>^ circunflejo ASCII. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textasciitilde</primary></indexterm><literal>\textasciitilde</literal> </term><listitem><indexterm role="cp"><primary>tilde, ASCII, en texto</primary></indexterm> <indexterm role="cp"><primary>tilde ASCII, en texto</primary></indexterm> -<para>Tilde ASCII: ~. +<para>~ Tilde ASCII. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textasteriskcentered</primary></indexterm><literal>\textasteriskcentered</literal> </term><listitem><indexterm role="cp"><primary>asterisco, centrado, en texto</primary></indexterm> -<indexterm role="cp"><primary>asterisco centrado, en texto</primary></indexterm> -<para>Asterisco centrado: *. +<indexterm role="cp"><primary>Asterisco centrado, en texto</primary></indexterm> +<para>* asterisco centrado </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbackslash</primary></indexterm><literal>\textbackslash</literal> -</term><listitem><indexterm role="cp"><primary>barra inversa, en texto</primary></indexterm> -<para>Barra inversa: \. +</term><listitem><indexterm role="cp"><primary>barra invertida, en texto</primary></indexterm> +<para>\ Barra invertida. Sin embargo, <literal>\texttt{\textbackslash}</literal> de +manera predeterminada produce una barra invertida en letra romana (no +de máquina de escribir); para una barra invertida de máquina de +escribir, es necesario utilizar la codificación de tipo de letra T1 (u +otra no predeterminada), como en: </para> +<screen>\usepackage[T1]{fontenc} +</screen><!-- https://github.com/latex3/latex2e/issues/824 --> + </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbar</primary></indexterm><literal>\textbar</literal> </term><listitem><indexterm role="cp"><primary>barra vertical, en texto</primary></indexterm> -<indexterm role="cp"><primary>bar, vertical, en texto</primary></indexterm> -<para>Barra Vertical: |. +<indexterm role="cp"><primary>barra, vertical, en texto</primary></indexterm> +<para>| Barra vertical. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbardbl</primary></indexterm><literal>\textbardbl</literal> </term><listitem><indexterm role="cp"><primary>barra vertical, doble, en texto</primary></indexterm> -<indexterm role="cp"><primary>barra, vertical doble, en texto</primary></indexterm> +<indexterm role="cp"><primary>barra, doble vertical, en texto</primary></indexterm> <indexterm role="cp"><primary>doble barra vertical, en texto</primary></indexterm> -<para>Doble barra vertical. +<para>⏸ Doble barra vertical. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbigcircle</primary></indexterm><literal>\textbigcircle</literal> -</term><listitem><indexterm role="cp"><primary>símbolo círculo grande, en texto</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>Símbolos de grandes círculos, en texto</primary></indexterm> <indexterm role="cp"><primary>símbolo de círculo, grande, en texto</primary></indexterm> -<para>Símbolo círculo grande. +<para>◯, símbolo de círculo grande. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbraceleft</primary></indexterm><literal>\textbraceleft</literal> -</term><listitem><indexterm role="cp"><primary>llave de apertura, en texto</primary></indexterm> -<indexterm role="cp"><primary>llave, izquierda, en texto</primary></indexterm> -<para>Llave izquierda: {. +</term><listitem><indexterm role="cp"><primary>llave izquierda, en texto</primary></indexterm> +<indexterm role="cp"><primary>llave, izquierdo, en texto</primary></indexterm> +<para>{ Llave izquierda. Ve los comentarios en <literal>\textbackslash</literal> +arriba sobre hacer que <literal>\texttt{\textbraceleft}</literal> produzca una +llave en máquina de escribir. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbraceright</primary></indexterm><literal>\textbraceright</literal> </term><listitem><indexterm role="cp"><primary>llave derecha, en texto</primary></indexterm> <indexterm role="cp"><primary>llave, derecha, en texto</primary></indexterm> -<para>Llave derecha: }. +<para>} Llave derecha. Ve los comentarios en <literal>\textbackslash</literal> arriba +sobre hacer que <literal>\texttt{\textbraceright}</literal> produzca una llave +en máquina de escribir. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textbullet</primary></indexterm><literal>\textbullet</literal> -</term><listitem><indexterm role="cp"><primary>bala, en texto</primary></indexterm> -<para>Bala: •. +</term><listitem><indexterm role="cp"><primary>viñeta, en texto</primary></indexterm> +<para>• Viñeta. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textcircled{<replaceable>letra</replaceable>}</primary></indexterm><literal>\textcircled{<replaceable>letra</replaceable>}</literal> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textcircled{<replaceable>letter</replaceable>}</primary></indexterm><literal>\textcircled{<replaceable>letter</replaceable>}</literal> </term><listitem><indexterm role="cp"><primary>letra en círculo, en texto</primary></indexterm> -<para><replaceable>letra</replaceable> en un círculo, como en ®. +<para>Ⓐ, circulo alrededor de <replaceable>letra</replaceable>. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textcompwordmark</primary></indexterm><literal>\textcompwordmark</literal> -</term><term><indexterm role="fn"><primary>\textcapitalwordmark</primary></indexterm><literal>\textcapitalwordmark</literal> -</term><term><indexterm role="fn"><primary>\textascenderwordmark</primary></indexterm><literal>\textascenderwordmark</literal> -</term><listitem><indexterm role="cp"><primary>marca palabra compuesta, en texto</primary></indexterm> -<indexterm role="cp"><primary>tapa superior</primary></indexterm> -<indexterm role="cp"><primary>ascender superior</primary></indexterm> -<para>Marca de palabra compuesta (invisible). La forma <literal>\textcapital...</literal> -tiene la tapa del tipo de letra, mientras que la forma -<literal>\textascender...</literal> tiene el ascender superior. +</term><term><indexterm role="fn"><primary>\textcapitalcompwordmark</primary></indexterm><literal>\textcapitalcompwordmark</literal> +</term><term><indexterm role="fn"><primary>\textascendercompwordmark</primary></indexterm><literal>\textascendercompwordmark</literal> +</term><listitem><indexterm role="cp"><primary>marca denominativa compuesta, en texto</primary></indexterm> +<indexterm role="cp"><primary>altura de la tapa</primary></indexterm> +<indexterm role="cp"><primary>altura del ascendente</primary></indexterm> +<para>Se utiliza para separar letras que normalmente se ligarían. Por +ejemplo, <literal>f\textcompwordmark i</literal> produce ‘<literal>fi</literal>’ sin +ligadura. Este es más útil en idiomas distintos del inglés. La forma +<literal>\textcapitalcompwordmark</literal> tiene la altura máxima de la fuente +mientras que la forma <literal>\textascendercompwordmark</literal> tiene la altura +ascendente. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textdagger</primary></indexterm><literal>\textdagger</literal> </term><listitem><indexterm role="cp"><primary>daga, en texto</primary></indexterm> -<para>Daga: <inlineequation><mathphrase>\dag</mathphrase></inlineequation>. +<para>† Daga. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textdaggerdbl</primary></indexterm><literal>\textdaggerdbl</literal> </term><listitem><indexterm role="cp"><primary>daga, doble, en texto</primary></indexterm> <indexterm role="cp"><primary>daga doble, en texto</primary></indexterm> -<para>Daga doble: <inlineequation><mathphrase>\ddag</mathphrase></inlineequation>. +<para>‡ Daga doble. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textdollar (o <literal>\$</literal>)</primary></indexterm><literal>\textdollar (o <literal>\$</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>signo de dólar</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>signo de dolar</primary></indexterm> <indexterm role="cp"><primary>moneda, dólar</primary></indexterm> -<para>Signo de Dólar: $. +<para>$ signo de dólar. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textemdash (o <literal>---</literal>)</primary></indexterm><literal>\textemdash (o <literal>---</literal>)</literal> </term><listitem><indexterm role="cp"><primary>em-dash</primary></indexterm> -<para>Em-dash: — (para puntuación). +<para>— Guión largo. Se utiliza para puntuación, por lo general similar a +las comas o paréntesis, como en ‘<literal>Los playoffs---si tienes +suficiente suerte para llegar a los playoffs --- son más como un +sprint.</literal>’ Convenciones para espaciar alrededor de guiones-em que +varían ampliamente. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textendash (o <literal>--</literal>)</primary></indexterm><literal>\textendash (o <literal>--</literal>)</literal> </term><listitem><indexterm role="cp"><primary>e-dash</primary></indexterm> -<para>En-dash: — (para rangos). +<para>– En-dash. Usado para rangos, como en ‘<literal>ve las páginas 12--14</literal>’. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texteuro</primary></indexterm><literal>\texteuro</literal> </term><listitem><indexterm role="cp"><primary>símbolo del euro</primary></indexterm> -<indexterm role="cp"><primary>divisas, euro</primary></indexterm> -<para>El Símbolo del Euro: €. +<indexterm role="cp"><primary>moneda, euro</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>eurosym</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>eurosym</literal> package</primary></indexterm> +<para>El símbolo de la moneda del euro: €. +<indexterm role="cp"><primary>package, <literal>eurosym</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>eurosym</literal> package</primary></indexterm> + Para un diseño de glifo alternativo, prueba el +paquete <literal>eurosym</literal>; además, la mayoría de las fuentes hoy día +vienen con su propio símbolo de euro (Unicode U+20AC). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textexclamdown (o <literal>!`</literal>)</primary></indexterm><literal>\textexclamdown (o <literal>!`</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>exclamación, inicial</primary></indexterm> -<para>Signo de exclamación inicial: ¡. +</term><listitem><indexterm role="cp"><primary>signo de exclamación, al revés</primary></indexterm> +<para>¡ Signo de exclamación al revés. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textfiguredash</primary></indexterm><literal>\textfiguredash</literal> +</term><listitem><indexterm role="cp"><primary>figura del carácter guión</primary></indexterm> +<para>Guión usado entre números, Unicode U+2012. Definido en junio de 2021 +lanzamiento de &latex;. Cuando se usa en pdf&tex;, aproximado por un +guión-en; con un motor Unicode, escribe el glifo si está disponible en +la fuente actual, o escribe la advertencia habitual “Carácter +faltante” al archivo de registro. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textgreater</primary></indexterm><literal>\textgreater</literal> </term><listitem><indexterm role="cp"><primary>símbolo mayor que, en texto</primary></indexterm> -<para>Mayor que: >. +<para>> Símbolo mayor que. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texthorizontalbar</primary></indexterm><literal>\texthorizontalbar</literal> +</term><listitem><indexterm role="cp"><primary>carácter de barra horizontal</primary></indexterm> +<para>Carácter de barra horizontal, Unicode U+2015. Definido en junio de +2021 lanzamiento de &latex;. Comportamiento como con +<literal>\textfiguredash</literal> arriba; la aproximación pdf&tex; es un guión +largo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textless</primary></indexterm><literal>\textless</literal> </term><listitem><indexterm role="cp"><primary>símbolo menor que, en texto</primary></indexterm> -<para>Menor que: <. +<para>< Símbolo menor que. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textleftarrow</primary></indexterm><literal>\textleftarrow</literal> </term><listitem><indexterm role="cp"><primary>flecha, izquierda, en texto</primary></indexterm> -<indexterm role="cp"><primary>flecha hacia la izquierda, en texto</primary></indexterm> -<para>Flecha izquierda. +<indexterm role="cp"><primary>flecha izquierda, en texto</primary></indexterm> +<para>←, Flecha izquierda. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textnonbreakinghyphen</primary></indexterm><literal>\textnonbreakinghyphen</literal> +</term><listitem><indexterm role="cp"><primary>carácter de guion que no se rompe</primary></indexterm> +<indexterm role="cp"><primary>carácter de guión, irrompible</primary></indexterm> +<para>Carácter de guión de no separación, Unicode U+2011. Definido en junio +lanzamiento de 2021 de &latex;. Comportamiento como con +<literal>\textfiguredash</literal> arriba; la aproximación pdf&tex; es un guión +ASCII regular (con saltos no permitidos después). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textordfeminine</primary></indexterm><literal>\textordfeminine</literal> </term><term><indexterm role="fn"><primary>\textordmasculine</primary></indexterm><literal>\textordmasculine</literal> -</term><listitem><indexterm role="cp"><primary>Símbolo ordinal femenino</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>símbolo ordinal femenino</primary></indexterm> <indexterm role="cp"><primary>símbolo ordinal masculino</primary></indexterm> <indexterm role="cp"><primary>ordinales, femenino y masculino</primary></indexterm> -<indexterm role="cp"><primary>ordinales en español, femenino y masculino</primary></indexterm> -<para>Símbolos ordinales femenino y masculino: ª, º. -</para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textordfeminine</primary></indexterm><literal>\textordfeminine</literal> -</term><listitem><indexterm role="cp"><primary>símbolo femenino ordinal</primary></indexterm> -<para>Símbolo ordinal femenino: ª. +<indexterm role="cp"><primary>Ordinales en español, femenino y masculino</primary></indexterm> +<para>ª, º Símbolos ordinales femeninos y masculinos. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textperiodcentered</primary></indexterm><literal>\textperiodcentered</literal> </term><listitem><indexterm role="cp"><primary>punto, centrado, en texto</primary></indexterm> <indexterm role="cp"><primary>punto centrado, en texto</primary></indexterm> -<para>Punto centrado: ·. +<para>· Punto centrado. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquestiondown (o <literal>?`</literal>)</primary></indexterm><literal>\textquestiondown (o <literal>?`</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>interrogación, inicial</primary></indexterm> -<para>Signo de interrogación inicial: ¿. +</term><listitem><indexterm role="cp"><primary>signo de interrogación, al revés</primary></indexterm> +<para>¿ Signo de interrogación de apertura. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotedblleft (o <literal>``</literal>)</primary></indexterm><literal>\textquotedblleft (o <literal>``</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>marca izquierda, doble</primary></indexterm> -<indexterm role="cp"><primary>comillas dobles de apertura</primary></indexterm> -<para>Comillas dobles de apertura: “. +</term><listitem><indexterm role="cp"><primary>comilla izquierda, doble</primary></indexterm> +<indexterm role="cp"><primary>comillas dobles a la izquierda</primary></indexterm> +<para>“ Comillas dobles a la izquierda. </para> -</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotedblright (o <literal>'</literal>)</primary></indexterm><literal>\textquotedblright (o <literal>'</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>comillas de cierre, dobles</primary></indexterm> -<indexterm role="cp"><primary>comillas de cierre dobles</primary></indexterm> -<para>Dobles comillas de cierre: ”. +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotedblright (o <literal>''</literal>)</primary></indexterm><literal>\textquotedblright (o <literal>''</literal>)</literal> +</term><listitem><indexterm role="cp"><primary>comilla derecha, doble</primary></indexterm> +<indexterm role="cp"><primary>comillas dobles a la derecha</primary></indexterm> +<para>” Doble comilla derecha. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquoteleft (o <literal>`</literal>)</primary></indexterm><literal>\textquoteleft (o <literal>`</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>comilla izquierda, sola</primary></indexterm> -<indexterm role="cp"><primary>comilla de apertura simple</primary></indexterm> -<para>Comilla de apertura simple: ‘. +</term><listitem><indexterm role="cp"><primary>comilla izquierda, simple</primary></indexterm> +<indexterm role="cp"><primary>comilla izquierda simple</primary></indexterm> +<para>‘ Comilla izquierda simple. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquoteright (o <literal>'</literal>)</primary></indexterm><literal>\textquoteright (o <literal>'</literal>)</literal> -</term><listitem><indexterm role="cp"><primary>comilla de cierre, simple</primary></indexterm> -<indexterm role="cp"><primary>comilla de cierre simple</primary></indexterm> -<para>Comilla de cierre simple: ’. +</term><listitem><indexterm role="cp"><primary>comilla derecha, simple</primary></indexterm> +<indexterm role="cp"><primary>comilla derecha simple</primary></indexterm> +<para>’ Comilla simple derecha. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotesingle</primary></indexterm><literal>\textquotesingle</literal> +</term><listitem><indexterm role="cp"><primary>comilla, simple derecha</primary></indexterm> +<indexterm role="cp"><primary>comillas simples derechas</primary></indexterm> +<indexterm role="cp"><primary>comillas simples, rectas</primary></indexterm> +<para>', Comillas rectas simples. (De la codificación TS1). </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textquotestraightbase</primary></indexterm><literal>\textquotestraightbase</literal> </term><term><indexterm role="fn"><primary>\textquotestraightdblbase</primary></indexterm><literal>\textquotestraightdblbase</literal> -</term><listitem><indexterm role="cp"><primary>comilla, en la línea base (coma)</primary></indexterm> -<indexterm role="cp"><primary>comillastraight quote, base</primary></indexterm> -<indexterm role="cp"><primary>guión doble, línea recta</primary></indexterm> -<indexterm role="cp"><primary>línea recta de guión doble, base</primary></indexterm> -<para>Líneas rectas simples y dobles en la línea base. +</term><listitem><indexterm role="cp"><primary>comilla, recta base</primary></indexterm> +<indexterm role="cp"><primary>comilla, base recta</primary></indexterm> +<indexterm role="cp"><primary>comillas dobles, base recta</primary></indexterm> +<indexterm role="cp"><primary>comillas dobles rectas, base</primary></indexterm> +<!-- Unicode no tiene estos https://en.wikipedia.org/wiki/Quotation_mark --> +<para>Comillas rectas simples y dobles en la línea base. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textregistered</primary></indexterm><literal>\textregistered</literal> -</term><listitem><indexterm role="cp"><primary>símbolo de marca registrada</primary></indexterm> -<para>Símbolo de marca registrada: ®. +</term><listitem><indexterm role="cp"><primary>símbolo registrado</primary></indexterm> +<para>® Símbolo de registrado. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textrightarrow</primary></indexterm><literal>\textrightarrow</literal> -</term><listitem><indexterm role="cp"><primary>flecha derecha, en texto</primary></indexterm> -<indexterm role="cp"><primary>flecha hacia la derecha, en texto</primary></indexterm> -<para>Flecha hacia la derecha. +</term><listitem><indexterm role="cp"><primary>flecha, derecha, en texto</primary></indexterm> +<indexterm role="cp"><primary>flecha derecha, en texto</primary></indexterm> +<para>→, Flecha derecha. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textthreequartersemdash</primary></indexterm><literal>\textthreequartersemdash</literal> -</term><listitem><indexterm role="cp"><primary>em-dash de tres cuartos</primary></indexterm> +</term><listitem><indexterm role="cp"><primary>tres cuartos em-dash</primary></indexterm> <indexterm role="cp"><primary>em-dash, tres cuartos</primary></indexterm> -<para>em-dash de “Tres cuartos”, entre en-dash y em-dash. +<para>﹘, “Tres cuartos” de guión largo, entre guión corto y guión +largo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texttrademark</primary></indexterm><literal>\texttrademark</literal> -</term><listitem><indexterm role="cp"><primary>símbolo de marca comercial</primary></indexterm> -<para>Símbolo de marca comercial: ™. +</term><listitem><indexterm role="cp"><primary>símbolo de marca registrada</primary></indexterm> +<para>™ Símbolo de marca comercial. </para> +<!-- ?? ¿Diferencia de \texttrescuartosemdash? ¿En Unicode? --> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\texttwelveudash</primary></indexterm><literal>\texttwelveudash</literal> -</term><listitem><para>Xx 12u-. +</term><listitem><indexterm role="cp"><primary>dos tercios de em-guion</primary></indexterm> +<indexterm role="cp"><primary>em-dash, dos tercios</primary></indexterm> +<para>﹘, “Dos tercios” guión largo, entre guión corto y guión +largo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textunderscore</primary></indexterm><literal>\textunderscore</literal> -</term><listitem><indexterm role="cp"><primary>subrayado, en texto</primary></indexterm> -<para>Subrayado: _. +</term><listitem><indexterm role="cp"><primary>guión bajo, en texto</primary></indexterm> +<para>_ Guion bajo. </para> </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\textvisiblespace</primary></indexterm><literal>\textvisiblespace</literal> </term><listitem><indexterm role="cp"><primary>símbolo de espacio visible, en texto</primary></indexterm> -<para>Símbolo de espacio visible. +<para>␣, Símbolo de espacio visible. </para> </listitem></varlistentry></variablelist> </sect1> -<sect1 label="22.3" id="Acentos"> +<sect1 label="23.5" id="Acentos"> <title>Acentos</title> <indexterm role="cp"><primary>acentos</primary></indexterm> <indexterm role="cp"><primary>caracteres, acentuados</primary></indexterm> <indexterm role="cp"><primary>letras, acentuadas</primary></indexterm> -<para>&latex; tiene un amplio apoyo para muchos de los guiones de idiomas del -mundo, a través del paquete <literal>babel</literal> y de apoyo relacionados. Esta -sección no pretende abarcar todas con las que es compatible. Este -simplemente se limita a enumerar las principales instrucciones &latex; -para crear caracteres acentuados. -</para> -<para>Las instrucciones <literal>\capital...</literal> producen formas alternativas para -su uso con letras mayúsculas. Estas no están disponibles con OT1. +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>compatibilidad multilingüe</primary></indexterm> +<para>&latex; tiene una amplia compatibilidad para muchos de los scripts +del mundo e idiomas, proporcionada a través del paquete principal +<literal>babel</literal>, que admite pdf&latex;, Xe&latex; y Lua&latex;. El +paquete <literal>polyglossia</literal> proporciona una compatibilidad similar +con estos últimos dos motores. +</para> +<para>Esta sección no cubre esa compatibilidad. Solo enumera los comandos +del núcleo &latex; para crear caracteres acentuados. Los comandos +<literal>\capital...</literal> que se muestran aquí producen formas alternativas +para utilizar con mayúsculas. Estos no están disponibles con OT1. +</para> +<para>A continuación, para que sean más fáciles de encontrar, los acentos se +ilustran con minúsculas ‘<literal>o</literal>’. +</para> +<indexterm role="fn"><primary>\i (dotless i)</primary></indexterm> +<indexterm role="cp"><primary>dotless i</primary></indexterm> +<para>Ten en cuenta que <literal>\i</literal> produce una i sin punto, +<!-- @dotless{i}, --> +<indexterm role="fn"><primary>\j (j sin punto)</primary></indexterm> +<indexterm role="cp"><primary>dotless j</primary></indexterm> +y <literal>\j</literal> produce una j sin punto. +<!-- @dotless{j}. --> +Estos se usan a menudo en lugar de sus contrapartes punteadas cuando +están acentuados. </para> <variablelist><varlistentry><term><literal>\"</literal> </term><term><literal>\capitaldieresis</literal> </term><listitem><indexterm role="fn"><primary>\" (acento diéresis)</primary></indexterm> <indexterm role="fn"><primary>\capitaldieresis</primary></indexterm> <indexterm role="cp"><primary>acento diéresis</primary></indexterm> -<indexterm role="cp"><primary>acento diéresis</primary></indexterm> -<para>Produce una diéresis, como en ö. +<indexterm role="cp"><primary>diéresis acento</primary></indexterm> +<para>ö Umlaut (diéresis). </para> </listitem></varlistentry><varlistentry><term><literal>\'</literal> </term><term><literal>\capitalacute</literal> </term><listitem><indexterm role="fn"><primary>\' (acento agudo)</primary></indexterm> <indexterm role="fn"><primary>\capitalacute</primary></indexterm> <indexterm role="cp"><primary>acento agudo</primary></indexterm> -<para>Produce un acento agudo, como en ó. En el entorno <literal>tabbing</literal>, -empuja la columna actual a la derecha de la columna anterior -(véase <link linkend="tabbing">tabbing</link>). +<para>ó Acento agudo. </para> </listitem></varlistentry><varlistentry><term><literal>\.</literal> -</term><listitem><indexterm role="fn"><primary>\. (acento punto encima)</primary></indexterm> -<indexterm role="cp"><primary>acento punto</primary></indexterm> -<indexterm role="cp"><primary>acento punto</primary></indexterm> -<para>Produce un punto como acento sobre la siguiente, como en ȯ. +</term><listitem><indexterm role="fn"><primary>\. (acento de puntos)</primary></indexterm> +<indexterm role="cp"><primary>acento de punto</primary></indexterm> +<indexterm role="cp"><primary>Acento de punto sobre</primary></indexterm> +<para>ȯ Acento de punto. </para> </listitem></varlistentry><varlistentry><term><literal>\=</literal> </term><term><literal>\capitalmacron</literal> </term><listitem><indexterm role="fn"><primary>\= (acento macrón)</primary></indexterm> <indexterm role="fn"><primary>\capitalmacron</primary></indexterm> <indexterm role="cp"><primary>acento macrón</primary></indexterm> -<indexterm role="cp"><primary>acento barra encima</primary></indexterm> -<indexterm role="cp"><primary>acento barra sobre</primary></indexterm> -<para>Produce un acento macrón (una barra) sobre el siguiente, como en ō. +<indexterm role="cp"><primary>acento sobre la barra</primary></indexterm> +<indexterm role="cp"><primary>acento de barra sobre</primary></indexterm> +<para>ō Acento macrón (sobre la barra). </para> </listitem></varlistentry><varlistentry><term><literal>\^</literal> </term><term><literal>\capitalcircumflex</literal> </term><listitem><indexterm role="fn"><primary>\^ (acento circunflejo)</primary></indexterm> <indexterm role="fn"><primary>\capitalcircumflex</primary></indexterm> <indexterm role="cp"><primary>acento circunflejo</primary></indexterm> -<indexterm role="cp"><primary>acento circunflejo</primary></indexterm> -<para>Produce un acento circunflejo (sombrero) sobre la siguiente, como en -ô. +<indexterm role="cp"><primary>acento de sombrero</primary></indexterm> +<para>ô Acento circunflejo (sombrero). </para> </listitem></varlistentry><varlistentry><term><literal>\`</literal> </term><term><literal>\capitalgrave</literal> </term><listitem><indexterm role="fn"><primary>\` (acento grave)</primary></indexterm> <indexterm role="fn"><primary>\capitalgrave</primary></indexterm> <indexterm role="cp"><primary>acento grave</primary></indexterm> -<para>Produce un acento grave sobre la siguiente, como en ò. En el -entorno <literal>tabbing</literal>, mueve el siguiente texto hacia el margen derecho -(véase <link linkend="tabbing">tabbing</link>). +<para>ò Acento grave. </para> </listitem></varlistentry><varlistentry><term><literal>\~</literal> </term><term><literal>\capitaltilde</literal> -</term><listitem><indexterm role="fn"><primary>\~ (acento tilde)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\~ (tilde acento)</primary></indexterm> <indexterm role="fn"><primary>\capitaltilde</primary></indexterm> -<indexterm role="cp"><primary>acento tilde</primary></indexterm> -<para>Produce una tilde como acento sobre la siguiente, como en ñ. +<indexterm role="cp"><primary>acento de tilde</primary></indexterm> +<para>ñ Acento de tilde. </para> -</listitem></varlistentry><varlistentry><term><literal>\b</literal> -</term><listitem><indexterm role="fn"><primary>\b (acento barra)</primary></indexterm> -<indexterm role="cp"><primary>acento barra</primary></indexterm> -<para>Produce una barra como acento debajo de la siguiente, como en -o_. Vea también <literal>\underbar</literal> a continuación +</listitem></varlistentry><varlistentry><term><literal>b</literal> +</term><listitem><indexterm role="fn"><primary>\b (barra debajo del acento)</primary></indexterm> +<indexterm role="cp"><primary>barra debajo del acento</primary></indexterm> +<para>o̲ Acento de barra debajo. +</para> +<indexterm role="fn"><primary>\underbar</primary></indexterm> +<indexterm role="cp"><primary>underbar</primary></indexterm> +<para>Relacionado con esto, <literal>\underbar{<replaceable>text</replaceable>}</literal> produce una barra +debajo del <replaceable>text</replaceable>. El argumento siempre se procesa en modo LR +(véase <link linkend="Modos">Modos</link>). La barra siempre es una posición fija debajo de la +línea base, cruzando así a través de descendientes. Véase también +<literal>\underline</literal> en <link linkend="Sobre-y-subrayado">Sobre y subrayado</link>. </para> -</listitem></varlistentry><varlistentry><term><literal>\c</literal> +</listitem></varlistentry><varlistentry><term><literal>c</literal> </term><term><literal>\capitalcedilla</literal> </term><listitem><indexterm role="fn"><primary>\c (acento cedilla)</primary></indexterm> <indexterm role="fn"><primary>\capitalcedilla</primary></indexterm> <indexterm role="cp"><primary>acento cedilla</primary></indexterm> -<para>Produce una cedilla como acento sobre la siguiente, como en ç. +<para>ç Acento cedilla debajo. </para> </listitem></varlistentry><varlistentry><term><literal>\d</literal> </term><term><literal>\capitaldotaccent</literal> -</term><listitem><indexterm role="fn"><primary>\d (acento círculo)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\d (punto debajo del acento)</primary></indexterm> <indexterm role="fn"><primary>\capitaldotaccent</primary></indexterm> -<indexterm role="cp"><primary>acento círculo</primary></indexterm> -<para>Produce un círculo como acento sobre la siguiente, como en -ọ. +<indexterm role="cp"><primary>acento de punto debajo</primary></indexterm> +<para>ọ Acento de puntos debajo. </para> </listitem></varlistentry><varlistentry><term><literal>\H</literal> -</term><term><literal>\capitalhungarumlaut</literal> -</term><listitem><indexterm role="fn"><primary>\H (acento diéresis Húngara)</primary></indexterm> -<indexterm role="fn"><primary>\capitalhungarumlaut</primary></indexterm> -<indexterm role="cp"><primary>acento diéresis húngara</primary></indexterm> -<para>Produce un acento diéresis húngaro sobre la siguiente, como en ő. -</para> -</listitem></varlistentry><varlistentry><term><literal>\i</literal> -</term><listitem><indexterm role="fn"><primary>\i (i sin punto)</primary></indexterm> -<indexterm role="cp"><primary>i sin punto</primary></indexterm> -<para>Produce una i sin punto, como en ‘i’. -</para> -</listitem></varlistentry><varlistentry><term><literal>\j</literal> -</term><listitem><indexterm role="fn"><primary>\j (j sin punto)</primary></indexterm> -<indexterm role="cp"><primary>j sin punto</primary></indexterm> -<para>Produce una j sin punto, como en ‘j’. +</term><term><literal>h</literal> +</term><listitem><indexterm role="fn"><primary>\H (acento húngaro con diéresis)</primary></indexterm> +<indexterm role="fn"><primary>h</primary></indexterm> +<indexterm role="cp"><primary>Acento con diéresis húngara</primary></indexterm> +<para>ő Acento largo con diéresis húngara. </para> </listitem></varlistentry><varlistentry><term><literal>\k</literal> </term><term><literal>\capitalogonek</literal> -</term><listitem><indexterm role="fn"><primary>\k (colita —ogonek en polaco)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\k (ogonek)</primary></indexterm> <indexterm role="fn"><primary>\capitalogonek</primary></indexterm> -<indexterm role="cp"><primary>colita</primary></indexterm> -<para>Produce una letra con colita, como en ‘ǫ’. No disponible en la -codificación OT1. +<indexterm role="cp"><primary>ogonek</primary></indexterm> +<para>ǫ Ogonek. No disponible en la codificación OT1. </para> </listitem></varlistentry><varlistentry><term><literal>\r</literal> </term><term><literal>\capitalring</literal> -</term><listitem><indexterm role="fn"><primary>\r (acento anillo)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\r (acento de anillo)</primary></indexterm> <indexterm role="fn"><primary>\capitalring</primary></indexterm> -<indexterm role="cp"><primary>anillo acento</primary></indexterm> -<para>Produce un anillo como acento, como en ‘o*’. +<indexterm role="cp"><primary>acento de anillo</primary></indexterm> +<para>o̊ Acento de anillo. </para> </listitem></varlistentry><varlistentry><term><literal>\t</literal> </term><term><literal>\capitaltie</literal> </term><term><literal>\newtie</literal> </term><term><literal>\capitalnewtie</literal> -</term><listitem><indexterm role="fn"><primary>\t (acento atadura con siguiente)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\t (ligadura después del acento)</primary></indexterm> <indexterm role="fn"><primary>\capitaltie</primary></indexterm> <indexterm role="fn"><primary>\newtie</primary></indexterm> <indexterm role="fn"><primary>\capitalnewtie</primary></indexterm> -<indexterm role="cp"><primary>atadura con siguiente acento</primary></indexterm> -<para>Produce una atadura con el siguiente como acento, como en -‘oo[’. La forma <literal>\newtie</literal> está centrada en su caja. +<indexterm role="cp"><primary>tie-después de acento</primary></indexterm> +<para>Tie después de acento (utilizado para transliterar del cirílico, como +en la romanización ALA-LC). Se espera que el argumento tenga dos +caracteres. La forma <literal>\newtie</literal> está centrada en su cuadro. </para> </listitem></varlistentry><varlistentry><term><literal>\u</literal> </term><term><literal>\capitalbreve</literal> -</term><listitem><indexterm role="fn"><primary>\u (breve acento)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\u (acento breve)</primary></indexterm> <indexterm role="fn"><primary>\capitalbreve</primary></indexterm> -<indexterm role="cp"><primary>breve acento</primary></indexterm> -<para>Produce un acento breve, como en ‘ŏ’. -</para> -</listitem></varlistentry><varlistentry><term><literal>\underbar</literal> -</term><listitem><indexterm role="fn"><primary>\underbar</primary></indexterm> -<indexterm role="cp"><primary>subrayado</primary></indexterm> -<para>No es exactamente un acento, este produce una barra en el argumento -texto. El argumento siempre se procesa en modo horizontal. La barra -siempre está en una posición fija en la línea base, por lo que cruza a -través de los trazos descendentes. Vea también <literal>\underline</literal> en -<link linkend="Miscel_00e1nea-Math">Miscelánea Math</link>. Vea también <literal>\b</literal> aquí antes +<indexterm role="cp"><primary>acento breve</primary></indexterm> +<para>ŏ Acento breve. </para> </listitem></varlistentry><varlistentry><term><literal>\v</literal> </term><term><literal>\capitalcaron</literal> -</term><listitem><indexterm role="fn"><primary>\v (breve acento)</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\v (acento breve)</primary></indexterm> <indexterm role="fn"><primary>\capitalcaron</primary></indexterm> -<indexterm role="cp"><primary>acento anticircunflejo</primary></indexterm> -<indexterm role="cp"><primary>anticircunflejo acento</primary></indexterm> -<indexterm role="cp"><primary>carón acento</primary></indexterm> -<para>Produce un acento háček (anticircunflejo, carón), como en ‘ǒ’. +<indexterm role="cp"><primary>hacek accent</primary></indexterm> +<indexterm role="cp"><primary>comprobar acento</primary></indexterm> +<indexterm role="cp"><primary>acento carón</primary></indexterm> +<para>acento de ǒ Háček (cheque, carón). </para> </listitem></varlistentry></variablelist> + +<sect2 label="23.5.1" id="_005caccent"> +<title><literal>\accent</literal></title> +<indexterm role="fn"><primary>\accent</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\accent <replaceable>number</replaceable> <replaceable>character</replaceable> +</screen> +<para>Un comando primitivo de &tex; utilizado para generar caracteres +acentuados a partir de acentos y letras. El acento es seleccionado por +<replaceable>number</replaceable>, un argumento numérico, seguido de un espacio y luego un +<replaceable>character</replaceable> argumento para construir el carácter acentuado en la +fuente actual. +</para> +<para>Estos son caracteres ‘<literal>e</literal>’ acentuados. +</para> +<screen>\accent18 e +\accent20 e +\accent21 e +\accent22 e +\accent23 e +</screen> +<para>El primero es un acento grave, el segundo un carón, el tercero un +breve, el cuarto un macrón, y el quinto un anillo arriba. +</para> +<para>La posición del acento la determina el diseñador de la fuente y, por +lo tanto, el resultado del uso de <literal>\accent</literal> puede diferir entre +las fuentes. En &latex; es deseable tener glifos para caracteres +acentuados en lugar de construirlos usando <literal>\accent</literal>. Usar glifos +que ya contienen los caracteres acentuados (como en la codificación +T1) permite la separación silábica correcta mientras que +<literal>\accent</literal> deshabilita la separación silábica (específicamente con +la codificación de fuente OT1 donde los glifos acentuados están +ausentes). +</para> +<para>Puede haber un cambio de fuente opcional entre <replaceable>number</replaceable> y +<replaceable>character</replaceable>. Ten en cuenta también que este comando establece el +<literal>\spacefactor</literal> a 1000 (véase <link linkend="_005cspacefactor">\spacefactor</link>). +</para> +<para>Una característica inevitable de algunas letras cirílicas y la mayoría +de las letras cirílicas acentuadas es que se deben ensamblar a partir +de múltiples elementos (acentos, modificadores, etc.) mientras +<literal>\accent</literal> proporciona un solo acento y una sola combinación de +letras. También hay casos en los que deben aparecer acentos entre +letras que \accent no admite. Aún existen otros casos en los que las +letras I y J tienen puntos sobre sus contrapartes minúsculas que +entran en conflicto con los acentos punteados. El uso de +<literal>\accent</literal> en estos casos no funcionará ya que no puede analizar +mayúsculas/minúsculas. +</para> + +</sect2> </sect1> -<sect1 label="22.4" id="Caracteres-no-Ingleses"> -<title>Caracteres no Ingleses</title> +<sect1 label="23.6" id="Letras-latinas-adicionales"> +<title>Letras latinas adicionales</title> +<anchor id="caracteres-no-ingleses"/><indexterm role="cp"><primary>letras latinas, adicional</primary></indexterm> +<indexterm role="cp"><primary>letras, latín adicional</primary></indexterm> +<indexterm role="cp"><primary>Latín extendido</primary></indexterm> <indexterm role="cp"><primary>caracteres especiales</primary></indexterm> -<indexterm role="cp"><primary>caracteres no Ingleses</primary></indexterm> -<indexterm role="cp"><primary>caracteres, no Ingleses</primary></indexterm> -<indexterm role="cp"><primary>letras, no Inglesas</primary></indexterm> +<indexterm role="cp"><primary>caracteres no ingleses</primary></indexterm> +<indexterm role="cp"><primary>caracteres, no ingleses</primary></indexterm> -<para>Estas son las instrucciones &latex; básicas para insertar los -caracteres más usados en idiomas distintos del Inglés. +<para>Estos son los comandos básicos de &latex; para insertar letras más +allá de A–Z que extienden el alfabeto latino, usados principalmente +en otros idiomas distintos al inglés. </para> -<variablelist> -<varlistentry><term><literal>\aa</literal> +<variablelist><varlistentry><term><literal>\aa</literal> </term><term><literal>\AA</literal> </term><listitem><indexterm role="fn"><primary>\aa (å)</primary></indexterm> <indexterm role="fn"><primary>\AA (Å)</primary></indexterm> -<indexterm role="cp"><primary>ash</primary></indexterm> +<indexterm role="cp"><primary>aring, un anillo</primary></indexterm> <para>å y Å. </para> </listitem></varlistentry><varlistentry><term><literal>\ae</literal> </term><term><literal>\AE</literal> </term><listitem><indexterm role="fn"><primary>\ae (æ)</primary></indexterm> <indexterm role="fn"><primary>\AE (Æ)</primary></indexterm> -<indexterm role="cp"><primary>ligadura ae</primary></indexterm> +<indexterm role="cp"><primary>ae ligadura</primary></indexterm> <para>æ y Æ. </para> </listitem></varlistentry><varlistentry><term><literal>\dh</literal> </term><term><literal>\DH</literal> -</term><listitem><indexterm role="fn"><primary>\dh (æ)</primary></indexterm> -<indexterm role="fn"><primary>\DH (Æ)</primary></indexterm> -<indexterm role="cp"><primary>islandés eth</primary></indexterm> +</term><listitem><indexterm role="fn"><primary>\dh (ð)</primary></indexterm> +<indexterm role="fn"><primary>\DH (Ð)</primary></indexterm> +<indexterm role="cp"><primary>eth islandesa</primary></indexterm> <indexterm role="cp"><primary>eth, letra islandesa</primary></indexterm> -<para>Letra eth islandesa: ð y Ð. +<para>Letra islandesa eth: ð y Ð. No disponible con codificación +OT1, necesitas el paquete <filename>fontenc</filename> para seleccionar una +codificación de fuentes alternativa, como T1. </para> </listitem></varlistentry><varlistentry><term><literal>\dj</literal> </term><term><literal>\DJ</literal> </term><listitem><indexterm role="fn"><primary>\dj</primary></indexterm> <indexterm role="fn"><primary>\DJ</primary></indexterm> -<para>xxxx +<para>d y D cruzadas, alias d mayúscula y minúscula con trazo. No +disponible con la codificación OT1, necesitas el paquete +<filename>fontenc</filename> para seleccionar una codificación de fuente +alternativa, como T1. </para> </listitem></varlistentry><varlistentry><term><literal>\ij</literal> </term><term><literal>\IJ</literal> </term><listitem><indexterm role="fn"><primary>\ij (ij)</primary></indexterm> <indexterm role="fn"><primary>\IJ (IJ)</primary></indexterm> -<indexterm role="cp"><primary>letra ij, Neerlandés</primary></indexterm> -<para>ij y IJ (salvo que un poco más juntas que como aparecen aquí). +<indexterm role="cp"><primary>ij letra, Holandés</primary></indexterm> +<para>ij e IJ (excepto algo más juntos de lo que aparece aquí). </para> </listitem></varlistentry><varlistentry><term><literal>\l</literal> </term><term><literal>\L</literal> </term><listitem><indexterm role="fn"><primary>\l (ł)</primary></indexterm> <indexterm role="fn"><primary>\L (Ł)</primary></indexterm> -<indexterm role="cp"><primary>l Polaca</primary></indexterm> +<indexterm role="cp"><primary>l polaco</primary></indexterm> <para>ł y Ł. </para> </listitem></varlistentry><varlistentry><term><literal>\ng</literal> </term><term><literal>\NG</literal> </term><listitem><indexterm role="fn"><primary>\ng</primary></indexterm> <indexterm role="fn"><primary>\NG</primary></indexterm> -<para>xxxx +<para>Letra lapona eng, también utilizada en fonética. </para> </listitem></varlistentry><varlistentry><term><literal>\o</literal> </term><term><literal>\O</literal> @@ -5988,802 +17759,3161 @@ caracteres más usados en idiomas distintos del Inglés. </term><term><literal>\OE</literal> </term><listitem><indexterm role="fn"><primary>\oe (œ)</primary></indexterm> <indexterm role="fn"><primary>\OE (Œ)</primary></indexterm> -<indexterm role="cp"><primary>oe ligadura</primary></indexterm> +<indexterm role="cp"><primary>ligadura oe</primary></indexterm> <para>œ y Œ. </para> </listitem></varlistentry><varlistentry><term><literal>\ss</literal> </term><term><literal>\SS</literal> </term><listitem><indexterm role="fn"><primary>\ss (ß)</primary></indexterm> <indexterm role="fn"><primary>\SS (SS)</primary></indexterm> -<indexterm role="cp"><primary>es-zet letra Alemana</primary></indexterm> -<indexterm role="cp"><primary>letras S afiladas</primary></indexterm> +<indexterm role="cp"><primary>es-zet Letra alemana</primary></indexterm> +<indexterm role="cp"><primary>letras S nítidas</primary></indexterm> <para>ß y SS. </para> </listitem></varlistentry><varlistentry><term><literal>\th</literal> </term><term><literal>\TH</literal> </term><listitem><indexterm role="fn"><primary>\th (þ)</primary></indexterm> <indexterm role="fn"><primary>\TH (Þ)</primary></indexterm> -<indexterm role="cp"><primary>espina Islandesa</primary></indexterm> -<indexterm role="cp"><primary>espina, letra Islandesa</primary></indexterm> -<para>Letra espina Islandesa: þ y Þ. +<indexterm role="cp"><primary>espina islandesa</primary></indexterm> +<indexterm role="cp"><primary>thorn, letra islandesa</primary></indexterm> +<para>Espina de letra islandesa: þ y Þ. No disponible con +codificación OT1, necesitas el paquete <filename>fontenc</filename> para +seleccionar una codificación de fuentes alternativa, como T1. </para> </listitem></varlistentry></variablelist> </sect1> -<sect1 label="22.5" id="_005crule"> +<sect1 label="23.7" id="paquete-inputenc"> +<title>paquete <literal>inputenc</literal></title> + +<indexterm role="fn"><primary>inputenc</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\usepackage[<replaceable>encoding-name</replaceable>]{inputenc} +</screen> +<para>Declara que la codificación de texto del archivo de entrada sea +<replaceable>encoding-name</replaceable>. De manera predeterminada, si este paquete no está +cargado, es UTF-8. Técnicamente, especificar el nombre de +codificación es opcional, pero en la práctica no es útil omitirlo. +</para> +<indexterm role="cp"><primary>codificación, archivos de entrada</primary></indexterm> +<indexterm role="cp"><primary>codificación de caracteres</primary></indexterm> +<indexterm role="cp"><primary>Unicode</primary></indexterm> +<para>En un archivo de ordenador, los caracteres se almacenan de acuerdo con +un esquema llamado <firstterm>codificación</firstterm>. Hay muchas codificaciones +diferentes. La más simple es ASCII, que admite 95 caracteres +imprimibles, no suficientes para la mayoría de los idiomas del +mundo. Por ejemplo, para componer un carácter de diéresis ‘<literal>ä</literal>’ +en un archivo fuente &latex; codificado en ASCII, se usa la secuencia +<literal>\"a</literal>. Esto crearía archivos fuente para cualquier cosa pero el +inglés es difícil de leer; incluso para el inglés, a menudo más +extenso que la codificación más conveniente. +</para> +<para>El estándar de codificación moderno, en cierto modo una unión de los +demás, es UTF-8, una de las representaciones de Unicode. Este es el +valor predeterminado para &latex; desde 2018. +</para> +<para>El paquete <literal>inputenc</literal> es cómo &latex; sabe qué codificación se +usó. Por ejemplo, el siguiente comando dice explícitamente que el +archivo de entrada es UTF-8 (ten en cuenta la falta de un guión). +</para> +<screen>\usepackage[utf8]{inputenc} +</screen> +<para>Precaución: usa <literal>inputenc</literal> solo con el motor pdf&tex; +(véase <link linkend="Motores-TeX">Motores &tex;</link>). (Los motores Xe&tex; y Lua&tex; asumen +que el archivo de entrada está codificado en UTF-8). Si invocas a +&latex; con ya sea el comando <command>xelatex</command> o el comando +<command>lualatex</command> e intentas declarar una codificación que no sea +UTF-8 con <literal>inputenc</literal>, como <literal>latin1</literal>, obtendrás el error +<literal>inputenc no está diseñado para xetex o luatex</literal>. +</para> +<para>Un error de paquete <literal>inputenc</literal> como <literal>Byte UTF-8 no válido +"96</literal> significa que parte del material en el archivo de entrada no +sigue el esquema de codificación. A menudo, estos errores provienen +de la copia de material de un documento que utiliza una codificación +diferente a la del archivo de entrada; Esta es una comilla izquierda +simple de una página web usando <literal>latin1</literal> dentro de un archivo de +entrada &latex; que usa UTF-8. La solución más sencilla es +reemplazar el carácter no UTF-8 con su equivalente UTF-8, o usar un +comando &latex; o carácter equivalente. +</para> +<indexterm role="fn"><primary>\inputencoding</primary></indexterm> +<anchor id="_005cinputencoding"/><para>En algunos documentos, como una colección de +artículos de revistas de una variedad de autores, cambiar la +codificación en medio del documento puede ser necesario. Usa el +comando <literal>\inputencoding{<replaceable>encoding-name</replaceable>}</literal>. Los valores más +comunes para <replaceable>encoding-name</replaceable> son: <literal>ascii</literal>, <literal>latin1</literal>, +<literal>latin2</literal>, <literal>latin3</literal>, <literal>latin4</literal>, <literal>latin5</literal>, +<literal>latin9</literal>, <literal>latin10</literal>, y <literal>utf8</literal>. +</para> + +</sect1> +<sect1 label="23.8" id="_005crule"> <title><literal>\rule</literal></title> + <indexterm role="fn"><primary>\rule</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: </para> -<screen>\rule[<replaceable>aumentar</replaceable>]{<replaceable>ancho</replaceable>}{<replaceable>espesor</replaceable>} +<screen>\rule{<replaceable>width</replaceable>}{<replaceable>thickness</replaceable>} +\rule[<replaceable>raise</replaceable>]{<replaceable>width</replaceable>}{<replaceable>thickness</replaceable>} </screen> -<para>La instrucción <literal>\rule</literal> produce <firstterm>reglas</firstterm>, que son, líneas o -rectángulos. Los argumentos son: +<para>Produce una <firstterm>regla</firstterm>, un rectángulo relleno. </para> -<variablelist><varlistentry><term><replaceable>aumentar</replaceable> -</term><listitem><para>Qué tanto aumentar la regla (opcional). +<indexterm role="cp"><primary>símbolo Halmos</primary></indexterm> +<indexterm role="cp"><primary>tombstone</primary></indexterm> +<para>Este ejemplo produce una mancha rectangular, a veces llamada símbolo +de Halmos, o simplemente “qed”, a menudo usado para marcar el final +de una prueba: </para> -</listitem></varlistentry><varlistentry><term><replaceable>ancho</replaceable> -</term><listitem><para>La longitud de la regla (obligatorio). +<screen>\newcommand{\qedsymbol}{\rule{0.4em}{2ex}} +</screen> +<indexterm role="cp"><primary>package, <literal>amsthm</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>amsthm</literal> package</primary></indexterm> + +<para>El paquete <literal>amsthm</literal> incluye este comando, con un símbolo de +aspecto poco diferente. +</para> +<para>Los argumentos obligatorios dan el <replaceable>width</replaceable> horizontal y el +vertical <replaceable>thickness</replaceable> del rectángulo. Son longitudes rígidas +(véase <link linkend="Longitudes">Longitudes</link>). El argumento opcional <replaceable>raise</replaceable> también es un +argumento rígido y le dice a &latex; cuánto elevar la regla por +encima de la línea base, o la baja si la longitud es negativa. +</para> +<para>Esto produce una línea, un rectángulo que es ancho pero no alto. +</para> +<screen>\noindent\rule{\textwidth}{0.4pt} +</screen> +<para>La línea es el ancho de la página y 0.4 puntos de altura. El +grosor esta línea es común en &latex;. +</para> +<para>Una regla que tenga cero ancho o cero espesor, no aparecerá en la +salida, pero puede hacer que &latex; cambie la salida a su alrededor. +Véase <link linkend="_005cstrut">\strut</link>, por ejemplo. </para> -</listitem></varlistentry><varlistentry><term><replaceable>espesor</replaceable> -</term><listitem><para>El espesor de la regla (obligatorio). -</para></listitem></varlistentry></variablelist> </sect1> -<sect1 label="22.6" id="_005ctoday"> +<sect1 label="23.9" id="_005ctoday"> <title><literal>\today</literal></title> + <indexterm role="fn"><primary>\today</primary></indexterm> +<indexterm role="cp"><primary>fecha, de hoy</primary></indexterm> +<indexterm role="cp"><primary>la fecha de hoy</primary></indexterm> -<para>La instrucción <literal>\today</literal> produce la fecha de hoy, en formato -‘<literal><replaceable>mes</replaceable> <replaceable>dd</replaceable>, <replaceable>aaaa</replaceable></literal>’; por ejemplo, ‘Julio 04 1976’. -Utiliza los contadores predefinidos <literal>\day</literal>, <literal>\month</literal>, y -<literal>\year</literal> (véase <link linkend="_005cday-_005cmonth-_005cyear">\day \month \year</link>) para hacerlo. No se actualiza -cuando se ejecuta el programa. +<para>Sinopsis: </para> -<indexterm role="cp"><primary>paquete <literal>datetime</literal></primary></indexterm> -<para>El paquete <literal>datetime</literal>, entre otros, puede producir una amplia -variedad de formatos de fecha. +<screen>\today +</screen> +<para>Produce la fecha de hoy en el formato ‘<literal><replaceable>mes</replaceable> <replaceable>dd</replaceable>, +<replaceable>yyyy</replaceable></literal>’. Un ejemplo de una fecha en ese formato es ‘<literal>julio 4, +1976</literal>’. +</para> +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm> +<para>Paquetes multilingües como +<literal>babel</literal> o <literal>polyglossia</literal>, o clases como <filename>lettre</filename>, +localizarán <literal>\today</literal>. Por ejemplo, lo siguiente generará +‘<literal>julio 4, 1976</literal>’: +</para> +<screen>\year=1976 \month=7 \day=4 +\documentclass{minimal} +\usepackage[french]{babel} +\begin{document} +\today +\end{document} +</screen> +<para><literal>\today</literal> utiliza los contadores <literal>\day</literal>, <literal>\month</literal> y +<literal>\year</literal> (véase <link linkend="_005cday-_002d-_005cmonth-y-_005cyear">\day - \month y \year</link>). +</para> +<indexterm role="cp"><primary>package, <literal>datetime</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>datetime</literal> package</primary></indexterm> +<para>Varios paquetes en CTAN funcionan con fechas. Uno +es el paquete <literal>datetime</literal> que puede producir una amplia +variedad de formatos de fecha, incluidos los estándares ISO. +</para> +<para>La fecha no se actualiza mientras se ejecuta el proceso &latex;, por +lo que, en principio, la fecha podría ser incorrecta para cuando +finalice el programa. </para> </sect1> </chapter> -<chapter label="23" id="Dividiendo-la-Entrada"> -<title>Dividiendo la Entrada</title> -<indexterm role="cp"><primary>dividiendo el archivo de entrada</primary></indexterm> +<chapter label="24" id="Dividir-la-entrada"> +<title>Dividir la entrada</title> + +<indexterm role="cp"><primary>dividir el archivo de entrada</primary></indexterm> <indexterm role="cp"><primary>archivo de entrada</primary></indexterm> -<para>Un documento de gran tamaño requiere una gran cantidad de insumos. En -lugar de poner toda la entrada en un único archivo de gran tamaño, es -más eficiente dividirlo en varios más pequeños. Independientemente del -número de archivos separados que utilice, hay uno que es el archivo -raíz; este es cuyo nombre se escribe cuando se ejecuta &latex;. +<para>&latex; te permite dividir un documento grande en varios pequeños. +Esto puede simplificar la edición o permitir que varios autores +trabajen en el documento. También puede acelerar el procesamiento. +</para> +<para>Independientemente de cuántos archivos independientes utilices, +siempre hay uno +<indexterm role="cp"><primary>archivo raíz</primary></indexterm> +<indexterm role="cp"><primary>archivo, raíz</primary></indexterm> +<firstterm>archivo raíz</firstterm>, en el que comienza la compilación de &latex;. +Esto muestra tal archivo con cinco archivos incluidos. </para> +<screen>\documentclass{book} +\includeonly{ % comenta las líneas a continuación para omitir la + % compilación + pref, + chap1, + chap2, + append, + bib + } +\begin{document} +\frontmatter +\include{pref} +\mainmatter +\include{chap1} +\include{chap2} +\appendix +\include{append} +\backmatter +\include{bib} +\end{document} +</screen> +<para>Esto traerá material de <filename>pref.tex</filename>, <filename>chap1.tex</filename>, +<filename>chap2.tex</filename>, <filename>append.tex</filename> y <filename>bib.tex</filename>. Si compilas +este archivo, y luego comentas todas las líneas dentro +<literal>\includeonly{...}</literal> a excepción de <literal>chap1</literal>, y vuelve a +compilar, entonces &latex; solo procesará el material del primer +capítulo. Por lo tanto, tu salida aparecerá más rápidamente y será +más breve para imprimir. Sin embargo, la ventaja del comando +<literal>\includeonly</literal> es que &latex; conservará la información de los +números de página y todas las referencias cruzadas de las otras partes +del documento para que estas aparezcan correctamente en tu salida. +</para> +<para>Véase <link linkend="Plantilla-de-libro-Larger">Plantilla de libro Larger</link>, para otro ejemplo de +<literal>\includeonly</literal>. +</para> + + + +<sect1 label="24.1" id="_005cendinput"> +<title><literal>\endinput</literal></title> -<sect1 label="23.1" id="_005cinclude"> -<title><literal>\include</literal></title> -<indexterm role="fn"><primary>\include</primary></indexterm> +<indexterm role="fn"><primary>\endinput</primary></indexterm> <para>Sinopsis: </para> -<screen>\include{<replaceable>archivo</replaceable>} +<screen>\endinput </screen> -<para>No hay presente una instrucción <literal>\includeonly</literal>, la instrucción -<literal>\include</literal> executa <literal>\clearpage</literal> para iniciar una nueva página -(véase <link linkend="_005cclearpage">\clearpage</link>), entonces lee el <replaceable>archivo</replaceable>, y luego hace otro -<literal>\clearpage</literal>. -</para> -<para>Dada una instrucción <literal>\includeonly</literal>, las acciones <literal>\include</literal> -únicamente se ejecutan si <replaceable>archivo</replaceable> está listado como un argumento -para <literal>\includeonly</literal>. Consulte la siguiente sección. -</para> -<indexterm role="cp"><primary><literal>\include</literal> anidada, no se permite</primary></indexterm> -<para>La instrucción <literal>\include</literal> no puede aparecer en el preámbulo o en un -archivo leído por otra instrucción <literal>\include</literal>. +<para>Cuando <literal>\include{filename}</literal>, dentro de <filename>filename.tex</filename> el +material después de <literal>\endinput</literal> no se incluirá. Este comando es +opcional; si <filename>filename.tex</filename> no tiene <literal>\endinput</literal> entonces +&latex; leerá todo el archivo. +</para> +<para>Por ejemplo, supón que el archivo raíz de un documento tiene +<literal>\input{chap1}</literal> y este es <filename>chap1.tex</filename>. +</para> +<screen>\chapter{Uno} +Este material aparecerá en el documento. +\endinput +Esto no aparecerá. +</screen> +<para>Esto puede ser útil para poner documentación o comentarios al final de +un archivo, o para evitar caracteres basura que se pueden agregar si +el archivo es transmitido en el cuerpo de un correo electrónico. +También es útil para depurar: una estrategia para localizar errores +es poner <literal>\endinput</literal> a mitad del camino a través del archivo +incluido y ver si el error desaparece. Ahora, sabiendo qué mitad +contiene el error, mover el <literal>\endinput</literal> a la mitad a través de +esa área reduce aún más la ubicación. Este proceso encuentra +rápidamente la línea infractora. +</para> +<para>Después de leer <literal>\endinput</literal>, &latex; continúa leyendo hasta el +final de la línea, por lo que algo puede seguir este comando y ser +leído, no obstante. Esto te permite, por ejemplo, cerrar un +<literal>\if...</literal> con un <literal>\fi</literal>. </para> </sect1> -<sect1 label="23.2" id="_005cincludeonly"> -<title><literal>\includeonly</literal></title> +<sect1 label="24.2" id="_005cinclude-e-_005cincludeonly"> +<title><literal>\include</literal> e <literal>\includeonly</literal></title> + +<anchor id="_005cinclude"/><anchor id="_005cincludeonly"/><indexterm role="fn"><primary>\include</primary></indexterm> <indexterm role="fn"><primary>\includeonly</primary></indexterm> <para>Sinopsis: </para> -<screen>\includeonly{<replaceable>archivo1</replaceable>,<replaceable>archivo2</replaceable>,...} +<screen>\includeonly{ % en el preámbulo del documento + ... + <replaceable>filename</replaceable>, + ... + } + ... +\include{<replaceable>filename</replaceable>} % en el cuerpo del documento </screen> -<para>La instrucción <literal>\includeonly</literal> controla cuales archivos se deben -leer en subsecuentes instrucciones <literal>\include</literal>. La lista de nombres -de archivo se separa con comas. Cada <replaceable>archivo</replaceable> debe coincidir -exactamente con un nombre de archivo especificado en una instrucción -<literal>\include</literal> para una selección eficaz. +<para>Lleva material del archivo externo <filename><replaceable>filename</replaceable>.tex</filename> a un +documento &latex;. +</para> +<para>El comando <literal>\include</literal> hace tres cosas: ejecuta <literal>\clearpage</literal> +(véase <link linkend="_005cclearpage-y-_005ccleardoublepage">\clearpage y \cleardoublepage</link>), entonces ingresa el material +de <filename><replaceable>filename</replaceable>.tex</filename> en el documento, y luego hace otro +<literal>\clearpage</literal>. Este comando solo puede aparecer en el cuerpo del +documento. </para> -<para>Esta instrucción únicamente puede aparecer en el preámbulo. +<para>El comando <literal>\includeonly</literal> controla qué archivos leerá &latex; +bajo los siguientes comandos <literal>\include</literal>. Su lista de los nombres +de archivo están separados por comas. Debe aparecer en el preámbulo o +incluso anterior, por ejemplo, la línea de comandos; no puede aparecer +en el cuerpo del documento. +</para> +<para>Este documento raíz de ejemplo, <filename>constitution.tex</filename>, trae tres +archivos, <filename>preamble.tex</filename>, <filename>articles.tex</filename> y +<filename>enmiendas.tex</filename>. +</para> +<screen>\documentclass{book} +\includeonly{ + preamble, + articles, + amendments + } +\begin{document} +\include{preamble} +\include{articles} +\include{amendments} +\end{document} +</screen> +<para>El archivo <filename>preamble.tex</filename> no contiene ningún código especial; +justamente tienes un extracto del capítulo <filename>constitution.tex</filename> y +lo pones en un archivo separado solo por conveniencia de edición. +</para> +<screen>\chapter{Preamble} + +Nosotros, el Pueblo de los Estados Unidos, con el fin de formar una +Unión más perfecta, ... +</screen> +<para>Ejecutar &latex; en <filename>constitution.tex</filename> hace que el material de +tres archivos aparezca en el documento pero también genera los +archivos auxiliares <filename>preamble.aux</filename>, <filename>articles.aux</filename> y +<filename>enmiendas.aux</filename>. Estos contienen información como números de +página (véase <link linkend="Referencias-cruzadas">Referencias cruzadas</link>). Si ahora comentas líneas de +<literal>\includeonly</literal> con <literal>preámbulo</literal> y <literal>enmiendas</literal> y ejecuta +&latex; nuevamente, el documento resultante muestra solo el material +de <filename>articles.tex</filename>, no el material de <filename>preamble.tex</filename> o +<filename>amendments.tex</filename>. No obstante, toda la información de los +archivos auxiliares omitidos todavía está allí, incluyendo el número +de página inicial del capítulo. +</para> +<para>Si el preámbulo del documento no tiene <literal>\includeonly</literal> entonces +&latex; incluirá todos los archivos que solicites con comandos +<literal>\include</literal>. +</para> +<para>El comando <literal>\include</literal> crea una nueva página. Para evitarlo, +consulta <link linkend="_005cinput">\input</link> (que, sin embargo, no retiene la información +auxiliar). +</para> +<para>Véase <link linkend="Plantilla-de-libro-Larger">Plantilla de libro Larger</link>, para otro ejemplo usando +<literal>\include</literal> e <literal>\includeonly</literal>. Ese ejemplo también usa +<literal>\input</literal> para algún material que no necesariamente comenzará en +una nueva página. +</para> +<para>Los nombres de archivo pueden incluir rutas. +</para> +<screen>\documentclass{book} +\includeonly{ + chapters/chap1, + } +\begin{document} +\include{chapters/chap1} +\end{document} +</screen> +<para>Para que tu documento sea portátil entre distribuciones y plataformas, +debes evitar espacios en los nombres de los archivos. La tradición es +usar en su lugar guiones o guiones bajos. No obstante, para el nombre +‘<literal>amo amas amat</literal>’, esto funciona bajo &tex; Live en GNU/Linux: +</para> +<indexterm role="fn"><primary>\space</primary></indexterm> +<screen>\documentclass{book} +\includeonly{ + "amo\space amas\space amat" + } +\begin{document} +\include{"amo\space amas\space amat"} +\end{document} +</screen> +<para>y esto funciona bajo MiK&tex; en Windows: +</para> +<screen>\documentclass{book} +\includeonly{ + {"amo amas amat"} + } +\begin{document} +\include{{"amo amas amat"}} +\end{document} +</screen> +<indexterm role="cp"><primary><literal>\include</literal> anidado, no permitido</primary></indexterm> +<para>No puedes usar <literal>\include</literal> dentro de un archivo que se está +incluyendo u obtienes ‘<literal>Error LaTeX: \include no se puede anidar.</literal>’ +El comando <literal>\include</literal> no puede aparecer en el preámbulo del +documento; vas a obtener ‘<literal>Error de LaTeX: Falta +\begin{document}</literal>’. +</para> +<para>Si un archivo que <literal>\include</literal> no existe, por ejemplo, si +<literal>\include{athiesm}</literal> pero quisiste decir +<literal>\include{atheism}</literal>, entonces &latex; no te da un error pero +te avisa ‘<literal>No hay archivo athiesm.tex.</literal>’ (También creará +<filename>athiesm.aux</filename>). +</para> +<para>Si <literal>\include</literal> el archivo raíz en sí mismo, primero obtienes +‘<literal>Error de LaTeX: solo se puede usar en el preámbulo.</literal>’ Las +ejecuciones posteriores obtienen ‘<literal>Capacidad excedida de TeX, lo +siento [text input levels=15]</literal>’. Arreglar esto, debe eliminar la +inclusión <literal>\include{<replaceable>root</replaceable>}</literal> pero también elimina el +archivo <filename><replaceable>root</replaceable>.aux</filename> y vuelve a ejecutar &latex;. </para> </sect1> -<sect1 label="23.3" id="_005cinput"> +<sect1 label="24.3" id="_005cinput"> <title><literal>\input</literal></title> + <indexterm role="fn"><primary>\input</primary></indexterm> <para>Sinopsis: </para> -<screen>\input{<replaceable>archivo</replaceable>} +<screen>\input{<replaceable>filename</replaceable>} </screen> -<para>La instrucción <literal>\input</literal> provoca que el <replaceable>archivo</replaceable> especificado -sea leído y procesado, tal como si su contendido se hubiera insertado en -ese punto en el archivo actual. +<para>&latex; procesa el archivo como si su contenido estuviera insertado +en el archivo actual. Para un mecanismo de inclusión más sofisticado +<link linkend="_005cinclude-e-_005cincludeonly">\include e \includeonly</link>. </para> -<para>Si <replaceable>archivo</replaceable> no termina en ‘<literal>.tex </literal>’ (por ejemplo, ‘<literal>foo</literal>’ o -‘<literal>foo.bar</literal>’), primero se intenta con esa extensión (‘<literal>foo.tex</literal>’ o -‘<literal>foo.bar.tex</literal>’). Si no se encuentra, el <replaceable>archivo</replaceable> original se -intenta con (‘<literal>foo</literal>’ o ‘<literal>foo.bar</literal>’). +<para>Si <replaceable>filename</replaceable> no termina en ‘<literal>.tex</literal>’ entonces &latex; primero +intenta el nombre del archivo con esa extensión; este es el caso +habitual. Si <replaceable>filename</replaceable> termina con ‘<literal>.tex</literal>’ luego &latex; +busca el nombre de archivo tal como es. </para> +<para>Por ejemplo, este +</para> +<screen>\input{macros} +</screen> +<para>hará que &latex; busque primero <filename>macros.tex</filename>. Si encuentra ese +archivo, entonces procesa su contenido como si hubiera sido copiar y +pegar. Si no hay ningún archivo con el nombre <filename>macros.tex</filename>, +entonces &latex; intenta el nombre <filename>macros</filename>, sin +extensión. (Esto puede variar según la distribución). +</para> +<para>Para que tu documento sea portátil entre distribuciones y plataformas, +debes evitar espacios en los nombres de los archivos. La tradición es +usar en su lugar guiones o guiones bajos. No obstante, para el nombre +‘<literal>amo amas amat</literal>’, esto funciona bajo &tex; Live en GNU/Linux: +</para> +<indexterm role="fn"><primary>\space</primary></indexterm> +<screen>\input{"amo\space amas\space amat"} +</screen> +<para>y esto funciona bajo MiK&tex; en Windows: +</para> +<screen>\input{{"amo amas amat"}} +</screen> </sect1> </chapter> -<chapter label="24" id="Asuntos-de-Portada_002fContraportada"> -<title>Asuntos de Portada/Contraportada</title> - +<chapter label="25" id="Material-de-portada_002fcontraportada"> +<title>Material de portada/contraportada</title> -<sect1 label="24.1" id="Tablas-de-Contenido"> -<title>Tablas de Contenido</title> +<!-- sin coma en el nombre del nodo porque Texinfo no lo admite tan --> +<!-- bien. --> +<sect1 label="25.1" id="Tabla-de-contenido-etc_002e"> +<title>Tabla de contenido, lista de figuras, lista de tablas</title> -<indexterm role="cp"><primary>tabla de contenido, creando</primary></indexterm> +<indexterm role="cp"><primary>tabla de contenido, crear</primary></indexterm> <indexterm role="fn"><primary>\tableofcontents</primary></indexterm> -<para>Se produce una tabla de contenido con la instrucción -<literal>\tableofcontents</literal>. Usted pone la instrucción adecuada donde desea -que aparezca la tabla de contenido; &latex; hace el resto para usted. -Una ejecución previa habrá generado un archivo <filename>.toc</filename>. -</para> -<para>La instrucción <literal>\tableofcontents</literal> produce una sección, pero no -inicia una nueva página automáticamente. Si desea una nueva página -después de la tabla de contenido, escriba una instrucción código -<literal>\newpage</literal> después de la instrucción <literal>\tableofcontents</literal>. -</para> +<indexterm role="fn"><primary>.toc archivo</primary></indexterm> <indexterm role="fn"><primary>\listoffigures</primary></indexterm> <indexterm role="fn"><primary>\listoftables</primary></indexterm> -<para>Las instrucciones análogas <literal>\listoffigures</literal> y <literal>\listoftables</literal> -producen una lists de figuras y una lista de tablas, respectivamente. -Cada una funciona exactamente igual que la tabla de contenido. +<indexterm role="fn"><primary>archivo .lof</primary></indexterm> +<indexterm role="fn"><primary>.lot archivo</primary></indexterm> + +<para>Sinopsis, una de: </para> -<indexterm role="fn"><primary>\nofiles</primary></indexterm> -<para>La instrucción <literal>\nofiles</literal> reemplaza estas instrucciones, e -<emphasis>impide</emphasis> que se genere cualquiera de estas listas. +<screen>\tableofcontents +\listoffigures +\listoftables +</screen> +<para>Produce una tabla de contenido, o una lista de figuras, o una lista de +tablas. Pon el comando en el archivo de entrada donde deseas que se +coloque la tabla o la lista. No escribas las entradas; por ejemplo, +normalmente las entradas de la tabla de contenido se genera +automáticamente a partir de los comandos de seccionado +<literal>\chapter</literal>, etc. +</para> +<para>Este ejemplo ilustra el primer comando, <literal>\tableofcontents</literal>. +&latex; producirá una tabla de contenido en la primera página del +libro. +</para> +<screen>\documentclass{book} +% \setcounter{tocdepth}{1} +\begin{document} +\tableofcontents\newpage + ... +\chapter{...} + ... +\section{...} + ... +\subsection{...} + ... +\end{document} +</screen> +<para>Descomentar la segunda línea haría que esa tabla contuviera los +listados de capítulos y secciones, pero no listados de subsecciones, +porque el comando <literal>\section</literal> tiene nivel 1. +Véase <link linkend="Seccionado">Seccionado</link>, para nivel números de las unidades de corte. Para +obtener más información sobre el <literal>tocdepth</literal> +véase <link linkend="Seccionado_002ftocdepth">Seccionado/tocdepth</link>. +</para> +<para>Otro ejemplo del uso de <literal>\tableofcontents</literal> está en <link linkend="Plantilla-de-libro-Larger">Plantilla +de libro Larger</link>. +</para> +<para>Si deseas un salto de página después de la tabla de contenido, escribe +un comando <literal>\newpage</literal> después del comando +<literal>\tableofcontents</literal>, como arriba. +</para> +<para>Para hacer la tabla de contenido, &latex; almacena la información en +un archivo auxiliar llamado <filename><replaceable>root-file</replaceable>.toc</filename> (véase <link linkend="Dividir-la-entrada">Dividir +la entrada</link>). Por ejemplo, este archivo &latex; <filename>test.tex</filename> +</para> +<screen>\documentclass{article} +\begin{document} +\tableofcontents\newpage +\section{Primera sección} +\subsection{Primera subsección} + ... +</screen> +<para>escribe estas líneas en <filename>test.toc</filename>. +</para> +<screen>\contentsline {section}{\numberline {1}Primera sección}{2} +\contentsline {subsection}{\numberline {1.1}Primera + subsección}{2} +</screen> +<indexterm role="fn"><primary>\contentsline</primary></indexterm> +<para>Cada línea contiene un solo comando, <literal>\contentsline</literal> +(véase <link linkend="_005ccontentsline">\contentsline</link>). El primer argumento, el <literal>section</literal> o +<literal>subsection</literal>, es la unidad de seccionamiento. El segundo +argumento tiene dos componentes. El gancho <literal>\numberline</literal> +determina cómo el número de sección, <literal>1</literal> o <literal>1.1</literal>, aparece en +la tabla de contenido (véase <link linkend="_005cnumberline">\numberline</link>). El resto del segundo +argumento de <literal>\contentsline</literal>, ‘<literal>Primera sección</literal>’ o +‘<literal>Primera subsección</literal>’, es el texto del título de la sección. +Finalmente, el tercer argumento, ‘<literal>2</literal>’, es el número de página en +el que comienza esta unidad de seccionado. +</para> +<para>Para componer estas líneas, la clase “document” proporciona +<literal>\l@<replaceable>section-unit</replaceable></literal> comandos como +<literal>\l@section{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}</literal> y +<literal>\l@subsection{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>}</literal>. Estos +comandos a menudo usan el comando <literal>\@dottedtocline</literal> +(véase <link linkend="_005c_0040dottedtocline">\@dottedtocline</link>). +</para> +<para>Una consecuencia de la estrategia de &latex; de usar archivos +auxiliares es que para obtener la información correcta en el documento +debes ejecutar &latex; dos veces, una vez para almacenar la +información y la segunda vez para recuperarla. En el curso normal de +escribir un documento los autores ejecutan &latex; un número de +veces, pero puedes notar que la primera vez que compilas un nuevo +documento, la página de la tabla de contenido estará vacía excepto por +su encabezado ‘<literal>Contenido</literal>’. Simplemente ejecuta &latex; de +nuevo. +</para> +<para>Los comandos <literal>\listoffigures</literal> y <literal>\listoftables</literal> producen un +lista de figuras y lista de tablas. Su información se almacena en +archivos con extensión <filename>.lof</filename> y <filename>.lot</filename>. Funcionan de la +misma manera como <literal>\tableofcontents</literal> pero este último es más +común, así que lo usamos para la mayoría de los ejemplos. +</para> +<para>Puede agregar material manualmente a la tabla de contenido, la lista +de figuras y la lista de tablas. Por ejemplo, agrega una línea sobre +un sección a la tabla de contenido con +<literal>\addcontentsline{toc}{section}{<replaceable>text</replaceable>}</literal>. +(véase <link linkend="_005caddcontentsline">\addcontentsline</link>). Agregar material arbitrario, es decir, +sin línea material, con <literal>\addtocontents</literal>, como con el comando +<literal>\addtocontents{lof}{\protect\vspace{2ex}}</literal>, que agrega +espacio vertical a la lista de figuras (véase <link linkend="_005caddtocontents">\addtocontents</link>). +</para> +<para>Líneas en la tabla de contenido, la lista de figuras y la lista de +tablas, tienen cuatro partes. Primero es una sangría. A continuación +hay una caja en la que se colocan números de seccionado, y luego el +tercer recuadro contiene el título del texto, como ‘<literal>Primera +sección</literal>’. Finalmente hay una caja contra el margen derecho, dentro de +la cual &latex; pone el cuadro del número de página. Para la sangría +y el ancho del cuadro numérico, véase <link linkend="_005c_0040dottedtocline">\@dottedtocline</link>. El cuadro +del margen derecho tiene ancho <literal>\@tocrmarg</literal> y el número de +página está justo en ese espacio, dentro de un cuadro de ancho +<literal>\@pnumwidth</literal>. De manera predeterminada <literal>\@tocrmarg</literal> es +<literal>2.55em</literal> y <literal>\@pnumwidth</literal> es <literal>1.55em</literal>. Cámbialos como +con <literal>\renewcommand{\@tocrmarg}{3.5em}</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>tocloft</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tocloft</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>tocbibbind</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tocbibbind</literal> package</primary></indexterm> +<para>CTAN tiene muchos paquetes +para la tabla de contenido y listas de figuras y tablas +(véase <link linkend="CTAN">CTAN</link>). El paquete <literal>tocloft</literal> es conveniente para +ajustar algunos aspectos del valor predeterminado, como el espaciado. +Y, <literal>tocbibbind</literal> agregará automáticamente la bibliografía, +índice, etc. a la tabla de contenido. +</para> +<para>Para cambiar el encabezado de la página de la tabla de contenido, haz +algo como estos comandos antes de llamar a <literal>\tableofcontents</literal>, +etc. +</para> +<screen>\renewcommand{\contentsname}{Tabla de contenido} +\renewcommand{\listfigurename}{Traza} +\renewcommand{\listtablename}{especificaciones} +</screen> +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm> +<para>Paquetes de +internacionalización como <literal>babel</literal> o <literal>polyglossia</literal> +cambiará estos encabezados según el idioma base elegido. +</para> + + +<sect2 label="25.1.1" id="_005c_0040dottedtocline"> +<title><literal>\@dottedtocline</literal></title> + +<indexterm role="fn"><primary>\@dottedtocline</primary></indexterm> +<indexterm role="cp"><primary>entrada de tabla de contenido, crea línea punteada</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\@dottedtocline{<replaceable>section-level-num</replaceable>}{<replaceable>indent</replaceable>}{<replaceable>numwidth</replaceable>}{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>} +</screen> +<para>Usado internamente por &latex; para formatear una línea de entrada en +la tabla de contenido, lista de figuras o lista de tablas. Los +autores no ingresan directamente los comandos <literal>\@dottedtocline</literal>. +</para> +<para>Este comando suele utilizarlo <literal>\l@section</literal>, +<literal>\l@subsection</literal>, etc., para dar formato a las líneas de +contenido. Por ejemplo, el archivo <filename>article.cls</filename> contiene estas +definiciones: +</para> +<screen>\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +</screen> +<para>En este ejemplo, <literal>\@dottedcline</literal> parece haber recibido solo tres +argumentos. Pero rastrear el código interno muestra que recoge los +argumentos finales <replaceable>text</replaceable> y <replaceable>pagenumber</replaceable> en la sinopsis desde +una llamada a <literal>\contentsline</literal> (véase <link linkend="_005ccontentsline">\contentsline</link>). +</para> +<indexterm role="cp"><primary>líderes, punteados en la tabla de contenido</primary></indexterm> +<para>Entre el cuadro para el texto del título de una sección y el cuadro +del margen derecho, estos comandos <literal>\@dottedtocline</literal> insertan +<firstterm>líderes punteados</firstterm>, es decir, puntos espaciados uniformemente El +espacio de punto a punto viene dado por el comando <literal>\@dotsep</literal>. +De manera predeterminada es 4.5 (está en unidades matemáticas, también +conocido como <literal>mu</literal>, que son <literal>1/18</literal> em. Cámbialo +usando <literal>\renewcommand</literal>, como en +<literal>\renewcommand{\@dotsep}{3.5}</literal>. +</para> +<para>En la clase <filename>book</filename> estándar, &latex; no usa líderes punteados +para las entradas de la tabla Part y Chapter, y en la clase +<filename>article</filename> estándar no usa líderes punteados para las entradas de +la sección. </para> +</sect2> +<sect2 label="25.1.2" id="_005caddcontentsline"> +<title><literal>\addcontentsline</literal></title> -<sect2 label="24.1.1" id="_005caddcontentsline"> -<title>\addcontentsline</title> -<indexterm role="fn"><primary>\addcontentsline{<replaceable>exto</replaceable>}{<replaceable>unidad</replaceable>}{<replaceable>texto</replaceable>}</primary></indexterm> -<indexterm role="cp"><primary>tabla de contenido, agregando manualmente</primary></indexterm> +<indexterm role="fn"><primary>\addcontentsline</primary></indexterm> +<indexterm role="cp"><primary>entrada de la tabla de contenido, agregar manualmente</primary></indexterm> -<para>La instrucción -<literal>\addcontentsline</literal>{<replaceable>extensión</replaceable>}{<replaceable>undad</replaceable>}{<replaceable>texto</replaceable>} -añade una entrada a la lista o tabla donde: +<para>Sinopsis: </para> -<variablelist><varlistentry><term><replaceable>extensión</replaceable> -</term><listitem><para>La extensión del archivo en el que se va a escribir la información, por -lo general una de: <literal>toc</literal> (tabla de contenido), <literal>lof</literal> (lista de -figuras) o <literal>lot</literal> (lista de tablas). +<screen>\addcontentsline{<replaceable>ext</replaceable>}{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>} +</screen> +<indexterm role="fn"><primary>\contentsline</primary></indexterm> +<para>Agrega una entrada al archivo auxiliar con extensión <replaceable>ext</replaceable>. </para> -</listitem></varlistentry><varlistentry><term><replaceable>unidad</replaceable> -</term><listitem><para>El nombre de la unidad de sección a añadir, normalmente una de las -siguientes, coincidiendo con el valor del argumento <replaceable>extensión</replaceable>: +<para>Lo siguiente resultará en una línea ‘<literal>Apéndices</literal>’ en la tabla de +contenido. +</para> +<screen>\addcontentsline{toc}{section}{\protect\textbf{Apéndices}} +</screen> +<para>Aparecerá al mismo nivel de sangría que las secciones, estará en +negrita, y se le asignará el número de página asociado con el punto +donde aparece el comando en el archivo de entrada. +</para> +<para>El comando <literal>\addcontentsline</literal> escribe información en el archivo +<filename><replaceable>root-name</replaceable>.<replaceable>ext</replaceable></filename>, donde <replaceable>root-name</replaceable> es el nombre +del archivo raíz (véase <link linkend="Dividir-la-entrada">Dividir la entrada</link>). Escribe que +información como el texto del comando +<literal>\contentsline{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}{<replaceable>num</replaceable>}</literal>, dónde +<literal><replaceable>num</replaceable></literal> es el valor actual del contador <literal><replaceable>unit</replaceable></literal> +(véase <link linkend="_005ccontentsline">\contentsline</link>). El caso más común es la tabla de contenido y +allí <replaceable>num</replaceable> es el número de página de la primera página de +<replaceable>unit</replaceable>. +</para> +<para>Este comando es invocado por los comandos de seccionado +<literal>\chapter</literal>, etc. (véase <link linkend="Seccionado">Seccionado</link>), y también por +<literal>\caption</literal> dentro de un entorno flotante (véase <link linkend="Flotantes">Flotantes</link>). +Pero también lo utilizan directamente los autores. Por ejemplo, un +autor que escribe un libro cuyo estilo es tener un prefacio sin +numerar puede usar el <literal>\chapter*</literal> con asterisco. Pero ese +comando omite la información de la tabla de contenido, que se puede +ingresar manualmente, como aquí. +</para> +<screen>\chapter*{Preface} +\addcontentsline{toc}{chapter}{\protect\numberline{}Prefacio} +</screen> +<para>En el archivo <filename><replaceable>root-name</replaceable>.toc</filename> &latex; pondrá la línea +<literal>\contentsline {chapter}{\numberline {}Prefacio}{3}</literal>; +nota que el número de página ‘<literal>3</literal>’ es generado automáticamente por +el sistema, no ingresado manualmente. +</para> +<para>Todos los argumentos para <literal>\addcontentsline</literal> son obligatorios. +</para> +<variablelist><varlistentry><term><replaceable>ext</replaceable> +</term><listitem><para>Por lo general, una de las cadenas <literal>toc</literal> para la tabla de +contenido, <literal>lof</literal> para la lista de figuras, o <literal>lot</literal> para la +lista de tablas. La extensión del nombre de archivo del archivo de +información. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>unit</replaceable> +</term><listitem><para>Una cadena que depende del valor del argumento <replaceable>ext</replaceable>, normalmente +una de: </para> <variablelist><varlistentry><term><literal>toc</literal> -</term><listitem><para>El nombre de la unidad de sección: <literal>part</literal>, <literal>chapter</literal>, -<literal>section</literal>, <literal>subsection</literal>, <literal>subsubsection</literal>. -</para></listitem></varlistentry><varlistentry><term><literal>lof</literal> -</term><listitem><para>Para la lista de figuras. -</para></listitem></varlistentry><varlistentry><term><literal>lot</literal> -</term><listitem><para>Para la lista de tablas. +</term><listitem><para>Para la tabla de contenido, este es el nombre de una unidad seccional: +<literal>part</literal>, <literal>chapter</literal>, <literal>section</literal>, <literal>subsection</literal>, etc. +</para> +</listitem></varlistentry><varlistentry><term><literal>lof</literal> +</term><listitem><para>Para la lista de figuras: <literal>figure</literal>. +</para> +</listitem></varlistentry><varlistentry><term><literal>lot</literal> +</term><listitem><para>Para la lista de tablas: <literal>table</literal>. </para></listitem></varlistentry></variablelist> -</listitem></varlistentry><varlistentry><term><replaceable>texto</replaceable> -</term><listitem><para>El texto real de la entrada. +</listitem></varlistentry><varlistentry><term><replaceable>text</replaceable> +</term><listitem><para>El texto de la entrada. Debes <literal>\protect</literal> cualquier comando +frágil (véase <link linkend="_005cprotect">\protect</link>) utilizado en él. </para></listitem></varlistentry></variablelist> -<indexterm role="fn"><primary>\contentsline</primary></indexterm> -<para>La instrucción que realmente escribe al archivo <filename>.<replaceable>extensión</replaceable></filename> -es la instrucción <literal>\contentsline{<replaceable>undad</replaceable>}{<replaceable>nombre</replaceable>}</literal>. +<para>El comando <literal>\addcontentsline</literal> tiene una interacción con +<literal>\include</literal> (véase <link linkend="_005cinclude-e-_005cincludeonly">\include e \includeonly</link>). Si los usas en el +mismo nivel, como con +<literal>\addcontentsline{...}{...}{...}\include{...}</literal> entonces +las líneas en la tabla de contenido pueden aparecer en el orden +incorrecto. La solución es mover <literal>\addcontentsline</literal> al archivo +que se incluye. +</para> +<para>Si usas una <replaceable>unidad</replaceable> que &latex; no reconoce, como con el error +tipográfico aquí +</para> +<screen>\addcontentsline{toc}{section}{\protect\textbf{Apéndices}} +</screen> +<para>entonces no obtienes un error sino que el formato en la tabla de +contenido no tendrá sentido. </para> -<!-- ?? ¿cómo están cableados estos valores? ¿otros nombres de unidad? --> - </sect2> -<sect2 label="24.1.2" id="_005caddtocontents"> -<title>\addtocontents</title> -<indexterm role="fn"><primary>\addtocontents{<replaceable>extra</replaceable>}{<replaceable>texto</replaceable>}</primary></indexterm> - -<para>La instrucción <literal>\addtocontents</literal>{<replaceable>extensión</replaceable>}{<replaceable>texto</replaceable>} -añade texto (o instrucciones de formato) directamente al archivo -<filename>.<replaceable>extensión</replaceable></filename> que genera la tabla de contenido o listas de -figuras o tablas. -</para> -<variablelist><varlistentry><term><replaceable>extensión</replaceable> -</term><listitem><para>La extensión del archivo en el cual escribir la información: <filename>toc</filename> -(tabla de contenido), <filename>lof</filename> (lista de figuras) o <filename>lot</filename> (lista -de tablas). -</para> -</listitem></varlistentry><varlistentry><term><replaceable>texto</replaceable> -</term><listitem><para>El texto a escribir. +<sect2 label="25.1.3" id="_005caddtocontents"> +<title><literal>\addtocontents</literal></title> + +<indexterm role="fn"><primary>\addtocontents{<replaceable>ext</replaceable>}{<replaceable>text</replaceable>}</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\addtocontents{<replaceable>ext</replaceable>}{<replaceable>text</replaceable>} +</screen> +<para>Agrega <replaceable>text</replaceable>, que puede ser texto o comandos de formato, +directamente a el archivo auxiliar con extensión <replaceable>ext</replaceable>. Este es +el más utilizado para la tabla de contenido, así que esa es la +discusión aquí, pero también se aplica a la lista de figuras y la +lista de tablas. +</para> +<para>Esto pondrá un espacio vertical en la tabla de contenido después del +encabezado ‘<literal>Contenido</literal>’. +</para> +<screen>\tableofcontents\newpage +\addtocontents{toc}{\protect\vspace*{3ex}} +</screen> +<para>Esto pone la palabra ‘<literal>Página</literal>’, en negrita, encima de la columna +del número de página y después del encabezado. +</para> +<screen>\tableofcontents +\addtocontents{toc}{~\hfill\textbf{Página}\par} +\chapter{...} +</screen> +<para>Esto agrega una línea que anuncia el trabajo de un nuevo autor. +</para> +<screen>\addtocontents{toc}{% + \protect\vspace{2ex} + \textbf{Capítulos de N. Otro autor}\par} +</screen> +<para>La diferencia entre <literal>\addtocontents</literal> y <literal>\addcontentsline</literal> es +que este último es estrictamente para líneas, como con una línea que +da el número de página para el comienzo de un nuevo subconjunto de +capítulos. Como muestran los ejemplos anteriores, +<literal>\addtocontents</literal> es para material como el espaciado. +</para> +<para>El comando <literal>\addtocontents</literal> tiene dos argumentos. Ambos son +requeridos. +</para> +<variablelist><varlistentry><term><replaceable>ext</replaceable> +</term><listitem><para>Por lo general, uno de: <filename>toc</filename> para la tabla de contenido, +<filename>lof</filename> para la lista de figuras, o <filename>lot</filename> para la lista de +tablas. La extensión del archivo contiene la información. +</para> +</listitem></varlistentry><varlistentry><term><replaceable>text</replaceable> +</term><listitem><para>El texto, y posiblemente los comandos, que se van a escribir. </para></listitem></varlistentry></variablelist> +<para>Los comandos de seccionado como <literal>\chapter</literal> usan el comando +<literal>\addcontentsline</literal> para almacenar información. Este comando crea +líneas en el archivo auxiliar <filename>.toc</filename> que contiene el comando +<literal>\contentsline</literal> (véase <link linkend="_005caddcontentsline">\addcontentsline</link>). A diferencia de el +comando <literal>\addtocontents</literal> coloca el material directamente en ese +archivo. +</para> +<para>El comando <literal>\addtocontents</literal> tiene una interacción con +<literal>\include</literal> (véase <link linkend="_005cinclude-e-_005cincludeonly">\include e \includeonly</link>). Si los usas en el +mismo nivel, como con +<literal>\addtocontents{...}{...}\include{...}</literal> entonces las líneas +en la tabla de contenido pueden aparecer en el orden incorrecto. La +solución es mover <literal>\addtocontents</literal> al archivo que se incluye. +</para> </sect2> -</sect1> -<sect1 label="24.2" id="Glosarios"> -<title>Glosarios</title> -<indexterm role="cp"><primary>glosarios</primary></indexterm> +<sect2 label="25.1.4" id="_005ccontentsline"> +<title><literal>\contentsline</literal></title> -<indexterm role="fn"><primary>\makeglossary</primary></indexterm> -<para>La instrucción <literal>\makeglossary</literal> habilita la creación de glosarios. +<indexterm role="cp"><primary>tabla de contenido</primary></indexterm> +<indexterm role="fn"><primary>\contentsline</primary></indexterm> +<indexterm role="fn"><primary>\tableofcontents</primary></indexterm> +<indexterm role="fn"><primary>.toc archivo</primary></indexterm> +<indexterm role="fn"><primary>\listoffigures</primary></indexterm> +<indexterm role="fn"><primary>\listoftables</primary></indexterm> +<indexterm role="fn"><primary>archivo .lof</primary></indexterm> +<indexterm role="fn"><primary>.lot archivo</primary></indexterm> +<indexterm role="fn"><primary>\l@chapter</primary></indexterm> +<indexterm role="fn"><primary>\l@section</primary></indexterm> +<indexterm role="fn"><primary>\l@subsection</primary></indexterm> + +<para>Sinopsis: </para> -<indexterm role="fn"><primary>\glossary</primary></indexterm> -<indexterm role="cp"><primary>archivo <filename>.glo</filename></primary></indexterm> -<para>La instrucción <literal>\glossary{<replaceable>texto</replaceable>}</literal> escribe una entrada en el -glosario para <replaceable>texto</replaceable> a un archivo auxiliar con la extensión -<filename>.glo</filename>. +<screen>\contentsline{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}{<replaceable>pagenumber</replaceable>} +</screen> +<para>Utilizado internamente por &latex; para componer una entrada de la +tabla de contenido, lista de figuras o lista de tablas (véase <link linkend="Tabla-de-contenido-etc_002e">Tabla +de contenido etc.</link>). Los autores no ingresan directamente los comandos +<literal>\contentsline</literal>. +</para> +<para>Por lo general, la adición de material a estas listas la realizan +automáticamente los comandos <literal>\chapter</literal>, <literal>\section</literal>, +etc. para la tabla de contenido, o por el comando <literal>\caption</literal> +dentro de un entorno <literal>\figure</literal> o <literal>\table</literal> (véase <link linkend="figure">figure</link> y +véase <link linkend="table">table</link>). De este modo, donde el archivo raíz es +<filename>thesis.tex</filename> y contiene la declaración <literal>\tableofcontents</literal>, +el comando <literal>\chapter{Capítulo Uno}</literal> produce algo como esto en +el archivo <filename>thesis.toc</filename>. +</para> +<screen>\contentsline {chapter}{\numberline {1}Capítulo uno}{3} +</screen> +<para>Si el archivo contiene la declaración <literal>\listoffigures</literal> entonces +un entorno <literal>figure</literal> que involucra <literal>\caption{Test}</literal> +producirá algo como esto en <filename>thesis.lof</filename>. +</para> +<screen>\contentsline {figure}{\numberline {1.1}{\ignorespaces +Test}}{6} +</screen> +<para>Para agregar material manualmente, usa +<literal>\addcontentsline{<replaceable>filetype</replaceable>}{<replaceable>unit</replaceable>}{<replaceable>text</replaceable>}</literal>, +donde <replaceable>filetype</replaceable> es <literal>toc</literal>, <literal>lof</literal> o <literal>lot</literal> +(véase <link linkend="_005caddcontentsline">\addcontentsline</link>). +</para> +<indexterm role="cp"><primary>package, <literal>tocloft</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>tocloft</literal> package</primary></indexterm> +<para>Para manipular cómo se escribe el material +<literal>\contentline</literal>, consulta el paquete <literal>tocloft</literal>. +</para> +<indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm> +<para>Ten en cuenta que el paquete <literal>hyperref</literal> +cambia la definición de <literal>\contentsline</literal> (y +<literal>\addcontentsline</literal>) para agregar más argumentos, para hacer +hipervínculos. Esta es la fuente del error <literal>El argumento de +\contentsline tiene una }</literal> adicional cuando se agrega/elimina el uso +del paquete <literal>hyperref</literal> y ya se ejecutó una compilación. +Soluciona este error eliminando el archivo <filename>.toc</filename> o <filename>.lof</filename> o +<filename>.lot</filename> y ejecutando &latex; de nuevo. +</para> + +</sect2> +<sect2 label="25.1.5" id="_005cnofiles"> +<title><literal>\nofiles</literal></title> + +<indexterm role="fn"><primary>\nofiles</primary></indexterm> + +<para>Sinopsis: </para> -<indexterm role="fn"><primary>\glossaryentry</primary></indexterm> -<para>Específicamente, la instrucción que escribe es -<literal>\glossaryentry{<replaceable>texto</replaceable>}{<replaceable>no-de-página</replaceable>}</literal>, donde -<replaceable>no-de-página</replaceable> es el valor de <literal>\thepage</literal>. +<screen>\nofiles +</screen> +<para>Evita que &latex; escriba archivos auxiliares. La única salida serán +los archivos <filename>.log</filename> y <filename>.pdf</filename> (o <filename>.dvi</filename>). Este comando +debe ir en el preámbulo. </para> -<para>El paquete <literal>glossary</literal> en CTAN proporciona compatibilidad para -glosarios más sofisticados. +<para>Debido al comando <literal>\nofiles</literal> este ejemplo no producirá un archivo +<filename>.toc</filename>. </para> +<screen>\documentclass{book} +\nofiles +\begin{document} +\tableofcontents\newpage +\chapter{...} + ... +</screen> +<para>&latex; no borrará ningún archivo auxiliar existente, por lo que si +insertas el comando <literal>\nofiles</literal> después de ejecutar el archivo y +obtener un <filename>.toc</filename> entonces la página de la tabla de contenido +seguirá mostrando la información antigua. +</para> + +</sect2> +<sect2 label="25.1.6" id="_005cnumberline"> +<title><literal>\numberline</literal></title> +<indexterm role="fn"><primary>\numberline</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\numberline{<replaceable>number</replaceable>} +</screen> +<para>Escribe su argumento alineado a la izquierda en un cuadro. Esto se +usa en un comando <literal>\contentsline</literal> para escribir el número de +sección (véase <link linkend="_005ccontentsline">\contentsline</link>). +</para> +<para>Por ejemplo, esta línea en un <filename>.toc</filename> hace que el <literal>1.1</literal> sea +composición tipográfica a la izquierda. +</para> +<screen>\contentsline {subsection}{\numberline {1.1}Motivación}{2} +</screen> +<para>De forma predeterminada, &latex; escribe los números de sección en un +cuadro de longitud <literal>\@tempdima</literal>. Esa longitud la establecen los +comandos <literal>\l@section</literal>, <literal>\l@subsection</literal>, etc. Poner números +de sección dentro de una caja de ancho natural con +<literal>\renewcommand{\numberline}[1]{#1~}</literal> antes de +<literal>\tableofcontents</literal>. +</para> +<para>Este comando es frágil, por lo que es posible que debas precederlo con +<literal>\protect</literal> (véase <link linkend="_005cprotect">\protect</link>). Un ejemplo es el uso de +<literal>\protect</literal> en este comando, +</para> +<screen><literal>\addcontentsline{toc}{section}{\protect\numberline{}Resumen}</literal> +</screen> +<para>para obtener el <literal>\numberline</literal> en el comando <literal>\contentsline</literal> +en el archivo <filename>.toc</filename>: <literal>\contentsline +{section}{\numberline {}Resumen}{6}</literal> (&latex; agrega +automáticamente el número de página ‘<literal>6</literal>’; +véase <link linkend="_005caddcontentsline">\addcontentsline</link>). +</para> + +</sect2> </sect1> -<sect1 label="24.3" id="_00cdndices"> +<sect1 label="25.2" id="_00cdndices"> <title>Índices</title> + <indexterm role="cp"><primary>índices</primary></indexterm> <indexterm role="fn"><primary>\makeindex</primary></indexterm> -<para>La instrucción <literal>\makeindex</literal> permite la creación de índices. -Coloquela en el preámbulo. -</para> <indexterm role="fn"><primary>\index</primary></indexterm> <indexterm role="cp"><primary>archivo <filename>.idx</filename></primary></indexterm> -<para>La instrucción <literal>\index{<replaceable>texto</replaceable>}</literal> escribe una entrada en el -índice para <replaceable>texto</replaceable> en un archivo auxiliar con la extensión -<filename>.idx</filename>. + +<para>Si le dices a &latex; qué términos quieres que aparezcan en un +índice, entonces puede producir ese índice, en orden alfabético y con +los números de página mantenidos automáticamente. Esto ilustra los +conceptos básicos. </para> -<indexterm role="fn"><primary>\indexentry</primary></indexterm> -<para>Específicamente, la instrucción que escribe la entrada es -<literal>\indexentry{<replaceable>texto</replaceable>}{<replaceable>no-de-página</replaceable>}</literal>, donde -<replaceable>no-de-página</replaceable> es el valor actual de <literal>\thepage</literal>. +<screen>\documentclass{article} +\usepackage{makeidx} % Proporcionar comandos de indexación + \makeindex +% \usepackage{showidx} % Muestra notas al margen de las entradas + % del índice + ... +\begin{document} + ... +Teorema de Wilson\index{Teorema de Wilson} +dice que un número $n>1$ es primo si y solo si el factorial +de $n-1$ es congruente con $-1$ +modulo~$n$.\index{congruencia!y el Teorema de Wilson} + ... +\printindex +\end{document} +</screen> +<para>Como muestra, declara las entradas de índice con el comando +<literal>\index</literal> (véase <link linkend="_005cindex">\index</link>). Cuando ejecutas &latex;, +<literal>\index</literal> escribe su información, como ‘<literal>Teorema de Wilson</literal>’ y +el número de página, a un archivo auxiliar cuyo nombre termina en +<filename>.idx</filename>. A continuación, alfabetiza y hace otras manipulaciones, +como ejecutar un comando externo, normalmente <command>makeindex</command> +(véase <link linkend="makeindex">makeindex</link>), que escribe un archivo cuyo nombre termina en +<filename>.ind</filename>. Finalmente, <literal>\printindex</literal> trae esta información +manipulada en la salida (véase <link linkend="_005cprintindex">\printindex</link>). +</para> +<para>Por lo tanto, si el ejemplo anterior está en el archivo +<filename>numth.tex</filename> entonces ejecutar ‘<literal>pdflatex numth</literal>’ guardará la +entrada de índice y la información del número de página a +<filename>numth.idx</filename>. Luego ejecutar ‘<literal>makeindex numth</literal>’ ordena +alfabéticamente y guarda los resultados en +<filename>numth.ind</filename>. Finalmente, ejecutar de nuevo ‘<literal>pdflatex numth</literal>’ +mostrará el índice deseado, en el lugar donde está el comando +<literal>\printindex</literal> en el archivo fuente. +</para> +<para>Hay muchas opciones para la salida. Un ejemplo es que el signo de +exclamación en <literal>\index{congruencia!y teorema de Wilson}</literal> +produce una entrada principal de ‘<literal>congruencia</literal>’ con una subentrada +de ‘<literal>y Teorema de Wilson</literal>’. Para obtener más información, +véase <link linkend="makeindex">makeindex</link>. +</para> +<para>Los comandos <literal>\makeindex</literal> y <literal>\printindex</literal> son +independientes. Omitir el <literal>\makeindex</literal> evitará que &latex; +guarde las entradas de índice al archivo auxiliar. Omitir el +<literal>\printindex</literal> hará que &latex; no muestre el índice en la salida +del documento. +</para> +<indexterm role="cp"><primary>package, <literal>showidx</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>showidx</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>package, <literal>multind</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>multind</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>índice, múltiple</primary></indexterm> +<indexterm role="cp"><primary>múltiples índices</primary></indexterm> +<para>Hay muchos paquetes en el área de indexación. El paquete +<literal>showidx</literal> hace que cada entrada de índice se muestre en el +margen de la página donde aparece el <literal>\index</literal>. Esto puede ayudar +en la preparación del índice. El paquete <literal>multind</literal>, entre +otros, admite múltiples índices. Consulta también la entrada de +preguntas frecuentes de &tex; sobre este tema, +<ulink url="https://www.texfaq.org/FAQ-multind">https://www.texfaq.org/FAQ-multind</ulink>, y el tema de CTAN, +<ulink url="https://ctan.org/topic/index-multi">https://ctan.org/topic/index-multi</ulink>. +</para> + + +<sect2 label="25.2.1" id="Producir-el-_00edndice-manualmente"> +<title>Producir el índice manualmente</title> + +<indexterm role="cp"><primary>índice, producir manualmente</primary></indexterm> +<indexterm role="fn"><primary>theindex</primary></indexterm> + +<para>Los documentos que son pequeños y estáticos pueden tener un índice +producido manualmente. Esto creará una página separada etiquetada +como ‘<literal>Index</literal>’, en formato de dos columnas. +</para> +<indexterm role="fn"><primary>environment, <literal>theindex</literal></primary></indexterm> +<indexterm role="fn"><primary><literal>theindex</literal> environment</primary></indexterm> + +<screen>\begin{theindex} +\item acorn squash, 1 +\subitem maple estufado, 2 +\indexspace +\item bacon, 3 +\subitem maple estufado, 4 +\end{theindex} +</screen> +<para>Ten en cuenta que el autor debe ingresar los números de página, lo +cual es tedioso y que dará como resultado números incorrectos si el +documento cambia. Esta es la razón por lo que en la mayoría de los +casos, los métodos automatizados como <command>makeindex</command> son los +mejores. Véase <link linkend="_00cdndices">Índices</link>. </para> -<indexterm role="cp"><primary>‘vea’ y ‘vea también’ entradas de índice</primary></indexterm> -<para>Para generar una entrada de índice para ‘bar’ que diga ‘Vea foo’, -utilice una barra vertical: <literal>\index{bar|see{foo}}</literal>. Use -<literal>seealso</literal> en lugar de <literal>see</literal> para producir una entrada ‘Vea -también’. +<indexterm role="fn"><primary>\item</primary></indexterm> +<indexterm role="fn"><primary>\subitem</primary></indexterm> +<indexterm role="fn"><primary>\subsubitem</primary></indexterm> +<indexterm role="fn"><primary>\indexspace</primary></indexterm> +<para>Sin embargo, cubrimos los comandos para completado, y porque los +métodos automatizados se basan en estos comandos. Hay tres niveles de +entradas. Cómo muestra el ejemplo, una entrada principal usa +<literal>\item</literal>, las subentradas usan <literal>\subitem</literal>, y el nivel más +bajo usa <literal>\subsubitem</literal>. Las líneas en blanco entre entradas no +tienen efecto. El ejemplo anterior incluye <literal>\indexspace</literal> para +producir espacio vertical en la salida que usa algunos estilos de +índice antes de que comience la primera entrada con una nueva letra. </para> + +</sect2> +<sect2 label="25.2.2" id="_005cindex"> +<title><literal>\index</literal></title> + +<indexterm role="cp"><primary>Entrada de índice</primary></indexterm> +<indexterm role="fn"><primary>\index</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\index{<replaceable>index-entry-string</replaceable>} +</screen> +<para>Declara una entrada en el índice. Este comando es frágil +(véase <link linkend="_005cprotect">\protect</link>). +</para> +<para>Por ejemplo, como se describe en <link linkend="_00cdndices">Índices</link>, una forma de obtener +un índice de lo que sigue es compilar el documento con <literal>pdflatex +test</literal>, entonces procesar las entradas del índice con <literal>makeindex +test</literal> y luego compilar de nuevo con <literal>pdflatex test</literal>. +</para> +<screen>% file test.tex + ... +W~Ackermann (1896--1962).\index{Ackermann} + ... +Ackermann function\index{Ackermann!function} + ... +rate of growth\index{Ackermann!function!growth rate} +</screen> +<indexterm role="cp"><primary>entradas de índice, subentradas</primary></indexterm> +<para>Las tres entradas de índice obtendrán un número de página, como +‘<literal>Ackermann, 22</literal>’. &latex; formateará el segundo como un +subelemento del primero, en la línea debajo de ella y con sangría, y +la tercera como subelemento de la segunda. Tres niveles de +profundidad es lo máximo que puede anidar subentradas. (Si agregas +<literal>\index{Ackermann!function!growth rate!comparison}</literal> entonces +<command>makeindex</command> dice ‘<literal>Escaneando archivo de entrada +test.idx....hecho (4 entradas aceptadas, 1 rechazada)</literal>’ y el cuarto +nivel del índice falla silenciosamente). +</para> +<para>Si ingresas un segundo <literal>\index</literal> con el mismo +<replaceable>index-entry-string</replaceable>, obtendrás una sola entrada de índice con dos +números de página (a menos que caigan en la misma página). De este +modo, agregar <literal>como por Ackermann.\index{Ackermann}</literal> más tarde +en el mismo documento como el anterior dará una entrada de índice como +‘<literal>Ackermann, 22, 151</literal>’. Además, puedes introducir las entradas del +índice en cualquier orden, por lo que la instancia +<literal>\index{Ackermann!function}</literal> podría venir antes de +<literal>\index{Ackermann}</literal>. +</para> +<indexterm role="cp"><primary>índice, rango de páginas</primary></indexterm> +<para>Obtiene un rango de páginas en la salida, como ‘<literal>Hilbert, 23--27</literal>’, +como aquí. +</para> +<screen>W~Ackermann (1896--1962).\index{Ackermann} + ... +D~Hilbert (1862--1943)\index{Ackermann!Hilbert|(} + ... +Desaprobado de su matrimonio.\index{Ackermann!Hilbert|)} +</screen> +<para>Si el comienzo y el final del rango de páginas son iguales, entonces +el sistema solo da un único número de página, no un rango. +</para> +<para>Si indexas subentradas pero no una entrada principal, como con +<literal>\index{Jones!program}</literal> e <literal>\index{Jones!results}</literal>, +entonces el resultado es el elemento ‘<literal>Jones</literal>’ sin coma ni número +de página, seguido de dos subelementos, como ‘<literal>programa, 50</literal>’ y +‘<literal>resultados, 51</literal>’. +</para> +<indexterm role="cp"><primary>ve y ve también entradas de índice</primary></indexterm> +<indexterm role="cp"><primary>entradas de índice, ‘ve’ y ‘ve también’</primary></indexterm> <indexterm role="fn"><primary>\seename</primary></indexterm> <indexterm role="fn"><primary>\alsoname</primary></indexterm> -<para>El texto ‘Vea’ está definido por la macro <literal>\seename</literal>, y ‘Vea -también’ por la macro <literal>\alsoname</literal>. Estas se pueden redefinir para -otros idiomas. +<indexterm role="cp"><primary>package, <literal>babel</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>babel</literal> package</primary></indexterm> +<indexterm role="cp"><primary>package, <literal>polyglossia</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>polyglossia</literal> package</primary></indexterm> + + +<para>Genera una entrada de índice que diga ‘<literal>ve</literal>’ usando un carácter de +barra vertical: <literal>\index{Ackermann!function|see{P\'eter's +function}}</literal>. En su lugar, puedes obtener ‘<literal>ve también</literal>’ con +<literal>seealso</literal>. (El texto ‘<literal>ve</literal>’ está definido por <literal>\seename</literal> +y ‘<literal>ve también</literal>’ por <literal>\alsoname</literal>. Los puedes redefinir +utilizando un paquete de internacionalización como <literal>babel</literal> o +<literal>polyglossia</literal>, o directamente como con +<literal>\renewcommand{\alsoname}{Ve también}</literal>). +</para> +<para>La característica ‘<literal>see</literal>’ es parte de una funcionalidad más +general. Después de la barra vertical puedes poner el nombre de un +comando de una sola entrada, como en <literal>\index{group|textit}</literal> +(ten en cuenta la barra invertida que falta en el comando +<literal>\textit</literal>) y el sistema aplicará ese comando al número de página, +aquí dando algo como <literal>\textit{7}</literal>. Puedes definir tus propios +comandos de una sola entrada, como +<literal>\newcommand{\definedpage}[1]{{\color{blue}#1}}</literal> y +entonces <literal>\index{Ackermann!function|definedpage}</literal> dará un +número de página azul (véase <link linkend="Color">Color</link>). Otro ejemplo, menos práctico, +es este, +</para> +<!-- crédito Ian Thompson https://tex.stackexchange.com/a/272572/121234 --> +<screen>\newcommand\indexownpage[1]{#1, \thepage} + ... Epimenides.\index{self-reference|indexownpage} +</screen> +<para>que crea una entrada citando el número de página de su propia lista de +índice. +</para> +<para>Las dos funciones recién descritas se combinan, como aquí +</para> +<screen>\index{Ackermann!function|(definedpage} + ... +\index{Ackermann!function|)} +</screen> +<para>que genera una entrada de índice como ‘<literal>function, 23--27</literal>’ donde +los números del rango de páginas están en azul. +</para> +<para>Considera una entrada de índice como ‘<literal>α-ring</literal>’. +Entrado como <literal>$\alpha$-ring</literal> hará que se ordene alfabéticamente +según el signo de dolar. En su lugar, lo puedes ingresar usando un +signo de arroba, como <literal>\index{alpha-ring@$\alpha$-ring}</literal>. Si +especificas una entrada con un signo de arroba que separa dos cadenas, +<literal><replaceable>pos</replaceable>@<replaceable>text</replaceable></literal>, entonces <replaceable>pos</replaceable> da la posición +alfabética de la entrada mientras <replaceable>text</replaceable> produce el texto de la +entrada. Otro ejemplo es que <literal>\index{Saint Michael's +College@SMC}</literal> produce una entrada de índice ‘<literal>SMC</literal>’ en orden +alfabético en una ubicación diferente a su ortografía lo daría +naturalmente. +</para> +<para>Para poner un carácter <literal>!</literal>, <literal>@</literal>, <literal>|</literal> o <literal>"</literal> en una +entrada de índice, escápala precediéndola con una comilla doble, +<literal>"</literal>. (Las comillas dobles se eliminan antes de la +alfabetización). +</para> +<indexterm role="cp"><primary>package, <literal>index</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>index</literal> package</primary></indexterm> +<para>Varios paquetes en CTAN tienen funcionalidad +adicional más allá de eso proporcionada por <literal>makeidx</literal>. Uno es +<literal>index</literal>, que permite múltiples índices y contiene un comando +<literal>\index*{<replaceable>index-entry-string</replaceable>}</literal> que imprime el +<replaceable>index-entry-string</replaceable> además de indexarlo. </para> +<indexterm role="fn"><primary>\indexentry</primary></indexterm> +<indexterm role="cp"><primary>archivo idx</primary></indexterm> +<para>El comando <literal>\index</literal> escribe la información de indexación en el +archivo <filename><replaceable>root-name</replaceable>.idx</filename>. Específicamente, escribe texto +del comando +<literal>\indexentry{<replaceable>index-entry-string</replaceable>}{<replaceable>page-num</replaceable>}</literal>, +donde <replaceable>page-num</replaceable> es el valor del contador <literal>\thepage</literal>. Alguna +ocasión, cuando el comando <literal>\printindex</literal> se confunde, debes +eliminar este archivo para comenzar con una pizarra nueva. +</para> +<para>Si omites la llave de cierre de un comando <literal>\index</literal> entonces +obtienes un mensaje como este. +</para> +<screen>¿Argumento fugitivo? {Ackermann!function +! ! El párrafo terminó antes de que \@wrindex se completara. +</screen> + +</sect2> +<sect2 label="25.2.3" id="makeindex"> +<title><command>makeindex</command></title> + +<indexterm role="cp"><primary>índice, procesamiento</primary></indexterm> +<indexterm role="fn"><primary>makeindex, programa</primary></indexterm> <indexterm role="cp"><primary><command>makeindex</command> programa</primary></indexterm> -<indexterm role="cp"><primary><command>xindy</command> programa</primary></indexterm> <indexterm role="cp"><primary>archivo <filename>.ind</filename></primary></indexterm> -<para>El archivo <filename>.idx</filename> generado luego es ordenado con una instrucción -externa, por lo general alguna instrucción <command>makeindex</command> -(<ulink url="http://mirror.ctan.org/indexing/makeindex">http://mirror.ctan.org/indexing/makeindex</ulink>) o (la de múltiples -idiomas) <command>xindy</command> (<ulink url="http://xindy.sourceforge.net">http://xindy.sourceforge.net</ulink>). Esto -resulta en un archivo <filename>.ind</filename>, que se puede leer para componer -tipográficamente el índice. +<indexterm role="cp"><primary>archivo <filename>.idx</filename></primary></indexterm> + +<para>Sinopsis, una de: </para> -<indexterm role="fn"><primary>printindex</primary></indexterm> -<indexterm role="cp"><primary>paquete <literal>makeidx</literal></primary></indexterm> -<para>El índice normalmente se genera con la instrucción <literal>\printindex</literal>. -Esta instrucción está definida en el paquete <literal>makeidx</literal>, por lo -tanto necesita colocar en el preámbulo la instrucción -<literal>\usepackage{makeidx}</literal>. +<screen>makeindex <replaceable>filename</replaceable> +makeindex -s <replaceable>style-file</replaceable> <replaceable>filename</replaceable> +makeindex <replaceable>options</replaceable> <replaceable>filename0</replaceable> ... +</screen> +<para>Ordenar y procesar la información del índice en el archivo auxiliar +<replaceable>filename</replaceable>. Este es un programa de línea de comandos. Se +necesita uno o más archivos de índice sin procesar, archivos +<filename><replaceable>filename</replaceable>.idx</filename> y produce el archivo de índice real, el +archivo <filename><replaceable>filename</replaceable>.ind</filename> que ingresa <literal>\printindex</literal> +(véase <link linkend="_005cprintindex">\printindex</link>). +</para> +<indexterm role="cp"><primary>archivo <filename>.isty</filename></primary></indexterm> +<indexterm role="fn"><primary>índice, archivo de estilo</primary></indexterm> +<indexterm role="fn"><primary>makeindex, archivo de estilo</primary></indexterm> +<para>La primera forma del comando es suficiente para muchos usos, La +segunda permite formatear el índice usando un <firstterm>archivo de estilo +de índice</firstterm>, un archivo <filename>.isty</filename>. La tercera forma es la más +general; ve la documentación completa en CTAN. +</para> +<para>Este es un simple archivo <filename>.isty</filename>. +</para> +<screen>% book.isty +% $ makeindex -s book.isty -p odd book.idx +% crea el índice como book.ind, comenzando en una página impar. +preamble +"\\pagestyle{empty} +\\small +\\begin{theindex} +\\thispagestyle{empty}" + +postamble +"\n +\\end{theindex}" +</screen> +<para>La descripción aquí cubre solo algunos de los posibles formatos de +índice en <replaceable>style-file</replaceable>. Para obtener una lista completa, consulta +la documentación en CTAN. +</para> +<para>Un archivo de estilo consta de una lista de pares: <replaceable>specifier</replaceable> y +<replaceable>attribute</replaceable>. Estos pueden aparecer en el archivo en cualquier +orden. Todos los <replaceable>attribute</replaceable>s son cadenas, excepto donde se +indique. Las cadenas son entre comillas dobles, <literal>"</literal> y la +longitud máxima de una cadena tiene 144 caracteres. La <literal>\n</literal> es +para una nueva línea y <literal>\t</literal> es para una tabulación. Las barras +invertidas se escapan con otra barra invertida, <literal>\\</literal>. Si una +línea comienza con un signo de porcentaje, <literal>%</literal>, entonces es un +comentario. +</para> +<variablelist><anchor id="makeindex-pre_00e1mbulo"/><varlistentry><term><indexterm role="fn"><primary>preamble</primary></indexterm><literal>preamble</literal> +</term><listitem><para>Preámbulo del archivo de índice de salida. Define el contexto en el +que se encuentra el índice formateado. Predeterminado: +<literal>"\\begin{theindex}\n"</literal>. +</para> +<anchor id="makeindex-postamble"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>postamble</primary></indexterm><literal>postamble</literal> +</term><listitem><para>Postámbulo del archivo de salida del índice Predeterminado: +<literal>"\n\n\\end{theindex}\n"</literal>. +</para> +<anchor id="makeindex-group-skip"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>group_skip</primary></indexterm><literal>group_skip</literal> +</term><listitem><indexterm role="fn"><primary>\indexspace</primary></indexterm> +<para>Tradicionalmente, los elementos del índice se dividen en grupos, +generalmente un grupo para entradas que comienzan con la letra +‘<literal>a</literal>’, etc. Este especificador da lo que se inserta cuando comienza +un nuevo grupo. Predeterminado: <literal>"\n\n \\indexspace\n"</literal> +(<literal>\indexspace</literal> es un comando que inserta una longitud elástica, +de manera predeterminada es <literal>10pt plus5pt minus3pt</literal>). +</para> +<anchor id="makeindex-letheadflag"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lethead_flag</primary></indexterm><literal>lethead_flag</literal> +</term><listitem><para>un entero. Rige lo que se inserta para un nuevo grupo o letra. Si es +0 (que es el valor predeterminado) entonces aparte de +<literal>group_skip</literal> nada se insertará antes del grupo. Si es positivo +entonces en una nueva letra el <literal>lethead_prefix</literal> y +<literal>lethead_suffix</literal> serán insertada, con esa letra en mayúsculas +entre ellas. Si es negativo entonces lo que se insertará es la letra +en minúsculas. El valor predeterminado es 0. +</para> +<anchor id="makeindex-lethead-prefix"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lethead_prefix</primary></indexterm><literal>lethead_prefix</literal> +</term><listitem><para>Si un nuevo grupo comienza con una letra diferente, entonces este es +el prefijo insertado antes de la nueva letra del encabezado. +Predeterminado: <literal>""</literal> +</para> +<anchor id="makeindex-lethead-suffix"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lethead_suffix</primary></indexterm><literal>lethead_suffix</literal> +</term><listitem><para>Si un grupo comienza con una letra diferente, entonces este es el +sufijo insertado después del nuevo encabezado de carta. +Predeterminado: <literal>""</literal>. +</para> +<anchor id="makeindex-item-0"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_0</primary></indexterm><literal>item_0</literal> +</term><listitem><para>Lo que se pone entre dos elementos level 0. Predeterminado: +<literal>"\n \\item "</literal>. +</para> +<anchor id="makeindex-item-1"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_1</primary></indexterm><literal>item_1</literal> +</term><listitem><para>Colocar entre dos elementos level 1. Predeterminado: <literal>"\n +\\subitem "</literal>. +</para> +<anchor id="makeindex-item-2"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_2</primary></indexterm><literal>item_2</literal> +</term><listitem><para>Coloca entre dos elementos level 2. Predeterminado: <literal>"\n +\\subsubitem "</literal>. +</para> +<anchor id="makeindex-item-01"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_01</primary></indexterm><literal>item_01</literal> +</term><listitem><para>Lo que se coloca entre un elemento level 0 y un elemento +level 1. Predeterminado: <literal>"\n \\subitem "</literal>. +</para> +<anchor id="makeindex-item-x1"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_x1</primary></indexterm><literal>item_x1</literal> +</term><listitem><para>Que se coloca entre un elemento level 0 y un elemento +level 1 en el caso de que el elemento level 0 no tenga +ningún número de página (como en <literal>\index{aaa|see{bbb}}</literal>). +Predeterminado: <literal>"\n \\subitem "</literal>. +</para> +<anchor id="makeindex-item-12"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_12</primary></indexterm><literal>item_12</literal> +</term><listitem><para>Lo que se coloca entre un elemento level 1 y un elemento +level 2. Predeterminado: <literal>"\n \\subsubitem "</literal>. +</para> +<anchor id="makeindex-item-x2"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>item_x2</primary></indexterm><literal>item_x2</literal> +</term><listitem><para>Que se pone entre un elemento level 1 y un elemento level 2, +si el level 1 elemento no tiene números de página. +Predeterminado: <literal>"\n \\subsubitem "</literal>. +</para> +<anchor id="makeindex-delim-0"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>delim_0</primary></indexterm><literal>delim_0</literal> +</term><listitem><para>Delimitador puesto entre una clave level 0 y su primer número de +página. Predeterminado: una coma seguida de un espacio en blanco, +<literal>", "</literal>. +</para> +<anchor id="makeindex-delim-1"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>delim_1</primary></indexterm><literal>delim_1</literal> +</term><listitem><para>Delimitador puesto entre una clave level 1 y su primer número de +página. Predeterminado: una coma seguida de un espacio en blanco, +<literal>", "</literal>. +</para> +<anchor id="makeindex-delim-2"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>delim_2</primary></indexterm><literal>delim_2</literal> +</term><listitem><para>Delimitador entre una clave level 2 y su primer número de +página. Predeterminado: una coma seguida de un espacio en blanco, +<literal>", "</literal>. +</para> +<anchor id="makeindex-delim-n"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>delim_n</primary></indexterm><literal>delim_n</literal> +</term><listitem><para>Delimitador entre dos números de página para la misma clave (en +cualquier nivel). Predeterminado: una coma seguida de un espacio en +blanco, <literal>", "</literal>. +</para> +<anchor id="makeindex-delim-r"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>delim_r</primary></indexterm><literal>delim_r</literal> +</term><listitem><para>Lo que se coloca entre los números de página inicial y final de un +rango. Predeterminado: <literal>"--"</literal>. +</para> +<anchor id="makeindex-line-max"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>line_max</primary></indexterm><literal>line_max</literal> +</term><listitem><para>Un entero. Longitud máxima de la línea de una entrada de índice en la +salida, más allá de la cual la línea se envuelve. Predeterminado: +<literal>72</literal>. +</para> +<anchor id="makeindex-indent-space"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>indent_space</primary></indexterm><literal>indent_space</literal> +</term><listitem><para>Lo que se inserta al comienzo de una línea envuelta. Predeterminado: +<literal>"\t\t"</literal>. +</para> +<anchor id="makeindex-indent-length"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>indent_length</primary></indexterm><literal>indent_length</literal> +</term><listitem><para>Un número. La longitud de la sangría de la línea envuelta. El valor +predefinido <literal>indent_space</literal> son dos tabulaciones y cada tabulación +tiene ocho espacios, por lo que el el valor predeterminado aquí es +<literal>16</literal>. +</para> +<anchor id="makeindex-page-precedence"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>page_precedence</primary></indexterm><literal>page_precedence</literal> +</term><listitem><para>Un documento puede tener páginas numeradas de diferentes maneras. Por +ejemplo, un libro puede tener las primeras páginas numeradas en +minúsculas romanas mientras que la página principal de la materia +están en árabe. Esta cadena especifica el orden en que aparecerán en +el índice. El comando <command>makeindex</command> admite cinco tipos +diferentes de números: minúsculas romanas <literal>r</literal> y numérico o árabe +<literal>n</literal> y minúsculas alfabético <literal>a</literal> y mayúsculas <literal>R</literal> romano +y <literal>A</literal> alfabético en mayúsculas. Predeterminado: <literal>"rnaRA"</literal>. </para> -<indexterm role="fn"><primary>indexspace</primary></indexterm> -<para>La longitud de relleno <literal>\indexspace</literal> se inserta antes de cada nueva -letra en el índice impreso; letra en el índice impreso su valor -predeterminado es ‘<literal>10pt plus5pt minus3pt</literal>’. +</listitem></varlistentry></variablelist> +<indexterm role="fn"><primary>xindy programa</primary></indexterm> +<para>Hay una serie de otros programas que hacen el trabajo que +<command>makeindex</command> hace. Uno es <command>xindy</command> +(<ulink url="https://ctan.org/pkg/xindy">https://ctan.org/pkg/xindy</ulink>), que hace internacionalización y +puede procesar índices para documentos marcados usando &latex; y un +número de otros idiomas. Está escrito en Lisp, altamente configurable, +tanto en términos de marcado y en términos del orden de clasificación +del texto, como descrito en su documentación. </para> -<indexterm role="cp"><primary>paquete <literal>showidx</literal></primary></indexterm> -<para>El paquete <literal>showidx</literal> hace que cada entrada en el índice se muestre -en el margen de la página donde aparece la entrada. Esto puede ayudar -en la preparación del índice. +<indexterm role="fn"><primary>xindex programa</primary></indexterm> +<para>Un programa de indexación más reciente compatible con Unicode es +<literal>xindex</literal>, escrito en Lua (<ulink url="https://ctan.org/pkg/xindex">https://ctan.org/pkg/xindex</ulink>). </para> -<indexterm role="cp"><primary>paquete <literal>multind</literal></primary></indexterm> -<para>El paquete <literal>multind</literal> es compatible con múltiples índices. Vea -también la entrada de este tema en las preguntas frecuentes de &tex;, -en + +</sect2> +<sect2 label="25.2.4" id="_005cprintindex"> +<title><command>\printindex</command></title> + +<indexterm role="cp"><primary>índice, impresión</primary></indexterm> +<indexterm role="fn"><primary>\printindex</primary></indexterm> + +<para>Sinopsis: </para> -<para><ulink url="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</ulink>. +<screen>\printindex +</screen> +<para>Coloca el índice en la salida. +</para> +<indexterm role="cp"><primary>package, <literal>makeidx</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>makeidx</literal> package</primary></indexterm> +<para>Para obtener un índice, primero debes incluir +<literal>\usepackage{makeidx}\makeindex</literal> en el preámbulo del documento +y compila el documento, entonces ejecuta el comando del sistema +<command>makeindex</command>, y luego vuelve a compilar el documento. +Véase <link linkend="_00cdndices">Índices</link>, para más discusión y un ejemplo del uso de +<literal>\printindex</literal>. </para> +</sect2> </sect1> -</chapter> -<chapter label="25" id="Cartas"> -<title>Cartas</title> -<indexterm role="cp"><primary>cartas</primary></indexterm> -<indexterm role="cp"><primary>creando cartas</primary></indexterm> +<sect1 label="25.3" id="Glosarios"> +<title>Glosarios</title> -<para>Usted puede utilizar &latex; para componer tipográficamente cartas, -para ambas personales y de negocios. La clase de documento -<literal>letter</literal> está diseñada para hacer una serie de cartas a la vez, -aunque se puede hacer sólo una si así lo desea. +<indexterm role="cp"><primary>glosario</primary></indexterm> +<indexterm role="cp"><primary>glosarios</primary></indexterm> +<indexterm role="cp"><primary>acrónimos, lista de</primary></indexterm> +<indexterm role="fn"><primary>\makeglossary</primary></indexterm> +<indexterm role="fn"><primary>\printglossaries</primary></indexterm> + +<para>Sinopsis: </para> -<para>Su archivo fuente <filename>.tex</filename> tiene las mismas instrucciones mínimas de -clase que en cualquier otro documento, es decir, debe tener las -siguientes instrucciones como mínimo: +<screen>\usepackage{glossaries} \makeglossaries + ... +\newglossaryentry{<replaceable>label</replaceable>}{<replaceable>settings</replaceable>} + ... +\gls{<replaceable>label</replaceable>}. + ... +\printglossaries +</screen> +<para>El paquete <filename>glossaries</filename> te permite crear glosarios, incluidos +múltiples glosarios, así como listas de siglas. +</para> +<para>Para obtener el resultado de este ejemplo, compila el documento (por +ejemplo con <literal>nombre de archivo pdflatex</literal>), entonces ejecuta el +comando de línea de comandos <literal>makeglossaries filename</literal> y luego +vuelve a compilar el documento. +</para> +<screen>\documentclass{...} +\usepackage{glossaries} \makeglossaries +\newglossaryentry{tm}{% + name={Máquina de Turing}, + + description={Un modelo de máquina hace cálculos. El modelo es + sencillo pero puede calcular cualquier cosa que + cualquier dispositivo existente pueda calcular. Es el + modelo estándar utilizado en Informática.}, + } +\begin{document} +Todo comienza con la definición de \gls{tm}. + ... +\printglossaries +\end{document} +</screen> +<para>Eso da dos cosas. En el texto principal genera ‘<literal>... definición +de una máquina de Turing</literal>’. Además, en una unidad seccional separada +encabezada ‘<literal>Glossary</literal>’ aparece una lista de descripción. En letra +negrita dice ‘<literal>Máquina de Turing</literal>’ y el resto del artículo dice en +tipo normal ‘<literal>Un modelo de máquina … Informática</literal>’. +</para> +<indexterm role="fn"><primary>\makeglossary</primary></indexterm> +<indexterm role="fn"><primary>\printglossaries</primary></indexterm> +<indexterm role="cp"><primary>archivo <filename>.glo</filename></primary></indexterm> +<para>El comando <literal>\makeglossary</literal> abre el archivo que contendrá la +información de entrada, <filename><replaceable>root-file</replaceable>.glo</filename>. Pon el comando +<literal>\printglossaries</literal> donde deseas que aparezcan los glosarios en tu +documento. +</para> +<para>El paquete <filename>glossaries</filename> es muy poderoso. Por ejemplo, además los +comandos <literal>\newglossaryentry</literal> y <literal>\gls</literal>, hay comandos +similares para una lista de acrónimos. Consulta la documentación del +paquete en CTAN. +</para> + + +<sect2 label="25.3.1" id="_005cnewglossaryentry"> +<title><literal>\newglossaryentry</literal></title> + +<indexterm role="cp"><primary>glosario, entradas</primary></indexterm> +<indexterm role="fn"><primary>\newglossaryentry</primary></indexterm> + +<para>Sinopsis, una de: </para> -<screen> \documentclass{letter} - \begin{document} - ... cartas ... - \end{document} +<screen>\newglossaryentry{<replaceable>label</replaceable>} +{ + name={<replaceable>name</replaceable>}, + description={<replaceable>description</replaceable>}, + <replaceable>otras opciones</replaceable>, ... +} </screen> -<para>Cada carta es un entorno <literal>letter</literal>, cuyo argumento es el nombre y -dirección del destinatario. Por ejemplo, usted podría tener: +<para>o </para> -<screen> \begin{letter}{Sr. José Pérez\\ Calle Princesa N°2345. - \\ Edinburgo, EH1 1AA} - ... - \end{letter} +<screen>\longnewglossaryentry{<replaceable>label</replaceable>} +{ + name={<replaceable>name</replaceable>}, + <replaceable>other options</replaceable> ..., +} +{<replaceable>description</replaceable>} +</screen> +<para>Declara una nueva entrada para un glosario. <replaceable>label</replaceable> debe ser +único para el documento. Los ajustes asociados a la etiqueta son +pares: <literal><replaceable>key</replaceable>=<replaceable>value</replaceable></literal>. +</para> +<para>Esto pone el símbolo en negrita de la pizarra para los números reales +ℝ, en el glosario. +</para> +<screen>\newglossaryentry{R} +{ + name={\ensuremath{\mathbb{R}}}, + description={los números reales}, +} +</screen> +<para>Usa la segunda forma del comando si <replaceable>description</replaceable> abarca más de un +párrafo. +</para> +<para>Para obtener una lista completa de <replaceable>key</replaceable>, consulta la +documentación del paquete en CTAN, pero aquí hay algunos. +</para> +<variablelist><varlistentry><term><indexterm role="fn"><primary>name</primary></indexterm><literal>name</literal> +</term><listitem><para>(Obligatorio). La palabra, frase o símbolo que estás definiendo. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>description</primary></indexterm><literal>description</literal> +</term><listitem><para>(Obligatorio). La descripción que aparecerá en el glosario. Si esto +tiene más de un párrafo, entonces debe usar la segunda forma del +comando dado en la sinopsis. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>plural</primary></indexterm><literal>plural</literal> +</term><listitem><para>La forma plural de <replaceable>name</replaceable>. Refiérete a la forma plural usando +<literal>\glspl</literal> o <literal>\Glspl</literal> (véase <link linkend="_005cgls">\gls</link>). +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>sort</primary></indexterm><literal>sort</literal> +</term><listitem><para>Cómo colocar esta entrada en la lista de entradas que contiene el +glosario. +</para> +</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>symbol</primary></indexterm><literal>symbol</literal> +</term><listitem><para>Un símbolo, como un símbolo matemático, además del nombre. +</para> +</listitem></varlistentry></variablelist> + +</sect2> +<sect2 label="25.3.2" id="_005cgls"> +<title><literal>\gls</literal></title> + +<indexterm role="cp"><primary>glosario, referencia de entrada</primary></indexterm> +<indexterm role="fn"><primary>\gls</primary></indexterm> + +<para>Sinopsis, una de: +</para> +<screen>\gls{<replaceable>label</replaceable>} +\glspl{<replaceable>label</replaceable>} +\Gls{<replaceable>label</replaceable>} +\Glspl{<replaceable>label</replaceable>} +</screen> +<para>Consulta una entrada del glosario. Las entradas se declaran con +<literal>\newglossaryentry</literal> (véase <link linkend="_005cnewglossaryentry">\newglossaryentry</link>). +</para> +<para>Este +</para> +<screen>\newglossaryentry{N}{% + name={los números naturales}, + description={Los números $0$, $1$, $2$, $\ldots$\@}, + symbol={\ensuremath{\mathbb{N}}}, + } + ... +Considera \gls{N}. </screen> +<para>da la salida ‘<literal>Considera los números naturales</literal>’. +</para> +<para>La segunda forma de comando <literal>\glspl{<replaceable>label</replaceable>}</literal> produce el +plural de <replaceable>name</replaceable> (de manera predeterminada intenta agregar una +‘<literal>s</literal>’). La tercera forma escribe en mayúscula la primera letra de +<replaceable>name</replaceable>, al igual que la cuarta forma, que también toma el plural. +</para> -<para>La carta en sí comienza con la instrucción <literal>\opening</literal>. Siguiéndole -el texto de la carta. Este se escribe como una entrada de &latex; -ordinaria. Las instrucciones que no tienen sentido en una carta, como -<literal>\chapter</literal>, no funcionan. La carta se cierra con una instrucción -<literal>\closing</literal>. +</sect2> +</sect1> +</chapter> +<chapter label="26" id="Cartas"> +<title>Cartas</title> + +<indexterm role="cp"><primary>cartas, escribir</primary></indexterm> +<indexterm role="cp"><primary>escribir cartas</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\documentclass{letter} +\address{<replaceable>dirección del remitente</replaceable>} % dirección de retorno +\signature{<replaceable>nombre del remitente</replaceable>} +\begin{document} +\begin{letter}{<replaceable>dirección del destinatario</replaceable>} +\opening{<replaceable>salutation</replaceable>} + <replaceable>cuerpo de la carta</replaceable> +\closing{<replaceable>texto de cierre</replaceable>} +\end{letter} + ... +\end{document} +</screen> +<para>Producir una o más cartas. </para> -<indexterm role="fn"><primary>\\ para cartas</primary></indexterm> -<para>Después de <literal>closing</literal>, usted puede colocar material adicional. La -instrucción <literal>\cc</literal> produce el usual “cc: …”. También hay -una instrucción <literal>\encl</literal> similar para una lista de -destinatarios. Con ambas instrucciones, use <literal>\\</literal> para separar los -elementos. +<para>Cada carta está en un entorno <literal>letter</literal> separado, cuyo argumento +<replaceable>recipient address</replaceable> a menudo contiene varias líneas separadas por +una barra invertida doble, (<literal>\\</literal>). Por ejemplo, podrías +tener: </para> -<para>Estas instrucciones se utilizan con la clase <literal>letter</literal>. +<screen> \begin{letter}{Ninon de l'Enclos \\ + l'h\^otel Sagonne} + ... + \end{letter} +</screen> +<para>El inicio del entorno <literal>letter</literal> restablece el número de página a +1, y la nota al pie al número 1 también. +</para> +<para>El <replaceable>sender address</replaceable> y <replaceable>sender name</replaceable> son comunes a todas las +cartas, ya sea que haya una o más, por lo que es mejor ponerlas en el +preámbulo. Al igual que con la dirección del destinatario, a menudo +<replaceable>sender address</replaceable> contiene varias líneas separadas por una doble +barra invertida (<literal>\\</literal>). &latex; pondrá el <replaceable>sender +name</replaceable> bajo el cerramiento, tras un espacio vertical para la +tradicional firma manuscrita. +</para> +<para>Cada cuerpo del entorno <literal>letter</literal> comienza con un comando +<literal>\opening</literal> requerido como <literal>\opening{Estimada señora o +señor:}</literal>. El texto <replaceable>letter body</replaceable> &latex; es normal por lo que +puede contener todo, desde listas enumeradas hasta matemáticas +mostradas, excepto que los comandos como <literal>\chapter</literal> que no tienen +sentido en una carta se desactivan. Cada cuerpo de entorno +<literal>letter</literal> normalmente termina con un comando <literal>\closing</literal> como +<literal>\closing{Tuyo,}</literal>. +</para> +<indexterm role="fn"><primary>\\ (para cartas)</primary></indexterm> +<para>Puede haber material adicional después del <literal>\closing</literal>. Puedes +decir quien está recibiendo una copia de la carta con un comando como +<literal>\cc{El Jefe \\ el jefe de jefes}</literal>. Hay un comando +<literal>\encl</literal> similar para una lista de material adjunto. Y puedes +agregar una posdata con <literal>\ps</literal>. +</para> +<para>El valor predeterminado de &latex; es sangrar el nombre del remitente +y el cierre encima de él por una longitud de <literal>\longindentation</literal>. +De manera predeterminada esto es <literal>0.5\textwidth</literal>. Para que queden +alineados a la izquierda, coloca +<literal>\setlength{\longindentation}{0em}</literal> en tu preámbulo. +</para> +<para>Para establecer una fecha fija, usa algo como +<literal>\renewcommand{\today}{1958-Oct-12}</literal>. Si pones en tu +preámbulo entonces se aplicará a todas las cartas. +</para> +<para>Este ejemplo muestra solo un entorno <literal>letter</literal>. Las tres lineas +marcadas como opcionales normalmente se omiten. +</para> +<screen>\documentclass{letter} +\address{Calle del remitente \\ Ciudad del remitente} +\signature{Nombre del remitente \\ Cargo del remitente} +% opcionales: \location{Buzón 13} +% optional: \telephone{(102) 555-0101} +\begin{document} +\begin{letter}{Nombre del destinatario \\ Dirección del destinatario} +\opening{Señor:} +% opcional: \thispagestyle{firstpage} +No estoy interesado en entrar en un acuerdo comercial con usted. +\closing{Sus más humildes, etc.,} +\end{letter} +\end{document} +</screen> +<para>Estos comandos se usan con la clase <literal>letter</literal>. </para> -<sect1 label="25.1" id="_005caddress"> -<title>\address{<replaceable>dirección-del-remitente}</replaceable></title> +<sect1 label="26.1" id="_005caddress"> +<title><literal>\address</literal></title> + <indexterm role="fn"><primary>\address</primary></indexterm> -<para>La instrucción <literal>\address</literal> especifica la dirección del remitente de -la carta, como debería aparecer en la carta y el sobre. Separa las -líneas de la dirección que deben estar separadas por instrucciones -<literal>\\</literal>. +<para>Sinopsis: +</para> +<screen>\address{<replaceable>dirección del remitente</replaceable>} +</screen> +<para>Especifica la dirección del remitente, tal como aparece en la carta y +en el sobre. Separa varias líneas en <replaceable>dirección del remitente</replaceable> +con una barra invertida doble <literal>\\</literal>. </para> -<para>Si usted no proporciona una declaración <literal>\address</literal>, entonces, se -aplicará a la carta el formato de copia en papel con el membrete -estándar de su organización. (Véase <link linkend="Descripci_00f3n">Descripción</link>, para obtener detalles -sobre la implementación local). Si usted proporciona una declaración -<literal>\address</literal>, entonces, la carta será formateada como una carta -personal. +<para>Debido a que se puede aplicar a varias cartas, esta declaración a +menudo se pone en el preámbulo. Sin embargo, puede ir en cualquier +lugar, incluso dentro de un entorno <literal>letter</literal> individual. </para> +<para>Este comando es opcional: si no lo usas, la carta se formatea con un +espacio en blanco en la parte superior, para copiar en papel +preimpreso con membrete. Si usas la declaración <literal>\address</literal> +entonces tienes el formato de una carta personal. +</para> +<para>Aquí tienes un ejemplo: +</para> +<screen>\address{Stephen Maturin \\ + Las uvas de Savoy} +</screen> </sect1> -<sect1 label="25.2" id="_005ccc"> +<sect1 label="26.2" id="_005ccc"> <title><literal>\cc</literal></title> <indexterm role="fn"><primary>\cc</primary></indexterm> -<indexterm role="cp"><primary>listas cc, en cartas</primary></indexterm> +<indexterm role="cp"><primary>cc list, en cartas</primary></indexterm> <para>Sinopsis: </para> -<screen>\cc{<replaceable>nombre</replaceable>\\<replaceable>nombre2</replaceable>} +<screen>\cc{<replaceable>name0</replaceable> \\ + ... } </screen> -<para>Produce una lista de <replaceable>nombre</replaceable>s a quienes enviar copias de la carta. -Cada nombre se imprime en una línea separada. +<para>Produce una lista de nombres a los que se enviaron copias de la carta. +Este comando es opcional. Si aparece, normalmente viene después de +<literal>\closing</literal>. Pone los nombres en diferentes líneas separándolos +con una barra invertida doble, <literal>\\</literal>, como en: </para> +<screen>\cc{Presidente \\ + Vicepresidente} +</screen> </sect1> -<sect1 label="25.3" id="_005cclosing"> +<sect1 label="26.3" id="_005cclosing"> <title><literal>\closing</literal></title> <indexterm role="fn"><primary>\closing</primary></indexterm> <indexterm role="cp"><primary>cartas, terminando</primary></indexterm> -<indexterm role="cp"><primary>cerrando cartas</primary></indexterm> +<indexterm role="cp"><primary>cerrar cartas</primary></indexterm> <para>Sinopsis: </para> -<screen>\closing{texto} +<screen>\closing{<replaceable>text</replaceable>} </screen> -<para>Una carta se cierra con la instrucción <literal>\closing</literal>, por ejemplo, -</para><screen>\closing{Muy Atentamente,} +<para>Produce el cierre de la carta. Esto es opcional, pero habitual. +Aparece al final de una carta, encima de una firma manuscrita. Por +ejemplo: +</para> +<screen>\closing{Respetuosamente,} </screen> </sect1> -<sect1 label="25.4" id="_005cencl"> +<sect1 label="26.4" id="_005cencl"> <title><literal>\encl</literal></title> <indexterm role="fn"><primary>\encl</primary></indexterm> -<indexterm role="cp"><primary>lista de documentos adjuntos</primary></indexterm> +<indexterm role="cp"><primary>Lista de gabinetes</primary></indexterm> <para>Sinopsis: </para> -<screen>\encl{<replaceable>línea1</replaceable>\\<replaceable>línea2</replaceable>} +<screen>\encl{<replaceable>primer objeto encerrado</replaceable> \\ + ... } </screen> -<para>Declara una lista de más de un documento adjunto. +<para>Produce una lista de las cosas incluidas en la carta. Este comando es +opcional; cuando se usa, generalmente se coloca después de +<literal>\closing</literal>. Separa varias líneas con una barra invertida doble, +<literal>\\</literal>. </para> +<screen>\encl{License \\ + Passport} +</screen> </sect1> -<sect1 label="25.5" id="_005clocation"> +<sect1 label="26.5" id="_005clocation"> <title><literal>\location</literal></title> + <indexterm role="fn"><primary>\location</primary></indexterm> -<para><literal>\location{dirección}</literal> +<para>Sinopsis: </para> -<para>Esta modifica la dirección estándar de su organización. Esto sólo -aparece si el estilo de página <literal>firstpage</literal> está seleccionado. +<screen>\location{<replaceable>text</replaceable>} +</screen> +<para>El <replaceable>text</replaceable> aparece centrado en la parte inferior de la página. +Sólo aparece si el estilo de la página es <literal>firstpage</literal>. </para> </sect1> -<sect1 label="25.6" id="_005cmakelabels"> +<sect1 label="26.6" id="_005cmakelabels"> <title><literal>\makelabels</literal></title> + <indexterm role="fn"><primary>\makelabels</primary></indexterm> -<para><literal>\makelabels{número}</literal> +<para>Sinopsis: </para> -<para>Si ejecuta esta instrucción en el preámbulo, &latex; creará una hoja de -etiquetas con las direcciones. Esta hoja se emitirá antes que las -cartas. +<screen>\makelabels % en el preámbulo +</screen> +<para>Opcional, para un documento que contiene entornos <literal>letter</literal>. Si +simplemente pones <literal>\makelabels</literal> en el preámbulo y luego, al final +del documento, obtendrás una hoja con etiquetas para todos los +destinatarios, una para cada entorno letter, que puedes copiar en una +hoja despegable de etiquetas de dirección. +</para> +<para>Personaliza las etiquetas redefiniendo los comandos +<literal>\startlabels</literal>, <literal>\mlabel</literal> y <literal>\returnaddress</literal> (y quizás +<literal>\name</literal>) en el preámbulo. El comando <literal>\startlabels</literal> +establece el ancho, alto, número de columnas, etc., de la página en la +que se imprimen las etiquetas. El comando <literal>\mlabel{<replaceable>return +address</replaceable>}{<replaceable>recipient address</replaceable>}</literal> produce las dos etiquetas (o +una, si eliges ignorar la <replaceable>return address</replaceable>) para cada entorno +<replaceable>letter</replaceable>. El primer argumento, <replaceable>return address</replaceable>, es el valor +devuelto por la macro <literal>\returnaddress</literal>. El segundo argumento, +<replaceable>recipient address</replaceable>, es el valor pasado en el argumento al entorno +<literal>letter</literal>. Predeterminado <literal>\mlabel</literal> ignora el primer +argumento, el <replaceable>return address</replaceable>, provocando el comportamiento +predeterminado descrito en el párrafo anterior. +</para> +<para>Esto ilustra la personalización. Su salida incluye una página con dos +columnas con dos etiquetas cada una. +</para> +<screen>\documentclass{letter} +\renewcommand*{\returnaddress}{Fred McGuilicuddy \\ + Oshkosh, Mineola 12305} +\newcommand*\originalMlabel{} +\let\originalMlabel\mlabel +\def\mlabel#1#2{\originalMlabel{}{#1}\originalMlabel{}{#2}} +\makelabels + ... +\begin{document} +\begin{letter}{A Einstein \\ + 112 Mercer Street \\ + Princeton, New Jersey, USA 08540} + ... +\end{letter} +\begin{letter}{K G\"odel \\ + 145 Linden Lane \\ + Princeton, New Jersey, USA 08540} + ... +\end{letter} +\end{document} +</screen> +<para>La primera columna contiene la dirección del remitente dos veces. La +segunda columna contiene la dirección de cada destinatario. +</para> +<indexterm role="cp"><primary>package, <literal>envlab</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>envlab</literal> package</primary></indexterm> +<para>El paquete <literal>envlab</literal> facilita el formateo de +las etiquetas, con tamaños estándar ya proporcionados. Las líneas del +preámbulo <literal>\usepackage[personalenvelope]{envlab}</literal> y +<literal>\makelabels</literal> son todo lo que necesitas para imprimir sobres. </para> - </sect1> -<sect1 label="25.7" id="_005cname"> +<sect1 label="26.7" id="_005cname"> <title><literal>\name</literal></title> + <indexterm role="fn"><primary>\name</primary></indexterm> -<para><literal>\name{June Davenport}</literal> +<para>Sinopsis: </para> -<para>Su nombre, utilizado en la impresión del sobre junto con la dirección -del remitente. +<screen>\name{<replaceable>name</replaceable>} +</screen> +<para>Opcional. Nombre del remitente, utilizado para imprimir juntos en el +sobre con la dirección del remitente. </para> </sect1> -<sect1 label="25.8" id="_005copening"> -<title><literal>\opening{<replaceable>texto</replaceable>}</literal></title> +<sect1 label="26.8" id="_005copening"> +<title><literal>\opening</literal></title> + <indexterm role="fn"><primary>\opening</primary></indexterm> -<indexterm role="cp"><primary>cartas, iniciando</primary></indexterm> +<indexterm role="cp"><primary>cartas, iniciar</primary></indexterm> <para>Sinopsis: </para> -<screen>\opening{<replaceable>texto</replaceable>} +<screen>\opening{<replaceable>salutation</replaceable>} </screen> -<para>Una carta comienza con la instrucción <literal>\opening</literal>. El argumento -obligatorio, <replaceable>texto</replaceable>, es el texto con el que desea iniciar su carta. -Por ejemplo: +<para>Obligatorio. Requerido. Sigue el <literal>\begin{letter}{...}</literal>. El +argumento <replaceable>salutation</replaceable> es obligatorio. Por ejemplo: </para> -<screen>\opening{Estimado José,} +<screen>\opening{Estimado John:} </screen> </sect1> -<sect1 label="25.9" id="_005cps"> +<sect1 label="26.9" id="_005cps"> <title><literal>\ps</literal></title> <indexterm role="fn"><primary>\ps</primary></indexterm> <indexterm role="cp"><primary>posdata, en cartas</primary></indexterm> -<para>Use la instrucción <literal>\ps</literal> para iniciar una posdata en una carta, +<para>Sinopsis: +</para> +<screen>\ps{<replaceable>text</replaceable>} +</screen> +<para>Agrega una posdata. Este comando es opcional y generalmente se usa después de <literal>\closing</literal>. </para> +<screen>\ps{P.D. Después de haber leído esta carta, quémala. O cómetela.} +</screen> </sect1> -<sect1 label="25.10" id="_005csignature"> -<title><literal>\signature{<replaceable>texto</replaceable>}</literal></title> +<sect1 label="26.10" id="_005csignature"> +<title><literal>\signature</literal></title> + +<para>Sinopsis: +</para> +<screen>\signature{<replaceable>primera línea</replaceable> \\ + ... } +</screen> <indexterm role="fn"><primary>\signature</primary></indexterm> -<para>Su nombre, como debe aparecer al final de la carta debajo del espacio -para su firma. <literal>\\</literal> inicia una nueva línea dentro de <replaceable>texto</replaceable> -como de costumbre. +<para>El nombre del remitente. Este comando es opcional, aunque su +inclusión es habitual. +</para> +<para>El texto del argumento aparece al final de la carta, después del +cierre. &latex; deja algo de espacio vertical para una firma escrita +a mano. Separa varias líneas con una doble barra +invertida, <literal>\\</literal>. Por ejemplo: +</para> +<screen>\signature{J Fred Muggs \\ + Casa Blanca} +</screen> +<para>Valor predeterminado de &latex; para el espacio vertical del texto +<literal>\closing</literal> hasta el texto <literal>\signature</literal> es +<literal>6\medskipamount</literal>, que es seis veces <literal>\medskipamount</literal> (donde +<literal>\medskipamount</literal> es igual a un <literal>\parskip</literal>, que a su vez se +define de manera predeterminada aquí para 0.7em). +</para> +<para>Este comando suele estar en el preámbulo, para aplicar a todas las +letras en el documento. Para que se aplique a una sola carta, +colócala dentro de un entorno <literal>letter</literal> y antes del +<literal>\closing</literal>. +</para> +<para>Puedes incluir un gráfico en la firma como aquí. +</para> +<screen>\signature{\vspace{-6\medskipamount}\includegraphics{sig.png}\\ + Mi nombre} +</screen> +<para>Para esto debes poner <literal>\usepackage{graphicx}</literal> en el preámbulo +(véase <link linkend="Gr_00e1ficos">Gráficos</link>). </para> </sect1> -<sect1 label="25.11" id="_005cstartbreaks"> -<title><literal>\startbreaks</literal></title> -<indexterm role="fn"><primary>\startbreaks</primary></indexterm> +<sect1 label="26.11" id="_005ctelephone"> +<title><literal>\telephone</literal></title> + +<indexterm role="fn"><primary>\telephone</primary></indexterm> -<para><literal>\startbreaks</literal> +<para>Sinopsis: </para> -<para>Se usa después de una instrucción <literal>\stopbreaks</literal> para permitir de -nuevo los saltos de página. +<screen>\telephone{<replaceable>number</replaceable>} +</screen> +<para>El número de teléfono del remitente. Esto es típicamente en el +preámbulo, donde se aplica a todas las cartas. Esto solo aparece si +<literal>firstpage</literal> se selecciona el estilo de página. Si es así, +aparece en la parte inferior derecha de la página. </para> - </sect1> -<sect1 label="25.12" id="_005cstopbreaks"> -<title><literal>\stopbreaks</literal></title> -<indexterm role="fn"><primary>\stopbreaks</primary></indexterm> +</chapter> +<chapter label="27" id="Entrada_002fsalida"> +<title>Entrada/salida</title> -<para><literal>\stopbreaks</literal> -</para> -<para>Inhibe saltos de página hasta que aparezca una instrucción -<literal>\startbreaks</literal>. +<indexterm role="cp"><primary>entrada/salida, a terminal</primary></indexterm> +<indexterm role="cp"><primary>entrada/salida del terminal</primary></indexterm> +<indexterm role="cp"><primary>entrada/salida</primary></indexterm> + +<para>&latex; usa la capacidad de escribir en un archivo y luego volver a +leerlo para crear componentes de documentos como una tabla de +contenido o un índice. También puedes leer un archivo que escribieron +otros programas, o escribir un archivo para que otros lo lean. Te +puedes comunicar con los usuarios a través de la terminal. Y puedes +emitir instrucciones para el sistema operativo. </para> -</sect1> -<sect1 label="25.13" id="_005ctelephone"> -<title><literal>\telephone</literal></title> -<indexterm role="fn"><primary>\telephone</primary></indexterm> +<sect1 label="27.1" id="_005copenin-y-_005copenout"> +<title><literal>\openin</literal> y <literal>\openout</literal></title> + +<anchor id="_005copenin"/><anchor id="_005copenout"/><anchor id="_005cclosein"/><anchor id="_005ccloseout"/><indexterm role="fn"><primary>\openin</primary></indexterm> +<indexterm role="fn"><primary>\openout</primary></indexterm> +<indexterm role="fn"><primary>\closein</primary></indexterm> +<indexterm role="fn"><primary>\closeout</primary></indexterm> +<indexterm role="cp"><primary>archivo, abrir</primary></indexterm> +<indexterm role="cp"><primary>archivo, cerrar</primary></indexterm> +<indexterm role="cp"><primary>abre un archivo</primary></indexterm> -<para><literal>\telephone{número}</literal> +<para>Sinopsis: </para> -<para>Este es su número de teléfono. Este sólo aparece si el estilo de página -<literal>firstpage</literal> está seleccionado. +<screen>\openin <replaceable>number</replaceable>=<replaceable>filename</replaceable> +</screen> +<para>o: +</para> +<screen>\openout <replaceable>number</replaceable>=<replaceable>filename</replaceable> +</screen> +<para>Abre un archivo para leer material o para escribirlo. En la mayoría +de los motores, el <replaceable>number</replaceable> debe estar entre 0 y 15, como en +<literal>\openin3</literal>; en Lua&latex;, <replaceable>number</replaceable> puede estar entre 0 y +127. +</para> +<para>Aquí &tex; abre el archivo <filename>presidents.tex</filename> para lectura. +</para> +<screen>\newread\presidentsfile +\openin\presidentsfile=presidentes +\typeout{presidentsfile es \el\presidentsfile} +\read\presidentsfile a\presidentline +\typeout{\presidentline} +</screen> +<para>El comando <literal>\newread</literal> asigna números de flujo de entrada desde 0 +a 15 (también hay un <literal>\newwrite</literal>). El +<literal>\presidentsfile</literal> es más memorable, pero bajo el capó sigue +siendo un número; el primer <literal>\typeout</literal> da algo como +‘<literal>presidentsfile es 1</literal>’. Además, <literal>\newread</literal> realiza un +seguimiento de la asignación de modo que si usas demasiados, obtendrás +un error como ‘<literal>! No hay espacio para un nuevo \read</literal>’. El segundo +<literal>\typeout</literal> da la primera línea del archivo, algo así como ‘<literal>1 +Washington, George</literal>’. +</para> +<para>Normalmente, &tex; no intentará abrir el archivo hasta enviar la +página siguiente. Para cambiar esto, usa <literal>\immediate\openin +<replaceable>number</replaceable>=<replaceable>filename</replaceable></literal> o <literal>\immediate\openout +<replaceable>number</replaceable>=<replaceable>filename</replaceable></literal>. +</para> +<para>Cierra archivos con <literal>\closein <replaceable>number</replaceable></literal> y <literal>\closeout +<replaceable>number</replaceable></literal>. +</para> +<para>La forma en que &latex; maneja los nombres de archivo varía entre las +distribuciones e incluso puede variar entre las versiones de una +distribución. Si el archivo no tiene una extensión entonces &tex; +agregará un <filename>.tex</filename>. Esto crea <filename>presidents.tex</filename>, escribe una +línea y la cierra. +</para> +<screen>\newwrite\presidentsfile +\openout\presidentsfile=presidentes +\write\presidentsfile{1 Washington, George} +\closeout\presidentsfile +</screen> +<para>Pero los nombres de archivo con un punto pueden causar problemas: si +&tex; encuentra un <replaceable>filename</replaceable> de <filename>presidents.dat</filename> podría +buscar primero <filename>presidents.dat.tex</filename> y posteriormente +<filename>presidents.dat</filename>, o podría hacer lo contrario. La documentación +de su distribución debe decir más, y si encuentras algo que funcione +para ti, entonces eres bueno, pero para asegurar una portabilidad +completa lo mejor es utilizar nombres de archivo que contiene solo las +veintiséis letras ASCII (no distingue entre mayúsculas y minúsculas) y +los diez dígitos, junto con el guión bajo y el guión, y en particular +sin punto ni espacio. +</para> +<para>Para <literal>\openin</literal>, si &tex; no puede encontrar el archivo, entonces +no da un error. Simplemente considera que la transmisión no está +abierta (prueba esto con <literal>\ifeof</literal>; un recurso es el comando +<literal>\InputIfFileExists</literal>, véase <link linkend="Comandos-class-y-package">Comandos class y package</link>). Si +intentas usar el mismo número dos veces, &latex; no te dará un error. +Si intentas usar un número incorrecto y recibe un mensaje de error +como ‘<literal>! Número incorrecto (16). <para leer de nuevo> = l.30 +\openin16=test.jh</literal>’. </para> </sect1> -</chapter> -<chapter label="26" id="Entrada_002fSalida-a-la-Terminal"> -<title>Entrada/Salida a la Terminal</title> -<indexterm role="cp"><primary>entrada/salida</primary></indexterm> -<indexterm role="cp"><primary>entrada/salida desde la terminal</primary></indexterm> +<sect1 label="27.2" id="_005cread"> +<title><literal>\read</literal></title> +<indexterm role="fn"><primary>\read</primary></indexterm> +<indexterm role="cp"><primary>archivo, leer</primary></indexterm> +<indexterm role="cp"><primary>leer un archivo</primary></indexterm> +<para>Sinopsis: +</para> +<screen>\read <replaceable>number</replaceable> to<replaceable>macro</replaceable> +</screen> +<para>Hace que el comando <replaceable>macro</replaceable> contenga la siguiente línea de entrada +de texto que transmite <replaceable>number</replaceable>, como en <literal>\read5 to\data</literal>. +</para> +<para>Esto abre el archivo <filename>email.tex</filename> para lectura, pone el contenido +de la primera línea en el comando <literal>\email</literal> y luego cierra el +archivo. +</para> +<screen>\newread\recipientfile +\openin\recipientfile=email +\read\recipientfile to\email +\typeout{Email address: \email} +\closein\recipientfile +</screen> +<para>Si <replaceable>number</replaceable> está fuera del rango de 0 a 15 o si no hay +archivo de ese número abierto, o si el archivo ha finalizado, entonces +<literal>\read</literal> tomará la entrada de la terminal (o saldrá si la +interacción no está permitida, por ejemplo, <literal>\nonstopmode</literal>; +véase <link linkend="modos-de-interacci_00f3n">modos de interacción</link>). (Sin embargo, la forma natural en +&latex; de tomar entradas desde la terminal es <literal>\typein</literal> +(véase <link linkend="_005ctypein">\typein</link>). +</para> +<para>Para leer un archivo completo como fuente &latex; adicional, usa +<literal>\input</literal> (véase <link linkend="_005cinput">\input</link>) o <literal>\include</literal> (véase <link linkend="_005cinclude-e-_005cincludeonly">\include e +\includeonly</link>). +</para> +<indexterm role="cp"><primary>package, <literal>datatool</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>datatool</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>fusiones de correo</primary></indexterm> +<para>Una razón común para querer leer de un archivo de datos es realizar +combinaciones de correspondencia. CTAN tiene varios paquetes para +eso; uno es <literal>datatool</literal>. +</para> + +</sect1> +<sect1 label="27.3" id="_005ctypein"> +<title><literal>\typein</literal></title> -<sect1 label="26.1" id="_005ctypein"> -<title><literal>\typein[<replaceable>instrucción</replaceable>]{<replaceable>mensaje</replaceable>}</literal></title> <indexterm role="fn"><primary>\typein</primary></indexterm> -<para>Sinopsis: +<para>Sinopsis, una de: +</para> +<screen>\typein{<replaceable>prompt-msg</replaceable>} +\typein[<replaceable>cmd</replaceable>]{<replaceable>prompt-msg</replaceable>} +</screen> +<para>Imprime <replaceable>prompt-msg</replaceable> en la terminal y hace que &latex; se detenga +y espere a que escribas una línea de entrada. Esta línea de entrada +termina cuando presiones la tecla de retorno. +</para> +<para>Por ejemplo, este </para> -<screen>\typein[<replaceable>\instrucción</replaceable>]{<replaceable>mensaje</replaceable>} +<screen>Mientras viva, nunca olvidaré \typein{Ingresar el nombre del + estudiante:} </screen> -<para><literal>\typein</literal> imprime el <replaceable>mensaje</replaceable> en la terminal y provoca que -&latex; se detenga y espere para que usted escriba una línea de -entrada, terminando con “Intro”. Si se omite el argumento opcional -<replaceable>\instrucción</replaceable>, la entrada escrita se procesa como si se hubiera -incluido en el archivo de entrada en lugar de la instrucción -<literal>\typein</literal>. Si está presente el argumento <replaceable>\instrucción</replaceable>, debe -ser el nombre de una instrucción. Este nombre de instrucción entonces -define o redefine la entrada escrita. +<para>junto con esta interacción de la línea de comandos +</para> +<screen>Ingresa el nombre del estudiante: + +\@typein=Aphra Behn +</screen> +<para>da la salida ‘<literal>... nunca olvides a Aphra Behn</literal>’. +</para> +<para>La primera versión del comando, <literal>\typein{<replaceable>prompt-msg</replaceable>}</literal>, +provoca la entrada que escribiste para ser procesada como si se +hubiera incluido en el archivo de entrada en lugar del comando +<literal>\typein</literal> +</para> +<para>En la segunda versión del comando, el argumento opcional +<literal><replaceable>cmd</replaceable></literal> debe ser un nombre de comando, es decir, debe +comenzar con una barra invertida, \. Este nombre de comando se define +o redefine para ser la entrada que escribiste. Por ejemplo, este +</para> +<screen>\typein[\student]{Ingresa el nombre del estudiante:} +\typeout{Recomendación para \student .} +</screen> +<para>da esta salida en la línea de comandos, +</para> +<screen>Ingresa el nombre del estudiante: + +\student=John Dee +Recomendación para John Dee. +</screen> +<para>donde el usuario ha ingresado ‘<literal>John Dee.</literal>’ </para> </sect1> -<sect1 label="26.2" id="_005ctypeout"> -<title><literal>\typeout{<replaceable>mensaje</replaceable>}</literal></title> +<sect1 label="27.4" id="_005ctypeout"> +<title><literal>\typeout</literal></title> + <indexterm role="fn"><primary>\typeout</primary></indexterm> <para>Sinopsis: </para> -<screen>\typeout{<replaceable>mensaje</replaceable>} +<screen>\typeout{<replaceable>msg</replaceable>} </screen> -<para>Imprime el <literal>mensaje</literal> en la terminal y en el archivo <literal>log</literal>. -Las instrucciones en el <literal>mensaje</literal> que están definidas con -<literal>\newcommand</literal> o <literal>\renewcommand</literal> (entre otras) se sustituyen -por su definición antes de ser impresas. +<para>Imprime <literal>msg</literal> en la terminal y en el archivo <literal>log</literal>. +</para> +<para>Este </para> -<para>Las reglas habituales de &latex; para el tratamiento de varios espacios -como un espacio único e ignorando espacios después de un nombre de -instrucción también se aplican al <literal>mensaje</literal>. Una instrucción -<literal>\space</literal> en <literal>mensaje</literal> provoca la impresión de un espació -sencillo, independientemente de los espacios circundantes. Una -<literal>^^J</literal> en <literal>mensaje</literal> imprime una nueva línea. +<screen>\newcommand{\student}{John Dee} +\typeout{Recomendación para \student .} +</screen> +<para>genera ‘<literal>Recomendación para John Dee</literal>’. Como lo que pasa aquí con +<literal>\student</literal>, comandos que se definen con <literal>\newcommand</literal> o +<literal>\renewcommand</literal> (entre otros) se reemplazan por sus definiciones +antes de ser impresos. +</para> +<indexterm role="fn"><primary>\space</primary></indexterm> +<para>Las reglas habituales de &latex; para tratar múltiples espacios como +un solo espacio e ignorar los espacios después de un nombre de comando +se aplica a <literal>msg</literal>. Utiliza el comando <literal>\space</literal> para obtener +un solo espacio, independiente de los espacios circundantes. Usa +<literal>^^J</literal> para obtener una nueva línea. Obtener un carácter de +porcentaje con <literal>\csname @percentchar\endcsname</literal>. +</para> +<para>Este comando puede ser útil para una depuración simple, como aquí: +</para> +<screen>\newlength{\jhlength} +\setlength{\jhlength}{5pt} +\typeout{La longitud es \la\jhlength.} +</screen> +<para>produce en la línea de comandos ‘<literal>La longitud es 5.0pt</literal>’. </para> </sect1> -</chapter> -<chapter label="27" id="L_00ednea-de-_00d3rdenes"> -<title>Línea de Órdenes</title> -<indexterm role="cp"><primary>línea de órdenes</primary></indexterm> +<sect1 label="27.5" id="_005cwrite"> +<title><literal>\write</literal></title> -<para>La especificación de archivo de entrada indica el archivo al cual -aplicar formato; &tex; usa <filename>.tex</filename> como extensión predeterminada. -Si se omite el archivo de entrada completamente, &tex; acepta entrada -desde la terminal. Usted especifica opciones de instrucción mediante el -suministro de una cadena como un parámetro para la instrucción; por -ejemplo, +<indexterm role="fn"><primary>\write</primary></indexterm> + +<para>Sinopsis: </para> -<screen>latex '\nonstopmode\input foo.tex' +<screen>\write <replaceable>number</replaceable>{<replaceable>string</replaceable>} </screen> -<para>debe procesar <filename>foo.tex</filename> sin hacer una pausa después de cada error. +<para>Escribe <replaceable>string</replaceable> en el archivo de registro, en la terminal o en un +archivo abierto por <literal>\openout</literal>. Por ejemplo, <literal>\write6</literal> +escribe en texto corriente el número 6. </para> -<indexterm role="cp"><primary>‘<literal>*</literal>’ apuntador</primary></indexterm> -<indexterm role="cp"><primary>apuntador, ‘<literal>*</literal>’</primary></indexterm> -<indexterm role="fn"><primary>\stop</primary></indexterm> -<para>Si &latex; se detiene en medio del documento y le muestra un indicador -‘<literal>*</literal>’, está esperando por una entrada. Usted puede escribir -<literal>\stop</literal> (e Intro) y este terminará el documento prematuramente. +<para>Si aparece lo siguiente en <filename><replaceable>basefile</replaceable>.tex</filename> entonces se abre +<filename><replaceable>basefile</replaceable>.jh</filename>, escribe ‘<literal>Hello World!</literal>’ y una nueva +línea y cierra ese archivo. +</para> +<screen>\newwrite\myfile +\immediate\openout\myfile=\jobname.jh % \jobname is root file basename +... +\immediate\write\myfile{Hello world!} +... +\immediate\closeout\myfile +</screen> +<indexterm role="fn"><primary>\newwrite</primary></indexterm> +<para>El <literal>\newwrite</literal> asigna un número de flujo, dándole un valor de +nombre simbólico para hacer la vida más fácil, para que +<literal>stream\newwrite\myfile\the\myfile</literal> produzca algo como +‘<literal>stream 3</literal>’. Entonces <literal>\openout</literal> asocia el número de flujo +con el nombre de archivo dado. &tex; finalmente ejecutó +<literal>\write3</literal> que pone la cadena en el archivo. +</para> +<indexterm role="cp"><primary>archivo de registro, escribir en</primary></indexterm> +<indexterm role="cp"><primary>terminal, escribir a</primary></indexterm> +<indexterm role="cp"><primary><inlineequation><mathphrase>-1</mathphrase></inlineequation>, escribe el número de flujo</primary></indexterm> +<para>Por lo general, <replaceable>number</replaceable> está entre 0 y 15, porque +normalmente los autores de &latex; siguen el ejemplo anterior y se +asigna el número por el sistema. Si <replaceable>number</replaceable> está fuera del rango +de 0 a 15 o si no está asociado con un archivo abierto, &latex; +escribe <replaceable>string</replaceable> al archivo de registro. Si <replaceable>number</replaceable> es +positivo entonces además &latex; escribe <replaceable>string</replaceable> en la terminal. +</para> +<para>Por lo tanto, <literal>test \write-1{Hello World!}</literal> pone ‘<literal>Hello +World!</literal>’ seguido de una nueva línea en el archivo de registro. (Esto +es lo que dice el <literal>\wlog</literal> el comando lo hace; véase <link linkend="_005cwlog">\wlog</link>). Y +<literal>\write100{Hola Mundo!}</literal> pone lo mismo en el archivo de +registro pero también pone ‘<literal>Hello World!</literal>’ seguido de una nueva +línea en la salida del terminal. (Pero 16, 17 y 18 son especial como +<replaceable>number</replaceable>; ve abajo). +</para> +<indexterm role="cp"><primary>Lua&tex;, 256 flujos de salida en</primary></indexterm> +<para>En Lua&tex;, en lugar de 16 flujos de salida, hay 256 (véase <link linkend="Motores-TeX">Motores +&tex;</link>). +</para> +<indexterm role="fn"><primary>\@auxout</primary></indexterm> +<indexterm role="fn"><primary>\@mainaux</primary></indexterm> +<para>Usa <literal>\write\@auxout{<replaceable>string</replaceable>}</literal> para escribir en el actual +<filename>.aux</filename>, que está asociado con el archivo raíz o con el archivo de +inclusión actual; y usa <literal>\write\@mainaux{<replaceable>string</replaceable>}</literal> para +escribir en el <filename>.aux</filename> principal. Estos nombres simbólicos están +definidos por &latex;. +</para> +<!-- crédito: David Carlisle --> +<!-- https://tex.stackexchange.com/a/115933/121234 --> +<para>De manera predeterminada &latex; no escribe <replaceable>string</replaceable> a la derecha +del arreglo correcto. Esto se debe a que, por ejemplo, puedes +necesitar <literal>\write</literal> para guardar el número de página actual, pero +cuando &tex; encuentra un <literal>\write</literal> por lo general no sabe cuál +es el número de página, ya que aún no ha hecho el salto de página. +Entonces, usas <literal>\write</literal> en uno de tres contextos: +</para> +<screen>\immediate\write\@auxout{<replaceable>string</replaceable>} %1 +\write\@auxout{<replaceable>string</replaceable>} %2 +\protected@write\@auxout{}{<replaceable>string</replaceable>} %3 +</screen> +<orderedlist numeration="arabic"><listitem><indexterm role="cp"><primary>inmediato <literal>\write</literal></primary></indexterm> +<indexterm role="fn"><primary>\immediate\write</primary></indexterm> +<para>Con el primero, &latex; escribe <replaceable>string</replaceable> en el archivo +inmediatamente. Cualquier macro en <replaceable>string</replaceable> está completamente +expandida (al igual que en <literal>\edef</literal>), por lo que para evitar la +expansión debes usar <literal>\noexpand</literal>, <literal>toks</literal>, etc., excepto que +debes usar <literal>#</literal> en lugar de <literal>##</literal>). +</para> +</listitem><listitem><indexterm role="cp"><primary><literal>\write</literal> retrasada</primary></indexterm> +<indexterm role="cp"><primary>¿cuál es el elemento?</primary></indexterm> +<indexterm role="fn"><primary>\shipout y expansión</primary></indexterm> +<para>Con el segundo, <replaceable>string</replaceable> se almacena en la lista actual de cosas +(como un elemento &tex; “whatsit”) y se mantiene hasta que se envía +la página y así mismo las macros se contraen hasta <literal>\shipout</literal>. En +<literal>\shipout</literal>, <replaceable>string</replaceable> está completamente expandido. +</para> +</listitem><listitem><indexterm role="fn"><primary>\protected@write</primary></indexterm> +<para>El tercer, <literal>\protected@write</literal>, es como el segundo excepto que +puedes usar <literal>\protect</literal> para evitar la expansión. El primer +argumento extra te permite insertar localmente definiciones +adicionales para hacer más macros protegidas o tener alguna otra +definición especial para escribir. +</para></listitem></orderedlist> +<para>Como ejemplo simple de expansión con <literal>\write</literal>, <replaceable>string</replaceable> aquí +contiene una secuencia de control <literal>\triplex</literal> que hemos definido +como el texto ‘<literal>XYZ</literal>’: +</para> +<screen>\newwrite\jhfile +\openout\jhfile=test.jh +\newcommand{\triplex}{XYZ} +\write\jhfile{test \triplex test} +</screen> +<para>Esto da como resultado el archivo <filename>test.jh</filename> que contiene el texto +‘<literal>test XYZtest</literal>’ seguido de una nueva línea. +</para> +<indexterm role="cp"><primary><literal>\write</literal> transmisiones 16, 17, 18</primary></indexterm> +<para>Los casos en los que <replaceable>number</replaceable> es 16, 17 o 18 son especiales. +Porque el comportamiento de <literal>\write</literal> cuando <replaceable>number</replaceable> está +fuera del rango de 0 a 15 descrito anteriormente, en Plain &tex; +<literal>\write16</literal> y <literal>\write17</literal> a veces se usaba para escribir en el +archivo de registro y el terminal; sin embargo, en &latex;, la forma +natural de hacerlo es con <literal>\typeout</literal> (véase <link linkend="_005ctypeout">\typeout</link>). El +comando <literal>\write18</literal> es aún más especial; los sistemas &tex; +modernos lo usan para dar órdenes al sistema operativo +(véase <link linkend="_005cwrite18">\write18</link>). +</para> +<indexterm role="cp"><primary>nueva línea, en <literal>\write</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>^^J</literal>, in <literal>\write</literal></primary></indexterm> +<para>Normalmente, <literal>\write</literal> genera una sola línea. Puedes incluir una +nueva línea con <literal>^^J</literal>. Por lo tanto, esto produce dos líneas en +el archivo de registro.: +</para> +<screen>\wlog{Las líneas paralelas tienen mucho en común.^^JPero nunca se +encuentran.} +</screen> +<para>Un caso común donde los autores necesitan escribir su propio archivo +es para respuestas a ejercicios, u otra situación en la que quieras +escribir textualmente, sin expandir las macros. CTAN tiene una serie +de paquetes para esto; uno es <literal>answers</literal>. </para> +<sect2 label="27.5.1" id="_005cwrite-y-seguridad"> +<title><literal>\write</literal> y seguridad</title> + +<indexterm role="cp"><primary>seguridad y <literal>\write</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>\write</literal> y seguridad</primary></indexterm> + +<para>La capacidad de escribir archivos plantea problemas de seguridad. Si +compilaste un descargó el archivo &latex; y sobrescribió su archivo +de contraseña, entonces estarías justificadamente preocupado. +</para> +<para>Por lo tanto, de manera predeterminada, los sistemas &tex; solo te +permiten abrir archivos para escritura que están en el directorio +actual o directorio de salida, si se especifica (véase <link linkend="directorio-de-salida">directorio de +salida</link>), o en un subdirectorio de aquellos. Entonces, este código +</para> +<screen>\newwrite\jhfile +\openout\jhfile=../test.jh +</screen> +<para>da un error como: +</para><screen>No escribir en ../test.jh (openout_any = p). +! No puedes escribir en el archivo `../test.jh' +</screen> +<indexterm role="cp"><primary>directorios principales, no se puede escribir en</primary></indexterm> +<para>Puedes obtener un error de este tipo cuando usas comandos como +<literal>\include{../filename}</literal> porque &latex; intentará abrir +<filename>../filename.aux</filename>. La solución más sencilla es poner los +archivos incluidos en el mismo directorio que el archivo raíz, o en +subdirectorios. +</para> + +</sect2> +<sect2 label="27.5.2" id="_005cmessage"> +<title><literal>\message</literal></title> + +<indexterm role="fn"><primary>\message</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\message{<replaceable>string</replaceable>} +</screen> +<para>Escribe <replaceable>string</replaceable> en el archivo de registro y en la terminal. +</para> +<para>Por lo general, los autores de &latex; usan <literal>\typeout</literal> +(véase <link linkend="_005ctypeout">\typeout</link>). Eso te permite usar <literal>\protect</literal> en cualquier +comando frágil en <replaceable>string</replaceable> (véase <link linkend="_005cprotect">\protect</link>). Pero +<literal>\typeout</literal> siempre inserta una nueva línea al final de +<replaceable>string</replaceable> mientras que <literal>\message</literal> no lo hace, por lo que este +último puede ser útil. +</para> +<para>Con este cuerpo del documento de ejemplo. +</para> +<screen>antes\message{Uno Dos}\message{Tres}\message{Cuatro^^JI} +\message{declarar una guerra de pulgares.}Después +</screen> +<para>bajo algunas circunstancias (ve más abajo) &latex; escribe lo +siguiente para tanto la terminal como el archivo de registro. +</para> +<screen>Uno Dos Tres Cuatro +Declaro una guerra de pulgares. +</screen> +<para>El <literal>^^J</literal> produce una nueva línea. Además, en el documento de +salida, entre ‘<literal>before</literal>’ y ‘<literal>After</literal>’ será un solo espacio (del +final de la línea que sigue a ‘<literal>I}</literal>’). +</para> +<para>Si bien <literal>\message</literal> te permite tener más control sobre el formato, +un inconveniente es que &latex; puede estropear ese formato porque +inserta saltos de línea dependiendo de lo que ya has +escrito. Contrasta este cuerpo del documento, donde ‘<literal>Two</literal>’ se ha +movido, al que se indica arriba. +</para> +<screen>antes de\message{Uno}\message{Dos Tres}\message{Cuatro^^JI} +\message{declara una guerra de pulgares.}Después +</screen> +<para>Esto puede suceder: cuando &latex; envía los mensajes a la terminal, +ahora el mensaje con ‘<literal>Uno</literal>’ es más corto y cabe al final de la +línea de salida en la terminal, y entonces &latex; rompe la línea +entre él y ‘<literal>Dos Tres</literal>’. Ese salto de línea también aparece en el +archivo de registro. Esta inserción de salto de línea puede depender, +por ejemplo, de la longitud de los nombres completos de las rutas de +los archivos incluidos. Por lo tanto, producir líneas de una manera +que es portátil es difícil, probablemente requiera comenzando su +mensaje al principio de una línea. +</para> + +</sect2> +<sect2 label="27.5.3" id="_005cwlog"> +<title><literal>\wlog</literal></title> + +<indexterm role="fn"><primary>\wlog</primary></indexterm> + +<para>Sinopsis: +</para> +<screen>\wlog{<replaceable>string</replaceable>} +</screen> +<para>Escribe <replaceable>string</replaceable> en el archivo de registro. +</para> +<screen>\wlog{¿Escuchaste sobre el matemático que odia los negativos?} +\wlog{No se detendrá ante nada para evitarlo.} +</screen> +<para>Por lo general, <replaceable>string</replaceable> aparece en una sola línea separada. Usa +<literal>^^J</literal> para insertar una nueva línea. +</para> +<screen>\wlog{Helvetica y Times Roman entran a un bar.} +\wlog{El barman dice,^^JNo servimos tu tipo.} +</screen> + +</sect2> +<sect2 label="27.5.4" id="_005cwrite18"> +<title><literal>\write18</literal></title> + +<indexterm role="fn"><primary>\write18</primary></indexterm> +<indexterm role="cp"><primary>comandos externos</primary></indexterm> +<indexterm role="cp"><primary>comandos, ejecutar desde &latex;</primary></indexterm> +<indexterm role="cp"><primary>comandos del sistema, ejecutar desde &latex;</primary></indexterm> +<indexterm role="cp"><primary>acceso de shell</primary></indexterm> +<!-- Derivado de: Joseph Wright: --> +<!-- https://tex.stackexchange.com/a/20446/121234 --> + +<para>Sinopsis: +</para> +<screen>\write18{<replaceable>shell_command</replaceable>} +</screen> +<para>Emite un comando al shell del sistema operativo. El sistema operativo +ejecuta el comando y la ejecución de &latex; se bloquea hasta que +acabe. +</para> +<indexterm role="cp"><primary>package, <literal>Asymptote</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>Asymptote</literal> package</primary></indexterm> + +<para>Esta secuencia (en Unix) +</para> +<screen>\usepackage{graphicx} % en el preámbulo + ... +\newcommand{\fignum}{1} +\immediate\write18{cd pix && asy figure\fignum} +\includegraphics{pix/figure\fignum.pdf} +</screen> +<para>ejecutará Asymptote (el programa <literal>asy</literal>) en +<filename>pix/figure1.asy</filename>, para que luego el documento se pueda leer en +el gráfico resultante (véase <link linkend="_005cincludegraphics">\includegraphics</link>). Como cualquier +<literal>\write</literal>, aquí &latex; expande macros en <replaceable>shell_command</replaceable> +para que <literal>\fignum</literal> sea reemplazado por ‘<literal>1</literal>’. +</para> +<para>Otro ejemplo es que puedes ejecutar automáticamente Bib&tex; al +inicio de cada ejecución de &latex; (véase <link linkend="Usar-BibTeX">Usar BibTeX</link>) incluyendo +<literal>\immediate\write18{bibtex8 \jobname}</literal> como la primera línea +del archivo. Ten en cuenta que <literal>\jobname</literal> se expande al nombre +base del archivo raíz a menos que se pase la opción <literal>--jobname</literal> +en la línea de comandos, en cuyo caso este es el argumento de la +opción. +</para> +<para>A veces es necesario realizar un proceso de varios pasos para obtener +la información de eso que quieres. Esto insertará en la entrada una +lista de todos los archivos PDF en el directorio actual (pero ve +<literal>texosquery</literal> a continuación): +</para> +<screen>\immediate\write18{ls *.pdf > tmp.dat} +\input{tmp.dat} +</screen> +<para>El comportamiento estándar de cualquier <literal>\write</literal> es esperar hasta +que una página sea enviada antes de expandir las macros o escribir en +la secuencia (véase <link linkend="_005cwrite">\write</link>). Pero a veces quieres que se haga ahora. +Para esto, usa <literal>\immediate\write18{<replaceable>shell_command</replaceable>}</literal>. +</para> +<para>Hay problemas de seguridad obvios al permitir comandos del sistema +dentro un archivo &latex;. Si descargas un archivo de la red y +contiene comandos para eliminar todos sus archivos, entonces no +estarías satisfecho. La configuración estándar en las distribuciones +modernas desactiva el acceso completo al intérprete de comandos. Lo +puedes activar, si estás seguro de que los comandos del intérprete son +seguros, compilando con <literal>latex --enable-write18 <replaceable>filename</replaceable></literal> +(véase <link linkend="Opciones-de-la-l_00ednea-de-comandos">Opciones de la línea de comandos</link>). (La opción +<literal>--shell-escape</literal> es un sinónimo, en &tex; Live). +</para> +<indexterm role="cp"><primary>acceso restringido al intérprete</primary></indexterm> +<para>En lugar del acceso completo al intérprete, las distribuciones +modernas por omisión una versión restringida que permite que funcionen +algunos comandos, como los que ejecuta Metafont para generar fuentes +que faltan, incluso si no usa la opción <literal>enable-write18</literal>. De +manera predeterminada esta lista de commands permitidos es corto y +presenta solo los comandos que están bajo el control de los +mantenedores de la distribución (véase <link linkend="Opciones-de-la-l_00ednea-de-comandos">Opciones de la línea de +comandos</link>). +</para> +<indexterm role="fn"><primary>/bin/sh, usado por <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>sh, usado por <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>cmd.exe, usado por <literal>\write18</literal></primary></indexterm> +<indexterm role="fn"><primary>SHELL, variables de entorno</primary></indexterm> +<para>El texto <replaceable>shell_command</replaceable> siempre se pasa a <filename>/bin/sh</filename> en +sistemas operativos similares a Unix y el intérprete de comandos de +DOS <filename>cmd.exe</filename> en Windows. Cualquier intérprete diferente +establecido por el usuario, y la variable de entorno <literal>SHELL</literal> se +ignora. +</para> +<indexterm role="cp"><primary>package, <literal>texosquery</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>texosquery</literal> package</primary></indexterm> + +<indexterm role="cp"><primary>información del sistema</primary></indexterm> +<indexterm role="cp"><primary>Información del sistema operativo</primary></indexterm> +<indexterm role="cp"><primary>Información de la configuración regional, del sistema</primary></indexterm> +<indexterm role="cp"><primary>Listados de directorio, del sistema</primary></indexterm> +<para>Si lo que necesitas es información del sistema, como el nombre del +sistema operativo, información local o contenido del directorio, echa +un vistazo al paquete <literal>texosquery</literal>, que proporciona una forma +de interfaz cómoda y segura para esto, a diferencia de los ejemplos +anteriores que usan el <literal>\write18</literal> simple <literal>\write18</literal>: +<ulink url="https://ctan.org/pkg/texosquery">https://ctan.org/pkg/texosquery</ulink>. +</para> +<indexterm role="cp"><primary>package, <literal>shellesc</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>shellesc</literal> package</primary></indexterm> + +<indexterm role="fn"><primary>\ShellEscape</primary></indexterm> +<indexterm role="fn"><primary>\DelayedShellEscape</primary></indexterm> +<para>&latex; proporciona un paquete <literal>shellesc</literal> encima del comando +primitivo <literal>\write18</literal>. Su propósito principal es proporcionar un +comando <literal>\ShellEscape</literal> que funciona de manera idéntica en todos +los motores &tex;; Lua&tex; intencionalmente no retuvo +<literal>\write18</literal> como una forma de invocar un comando del intérprete, +por lo que se necesita algún código específico del motor. El paquete +<literal>shellesc</literal> también proporciona un comando +<literal>\DelayedShellEscape</literal>, ejecutado a la hora de <literal>\output</literal>, por +la misma razón. +</para> + +</sect2> +</sect1> </chapter> -<appendix label="A" id="Plantillas-de-Documento"> -<title>Plantillas de Documento</title> -<indexterm role="cp"><primary>plantillas de documentos</primary></indexterm> +<chapter label="28" id="Interfaz-de-l_00ednea-de-comandos"> +<title>Interfaz de línea de comandos</title> + +<anchor id="L_00ednea-de-comandos"/><!-- nombre antiguo --> +<indexterm role="cp"><primary>interfaz de línea de comando</primary></indexterm> +<indexterm role="cp"><primary>interfaz, línea de comandos</primary></indexterm> +<indexterm role="cp"><primary>*CLI*</primary></indexterm> -<para>Aunque no es material de referencia, tal vez estas plantillas de -documento serán de utilidad. +<para>Sinopsis (desde una línea de comandos de terminal): +</para> +<screen>pdflatex <replaceable>options</replaceable> <replaceable>argument</replaceable> +</screen> +<para>Ejecuta &latex; en <replaceable>argument</replaceable>. En lugar de <command>pdflatex</command> +también puedes usar (para salida PDF) <command>xelatex</command> o +<literal>lualatex</literal>, o (para salida DVI) <literal>latex</literal> o +<literal>dvilualatex</literal>, entre otros (véase <link linkend="Motores-TeX">Motores &tex;</link>). +</para> +<para>Por ejemplo, esto ejecutará &latex; en el archivo <filename>thesis.tex</filename>, +creando la salida <filename>thesis.pdf</filename>. </para> +<screen>pdflatex thesis +</screen> +<indexterm role="fn"><primary>.tex, extensión predeterminada</primary></indexterm> +<para>Ten en cuenta que <filename>.tex</filename> es la extensión del nombre de archivo +predeterminada. +</para> +<para>pdf&tex; es una extensión del programa &tex; original, al igual que +Xe&tex; y Lua&tex; (véase <link linkend="Motores-TeX">Motores &tex;</link>). Los dos primeros son +completamente retrocompatibles y el segundo, casi. Quizás la nueva +característica más fundamental para los tres es que el &tex; original +produce su propio formato DVI, mientras que los más nuevos pueden +salir directamente a PDF. Esto les permite aprovechar las funciones +adicionales en PDF como hipervínculos, compatibilidad con formatos de +imagen modernos como JPG y PNG y programas de visualización +omnipresentes. En resumen, si corres <command>pdflatex</command> o +<command>xelatex</command> o <command>lualatex</command> entonces obtendrás PDF de forma +predeterminada y tendrás acceso a todas sus modernas características. +Si ejecutas <command>latex</command> o <command>dvilualatex</command>, obtendrás DVI. +La descripción aquí asume <command>pdflatex</command>. +</para> +<para>Véase <link linkend="Opciones-de-la-l_00ednea-de-comandos">Opciones de la línea de comandos</link>, para una selección de las más +útiles opciones de la línea de comandos. En cuanto a <replaceable>argument</replaceable>, +el caso habitual es que no comienza con una barra invertida, por lo +que el sistema lo toma como el nombre de un archivo y compila ese +archivo. Si <replaceable>argument</replaceable> comienza con una barra invertida, el +sistema lo interpretará como una línea de entrada &latex;, que se +puede utilizar para efectos especiales (véase <link linkend="Entrada-de-la-l_00ednea-de-comandos">Entrada de la línea de +comandos</link>). +</para> +<para>Si no proporcionaste argumentos ni opciones, <command>pdflatex</command> +solicita entrada desde la terminal. Puedes escapar de esto ingresando +<userinput>CTRL-D</userinput>. +</para> +<para>Si &latex; encuentra un error en tu documento, de manera +predeterminada se detiene y te pregunta al respecto. +Véase <link linkend="Recuperaci_00f3n-de-errores">Recuperación de errores</link>, para obtener un resumen de qué hacer. +</para> + + +<sect1 label="28.1" id="Opciones-de-la-l_00ednea-de-comandos"> +<title>Opciones de la línea de comandos</title> + +<indexterm role="cp"><primary>opciones, línea de comandos</primary></indexterm> + +<para>Estas son las opciones de la línea de comandos relevantes para la +autoría de documentos ordinarios. Para obtener una lista completa, +intenta ejecutar ‘<literal>latex --help</literal>’ desde la línea de comandos. +</para> +<para>Con muchas implementaciones puedes especificar opciones de la línea de +comandos prefijándolos con ‘<literal>-</literal>’ o ‘<literal>--</literal>’. ESTE es el caso de +ambos &tex; Live (incluyendo Mac&tex;) y MiK&tex;. Usaremos ambas +convenciones indistintamente. Si una opción toma un valor, se puede +especificar ya sea como un argumento separado (‘<literal>--foo val</literal>’), o +como un argumento con un signo ‘<literal>=</literal>’ (‘<literal>--foo=val</literal>’), pero no +puede haber espacios alrededor de ‘<literal>=</literal>’. Generalmente usaremos la +sintaxis ‘<literal>=</literal>’. +</para> +<variablelist><indexterm role="fn"><primary>--version command-line option</primary></indexterm> +<varlistentry><term><literal>-version</literal> +</term><listitem><para>Muestra la versión actual, como ‘<literal>pdfTeX 3.14159265-2.6-1.40.16 +(TeX Live 2015/Debian)</literal>’ junto con una pequeña cantidad de información +adicional, y sale. +</para> +<indexterm role="fn"><primary>--help command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-help</literal> +</term><listitem><para>Proporciona un breve mensaje de uso que sea útil como aviso y sale. +</para> +<anchor id="modos-de-interacci_00f3n"/><indexterm role="fn"><primary>--interaction command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-interaction=<replaceable>mode</replaceable></literal> +</term><listitem><indexterm role="cp"><primary>batchmode</primary></indexterm> +<indexterm role="cp"><primary>scrollmode</primary></indexterm> +<indexterm role="cp"><primary>errorstopmode</primary></indexterm> +<indexterm role="cp"><primary>nonstopmode</primary></indexterm> +<para>&tex; compila un documento en uno de cuatro modos de interacción: +<literal>batchmode</literal>, <literal>nonstopmode</literal>, <literal>scrollmode</literal>, +<literal>errorstopmode</literal>. En <firstterm>errorstopmode</firstterm> (el predeterminado), +&tex; se detiene en cada error y solicita la intervención del +usuario. En <firstterm>modo por lotes</firstterm> no imprime nada en la terminal, los +errores se desplazan como si el usuario presionara <userinput>RETURN</userinput> en +cada error, y los archivos que faltan hacen que se aborte el +trabajo. En <firstterm>nonstopmode</firstterm>, aparece un mensaje de diagnóstico en la +terminal pero como en el modo por lotes, no hay interacción del +usuario. En <firstterm>scrollmode</firstterm>, &tex; se detiene por falta de archivos +o entrada del teclado, pero nada más. +</para> +<para>Por ejemplo, iniciar &latex; con esta línea de comandos +</para> +<screen>pdflatex -interaction=batchmode <replaceable>filename</replaceable> +</screen> +<para>elimina la mayor parte de la salida de la terminal. +</para> +<indexterm role="cp"><primary>nombre de trabajo</primary></indexterm> +<indexterm role="cp"><primary>nombre de archivo para el trabajo actual</primary></indexterm> +<indexterm role="fn"><primary>--jobname command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-jobname=<replaceable>string</replaceable></literal> +</term><listitem><para>Establece el valor de <firstterm>jobname</firstterm> de &tex; en la cadena. El +archivo de registro y el archivo de salida entonces se llamará +<filename><replaceable>string</replaceable>.log</filename> y <filename><replaceable>string</replaceable>.pdf</filename>. véase <link linkend="Nombre-del-trabajo">Nombre del +trabajo</link>. +</para> +<anchor id="directorio-de-salida"/><indexterm role="cp"><primary>Directorio de salida para todos los archivos externos</primary></indexterm> +<indexterm role="fn"><primary>--output-directory command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-output-directory=<replaceable>directory</replaceable></literal> +</term><listitem><para>Escribe archivos en el directorio <replaceable>directory</replaceable>. Ya debe existir. +Esto se aplica a todos los archivos externos creados por &tex; o +&latex;, como el archivo <filename>.log</filename> para la ejecución, el +<filename>.aux</filename>, <filename>.toc</filename>, etc., archivos creados por &latex;, así +como el principal archivo de salida <filename>.pdf</filename> o <filename>.dvi</filename> en sí +mismo. +</para> +<para>Cuando se especifica, el directorio de salida <replaceable>directory</replaceable> además +primero se verifica automáticamente cualquier archivo que se ingrese, +de modo que los archivos externos se pueden volver a leer, si se +desea. El verdadero directorio actual (en el que se ejecutó &latex;) +permanece sin cambios, y también se comprobaron los archivos de +entrada. +</para> +<indexterm role="cp"><primary>escape del intérprete</primary></indexterm> +<indexterm role="cp"><primary><literal>\write18</literal>, habilitar</primary></indexterm> +<indexterm role="fn"><primary>--enable-write18 command-line option</primary></indexterm> +<indexterm role="fn"><primary>--disable-write18 command-line option</primary></indexterm> +<indexterm role="fn"><primary>--shell-escape command-line option</primary></indexterm> +<indexterm role="fn"><primary>--no-shell-escape command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>--enable-write18</literal> +</term><term><literal>--disable-write18</literal> +</term><term><literal>--shell-escape</literal> +</term><term><literal>--no-shell-escape</literal> +</term><listitem><para>Habilita o deshabilita <literal>\write18{<replaceable>shell_command</replaceable>}</literal> +(véase <link linkend="_005cwrite18">\write18</link>). Las dos primeras opciones son compatibles con +ambos &tex; Live y MiK&tex;, mientras que las dos segundas son +sinónimos compatibles por &tex; Live. +</para> +<para>Habilitar esta funcionalidad tiene importantes implicaciones de +seguridad, ya que permite que un archivo &latex; ejecute cualquier +comando. Por lo tanto, de manera predeterminada, no se permite +<literal>\write18</literal> sin restricciones. (El valor predeterminado para +&tex; Live, Mac&tex; y MiK&tex; es permitir la ejecución de un +número limitado de programas relacionados con &tex;, que ellos +distribuyen). +</para> +<para>Por ejemplo, si invocas a &latex; con la opción +<literal>no-shell-escape</literal>, y en tu documento llamas a <literal>\write18{ls +-l}</literal>, entonces no obtienes un error pero el archivo de registro dice +‘<literal>runsystem(ls -l)...deshabilitado</literal>’. +</para> +<indexterm role="fn"><primary>--halt-on-error command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-halt-on-error</literal> +</term><listitem><para>Detiene el procesamiento en el primer error. +</para> +<indexterm role="fn"><primary>--file-line-error command-line option</primary></indexterm> +<indexterm role="fn"><primary>--no-file-line-error command-line option</primary></indexterm> +</listitem></varlistentry><varlistentry><term><literal>-file-line-error</literal> +</term></varlistentry><varlistentry><term><literal>-no-file-line-error</literal> +</term><listitem><para>Habilita o deshabilita +<literal><replaceable>filename</replaceable>:<replaceable>lineno</replaceable>:<replaceable>error</replaceable></literal>-style error de +mensajes. Estos solo están disponibles con &tex; Live o Mac&tex;. +</para></listitem></varlistentry></variablelist> +</sect1> +<sect1 label="28.2" id="Entrada-de-la-l_00ednea-de-comandos"> +<title>Entrada de la línea de comandos</title> -<sect1 label="A.1" id="Plantilla-book"> -<title>Plantilla <literal>book</literal></title> +<indexterm role="cp"><primary>Entrada, en la línea de comando</primary></indexterm> +<para>Como parte de la invocación de la línea de comandos +</para> +<screen><replaceable>latex-engine</replaceable> <replaceable>options</replaceable> <replaceable>argument</replaceable> +</screen> +<para>puedes especificar una entrada &latex; arbitraria comenzando +<replaceable>argument</replaceable> con una barra invertida. (Todos los motores admiten +esto). Este te permite hacer algunos efectos especiales. +</para> +<indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm> +<para>Por ejemplo, este archivo (que usa el paquete +<literal>hyperref</literal> para hipervínculos) puede producir dos tipos de +salida, una para leer en papel físico y otra para leer en línea. +</para> +<screen>\ifdefined\paperversion % en el preámbulo +\newcommand{\urlcolor}{black} +\else +\newcommand{\urlcolor}{blue} +\fi +\usepackage[colorlinks=true,urlcolor=\urlcolor]{hyperref} + ... +\href{https://www.ctan.org}{CTAN} % en el cuerpo + ... +</screen> +<para>Compilar este documento <filename>book.tex</filename> con la línea de comandos +<literal>pdflatex book</literal> dará el enlace ‘<literal>CTAN</literal>’ en azul. Pero +compilarlo con +</para> +<screen>pdflatex "\def\paperversion{}\input book.tex" +</screen> +<para>tiene el enlace en negro. Usamos comillas dobles para evitar +interpretación de los símbolos por el intérprete de la línea de +comandos. (Este normalmente funciona en sistemas Unix y Windows, pero +hay muchas peculiaridades de las comillas del intérprete, así que lee +la documentación de tu sistema si necesitas). +</para> +<para>De manera similar, desde el único archivo <filename>main.tex</filename> puedes +compilar dos versiones diferentes. +</para> +<!-- crédito Paul Gaborit: https://tex.stackexchange.com/a/220101/121234 --> +<screen>pdflatex -jobname=students "\def\student{}\input{main}" +pdflatex -jobname=teachers "\def\teachers{}\input{main}" +</screen> +<para>La opción <literal>jobname</literal> está ahí porque, de lo contrario, ambos +archivos estarían llamando a <filename>main.pdf</filename> y el segundo +sobrescribiría el primero. (véase <link linkend="Nombre-del-trabajo">Nombre del trabajo</link>). +</para> +<para>En este ejemplo usamos la línea de comando para seleccionar qué partes +de un documento incluir. Para un libro llamado <filename>mybook.tex</filename> y +estructurado como esto. +</para> <screen>\documentclass{book} -\usepackage[spanish]{babel} % Para escribir en Español normal -\usepackage[utf8]{inputenc} % Codificación de caracteres -\title{Plantilla de Clase Book} -\author{Autor Alex} - \begin{document} -\maketitle + ... +\include{chap1} +\include{chap2} + ... +\end{document} +</screen> +<para>la línea de comandos +</para> +<screen>pdflatex "\includeonly{chap1}\input{mybook}" +</screen> +<para>dará salida que tiene el primer capítulo pero ningún otro +capítulo. Véase <link linkend="Dividir-la-entrada">Dividir la entrada</link>. +</para> -\chapter{Primero} -Algún texto. +</sect1> +<sect1 label="28.3" id="Nombre-del-trabajo"> +<title>Nombre del trabajo</title> + +<indexterm role="fn"><primary><literal>\jobname</literal></primary></indexterm> +<indexterm role="cp"><primary>nombre de trabajo</primary></indexterm> +<indexterm role="cp"><primary>nombre del documento raíz</primary></indexterm> +<indexterm role="cp"><primary>nombre del documento raíz</primary></indexterm> +<indexterm role="cp"><primary>archivo raíz</primary></indexterm> +<indexterm role="cp"><primary>archivo raíz</primary></indexterm> + +<para>Ejecutar &latex; crea una serie de archivos, incluido el PDF +principal (o salida DVI), pero también incluye otros. Estos archivos +se nombran con el así llamado <firstterm>jobname</firstterm>. El caso más común es +también el más simple, donde, por ejemplo, el comando <literal>pdflatex +thesis</literal> crea <literal>thesis.pdf</literal> y también <literal>thesis.log</literal> y +<literal>thesis.aux</literal>. Aquí el nombre del trabajo es <literal>thesis</literal>. +</para> +<para>En general, &latex; se invoca como <literal><replaceable>latex-engine</replaceable> +<replaceable>options</replaceable> <replaceable>argument</replaceable></literal>, donde <replaceable>latex-engine</replaceable> es el +<command>pdflatex</command>, <command>lualatex</command>, etc. (véase <link linkend="Motores-TeX">Motores +&tex;</link>). Si <replaceable>argument</replaceable> no comienza con una barra invertida, como +es el caso anterior con <literal>thesis</literal>, entonces &tex; considera que +es el nombre del archivo para ingresar como el documento +principal. Este archivo se denomina <firstterm>root file</firstterm> (véase <link linkend="Dividir-la-entrada">Dividir la +entrada</link>, y <link linkend="_005cinput">\input</link>). El nombre de ese archivo raíz, sin la +extensión <filename>.tex</filename> si la hay, es el nombre del trabajo. Si +<replaceable>argument</replaceable> comienza con una barra invertida, o si &tex; está en +modo interactivo, entonces espera el primer comando <literal>\input</literal>, y +el nombre del trabajo es el argumento de <literal>\input</literal>. +</para> +<para>Hay dos posibilidades más para el nombre del trabajo. Se puede +especificar directamente con la opción <literal>-jobname</literal>, como en +<literal>pdflatex -jobname=myname</literal> (véase <link linkend="Entrada-de-la-l_00ednea-de-comandos">Entrada de la línea de +comandos</link> para un ejemplo real). +</para> +<indexterm role="fn"><primary>texput, jobname predefinido</primary></indexterm> +<indexterm role="cp"><primary>fallback jobname</primary></indexterm> +<para>La posibilidad final es <filename>texput</filename>, que es la última alternativa +predeterminada si no hay otro nombre disponible para &tex;. Es +decir, si no se especificó la opción <literal>-jobname</literal> y la compilación +se detiene antes de cualquier archivo de entrada, entonces el archivo +de registro se llamará <filename>texput.log</filename>. +</para> +<indexterm role="fn"><primary>\documentclass, y <literal>texput</literal> jobname</primary></indexterm> +<indexterm role="fn"><primary>\RequirePackage y <literal>textput</literal> jobname</primary></indexterm> +<para>Un caso especial de esto es que en las versiones de &latex; de +(aproximadamente) 2020 o posterior, el nombre del trabajo también es +<filename>texput</filename> si el primer <literal>\input</literal> ocurre como resultado de ser +llamado por <literal>\documentclass</literal> o <literal>\RequirePackage</literal>. Así que +esto producirá un archivo llamado <filename>texput.pdf</filename>: +</para> +<screen>pdflatex +"\documentclass{minimal}\begin{document}Hello!\end{document}" +</screen> +<para>Sin embargo, este caso especial solo se aplica a esos dos comandos. +Así, con +</para> +<!-- acredita a Herbert Voss: --> +<!-- https://tex.stackexchange.com/a/17236/121234 --> +<screen>pdflatex +"\documentclass{article}\usepackage{lipsum}\input{thesis}" +</screen> +<para>el archivo de salida es <filename>lipsum.pdf</filename>, ya que <literal>\usepackage</literal> +llama a <literal>\input</literal>. +</para> +<indexterm role="fn"><primary>\jobname</primary></indexterm> +<para>Dentro del documento, la macro <literal>\jobname</literal> se expande al nombre +del trabajo. (Cuando ejecutas &latex; en un archivo cuyo nombre +contiene espacios, la cadena devuelta por <literal>\jobname</literal> contiene +comillas de inicio y final coincidentes). En la expansión de esa +macro, todos los caracteres son de catcode 12 (otro) excepto que +los espacios son category 10, incluyendo letras que normalmente +son catcode 11. +</para> +<indexterm role="fn"><primary>\IfBeginWith* macro de <filename>xstring</filename></primary></indexterm> +<indexterm role="cp"><primary>package, <literal>xstring</literal></primary></indexterm> +<indexterm role="cp"><primary><literal>xstring</literal> package</primary></indexterm> + +<para>Debido a esta situación de catcode, usar el nombre del trabajo en un +condicional se puede volver complicado. Una solución es usar la macro +<literal>\IfBeginWith</literal> del paquete <filename>xstring</filename> en su variante +estrella, que es insensible a catcode. Por ejemplo, en el siguiente +texto la nota a pie de página “Incluyendo Respublica Bananensis +Francorum.” solo está presente si el nombre de la tarea comienza +con <filename>mi-doc</filename>. +</para> +<screen>Si una democracia es solo un régimen donde los ciudadanos votan +entonces todas las repúblicas bananeras +\IfBeginWith*{\jobname}{my-doc}% {\footnote{Incluyendo +Respublica Bananensis Francorum.}}{} son democracias. +</screen> +<para>Manipular el valor de <literal>\jobname</literal> dentro de un documento no camba +el nombre del archivo de salida o el archivo de registro. +</para> -\chapter{Segundo} -Algún otro texto. +</sect1> +<sect1 label="28.4" id="Recuperaci_00f3n-de-errores"> +<title>Recuperación de errores</title> -\section{Un subtema} -El final. -\end{document} +<para>Si &latex; encuentra un error en tu documento, entonces te da un +mensaje de error y te muestra un signo de interrogación, <literal>?</literal>. +Por ejemplo, ejecutando &latex; en este archivo +</para> +<screen>\newcommand{\NP}{\ensuremath{\textbf{NP}}} +El problema de \PN{} es de un millón de dólares. </screen> +<para>hace que muestre esto y espere la entrada. +</para> +<screen>! Secuencia de control Indefinida. +l.5 El problema + \PN{} es uno de un millón de dólares. +? +</screen> +<para>Lo más sencillo es ingresar <userinput>x</userinput> y <userinput>RETURN</userinput> y arreglar el error +de tipografía. En su lugar, podrías ingresar <userinput>?</userinput> y <userinput>RETURN</userinput> +para ver otros opciones. +</para> +<indexterm role="cp"><primary>‘<literal>*</literal>’ prompt</primary></indexterm> +<indexterm role="cp"><primary>prompt, ‘<literal>*</literal>’</primary></indexterm> +<indexterm role="fn"><primary>\stop</primary></indexterm> +<para>Hay otros dos escenarios de error. El primero es que te olvidaste +incluir el <literal>\end{document}</literal> o lo escribiste mal. En este caso +&latex; te da un ‘<literal>*</literal>’ indicador. Puedes volver a la línea de +comandos escribiendo <userinput>\stop</userinput> y <userinput>RETURN</userinput>; este comando mejora +la salida de &latex; inmediatamente, sea cual sea el estado en el que +se encuentre. +</para> +<para>El último escenario es que escribiste mal el nombre del archivo. Por +ejemplo, en lugar de <literal>pdflatex test</literal> puedes escribir +<literal>pdflatex tste</literal>. +</para> +<screen>! No puedo encontrar el archivo `tste'. +<*> tste + +(Presiona Enter para volver a intentarlo o Control-D para +salir). Escribe otro nombre de archivo de entrada: +</screen> +<para>Lo más simple es ingresar <userinput>CTRL d</userinput> (manteniendo presionadas las +teclas control y flecha abajo al mismo tiempo), y luego vuelve a +escribir la línea de comandos correcta. +</para> </sect1> -<sect1 label="A.2" id="Plantilla-beamer"> +</chapter> +<appendix label="A" id="Plantillas-de-documentos"> +<title>Plantillas de documentos</title> + +<indexterm role="cp"><primary>plantillas de documentos</primary></indexterm> +<indexterm role="cp"><primary>plantillas, documento</primary></indexterm> + +<para>Aunque son material ilustrativo, quizás estas plantillas de documentos +sean útiles. Los recursos de plantillas adicionales se enumeran en +<ulink url="https://tug.org/interest.html#latextemplates">https://tug.org/interest.html#latextemplates</ulink>. +</para> + + +<sect1 label="A.1" id="Plantilla-beamer"> <title>Plantilla <literal>beamer</literal></title> -<para>La clase <literal>beamer</literal> crea diapositivas de presentaciones. +<indexterm role="cp"><primary><literal>beamer</literal> plantilla y clase</primary></indexterm> +<indexterm role="cp"><primary>plantilla, <literal>beamer</literal></primary></indexterm> + +<para>La clase <literal>beamer</literal> crea diapositivas de presentación. Tiene +una vasta variedad de características, pero aquí hay una plantilla +básica: </para> <screen>\documentclass{beamer} -\usepackage[spanish]{babel} % Para escribir en Español normal -\usepackage[utf8]{inputenc} % Codificación de caracteres -\title{Plantilla de Clase Beamer} +\title{Plantilla de clase Beamer} \author{Autor Alex} -\date{Julio 31, 2010} +\date{31 de julio de 2020} \begin{document} \maketitle -% sin [fragile], cualquier código {verbatim} provoca errores misteriosos. +% sin [fragile], cualquier código {verbatim} obtiene misteriosos +% errores. \begin{frame}[fragile] - \frametitle{Primer Diapositiva} + \frametitle{Primer diapositiva} \begin{verbatim} - ¡Esto está en \verbatim! + Este es \verbatim! \end{verbatim} \end{frame} \end{document} - </screen> +<para>El paquete Beamer en CTAN: <ulink url="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</ulink>. +</para> </sect1> -<sect1 label="A.3" id="Plantilla-tugboat"> -<title>Plantilla <literal>tugboat</literal></title> +<sect1 label="A.2" id="Plantilla-de-art_00edculo"> +<title>Plantilla <literal>article</literal></title> -<para><citetitle>TUGboat</citetitle> es el diario del Grupo de Usuarios de &tex;, -<ulink url="http://tug.org/TUGboat">http://tug.org/TUGboat</ulink>. -</para> -<screen>\documentclass{ltugboat} % para procedimientos ltugproc +<indexterm role="cp"><primary>plantilla (simple), <literal>article</literal></primary></indexterm> -\usepackage[spanish]{babel} % Para escribir en Español normal -\usepackage[utf8]{inputenc} % Codificación de caracteres -\usepackage{graphicx} -\usepackage{ifpdf} -\ifpdf - \usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black, - urlcolor=black]{hyperref} -\else - \usepackage{url} -\fi +<para>Una plantilla simple para un artículo. +</para> +<screen>\documentclass{article} +\title{Plantilla de clase article} +\author{Autor Alex} \begin{document} - -\title{Ejemplo de Articulo Regular \TUB\} - -% repetir información para cada autor. -\author{First Last} -\address{Street Address \\ Town, Postal \\ Country} -\netaddress{user (at) ejemplo dot org} -\personalURL{http://ejemplo.org/~user/} - \maketitle -% El resumen en ltugboat viene después de \maketitle. -\begin{abstract} -Este es un ejemplo del tema de un artículo \TUB{} ordinario. -\end{abstract} - -\section{Introducción} +\section{Primera sección} +Algún texto. -Este es un artículo de ejemplo para \TUB, de -\url{http://tug.org/TUGboat/location.html}. +\subsection{Primera sección, primera subsección} +Texto adicional. -Recomendamos el paquete graphicx para inclusión de imágenes y el -paquete hyperref para urls activas (en la salida \acro{PDF}). \TUB\ se -produce utilizando archivos \acro{PDF} exclusivamente, en la actualidad. +\section{Segunda sección} +Algo más de texto. -Las clases \texttt{ltug*} proporcionan estas abreviaturas, entre muchas -otras: +\end{document} +</screen> -{\small -\begin{verbatim} -\AllTeX \AMS \AmS \AmSLaTeX \AmSTeX \aw \AW -\BibTeX \CandT \CTAN \DTD \DVItoVDU \HTML -\ISBN \ISSN \JTeX \JoT \LAMSTeX \LaTeXe -\Mc \mf \MFB \mtex \pcMF \PCTeX \pcTeX \Pas -\PiC \PiCTeX \plain \POBox \PS -\SC \SGML \SliTeX \TANGLE \TB \TP \TUB \TUG -\tug \UG \UNIX \VAX \VorTeX \XeT \WEB \WEAVE - -\Dash \dash \vellipsis \bull \cents \Dag -\careof \thinskip - -\acro{FRED} -> {\sc fred} % ¡Por favor úselas! -\cs{fred} -> \fred -\env{fred} -> \begin{fred} -\meta{fred} -> <fred> -\nth{n} -> 1st, 2nd, ... -\sfrac{3/4} -> 3/4 -\booktitle{Libro de Fred} -\end{verbatim} -} +</sect1> +<sect1 label="A.3" id="Plantilla-de-libro"> +<title>Plantilla <literal>book</literal></title> -Para mayor información, consulte el documento en ltubguid: -\url{http://mirror.ctan.org/macros/latex/contrib/tugboat} +<indexterm role="cp"><primary>plantilla, <literal>book</literal></primary></indexterm> -Correo electrónico \verb|tugboat@tug.org| si incurre en problemas o tiene -dudas. +<para>Esta es una plantilla sencilla para un libro. Véase <link linkend="Plantilla-de-libro-Larger">Plantilla de +libro Larger</link>, para una más elaborada. +</para> +<screen>\documentclass{book} +\title{Plantilla de clase book} +\autor{Autor Alex} +\begin{document} +\maketitle +\chapter{Primero} +Algún texto. -\bibliographystyle{plain} % recomendamos el estilo de bibliografía plain -\nocite{book-minimal} % solo hace que la bibliografía no esté vacía -\bibliography{xampl} % xampl.bib viene con BibTeX +\chapter{Segundo} +Algún otro texto. +\section{Un subtema} +Fin. -\makesignature % no en ltugproc \end{document} </screen> -<!-- begin vincentb1 --> + </sect1> -</appendix> -<!-- node-name, next, previous, up --> -<appendix label="B" id="License-translation"> -<title>Traducción de la licencia</title> +<sect1 label="A.4" id="Plantilla-de-libro-Larger"> +<title>Plantilla de <literal>book</literal> larger</title> -<para>La traducción que sigue es dada únicamente como informaciòn, y no -reemplaza el texto en inglés dado al principio de este documento. -<!-- end vincentb1 --> -</para> -<para>Se concede permiso para hacer y distribuir copias literales de este -manual siempre que el aviso de copyright y esta nota de permiso se -conserven en todas las copias. -</para> +<indexterm role="cp"><primary>plantilla, <literal>book</literal></primary></indexterm> -<para>Se concede permiso para copiar y distribuir versiones modificadas de -este manual bajo las condiciones para una copia literal, a condición de -que todo el trabajo derivado resultante se distribuya bajo los términos -de una nota de permiso idéntica a ésta. +<para>Esta es una plantilla algo elaborada para un libro. Véase <link linkend="Plantilla-de-libro">Plantilla +de libro</link>, por una más sencilla. </para> -<para>Se concede permiso para copiar y distribuir traducciones de este manual -a otro idioma, con las condiciones anteriores para versiones -modificadas. +<para>Esta plantilla usa <literal>\frontmatter</literal>, <literal>\mainmatter</literal> y +<literal>\backmatter</literal> para controlar la tipografía de las tres áreas +principales de un libro (véase <link linkend="_005cfrontmatter-_002d-_005cmainmatter-y-_005cbackmatter">\frontmatter - \mainmatter y +\backmatter</link>). El libro tiene una bibliografía y un índice. </para> -</appendix> -<chapter label="" id="_00cdndice-de-Conceptos"> -<title>Índice de Conceptos</title> +<para>También es notable que usa <literal>\include</literal> e <literal>\includeonly</literal> +(véase <link linkend="Dividir-la-entrada">Dividir la entrada</link>). Mientras trabajas en un capítulo, +puedes comentar todas las demás entradas del capítulo desde el +argumento hasta <literal>\includeonly</literal>. Eso acelerará la compilación sin +perder cualquier información como referencias cruzadas. (Material que +no necesita entrar en una nueva página se introduce con <literal>\input</literal> +en lugar de <literal>\include</literal>. No obtienes el beneficio de referencia +cruzada con <literal>\input</literal>). +</para> +<screen>\documentclass[titlepage]{book} +\usepackage{makeidx}\makeindex -<index role="cp"></index> +\title{Plantilla de la clase book} +\author{Autor Alex} -<!-- El nombre del nodo `Índice de Instrucciones' NO se debe alterar para --> -<!-- ltx-help.el. --> -</chapter> -<chapter label="" id="_00cdndice-de-Instrucciones"> -<title>Índice de Instrucciones</title> +\includeonly{% +% frontcover, + preface, + chap1, +% appenA, + } + +\begin{document} +\frontmatter +\include{frontcover} + % tal vez comentar mientras se redacta: +\maketitle \input{dedication} \input{copyright} +\tableofcontents +\include{preface} + +\mainmatter +\include{chap1} +... +\appendix +\include{appenA} +... + +\backmatter +\bibliographystyle{apalike} +\addcontentsline{toc}{chapter}{Bibliography} +\bibliography +\addcontentsline{toc}{chapter}{Index} +\printindex + +\include{backcover} +\end{document} +</screen> + +</sect1> +</appendix> +<chapter label="" id="_00cdndice"> +<title>Índice</title> -<index role="fn"></index> +<!-- Mantén `Command Index' funcionando para ltx-help.el. --> +<anchor id="_00edndice-de-comandos"/> +<index role="cp"></index> </chapter> </book> |