<!DOCTYPE linuxdoc SYSTEM> <!-- $Id: FAQ-CervanTeX.sgml,v 1.97 2006-05-09 15:12:22 agmartin Exp $ --> <article> <title>FAQ de Cervan&tex;</title> <author>Cervan&tex; <date> Versión 1.97 de 2006-05-09 (15:12:22) <abstract> Esta es la lista de preguntas y respuestas frecuentes del grupo de usuarios hispanohablantes de &tex;/&latex; Cervan&tex;. Está basada en las preguntas que se repiten con frecuencia en los distintos foros y en algunas contribuciones adicionales interesantes. Aunque todas ellas son preguntas razonables, especialmente para un neófito, resulta un poco <em/repetitivo/ verlas aparecer continuamente en los distintos foros de discusión sobre &tex;/&latex;. Por esta razón se han intentado reunir en esta FAQ. Se ruega echarle un vistazo antes de preguntar en la lista de correo o en el grupo de noticias cosas que ya se han preguntado y respondido múltiples veces y que están en esta FAQ. </abstract> <toc> <!-- ********************************************************* --> <sect>¿Qué son &tex; y sus programas hermanos? <!-- ********************************************************* --> <sect1>¿Qué es &tex;? <!-- ================================= --> <p> &tex; es un sistema de composición de textos de alta calidad creado por Donald E. Knuth, dirigido en particular a aquéllos textos que contienen una gran cantidad de expresiones matemáticas. No debe pensarse en &tex; como un procesador de palabras del tipo WYSIWYG, un archivo <tt/tex/ es un archivo <tt/ASCII/ donde está el texto que deseamos imprimir junto con determinadas instrucciones sobre como debe ser tratado, que debe ser procesado por un compilador (el programa &tex;). Éste devuelve un archivo que es independiente de la plataforma y que es el que finalmente se transformará al lenguaje de impresora y se imprimirá. <p> Para escribir &tex; Knuth desarrolló un sistema de <em/programación ilustrada/ denominado WEB. Las fuentes WEB de &tex; están disponibles gratuitamente, lo mismo que herramientas para convertir el original en WEB en un programa que pueda compilarse y un texto que pueda imprimirse. El sistema WEB proporciona herramientas para compilar &tex; en distintos sistemas operativos. <p> &tex; en sí es un procesador de macros, con una alta capacidad de programación. Utilizar &tex; puro reviste una cierta dificultad, por lo que Knuth suministró una serie de macros para &tex; a las que se denominó <em/plain &tex;/. Estas macros son el conjunto mínimo de macros que se pueden utilizar de forma eficaz con &tex; e incluyen algunos ejemplos de uso de órdenes &tex; de alto nivel. Cuando alguien afirma programar en &tex; normalmente se refiere a que lo hace en <em/plain &tex;/ <sect1>¿Por qué debo asegurarme de usar &tex; 3.X? <!-- ========================================= --> <p> Bueno, hace unos años (en el ***), diversas personas (y la existencia de ML-&tex; :-) convencieron a Knuth de que el soporte que &tex; proporcionaba a otros idiomas era insuficiente. Así que lo modificó de la siguiente manera: <itemize> <item> Soporte total a los 8 bits. &tex; puede ahora leer los 256 diferentes códigos. Los nuevos caracteres son códigos utilizables como cualquier otro. Antes había algo, pero no bastante. Ahora podemos hacer que <tt/^^e1/ sea la <tt/á/. <item> &tex; soporta ahora 256 tablas de partición simultáneamente. Puedes escribir: <quote> ... there is a difference between especially and {<tt>\language\spanish</tt> especialmente} in that... </quote> y &tex; compondrá el párrafo con las reglas de inglés, menos <em/especialmente/ que lo hará con las del castellano. <item> Dos nuevas macros <tt>\lefthyphenmin</tt> y <tt>\righthyphenmin</tt> que controlan el tamaño del trozo mínimo que se puede dejar al partir palabras. Previamente estaban fijos a 2 y 3, respectivamente. <p> Pero lo fundamental es que &tex; 2.X no existe ya. Hay que cambiar tarde o temprano. No hay parches ni arreglos para &tex; 2.X. <p> Por cierto, la versión actual es la 3.14159, y la versión actual de METAFONT es la 2.718. La última versión de &tex; será la versión <em/pi/ (como última voluntad de Donald Knuth), y ya no habrá más cambios. Y el último METAFONT será versión <em/e/. </itemize> <sect1>Si &tex es tan bueno, ¿por qué es gratuito?<label id="tex-gratis"> <!-- =============================================================== --> <p> Porque Knuth lo decidió así, y no parece molestarle que otros ganen dinero vendiendo productos y servicios basados en &tex;. De hecho, aunque algunas herramientas que se usan junto a &tex; se ofrecen bajo la <em/GNU General Public License (Copyleft)/, &tex; en sí ni siquiera tiene esa restricción. La única restricción impuesta por Knuth es que debe dar el mismo resultado en todas las implementaciones, para garantizar la absoluta portabilidad de los documentos escritos con &tex;. <p> Algunas empresas ofrecen implementaciones comerciales de &tex;/&latex; con elementos propios (véase la sección <ref id="tex-de-pago" name="Implementaciones comerciales">) <sect1>¿Qué es &latex;? <!-- ============== --> <p> &latex; es un paquete de macros para &tex;, originalmente escrito por Leslie Lamport para proporcionar un sistema de procesamiento de documentos más simple de uso que &tex;, pero con toda su potencia. &latex; proporciona una serie de órdenes para describir la estructura del documento, de forma que el usuario final no deba pensar mucho en la presentación. Mediante distintas clases de documentos y paquetes adicionales, el mismo documento puede producirse con muchos diferentes aspectos. <sect1>¿Qué es &latexe;?, ¿Por qué debo usarlo si me va bien con el otro (&latex;209)? <!-- =============================================================== --> <p> &latexe; es la nueva versión estándar de &latex;, preparada y mantenida por el equipo del proyecto &latex;3. Es la versión actual de &latex; y está disponible desde cualquier punto CTAN, en <tscreen><verb> CTAN:macros/latex </verb></tscreen> Desde que es oficial, &latex; = &latexe; y el otro ahora se llama &latex; 2.09 y está obsoleto. <p> &latexe; es compatible hacia atrás con &latex;209, pero incluye toda una serie de características nuevas. <p> Hay una razón de peso para no usar &latex; 2.09: Solamente &latex; está mantenido, lo cual quiere decir (entre otras cosas) que si encontramos un error hay gente a quien decírselo y puede que lo arreglen, mientras que si tenemos problemas con &latex; 2.09 nadie nos hará caso, porque &latex; 2.09 ya no va a cambiar jamás. <sect1>¿Qué son los paquetes de la AMS (AMS-&tex;, AMS-&latex;)? <!-- ======================================================== --> <p> AMS-&tex; es un paquete de macros para &tex;. Escrito originalmente por Michael Spivak para la Sociedad Americana de Matemáticas (AMS) entre 1983 y 1985. Está basado en <em/plain &tex;/, pero proporciona más medios para producir fórmulas matemáticas de aspecto profesional con menor esfuerzo por parte de los autores, con un gran cuidado en aspectos como el tamaño y la posición de las fórmulas. Entre los aspectos tratados se encuentran las ecuaciones de más de una línea, la numeración de ecuaciones, los puntos de elipsis, las matrices, los acentos dobles, sub y superíndices en varios niveles, así como otras cosas. <p> Según fue aumentando la popularidad de &latex; la AMS desarrolló AMS-&latex;, que consiste en una colección de clases y paquetes para &latex; que ofrece a los autores la funcionalidad de AMS-&tex;. <sect1>¿Qué es METAFONT? <!-- ================================= --> <p> Donald Knuth escribió METAFONT al mismo tiempo que &tex;. Mientras &tex define la colocación de los elementos en una página, METAFONT define cómo son estos elementos, sus tamaños y cómo se crean. <p> El lenguaje utilizado por METAFONT para definir tipos permite describir distintas cosas, la geometría del grafo, las propiedades del elemento de impresión, información adicional que permita distinguir entre distintos tamaños del mismo tipo, o diferencias entre dos tipos que pertenecen a la misma o distinta familia. <p> Aunque Knuth y otros han diseñado un buen número de tipos utilizando METAFONT, el diseño de tipos en general y en particular con METAFONT es un área muy especializada que nunca deberá abordar el usuario normal. Simplemente METAFONT deberá estar instalado para cuando &tex; quiera generar copias de nuevos tipos. <!-- ********************************************************* --> <sect>¿Qué ventajas e inconvenientes tiene &tex;/&latex;? <!-- ********************************************************* --> <!-- <p> Esta sección está fuertemente basada en la página <htmlurl url="http://www.esi.us.es/~gonfer/tex.html" name="http://www.esi.us.es/~gonfer/tex.html"> de Antonio González, de la Universidad de Sevilla --> <sect1>Ventajas frente a otros procesadores. <!-- ================================= --> <p> Además de las ventajas que aquí se describen, en la página <htmlurl url="http://www.cudenver.edu/~hgreenbe/courses/texinfo/wordvslatex.html" name="http://www.cudenver.edu/~hgreenbe/courses/texinfo/wordvslatex.html"> se recopilan (en inglés) buen numero de mensajes con una información detallada de las razones que han llevado a toda una serie de personas a utilizar &latex; <descrip> <tag/Funciona y es estable y multiplataforma./ Tan simple como eso, &latex; no se <em/cuelga/, el formato de los archivos es mucho más estable que en otros procesadores y cualquier cambio es primero profundamente meditado y después profusamente documentado, existen implementaciones para distintas plataformas y en todas el resultado es exactamente el mismo (si se tienen los mismos estilos y tipos, claro). <tag/Alta calidad en la edición de ecuaciones./ Esta es siempre la razón última por la que un usuario científico se inclina hacia &latex;. Este procesador ajusta los tamaños de paréntesis, integrales, subíndices y superíndices, alinea los elementos de las matrices, construye cajas, etc. <tag/&latex; permite redactar fácilmente documentos estructurados./ A través de distintas clases de documento y de su conjunto de macros, &latex; posibilita escribir textos dividiéndolos en capítulos, secciones, subsecciones, controlando en todo momento la numeración y las referencias cruzadas. Construye índices de contenidos, tablas o figuras. Ajusta los tamaños y tipos de letras según la parte del documento en que se hallen. <tag/Facilidad en la construcción de macros y órdenes./ A poco de comenzar a usar este procesador, el usuario se encuentra definiendo o redefiniendo órdenes para que éstas se ajusten a sus preferencias personales. Por ejemplo, es posible que una determinada expresión aparezca repetidas veces en el texto. Nada mas fácil que definir una orden que reemplace a todo un bloque. O bien, es posible que no guste la forma en que &latex; numera las páginas. Una redefinición al principio del documento permite cambiar esto. <tag/Se escribe en ASCII./ Esto, que al principio puede parecer un inconveniente (ya que implica teclear mucho más) se torna en ventaja al cabo del tiempo. Por un lado permite incrementar la velocidad de escritura (pues no hay que andar utilizando ratón o menús), por otro facilita el uso de cualquier editor de texto (no contiene caracteres de control) y permite su transmisión por correo electrónico (puede escribirse en ASCII de 7 bits). Esto hace que muchas revistas científicas admitan artículos escritos en &latex;, enviados por <em/e-mail/. Ellos lo procesan en el lugar de destino, hacen los cambios necesarios y lo imprimen. <tag/Es gratis/ Pues eso. Para ver porqué véase la sección <ref id="tex-gratis" name="¿Porqué &tex; es gratis?">. A pesar de ello, existen también implementaciones comerciales. </descrip> <sect1>Inconvenientes o más bien, ¿cuáles son las críticas más habituales? <!-- ================================================================= --> <p> <descrip> <tag/Es muy difícil./ A diferencia de los procesadores visuales o <em/WYSIWYG/, que pueden usarse casi desde el primer día con resultados aceptables, &latex; requiere un periodo de aprendizaje antes de conseguir los primeros frutos. Incluso cuando ya se es un usuario medio o avanzado, siempre es conveniente tener cerca un manual o un &latex;perto, al que preguntarle. <p> Este proceso de iniciación consiste principalmente en aprenderse las órdenes esenciales. Después le siguen órdenes secundarias. <p> Más tarde, puede uno aprender a programar en este lenguaje. Llegado ese punto se puede dar el siguiente salto, atacar el <em/plain-&tex;/ o incluso el &tex;, para introducir órdenes de muy bajo nivel, pero esto muy rara vez lo necesitará un usuario normal. Estas dos ultimas fases sólo son precisas si uno está interesado en los intríngulis del sistema y los intríngulis de &latex; se le quedan cortos. <p> La contrapartida de este esfuerzo es que cuando se trabaja con &latex; y se compara el resultado con lo obtenido con otros procesadores, la salida de éstos últimos parece <em/"poco seria"/ en cuanto se exigen fórmulas matemáticas. Algo como los dientes, que duelen al salir, pero luego se hacen imprescindibles. <tag/No se ven los resultados hasta que se compila el archivo./ Una de las decepciones que sufre el usuario novato es que no ve los frutos de su trabajo hasta que compila. Como suelen aparecer errores de compilación, esto suele ser frustrante (aparte de conllevar una pérdida de tiempo). La única solución es armarse de paciencia. Con el tiempo, los errores disminuyen y, simultáneamente, se aprende a procesar de cabeza, por lo que no se necesita hacer una visualización para saber como va a quedar. <p> De todas formas, &latex; no está especialmente dirigido a los aspectos puramente estéticos de cada página en concreto, sino a los estructurales del documento. Si uno está interesado estrictamente en la estética (por ejemplo, porque trabaja en la autoedición), &latex; no es el procesador adecuado. Éste basa la belleza de los documentos creados más en la claridad, en el buen criterio y en una estética agradable que en la posibilidad de hacer fácilmente diseños rebuscados para cada página. <p> Existen, no obstante, soluciones intermedias entre &latex; y los procesadores WYSIWYG. Así, el &tex;tures de los Mac, el <em/xdvi/ de las <em/X-Window/ bajo <em/Unix/ o los <em/dviwin/, <em/yap/ o <em/winview/ de los PC's permiten mantener en pantalla el archivo que se está editando y la visualización del último, lo cual facilita la corrección de los documentos. <tag/No permite introducir imágenes./ Esta acusación habitual no es en absoluto cierta. Simplemente hay que ser conscientes de los medios de visualización e impresión de que disponemos y obrar en consecuencia. Véase la sección <ref id="tex-dibujos" name="Introduciendo figuras en &latex;"> <p> Lo que no debe olvidarse nunca es que tanto &tex; como &latex; están pensados como lenguajes de composición de documentos, no de autoedición. A cada cual lo suyo. <tag/No tiene variedad de tipos (fuentes)/ Es cierto que los tipos CM originalmente desarrollados por Knuth son limitados en cantidad y variedad, por lo que a medida que &latex; se difundía han aumentado las demandas de más tipos para usos diversos. Aunque el crecimiento es todavía lento, existe una gran cantidad de tipos disponibles en el CTAN en: <tscreen><verb> CTAN:fonts </verb></tscreen> En las versiones para salidas <em/postscript/ si es posible el uso de cualquier tipo, pero no se garantiza que las ecuaciones mantengan la calidad requerida. </descrip> <!-- ********************************************************* --> <sect>¿Qué documentación hay disponible sobre &tex;/&latex;? <!-- ********************************************************* --> <p> Además de las referencias que aquí se citan, puede consultarse la sección de manuales en las páginas de <em/Cervan&tex;/, <htmlurl name="http://www.cervantex.org/manuales.php" url="http://www.cervantex.org/manuales.php"> <sect1>Tutoriales de &latex; en castellano.<label id="es-tutores"> <!-- ==================================== --> <p> <descrip> <tag/Una descripción de &latex;/ <p> Tomás Bautista <tt/(bautista _AT_ cma.ulpgc.es)/ ha escrito un documento titulado <em/Una descripción de &latex;/ (basado inicialmente en <em/&latex;-Kurzbeschreibung/, de H. Partl, E. Schlegl e I. Hyna), donde se han introducido algunas notas específicas de la implementación del estilo <tt/spanish.sty/ desarrollado por J. Sánchez. Este documento se encuentra en CTAN (en <tt>CTAN:documentation/short/spanish</tt>) y la versión más actualizada está siempre en <quote> <htmlurl url="ftp://ftp.iuma.ulpgc.es/pub/tex/latex2e/doc/ldesc2e/" name="ftp://ftp.iuma.ulpgc.es/pub/tex/latex2e/doc/ldesc2e/"> </quote> <tag/Apuntes. Manual de &latex;/Preparado en Chile y disponible en <htmlurl url="http://cipres.cec.uchile.cl/~admcons/manuales/latex.html" name="http://cipres.cec.uchile.cl/~admcons/manuales/latex.html"> <tag/Bases de datos bibliográficos, &latex; y el idioma español/ Luis Seidel <p> Acerca del uso de Bib&tex; en castellano. Disponible en <em/postscript/ en la página del autor y en formato <em/pdf/ en la Universidad de la Rioja: <p> <htmlurl url="http://feynman.faii.etsii.upm.es/~seidel/bibliogr.ps" name="http://feynman.faii.etsii.upm.es/~seidel/bibliogr.ps"> <p> <htmlurl url="ftp://tex.unirioja.es/pub/tex/doc/bibliogr.pdf" name="ftp://tex.unirioja.es/pub/tex/doc/bibliogr.pdf"> <tag/Curso de &latex;/ Kjetil Halvorsen. Transparencias de un curso de &latex; disponibles en <p> <htmlurl url="ftp://tex.unirioja.es/pub/tex/doc/cursotex.zip" name="ftp://tex.unirioja.es/pub/tex/doc/cursotex.zip"> <tag/Recetario para &latex;/ por Aristarco. Disponible en <htmlurl url="http://recetariolatex.cjb.net" name="http://recetariolatex.cjb.net"> <tag/Referencias rápidas de &latex;/ por Fernando Arbeiza. Disponible en <htmlurl url="http://www.loarco.homelinux.org/lqref-es" name="http://www.loarco.homelinux.org/lqref-es"> </descrip> <sect1>Libros en castellano <!-- ================================= --> <p> <descrip> <tag/Iniciación a &latexe;/ Javier Sanguino Botella, Addison-Wesley (1997) <tag/Composición de textos científicos con &latex;./ G. Valiente. Edicions UPC, Barcelona, 1997 <tag/&latex;, primeros pasos./ F. Ortegón Gallego. Editorial Masson, Barcelona 1.992. (Sobre &latex; 2.09) <tag/&latex;, una imprenta en sus manos./ Bernardo Cascales Salinas, Pascual Lucas Saorín, Jose Manuel Mira Ros, Antonio Pallarés Ruiz y Salvador Sánchez-Pedreño Guillén. Aula Documental de Investigación, Madrid, 2000. <tag/El libro de &latex;./ Bernardo Cascales, Pascual Lucas, José Manuel Mira, Antonio Pallarés y Salvador Sánchez-Pedreño. Prentice Hall, Madrid, 2003. <tag/El universo &latex;./ Rodrigo De Castro. Facultad de Ciencias, Universidad Nacional de Colombia, Bogotá, 2003. </descrip> <sect1>Tutoriales en otros idiomas <!-- ================================= --> <p> <descrip> <tag/A Gentle Introduction to &tex;/ de Michael Dobb, disponible en <tt>CTAN:documentation/gentle</tt>. Es un excelente tutorial de introducción al <em/plain/-&tex; en inglés. <p> Una referencia clásica de &tex; <tag/Simplified Introduction to &latex;/ de Harvey J. Greenberg, disponible en <tt>CTAN:documentation/simplified-latex/latex.ps</tt> (versión postscript) y la versión más reciente en <htmlurl url="http://www.cudenver.edu/~hgreenbe/aboutme/pubrec.html" name="http://www.cudenver.edu/~hgreenbe/aboutme/pubrec.html">. Basado en un curso para pregraduados. <p> <tag/&latex;: from quick and dirty to style and finesse/ Escrito por Tony Roberts, se encuentra disponible en la Universidad de Southern Queensland (Australia) <htmlurl url="http://www.sci.usq.edu.au/staff/robertsa/LaTeX/" name="http://www.sci.usq.edu.au/staff/robertsa/LaTeX/"> con una réplica en Estados Unidos <htmlurl url="http://ricardo.ecn.wfu.edu/LaTeX/" name="http://ricardo.ecn.wfu.edu/LaTeX/">. <p> <tag/&latex; for Word Processor Users/ Escrito por Guido Gonzato, es un tutorial &latex; pensado específicamente para usuarios de procesadores de texto. Está disponible en <tt>CTAN:info/latex4wp</tt> <p> <tag/l2tabu/ Escrito por Mark Trettin, es un tutorial sobre lo que no debe hacer un usuario de &latexe;. Disponible en el CTAN como un archivo pdf, <htmlurl url="http://www.ctan.org/tex-archive/info/l2tabu/" name="http://www.ctan.org/tex-archive/info/l2tabu/">. Contiene una lista de órdenes y paquetes obsoletos que no deben utilizarse bajo &latexe;, así como otros errores habituales. <tag/Online tutorials on &latex;/ del grupo de usuarios de &tex; de la India, disponible en <htmlurl url="http://www.tug.org.in/tutorials.html" name="http://www.tug.org.in/tutorials.html" >. </descrip> <sect1>Libros en otros idiomas<label id="libros-int"> <!-- ============================================ --> <p> <!-- Esta sección está extraída de la página <htmlurl url="http://www.esi.us.es/~gonfer/tex.html" name="http://www.esi.us.es/~gonfer/tex.html"> de Antonio González, de la Universidad de Sevilla --> <descrip> <tag/A Guide to &latex;/ <htmlurl url="http://www.awprofessional.com/title/0321173856" name="H. Kopka y P.W. Daly, Addison-Wesley Professional (2004)"> <p> Probablemente, el mejor manual existente sobre &latex;. Contiene una guía completa de órdenes, abundantes ejemplos e información adicional. (Incluye las dos versiones en uso de &latex;, &latexe; y la más antigua, &latex;2.09). <tag/The &latex; Companion./ <htmlurl url="http://www.awprofessional.com/title/0201362996" name="Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley, Addison Wesley Professional (2004)."> <p> Este manual sirve de ampliación del anterior. Es una recopilación e información sobre los llamados paquetes (<em/packages/), conjuntos de macros que distintos autores han puesto a disposición pública. <tag/The &latex; Web Companion: Integrating TeX, HTML, and XML/ <htmlurl url="http://www.awprofessional.com/titles/0201433117" name="Michel Goossens, Sebastian Rahtz, Eitan M. Gurari, Ross Moore y Robert S. Sutor, Addison Wesley Professional (1999)."> Publicando documentos en la WWW mediante &latex; <tag/&latex;--A Document preparation system/ <htmlurl url="http://www.aw.com/catalog/academic/product/1,4096,0201529831,00.html" name="L. Lamport (dos ediciones) Addison-Wesley (1985 y 1994)."> <p> Durante mucho tiempo este fue <em/"el libro"/ del &latex;. Escrito por el mismo autor del programa, contiene todo lo esencial para introducirse en este procesador, si bien resulta un tanto insuficiente para usuarios avanzados. La primera edición corresponde a la versión antigua del programa (&latex;209, hoy obsoleta) y la segunda al &latexe;. <tag/The &latex; Graphics Companion/ <htmlurl url="http://www.aw.com/catalog/academic/product/1,4096,0201854694,00.html" name="M. Goossens, S. Rahtz y F. Mittelbach, Addison-Wesley (1997)."> <p> Un extenso manual acerca de cómo ilustrar documentos con &tex; y postscript. <tag/The &tex;book/ <htmlurl url="http://www.aw.com/catalog/academic/product/1,4096,0201134470,00.html" name="D.E. Knuth, Addison-Wesley (1986)."> <p> Este es <em/"el libro"/ para los que quieren conocer las entrañas de &tex;. Contiene todo sobre el lenguaje &tex;, escrito por el mismo autor del programa. Es un libro completo y ameno pero absolutamente incomprensible para los novatos. El archivo fuente en &tex; de este libro está disponible para aquellos que desean conocer los trucos que el autor empleó a la hora de escribirlo (algunos verdaderamente complejos). <p> <!-- En CTAN están: systems/knuth/tex/texbook.tex --> Knuth proporciona el código fuente con fines <em/didácticos/, no para que se imprima. De hecho, si se intenta <em/&tex;earlo/ entrará en un bucle infinito que dice que eso no debe hacerse. Aunque no es complicado hacer que deje de ocurrir, sería ilegal hacerlo... :-) <tag/TeX by Topic, A TeXnician's Reference/ de Victor Eijkhout, editado por Addison-Wesley (1992) y disponible en <htmlurl url="http://www.eijkhout.net/tbt/" name="http://www.eijkhout.net/tbt/">, <p> es otro de los libros clásico sobre &tex; (no &latex;) que puede descargarse gratis (y legalmente) en un pdf. <tag/&tex; for the Impatient/ de Karl Berry, también está disponible en <tt>CTAN:info/impatient/</tt> de forma libre. <tag/Making &tex; work/ de Norman Walsh, editado por O'Reilly (ISBN: 156592-051-1), pero actualmente descatalogado. Sin embargo está disponible de forma libre en <htmlurl url="http://makingtexwork.sourceforge.net/mtw/" name="http://makingtexwork.sourceforge.net/mtw/">. Aunque algunas cosas están obsoletas, (de hecho todavía se refiere a &latex; 2.09), tanto su contenido como sus fuentes pueden aún ser de utilidad. </descrip> <sect1>Revistas.<label id="revistas"> <!-- ==================================== --> <p> <descrip> <tag/The PracTeX Journal/ Una revista de &tex; <em/on-line/ y gratuita. Disponible en <htmlurl url="http://dw.tug.org/pracjourn/" name="http://dw.tug.org/pracjourn/">. </descrip> <!-- ********************************************************* --> <sect>¿Que elementos intervienen al procesar un documento con &latex;? <!-- ********************************************************* --> <sect1>El documento fuente: ¿Cómo creo un documento con &latex;, lo proceso, lo veo y lo imprimo? <!-- ====================================================================== --> <p> Como hemos dicho &tex;/&latex; es realmente un lenguaje de programación de textos. En el documento fuente original se introduce el texto a procesar junto con una serie de órdenes especificando cómo debe ser procesado éste. Este paso se realiza con el editor de texto favorito del autor, aunque hay algunos editores de texto que están, mejor adaptados, o totalmente integrados para su uso con &tex;/&latex; -- véase <ref id="tex-editores" name="editores para &tex;"> --. Pongamos por ejemplo que el documento creado es <tt/documento.tex/. <p> Una vez terminado el documento fuente (<tt/documento.tex/), éste se procesa mediante &tex; si se han utilizado las órdenes de <em/plain-&tex;/ o &latex si se han utilizado las órdenes de &latex;. Se corrigen los posibles errores de sintaxis y se repite el proceso hasta que éstos se han eliminado. Como resultado del procesamiento se tiene un <em/archivo independiente del dispositivo/, o DVI (<tt/documento.dvi/). <sect1>¿Qué es un archivo DVI?<label id="DVI"> <!-- ====================================== --> <p> Un archivo DVI es el archivo resultante de procesar el texto fuente a través de &tex;. Su forma no depende del dispositivo que se vaya a utilizar para verlo/imprimirlo. Un archivo DVI está pensado para ser leído por un <em/conversor/ que produzca una salida adecuada para una determinada impresora, o para un determinado visualizador en la pantalla del ordenador. Los archivos DVI utilizan una codificación interna de &tex;, de forma que un documento fuente debe producir exactamente el mismo archivo DVI, con independencia de la implementación de &tex; que se utiliza para producirlo. <p> Un archivo DVI contiene toda la información necesaria para imprimir o ver el resultado, excepto los tipos o su aspecto concreto (aunque contiene sus medidas) o información que se introducirá mediante una orden <tt/\special/ -- véase <ref id="special" name="¿Qué son los \special?">. <sect1>¿Qué es un conversor (driver)?<label id="conversores"> <!-- ================================= --> <p> Un conversor es un programa que toma su entrada de un archivo DVI y produce un archivo que puede enviarse a una impresora o una salida directa a una pantalla. <p> Estos conversores normalmente son específicos a cada impresora o lenguaje de impresora. Por ejemplo, una impresora <em/postscript/ entenderá siempre la salida de un conversor <em/postscript/, pero en general no de otros formatos. <p> Al igual que el archivo DVI, el conversor necesita información sobre los tipos que puede encontrar en distintos lugares. <sect1>¿Qué son los archivos <tt/.pk/? <!-- ================================= --> <p> Los archivos <tt/.pk/ (cuyo nombre viene de <em/packed raster/) contienen tipos de letra en forma de mapa de bits. METAFONT produce una salida en mapa de bits en un formato no comprimido denominado <tt/.gf/, que es convertido a <tt/.pk/ mediante una utilidad denominada <em/gftopk/. Para cada diseño de letra, tamaño, peso y familia es necesario un archivo <tt/.pk/ distinto, e incluso para distintos dispositivos de salida. Como consecuencia de ésto se guardan en una estructura compleja de directorios, o en librerías de tipos, para normalizar el acceso a las mismas. <sect1>¿Qué son los archivos <tt/.tfm/? <!-- ================================= --> <p> <tt/tfm/ es la abreviatura de <em/&tex; font metric/, métrica de los tipos &tex;. Los archivos <tt/.tfm/ guardan la información acerca de los tamaños de los caracteres en cada tipo, así como las ligaduras y desplazamientos dentro de cada tipo. Se necesita un archivo <tt/.tfm/ para cada tipo utilizado por &tex;, es decir para cada diseño, peso y familia, aunque uno valga para todas las magnificaciones. &tex; utiliza los archivos <tt/.tfm/ para componer la página, pero en general los conversores no los necesitan. <sect1> ¿Qué son los tipos (fuentes) CM?<label id="CM"> <!-- ============================================== --> <p> Los tipos CM son los tipos originalmente creados por Donald E. Knuth. Cuando desarrolló &tex;, lo acompañó de este conjunto completo de tipos de alta calidad. Estos tipos eran independientes de la impresora utilizada (ya que eran tratados como gráficos) lo que producía la misma calidad en cualquier sitio. Con el tiempo, estos tipos (los Computer Modern o CM) se convirtieron en la <em/firma/ del procesador, que permitía identificar un documento a primera vista. <sect1> ¿Qué son los tipos (fuentes) EC/DC?<label id="EC/DC"> <!-- ============================================== --> <p> Son fuentes del tipo de las Computer Modern, pero con 256 caracteres, que cubren las necesidades de casi todas las lenguas habladas en Europa y algunas otras que utilizan el alfabeto latino. Su nombre viene de <em/European Computer Modern Fonts/. Dichas fuentes contienen caracteres acentuados siguiendo el esquema de codificación de Cork. Han estado durante bastante tiempo en periodo de pruebas y durante ese tiempo se llamaban DC. Ya se distribuyen normalmente al público en general, con el nombre EC, y a partir de ese momento las DC se consideran obsoletas. <p> Estas fuentes ya están presentes en las distribuciones modernas de &tex;/&latex;, pero en caso de que se trabaje con una distribución antigua pueden conseguirse en: <tscreen><verb> CTAN:fonts/ec/ready-mf </verb></tscreen> y los archivos <tt/tfm/ para &latex; están en <tscreen><verb> CTAN:fonts/ec/tfm </verb></tscreen> Si tenemos tipos de Cork (PostScript, DC, etc.) y queremos utilizar esta codificación en las fuentes de salida se debe introducir en el preámbulo del documento la línea <tscreen><verb> \usepackage[T1]{fontenc} </verb></tscreen> <sect1>¿Qué son los tipos (fuentes) virtuales? <!-- ===================================== --> <p> Los tipos (fuentes) virtuales proporcionan a &tex; una forma de trabajar con algo más complejo que los caracteres individuales definidos en un tipo. En un tipo virtual se definen a partir de elementos simples de los tipos normales, elementos más complejos que &tex; considerará como si fueran elementos de un tipo normal (tienen sus tamaños y su archivo <tt/.tfm/ de métrica), pero que en realidad el procesador del DVI compondrá a partir de distintos elementos constituyentes para formar a partir de ellos el elemento complejo descrito en el tipo virtual. De esta forma es posible remapear caracteres, hacer un tipo compuesto con elementos tomados de distintos tipos o en general construir elementos muy complejos a partir de elementos simples de los distintos tipos. Por ejemplo se utilizan tipos virtuales para <em/remapear/ tipos <em/postscript/. <p> &tex; en sí no ve los tipos virtuales, únicamente trabaja con las métricas que le da el tipo virtual en su <tt/.tfm/ como si se tratara de tipos normales. <sect1>¿Qué son las órdenes <tt/\special/?<label id="special"> <!-- ===================================================== --> <p> &tex; proporciona una forma de expresar cosas que los conversores pueden hacer, pero de las que &tex; no sabe nada. Por ejemplo &tex; no sabe cómo introducir figuras <em/postscript/ en un documento o cómo cambiar el color del texto impreso, pero algunos conversores sí saben cómo hacerlo. <p> Para ello &tex; proporciona la orden <tt/\special/. &tex; simplemente entiende la orden como correcta y la pasa con sus argumentos al archivo DVI, sin hacer nada de lo que en ella se dice. Es el conversor el que debe interpretar la orden y hacer lo que se le pide. <p> La sintaxis de los <tt/\special/ es fuertemente dependiente del dispositivo de salida y en general no es válida para distintos dispositivos. &latexe; proporciona paquetes estándar de gráficos (<tt/graphics, graphicx/) y manejo de color (<tt/color/), que hacen más fácil la inclusión de gráficos, rotación, reescalado y cambios de color --Véase la sección <ref id="tex-dibujos" name="Introducir gráficos con &latex;">. <sect1>¿Qué es el postscript y el postscript encapsulado (archivos <tt/.eps/)? <label id="postscript"> <!-- ========================================================== --> <p> <em/PostScript/ (PS) es un lenguaje de programación para describir páginas. Como lenguaje estructurado permite la programación (tiene estructuras de control y bucles), y recuerda el lenguaje de programación FORTH. Originalmente fue desarrollado por Adobe. Existen varios intérpretes de <em/PostScript/ que permiten la visualización de este formato. El más extendido es <em/Ghostscript/ (GS), de Aladdin, del que puede obtenerse información en <htmlurl url="http://www.cs.wisc.edu/~ghost/index.html" name="http://www.cs.wisc.edu/~ghost/index.html"> y en <htmlurl url="http://www.aladdin.com" name="http://www.aladdin.com"> cuando acaben de construirla. El formato PS se basa en describir cada página desde un origen de coordenadas que se sitúa en la esquina inferior izquierda de la página. PS permite, sin embargo, redefinir el origen, de forma que se puede recomenzar la descripción de un bloque de una página desde un origen arbitrario. <p> PS encapsulado (EPS) es el formato estándar para importar y exportar archivos PS en cualquier tipo de entornos. Usualmente es un archivo que contiene una sola página que describe una figura. El archivo EPS está especialmente pensado para incluirlo en otros archivos PS, y es como cualquier otro archivo PS con algunas restricciones. La FAQ de <em/PostScript/ puede alcanzarse en <htmlurl url="http://www.lib.ox.ac.uk/internet/news/faq/comp.lang.postscript.html" name="http://www.lib.ox.ac.uk/internet/news/faq/comp.lang.postscript.html">, de donde está tomado mucho de lo anterior. <sect1>¿Qué es el formato <tt/pdf/?<label id="formato-pdf"> <!-- ================================= --> <p> PDF (Portable Document Format) es, como su nombre indica, un formato de archivos transportable entre distintas plataformas, creado por Adobe y especialmente diseñado para visualizar documentos tal y como se han diseñado. Permite usar colores, gráficos, seguir enlaces e imprimir pero, fundamentalmente, permite ver en la pantalla los documentos, siendo un formato compacto. Es muy similar a PS, pero no tiene capacidades de programación. En relación con &tex;, PDF es un formato que sustituye al DVI -- ver la pregunta <ref id="DVI" name="¿Qué es DVI?"> -- en la salida de &tex;. En la web hay información abundante sobre PDF en <htmlurl url="http://www.pdfzone.com/webring/" name="http://www.pdfzone.com/webring/">. Los visualizadores de PDF más recomendables son Adobe Reader (antes Acrobat Reader), de Adobe, gratuito (<htmlurl url="http://www.adobe.com" name="http://www.adobe.com">), xpdf <htmlurl url="http://www.foolabs.com/xpdf/home.html" name="http://www.foolabs.com/xpdf/home.html"> y Ghostview <htmlurl url="http://www.cs.wisc.edu/~ghost/index.html" name="http://www.cs.wisc.edu/~ghost/index.html">. <sect1>¿Qué son los paquetes en &latex;?<label id="paquetes-latex"> <!-- ================================= --> <p> Escribir un documento a base de <em/primitivas/ &tex; puede resultar extremadamente engorroso. &latex; utiliza las primitivas de &tex; para definir otro conjunto de comandos más amigable, para las tareas más habituales (definir capítulos, tablas, listas enumeradas...). No obstante, &latex; no incluyó nuevos comandos de <em/alto nivel/ para cualquier tarea imaginable, sino que se hizo extensible a base de <em/paquetes/, de forma que hay un cuerpo de &latex; y unos añadidos en forma de paquetes. Un <em/paquete/ es un fichero que contiene más código, que se incluye en el preámbulo del documento (con <tt>\usepackage{nombre-de_paquete}</tt>),y que define nuevos comandos basándose, ya sea en las primitivas de TeX o en los comandos previamente definidos por LaTeX. <p> La distribución de &tex;/&latex; instalada en el sistema ya incluirá una buena cantidad de paquetes listos para su uso. Sin embargo, pueden añadirse nuevos paquetes -- véase <ref id="paquetes-instalar" name="Instalación de paquetes">. <sect1>¿Qué son los archivos <tt/.dtx/?<label id="formato-dtx"> <!-- ================================= --> <p> Tanto &latexe; como muchos de los paquetes de macros se escriben en un lenguaje de programación ilustrada, con código y documentación en el mismo fichero. Este formato, conocido como <tt/doc/ se debe a Frank Mittelbach. El fichero que contiene las fuentes comentadas suele tener la extensión <tt/.dtx/ y normalmente debe aligerarse de la documentación antes de su uso como macro, o correr &latex; sobre el fichero para producir una versión maquetada de la documentación. Habitualmente se suministra un fichero <tt/.ins/ para facilitar esto, que utiliza el paquete <em/docstrip/. Pueden incluirse varios paquetes dentro de un mismo fichero <tt/.dtx/. Para más información acerca de cómo extraer el contenido de un fichero <tt/.dtx/ véase <ref id="dtx-extraer" name="extraer de un .dtx">. <p> &latex; no utiliza los ficheros <tt/.dtx/ una vez procesados para producir los <tt/.sty/ o <tt/.cls/, por lo que no es estrictamente necesario tenerlos instalados, aunque puede ser recomendable, ya que son siempre la principal fuente de información sobre el paquete. <!-- ********************************************************* --> <sect>¿Cómo consigo &latex; y otros programas relacionados? <!-- ********************************************************* --> <sect1>Distribuciones &tex;/&latex; <!-- ========================================================= --> <p> En principio se podría coger todo el sistema elemento a elemento y ponerlo todo en común. Sin embargo, para que ésto funcione correctamente, el tiempo requerido y la complejidad del trabajo son grandes. Por esta razón algunas personas o empresas ya lo han hecho y lo ofrecen preparado en lo que se denominan distribuciones. <p> Se entiende por distribución un conjunto de binarios y paquetes de macros &latex; junto con otras utilidades adicionales, empaquetados de forma coherente y organizada, para que trabajen en común de la forma más eficiente posible. Hay distribuciones de libre distribución, shareware (se puede distribuir y probar, pero si se quiere usar regularmente es necesario pagar el registro) y otras de distribución comercial. Aunque algunas de las distribuciones comerciales tienen características adicionales sobre las distribuciones libres, a veces es al contrario. Aunque algunas distribuciones están disponibles para distintos sistemas operativos, lo más habitual es que estén limitadas a un sistema operativo. <p> Las distribuciones libres o shareware pueden conseguirse en el CTAN -- véase <ref id="que-es-CTAN" name="¿Qué es el CTAN?"> --, o a través de los CD-ROM editados por distintos grupos de usuarios de &latex;, mientras que las comerciales se consiguen a través de sus respectivos distribuidores o directamente si no los hay. <p> Para buscar distribuciones para los distintos sistemas operativos, la estructura de un nodo CTAN es siempre la misma. Existe un directorio <tt>tex-archive</tt> del cual cuelga un árbol de directorios. En particular, existe un directorio <tt>systems</tt>, del que penden las distintas implementaciones. Existen versiones para <tscreen><verb> Atari Amiga UNIX VMS Os2 Windows NT Mac MS-DOS </verb></tscreen> No es necesario tener una acceso de red para acceder al CTAN. El grupo de usuarios alemanes de &tex; (DANTE) ha hecho una recopilación en CD-ROM del contenido del CTAN. Las edición de 1999 y posteriores se han distribuido a través del grupo de usuarios Cervan&tex;. Para mayor información se puede consultar la página web del grupo Cervan&tex; <sect2>Distribuciones libres o <em/shareware/ <!-- ..................................... --> <p> <descrip> <tag/Unix/ <em/te&tex;/ es, para sistemas <tt/Unix/ la elección más multiplataforma. Se puede encontrar en <tt>CTAN:systems/unix/teTeX</tt> y contiene por un lado una serie de archivos que no dependen del sistema operativo y por otro lado binarios para toda una serie de sistemas operativos <em/Unix/. <tag/Linux/ Aunque lo que se acaba de decir de <em/Unix/ es también válido para <em/Linux/, recalcar además que en las principales distribuciones de <em/Linux/ vienen paquetes de <em/te&tex;/ listos para instalar y utilizar sin apenas esfuerzo. <p> Antes también había otra distribución denominada <em/N&tex;/. Es necesario tener un especial cuidado y <bf/no utilizar/ la incluida en el CD-ROM de Slackware'96, que incluía una versión de las fuentes CM que no respetaba las condiciones de distribución y cambiaba la métrica respecto de las estándar sin cambiar el nombre, rompiendo la portabilidad de los documentos. En la práctica este aviso debe estar ya obsoleto. <tag/Mac/ Los Macs modernos ya no utilizan el sistema operativo clásico sino uno basado en *BSD unix (<em/Mac OS X/), con una capa gráfica que no son las <em/X-Window/ (pero que también se pueden poner). <p> Por este motivo muchas aplicaciones unix clásicas se han adaptado con facilidad a <em/Mac OS X/, entre ellas <em/te&tex;/. La página <htmlurl url="http://www.rna.nl/tex.html" name="http://www.rna.nl/tex.html"> tiene una gran cantidad de información sobre el uso de &tex; en <em/Mac OS X/, incluyendo un instalador de <em/te&tex;/. Se necesita un editor que se comunique bien con &tex;, como los que se mencionan más adelante. Otras páginas muy interesantes son <htmlurl url="http://www.esm.psu.edu/mac-tex/default.html" name="http://www.esm.psu.edu/mac-tex/default.html"> y <htmlurl url="http://latex.yauh.de/index_en.html" name="http://latex.yauh.de/index_en.html">. <p> Para <em/Mac/ clásicos sigue existiendo Oz&tex;. Éste es una versión <em/shareware/ de &tex; para los ordenadores Macintosh clásicos. Incluye un visualizador de dvi y un conversor a postscript. Está disponible en <tt>CTAN:non-free/systems/mac/oztex</tt>. Su página original está en <htmlurl url="http://www.trevorrow.com/oztex/" name="http://www.trevorrow.com/oztex/"> <tag>DOS/OS2</tag> <em/em&tex;/ es, para sistemas <em/DOS/ la distribución más extendida. Puede encontrarse en <tt>CTAN:systems/msdos/emtex</tt>, aunque desde hace tiempo no se ven versiones nuevas. <em/g&tex;/ era otra distribución para <em/DOS/, pero recientemente ha sido retirada de <tt/CTAN/ a petición de su creador. También está <em/em&tex;-TDS/, que no es más que un árbol de archivos de estilo para &tex;/&latex; preparado para ser utilizado con los binarios de <em/em&tex;/. <tag/Win32/ <itemize> <item> <bf/Mik&tex;/ de Christian Schenk es también una distribución completa independiente de te&tex;. tiene su propio visualizador <em/yap/ que permite imprimir, aunque también se incluye <em/dvips/. Está disponible en <tt>CTAN:systems/win32/miktex</tt>. Si se tiene conexión de red, las últimas versiones permiten traer e instalar paquetes sobre la marcha según se van necesitando. Para obtener información sobre la instalación de un sistema &latex; (mik&tex;) en Windows puede consultarse la página <htmlurl url="http://www.udlap.mx/~ma108907/latex/winlatex.html" name="http://www.udlap.mx/~ma108907/latex/winlatex.html">. <item> <bf/XEm&tex;/, de Fabrice Popineau, es una distribución integrada de &tex;, &latex;, Con&tex;t, Xemacs y otros programas para Windows. Todos los programas han sido compilados de forma nativa para optimizar el rendimiento bajo Windows. Se suministra configurado para que funcione nada más instalarse. Su página es <htmlurl url="http://www.fptex.org/" name="http://www.fptex.org/"> <item> <bf/fp&tex;/ de Fabrice Popineau era una versión de <em/te&tex;/ para Windows. Sin embargo, su autor lo ha dejado de lado para concentrarse en XEm&tex;. De momento sigue disponible en <tt>CTAN:systems/win32/fptex</tt>, pero ya no está mantenido. </itemize> </descrip> <sect2>Distribuciones comerciales<label id="tex-de-pago"> <!-- ................................................ --> <p> <descrip> <tag/Windows/ <itemize> <item> <bf/Scientific Word/<em>Scientific Word/WorkPlace/Notebook</em> ofrece una forma de trabajo tipo casi <em/WYSIWYG/ con un procesador &tex; en segundo plano. Más información en <htmlurl url="http://www.sciword.demon.co.uk/" name="http://www.sciword.demon.co.uk/">. Incluye <em/True&tex;/. Aunque proporciona un entorno <em/amistoso/ para la escritura de documentos, en algunos casos integrado con <em/maple/ para realizar cálculos simbólicos, es muy rígido cuando es necesario salirse de los estilos estándar proporcionados con <em/SW/ y no es fácil compartir archivos &latex; generados con <em/SW/ con otras personas que no lo usen, porque necesitan una serie de paquetes específicos. Además, los argumentos opcionales de algunas macros dan error en <em/SW/, aunque dependiendo de uso que se le de, ésto puede no aparecer. A pesar de todo, puede ser útil para una persona que no quiere hacer cosas complicadas. </itemize> </descrip> <sect1>Editores de texto que trabajan especialmente bien con &latex;<label id="tex-editores"> <!-- ================================================================= --> <p> <descrip> <tag/Unix/ <itemize> <item> GNU <em/emacs/ o <em/xemacs/ utilizado en combinación con el paquete AUC&tex; (disponible en <tt>CTAN:support/auctex)</tt> o como un paquete ya incluido en muchas distribuciones) proporciona menús desplegables y secuencias de control para las estructuras habituales, verifica sintaxis y la muestra coloreada, permite llamar a &tex; y a los conversores desde el editor y mucho más. Complejo, pero muy potente. Joaquín Ataz ha escrito un manual para su uso con &latex;, <em/Creación de ficheros &latex; con GNU Emacs/, disponible en <tt>CTAN:info/spanish/guia-atx/guia-atx.pdf</tt> <item> <em/kile</em> Trabaja sobre cualquier plataforma con KDE instalado y según la documentación, hasta en OS-X... Tiene opciones para compilación y conversiones con una única pulsación de tecla, se pueden personalizar las órdenes y se integra con cualquier visualizador dvi, ps o pdf que tengamos. Disponible en la mayor parte de las distribuciones Linux y en <htmlurl url="http://kile.sourceforge.net" name="http://kile.sourceforge.net">. </itemize> <tag/Mac/ Para <em/Mac OS X/ hay algunos editores que se entienden bien con &tex; <itemize> <item> <bf/TeXShop/ Muy majo y en castellano. Se encuentra en <htmlurl url="http://www.uoregon.edu/~koch/texshop/" name="http://www.uoregon.edu/~koch/texshop/">. <item> <bf/iTeXMac/ Tiene más cosas, pero es más lento y hay muchos mensajes de "aún no implementado". Se encuentra en <htmlurl url="http://itexmac.sourceforge.net/" name="http://itexmac.sourceforge.net/">. </itemize> <tag>DOS/OS2</tag> &tex;shell es un entorno de trabajo simple y fácilmente personalizable que puede ser utilizado con el editor favorito de cada uno. También cuenta con un editor propio que permite seguir los errores de la compilación fácilmente aunque no soporta archivos de más de 64K. Aunque puede particularizarse a otras distribuciones, viene muy preconfigurado para em&tex;. <tag/Win32/ <itemize> <item> <bf/winedt/ es un paquete <em/shareware/ del que se suele oir hablar bien. Proporciona un entorno de trabajo desde el que llamar a los distintos programas y un editor potente y bien configurado <item> <bf/Winshell/ es un programa libre de prestaciones menores, pero que puede ser más que suficiente para muchos usuarios. <item> <bf/TeXnic Center/ es también un buen entorno de trabajo para Win32. Está disponible en CTAN en <tt>CTAN:systems/win32/TeXnicCenter/</tt> </itemize> </descrip> <p> Otros programas que no son editores completos, pero que ayudan a la edición son: <descrip> <tag/LaTable/ es un ayudante de creación de tablas que permite generar el código &latex; necesario para la creación de una tabla. La tabla se diseña en un entorno visual muy cómodo y la herramienta genera el código &latex; que se incorpora al documento con un simple <em/copy-paste/. También permite guardar las tablas generadas para su posterior modificación. Todavía tiene detalles, pero cuenta con muchas opciones bastante útiles, y genera un código relativamente limpio... además, aunque es un programa Win32 funciona bien en <em/Linux/ usando el emulador <em/Wine/. Disponible en <htmlurl url="http://www.g32.org/latable/" name="http://www.g32.org/latable/">. Es freeware de uso, pero sus fuentes no están disponibles. <tag/TeXaide/ para quienes sigan pensando que las ecuaciones se deben hacer con diseñadores ... (se consiguen mucho mejores resultados a mano, pero no faltan quienes abandonan &latex; cuando se enfrentan a las ecuaciones. Según los que lo han probado, el código que genera no es en ocasiones muy limpio, pero suele funcionar bien. Es un programa Win32 que también funciona en Linux usando el emulador Wine. Disponible en <htmlurl url="http://www.dessci.com/en/products/texaide/" name="http://www.dessci.com/en/products/texaide/">. </descrip> <!-- ********************************************************* --> <sect>Preguntas específicas para el &latex; en castellano <!-- ********************************************************* --> <sect1>¿Cómo puedo usar &tex; en castellano? o ¿Qué es lo mínimo que hay que saber para escribir en castellano con &tex;/&latex;? <!-- ===================================================================== --> <p> En realidad, no es necesario nada adicional que no esté ya incluido en las distribuciones más habituales. El problema normalmente se reduce a tres cosas: <enum> <item> Introducción de caracteres acentuados. Véanse las respuestas a las preguntas <ref id="raw-characters" name="mediante órdenes &latex;">, <ref id="8bitintro" name="¿Cómo introducir directamente los caracteres extendidos?"> y <ref id="acentos-math" name="acentos en modo matemático"> <item> Literales en castellano. Véase la respuesta a la pregunta <ref id="literales" name="¿Cómo cambiar los literales que &latex; produce?">. <item> Patrones de partición de palabras (silabeo o guionado). Véase <ref id="patrones-guionado" name="patrones de guionado"> donde se explica cómo hacer que &tex; parta las palabras siguiendo las reglas del español. </enum> <sect1>Con &latex;, ¿cómo puedo escribir los acentos y demás caracteres extendidos? <label id="acentos"> <!-- ========================================================================== --> <sect2>Mediante órdenes &latex; <label id="raw-characters"> <!-- ........................................................... --> <p> Cuando no hay más remedio, los caracteres extendidos se escriben así: <tscreen><verb> á ==> \'a Á ==> \'A ñ ==> \~n ¿ ==> ?` é ==> \'e É ==> \'E Ñ ==> \~N ¡ ==> !` í ==> \'\i{} Í ==> \'I ü ==> \"u ó ==> \'o Ó ==> \'O Ü ==> \"U ú ==> \'u Ú ==> \'U </verb></tscreen> Sin embargo, ésto normalmente no es necesario. Véase la respuesta a la pregunta <ref id="8bitintro" name="Introducir directamente los caracteres extendidos"> <sect2>Directamente mediante el paquete <em/inputenc/<label id="8bitintro"> <!-- ........................................................... --> <p> El paquete <em/inputenc/ permite escribir directamente en la página de códigos habitual, convirtiéndose internamente el texto introducido a texto &latex;, de acuerdo con las diferentes tablas de equivalencia para las distintas páginas de códigos y de forma completamente transparente al usuario. <p> Si somos usuarios de UNIX, debemos poner al principio de nuestro documento (en lo que se denomina el preámbulo, entre <tt>\documentclass...</tt> y <tt>\begin{document}</tt>) lo siguiente: <tscreen><verb> \usepackage[latin1]{inputenc} </verb></tscreen> si la codificación es <tt/iso-8889-1/ (también conocida como <tt/latin1/). Si la codificación es <tt/utf-8/, como en muchas distribuciones recientes de Linux: <tscreen><verb> \usepackage[utf8]{inputenc} </verb></tscreen> pero si la instalación es antigua, debe utilizarse el paquete <em/ucs/ (en muchas distribuciones se le llama <em/latex-ucs/, aunque carga <em/ucs.sty/): <tscreen><verb> \usepackage{ucs} \usepackage[utf-8]{inputenc} </verb></tscreen> <p> Si trabajamos con MS-Windog hay que usar <tt/cp1252/ (que es <em/casi/ el <tt/latin1/) <tscreen><verb> \usepackage[cp1252]{inputenc} </verb></tscreen> (<tt/ansinew/ es una variante obsoleta). Si trabajamos con DOS, hay que poner esto: <tscreen><verb> \usepackage[cp850]{inputenc} </verb></tscreen> y si somos de Macintosh, esto otro: <tscreen><verb> \usepackage[applemac]{inputenc} </verb></tscreen> (aunque hay editores de Mac que guardan como <tt/latin1/ o <tt/utf8/). <p> Por lo tanto, el método recomendado para utilizar caracteres de 8 bits en TODAS las plataformas en &latexe; es escribir: <tscreen><verb> \usepackage[tipo]{inputenc} </verb></tscreen> para decir qué página de códigos de entrada usamos. <p> Ni este método ni el que se menciona en <ref id="raw-characters" name="acentos &latex;"> son válidos en modo matemático. <sect2>¿Cómo introducir acentos en modo matemático?<label id="acentos-math"> <!-- ................................................................... --> <p> Para introducir acentos en modo matemático no hay más remedio que hacerlo mediante órdenes &latex;, pero en este caso son distintas de las de la sección <ref id="raw-characters" name="acentos &latex;">. Por ejemplo <em/máx/ se escribiría en modo matemático como <tt/m\acute{a}x/ y <em/ñ/ como <tt/\tilde{n}/. Si se quiere un acento sobre una i, tanto <em/spanish/ para <em/babel/ como el paquete <em/dotlessi/ <tt>(CTAN:macros/latex/contrib/supported/bezos/dotlessi.sty)</tt> proporcionan la orden <tt>\dotlessi</tt>; por ejemplo, mín se escribiría <tt>m\acute{\dotlessi}n</tt>. <p> <em/spanish.sty/ ya proporciona algunas de estas palabras acentuadas, por ejemplo, después de cargar el paquete <em/babel/ con la opción <em/spanish/ mediante <tt/\usepackage[spanish]{babel}/, <tt/$\min a$/ permite escribir la palabra acentuada. También proporciona un <tt/\dotlessi/ que complementa a <tt/\imath/. <sect1>¿Puedo compartir mis archivos &latex; en los que he escrito los acentos directamente? <!-- ====================================================================== --> <p> Si los caracteres acentuados están escritos mediante órdenes &latex; pueden compartirse sin problemas, ya que se utiliza únicamente codificación de 7 bits. <p> Si introduzco las letras acentuadas directamente como en <ref id="8bitintro" name="utilizando inputenc">, tendré dos posibles problemas: <enum> <item> ¿Me servirá para otros ordenadores que utilicen una página de códigos diferente?, pues la segunda mitad del conjunto de caracteres es distinta de unos a otros. <item> ¿Podré enviarlo por correo electrónico?, pues solamente acepta 7 bits. </enum> ¿Cómo se soluciona esto? Con GNU <em/recode/, con MIME, o con las dos cosas, según el caso. <enum> <item> Si simplemente se quiere procesar el documento, sí que servirá para otros ordenadores: Ejemplo: Si nosotros tenemos Unix y alguien que usa Macintosh nos da (en disquete) un archivo con los códigos del Mac, nuestro &latex; lo entenderá y lo procesará bien si lleva la llamada a <em/inputenc/, dando el resultado correcto, aunque no podamos ver correctamente el texto original con nuestro editor de texto. <p> Si queremos además modificar el documento o simplemente ver bien o simplemente ver bien el texto sin procesar original, necesitaremos convertirlo a la página de códigos que se utilice en nuestro ordenador. Para ello recurriremos a GNU <em/recode/ escribiendo: <tscreen><verb> recode applemac:latin1 archivo.tex </verb></tscreen> que nos convierte el documento de la página de códigos <tt/applemac/ a la <tt/latin1/. Si ahora modificamos la línea del <em/inputenc/ para que ponga <tt/latin1/ en lugar de <tt/applemac/ todo funciona exactamente igual que antes en cuanto al resultado. ¡Magia! ¿Dónde encontrar fuentes o binarios precompilados de <em/recode/? En los siguientes lugares: <p> <descrip> <tag/fuentes/ En cualquier réplica del archivo GNU, en el directorio <tt/recode/. <tag/DOS/ <htmlurl name="ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish/dos_only" url="ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish/dos_only"> o en el mismo lugar en cualquier réplica del archivo <em/simtel/. <tag/DOS32/ <htmlurl name="ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/" url="ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/"> o en el mismo lugar en cualquier réplica del archivo <em/simtel/. <tag/win32/ <htmlurl name="http://www.weihenstephan.de/~syring/win32/UnxUtils.html" url="http://www.weihenstephan.de/~syring/win32/UnxUtils.html"> <tag/unix/ En caso de no tener directamente binarios precompilados, suele ser sencillo compilar el programa a partir de las fuentes para cada sistema unix concreto. </descrip> <p> <item> Para evitar problemas con el correo, siempre se puede convertir el documento a formato &latex; <bf/antes/ de mandarlo por correo. Después de todo, la mayoría de lo que se escribe es para uno mismo, no para mandarlo por correo. Ejemplo: Si alguien tiene un Mac, para enviar algo por correo debe en primer lugar hacer una copia del documento (pues GNU <em/recode/ machaca el original). Con la copia se puede hacer: <tscreen><verb> recode -d applemac:latex archivo.tex </verb></tscreen> y ya podemos enviar el <tt/archivo.tex/ resultante por correo. Supongamos que el receptor trabaja con Unix, tendría que escribir: <tscreen><verb> recode -d latex:latin1 archivo.tex </verb></tscreen> y cambiar el <tt/inputenc/, en su caso. <p> En cualquier caso, si es posible, es mucho mejor enviar el archivo directamente con acentos utilizando el estándar MIME con <em/quoted-printable/, de esta forma llega el archivo con los acentos intactos aún usando los canales habituales de 7 bits. Naturalmente debemos ponernos de acuerdo con el receptor del mensaje para que él también tenga un programa que acepte MIME, pero dado que es un estándar, todo el mundo debería acabar teniéndolo. </enum> <em/Nota al margen/: <tt/recode 3.4/ no transforma correctamente de <tt/850/ a <tt/iso/, porque no convierte bien los retornos de carro. A partir de la versión <tt/3.4.1/ se supone que lo hace correctamente. Si la versión de <tt/recode/ que tenemos es la problemática, se puede usar la opción <tt/-a/ de <tt/unzip/ para corregir los retornos de carro. Si nuestro documento no tiene mayúsculas acentuadas, se puede usar la opción <tt/ibmpc:l1/ (<tt/ibmpc/ es sinónimo de <tt/437/). <sect1>¿Por qué cuando se selecciona texto en Adobe Reader o xpdf, desde un documento PDF generado con LaTeX, las letras acentuadas y eñes no se copian bien? <!-- ====================================================================== --> <p> El problema aparece cuando se utiliza un tipo de letra que no utiliza la codificación <tt/T1/, y desaparece cuando se usa. <p> El tipo por omisión de &latex; es el <em/Computer Modern/ que no contiene vocales acentuadas. Cuando el texto usa por ejemplo <em/á/, &latex; crea esta letra juntando dos caracteres, una <tt/a/ y un acento agudo. El aspecto en pantalla y en papel es el correcto, pero al seleccionar ese texto en el Acrobat Reader, lo que se obtiene es la secuencia <tt/'a/. <p> Otros tipos de letra sí contienen una letra <em/á/, y si se usa este tipo y se indica a &latex; que use la codificación <tt/T1/, la selección de texto en Reader ya funcionará bien. Así que el problema se soluciona siguiendo estos pasos: <itemize> <item> Indicarle a &latex; que use la codificación <tt/T1/. Esto se logra mediante un <tt>\usepackage[T1]{fontenc}</tt>. <item> Disponer de una fuente que realmente use esa codificación. </itemize> Si ponemos <tt>\usepackage[T1]{fontenc}</tt> sin más en un documento, entonces &latex; cambia el tipo por omisión, y en vez de <em/Computer Modern/, usará <em/European Computer Modern/ (EC). Si este tipo está instalado, el PDF se generará sin problemas y el asunto de seleccionar texto quedará arreglado. Pero aparecerá otro problema, y es que normalmente los tipos EC que vienen instaladas en las distribuciones de &latex; vienen sólo en formato PK, que es un formato que después se ve muy mal en el Reader (como borroso y descolocado). <p> Para esto la solución típica solía ser usar el paquete <em/ae/, el cual instala un tipo virtual, que aparentemente usa la codificación <tt/T1/ (para que &latex; quede contento), pero que en realidad usa las fuentes CM en vez de las EC (para poder usar los tipos postscript en vez de los PK y así tener un PDF que se vea bien con el Reader). Sin embargo esta solución hace que el problema de la selección de texto reaparezca, ya que, aunque desde el punto de vista de &latex; los tipos <em/ae/ usan codificación <tt/T1/, la realidad es que en el PDF final no lo usa, y la <em/á/ sigue siendo una combinación de <tt/a/ y <tt/'/ (como no podía ser de otra forma, ya que la fuente CM no tiene el carácter <em/á/). <p> Así que en este caso el truco de usar el paquete <em/ae/ no sirve, y no queda más remedio que recurrir a un tipo que <em/realmente/ use la codificación <tt/T1/, como los tipos Postscript estándar (Times-Roman, Palatino, etc.) <p> Existe una versión postscript de los tipos EC, cuyo desarrollo tiene lugar junto al del lenguaje de descripción musical <em/lilypond/ y están disponibles en <htmlurl url="http://www.lilypond.org/download/fonts/" name="http://www.lilypond.org/download/fonts/">. Asimismo los tipos <em/cm-super/, disponibles en <tt>CTAN:fonts/ps-type1/cm-super/</tt> también aceptan la codificación <tt/T1/. <p> Resumiendo, la solución es bien buscar y usar los tipos <tt/EC/ o alguno que utilice la codificación <tt/T1/, o si no compensa el esfuerzo utilizar directamente los tipos Postscript estándar. Para ello basta añadir al preámbulo del documento <tscreen><verb> \usepackage{times} % Usar tipo Times-Roman \usepackage[T1]{fontenc} % Usar la codificación T1 </verb></tscreen> Con esto ya funcionará lo de cortar y pegar desde el Reader, aunque utilizando otro tipo de letra con otra métrica que puede cambiar la maquetación. En vez de <em/times/ también pueden utilizarse <em/palatino/ o <em/bookman/, dependiendo de los gustos. <sect1>¿Cómo cambiar los literales que produce &latex;?<label id="literales"> <!-- ==================================================================== --> <p> Cuando Lamport hizo el &latex; original, proporcionó una serie de estilos estándar como ejemplo de uso. Estos estilos se hicieron muy populares, principalmente porque todas las instalaciones de &latex; los tienen. Sin embargo, estos estilos utilizan unos convenios muy particulares y es fácil que un usuario desee cambiarlos. Algo especialmente molesto para el uso en castellano de los estilos estándar, es que generan determinados títulos (p.ej. <em/Contents/, <em/Bibliography/, etc.) en inglés, lo que hace inaceptable su uso. <p> Aunque era posible crear versiones modificadas para otros idiomas, se extendió la idea de internacionalizar dichos estilos. Por ejemplo, donde ponía la palabra <tt/Contents/ se ha cambiado por <tt>\contentsname</tt> y se define aparte el valor de esta macro. <p> Esta es la forma en que funciona &latexe; actualmente. De esta manera, es posible continuar usando los mismos estilos estándar en diferentes idiomas, simplemente redefiniendo el valor de estas macros en el documento o en un estilo aparte, por ejemplo con <tscreen><verb> \renewcommand{\contentsname}{Tabla de materias} </verb></tscreen> <p> Un paquete de estilos que hace esto es babel -- Véase <ref id="que-es-babel" name="¿Qué es babel?">. Cuando se quieren hacer estos cambios en un documento que utiliza <em/babel/ con <em/spanish.sty/ hay que proceder de una forma un poco distinta. Véase <ref id="sectnames" name="Modificando los literales de spanish.sty"> <sect1>¿Cómo hacer que &latex; parta correctamente las palabras en castellano? <!-- ==================================================================== --> <sect2>¿Qué configuraciones (o patterns) existen para la partición de palabras?<label id="patrones-guionado"> <!-- ................................................................. --> <p> Lo primero que hay que decir es que la partición en castellano es algo mucho más complejo de lo que pudiera parecer a simple vista. Aunque el español es un lenguaje muy regular, tiene ciertas anomalías que convierten este tema en un campo minado. Hay dos conclusiones básicas: 1) No es posible encontrar el 100% de los cortes legales y 2) no es deseable. Para empezar, la Academia permite partir tanto por componentes (sub-ur-ba-no) como silábicamente (su-bur-ba-no). Además el concepto de sílaba es en algunos casos confuso y la etimología tampoco ayuda (Ej: su-bli-me, a pesar de derivar de sub-limis, contra sub-li-mi-nal). Sin mencionar que los conceptos de diptongo e hiato distan mucho de estar claros. Este último caso viene a carecer de importancia, pues libros de estilo consultados prescriben ignorar los hiatos al partir palabras. El siguiente comentario de Fernando M. Fournon González-Barcia es interesante para ilustrar los problemas: <quote> "La RAL dice que es POTESTATIVO lo de la separación por prefijos. Al menos en el esbozo, que si somos puristas y nos atenemos a la única gramática válida, la del 31, casi ni eso." </quote> <quote> "Creo que, estéticamente, lo mejor es no partir nunca, salvo cuando la cosa vaya a quedar muy fea (esta recomendación también la hace la RAL), como hace el &latex;, y entonces partir lo más conservadoramente posible. Si para los poquísimos casos en que un párrafo se pone pesado y en vez de partir subur-bano hay que hacer sub-urbano, pues ..., que se haga a mano, ¿no?." </quote> <quote> "Otra cosa es que al partir surjan vocablos malsonantes. Esto SÍ que debería de comprobarlo cualquier separador de palabras, pues normalmente es muy difícil detectarlos a simple vista (si es que hay tiempo para releer nuestros propios artículos). O sea, que antes que una lista de prefijos, sugeriría la creación de una lista de <em/tacos/ y cacofonías varias. :-)" </quote> Es decir, lo mejor es evitar cualquier caso conflictivo en los patrones (<em/patterns/) de uso general. Localmente puede hacerse los que se quiera, usando excepciones o introduciéndolos a mano, por ejemplo. <p> Al día de hoy existen 4 tablas diferentes de partición: <itemize> <item> Los producidos en 1986 por Armando Jinich, María Garza y Max Díaz de Aurion Tecnología, México. Están en el dominio público desde 1990. Pueden encontrarse en: <quote> <htmlurl url="ftp://ftp.dante.de/tex-archive/language/spanish/old/silaba.tex" name="ftp://ftp.dante.de/tex-archive/language/spanish/old/silaba.tex"> </quote> Estos patrones han sido producidos a partir de las reglas de la gramática. Actualmente no soportan explícitamente acentos. Max Díaz es actualmente <tt/max _AT_ east.aurora.com/ <item> Los producidos por Manuel Vázquez de la Universidad de Zaragoza, que puede ser localizado en <tt/(vazquez _AT_ cc.unizar.es)/. Estos patrones están basados en la gramática. <item> Los que distribuye Arbortext producidos por Sistemas Gráficos y Audiovisuales de Chihuahua. México. Estos están generados a partir de un diccionario. Soportan acentos. <item> Los producidos por Julio Sánchez, que pueden obtenerse en: <tscreen><verb> CTAN:language/spanish/hyphen </verb></tscreen> Estos soportan una variedad de opciones, incluido el soporte de acentos, tanto como ligaduras como con el código <tt>IS 8859/1</tt> (<tt/ISO Latin1/) para ML-&tex; o &tex; 3.X. Además, <em/son los actualmente recomendados por Cervan&tex;/. </itemize> <sect2>¿Cómo activo el patrón de partición de palabras para el castellano?<label id="guionado"> <!-- ................................................................... --> <p> Para activar el patrón de partición para el castellano es necesario tener babel -- Véase <ref id="que-es-babel" name="¿Qué es babel?"> -- instalado y generar el formato cargando el patrón de separación en sílabas en castellano. Esto podemos hacerlo de la siguiente manera <!-- (el path lo doy relativo a texmf, depende de cada distribución donde reside este directorio, por ejemplo en RedHat 5.2 está en /usr/share/texmf) --> <p> <descrip> <tag/Para &tex; y &latex;: Cambiando el archivo <tt>language.dat</>/ <itemize> <item> Editar el archivo <tt/language.dat/. Dependiendo de la distribución de &tex; utilizada este archivo puede estar en distintos lugares. Por ejemplo en te&tex; el árbol de &tex; parte de <tt>TEXMF=/usr/share/texmf</tt> y el archivo en cuestión está en <tt>TEXMF/tex/generic/config/language.dat</tt>. En al caso de <em>Debian/GNU-Linux</em>, está en <tt>/etc/texmf/language.dat</tt> y el otro es un enlace a éste. <item> Borrar el <tt/%/ que está al principio de la linea <tt/spanish/. Si mal no recuerdo viene preparado con silabeo en alemán, si no lo quieren pongan un <tt/%/ adelante. También viene predefinido inglés (o alguna de sus variantes, por ejemplo american). Éste debe estar siempre definido así que no debe desactivarse. <item> Es conveniente también verificar que la línea con <tt/nohyphenation/ está activada (sin el comentario). Ésto es muy útil cuando se quiere desactivar la partición de palabras. <item> En caso de tener el Mik&tex;, la operación es la misma, pero el archivo <tt/language.dat/ está en <tt>TEXMF\tex\generic\hyphen\local</tt> o en <tt>TEXMF\tex\generic\config</tt> donde <tt>TEXMF</tt> representa el punto del que parte el árbol de directorios &tex; <item> te&tex; tiene la utilidad <em/texconfig/ que invocada como <tscreen><verb> # texconfig hyphen latex </verb></tscreen> lanza un editor para cambiar el fichero <tt/language.dat/ y que, al cerrar el editor, genera los formatos automáticamente, por lo que no es necesario hacer el paso siguiente explícitamente. </itemize> <tag/Para &latex;./ Una vez hecho lo anterior no es necesario más que rehacer los formatos -- Véase <ref id="formatos" name="¿Cómo rehacer los formatos?"> --. Entonces cuando se llame a <em/babel/ con la opción <tt/spanish/, éste se encargará de utilizar los patrones de guionado en castellano. <tag/Para <tt/plain/-&tex;/ Por omisión, cuando el <tt/initex/ crea el formato, carga el archivo <tt/hyphen.tex/ que contiene las reglas de silabeo en inglés. Para activarlo también en <em/plain-&tex;/ se debe copiar el archivo <tt/hyphen.cfg/ como <tt/hyphen.tex/ en algún sitio que en el camino de búsqueda de &tex; esté antes del <tt/hyphen.tex/ que viene como parte de <tt/plain-&tex;/ y asegurarse que existe el archivo <tt/ushyph1.tex/ (que realmente es el mismo que el <tt/hyphen.tex/ original, pero con otro nombre). Este paso no es necesario si sólo se quiere la partición de palabras para &latex; y se va a utilizar <em/babel/, pero tampoco sobra. <p> Para los usuarios de <em/te&tex;/ los archivos están en <tt>TEXMF/tex/config/babel/hyphen.cfg</tt> y el <tt/hyphen.tex/ original en <tt>TEXMF/tex/generic/hyphen/hyphen.tex</tt> <p> Para los usuarios de Mik&tex;, los archivos están en <tt>TEXMF/generic/hyphen/hyphen.cfg</tt> y <tt>TEXMF/generic/hyphen/hyphen.tex</tt> <p> En caso de no conseguirse hacer lo anterior también puede sustituirse el archivo <tt/hyphen.tex/ por el <tt/hyphen.cfg/, pero debe tenerse cuidado al actualizar la distribución de no sobreescribir el <tt/hyphen.tex/ con al que venga con la distribución nueva. <p> Entonces es necesario reconstruir el formato como se indica en <ref id="formatos" name="¿Cómo rehacer los formatos?">. <p> Cuando se quiere usar el silabeo en castellano, hay que agregar en el archivo <tt/.tex/, al principio, una linea que diga <tt/\language1/ si el castellano es el segundo lenguaje (no sinónimo) del <tt/language.dat/ (<tt/\language0/ correspondería al inglés americano) </descrip> <sect2>A pesar de que he activado los patrones de partición de palabras del castellano, hay una palabra que se me resiste <!-- .................................................................. --> <p> Aunque los patrones de partición de palabras intentan abarcar el mayor número de casos posible, siempre puede quedar alguna palabra recalcitrante. También puede ocurrir que la partición sea correcta, pero no deseable a los ojos del autor del documento. En este caso hay dos posibilidades: <itemize> <item> Si la palabra es poco frecuente y sólo falla en muy pocas ocasiones. En este caso es preferible decirle directamente a la palabra en el lugar donde aparece, dónde se le permite partirse, mediante <tt>\-</tt>. Por ejemplo: <tscreen><verb> fotorrefractivo y electroóptico --> foto\-rre\-frac\-tivo y elec\-tro\-óptico </verb></tscreen> <item> Si es una palabra frecuente que es una potencial causa de problemas en el documento. En este caso es preferible definir en el preámbulo del documento cómo se permite la partición de esta palabra de forma global para todo el documento, mediante <tt/\hyphenation/. Por ejemplo: <tscreen><verb> \hyphenation{foto-rre-frac-tivo,elec-tro-óptico} </verb></tscreen> </itemize> <sect2>Mi &tex; no parte las palabras que tienen acentos. ¿Por qué? <!-- ........................................................... --> <p> El primitivo <tt>\accent</tt> detiene la partición. Es posible ayudar a &tex; invocando la siguiente macro después de un acento: <tscreen><verb> \def\allowhyphens{\penalty10000 \hskip0pt} </verb></tscreen> <tt/spanish.sty/ lo hace automáticamente en caso necesario. En cualquier caso, lo mejor es usar fuentes con las letras acentuadas como por ejemplo las descritas en <ref id="EC/DC" name="DC/EC">, o ML-&tex;, y patrones de partición que contemplen esto. <sect1>Acerca de <tt/spanish.sty/ <!-- ==================================================================== --> <p> Los archivos para escribir en castellano con <em/babel/ (<tt/spanish.*/) los creó y mantuvo durante mucho tiempo Julio Sánchez. Ahora esos archivos los mantiene Javier Bezos y desde hace tiempo son oficiales en la estructura de <em/babel/. Es posible que alguna distribución de &latex; aún utilice los archivos antiguos y que haya algunas diferencias respecto de lo que aquí se describe. La actualización está más que recomendada. <sect2> ¿Dónde se puede obtener la documentación de spanish en castellano? <!-- ......................................................................... --> <p> La documentación de <em/spanish/ que se incluye al componer <tt/user.drv/ está en inglés, pero el archivo <tt/spanish.dtx/ también la incluye en castellano. Basta con componer este archivo y obtendremos un detallado manual como <tt/spanish.dvi/. <p> La versión más reciente del manual de <em/spanish.sty/ se encuentra en <htmlurl url="http://perso.wanadoo.es/jbezos/archive/spanish.pdf" name="http://perso.wanadoo.es/jbezos/archive/spanish.pdf">. Debe tenerse cuidado con las versiones, pues puede referirse a una versión muy posterior a la que se encuentra instalada en el sistema. <sect2>¿Cómo cambio los nombres de las secciones de bibliografía, índice, etc... que pone <tt/spanish.sty/? <label id="sectnames"> <!-- ......................................................................... --> <p> Si no importa que este cambio no siga las características de <em/babel/ y <em/spanish/ de cambio de idioma sobre la marcha, etc.., se puede hacer de la misma forma que en la sección <ref id="literales" name="¿Cómo cambiar los literales que produce &latex;?"> poniendo las definiciones después de llamar a babel. El problema de este método es que no está bien integrado con <em/babel/ y por ese lado puede dar problemas, ya <em/babel/ activa algunos cambios al llegarse al <tt>\begin{document}</tt>. <p> Si embargo existe una forma más elegante e integrada con <em/spanish/ y <em/babel/. En el preámbulo del documento hay que añadir lo siguiente, por ejemplo, para cambiar Bibliografía por Referencias y Tabla por Cuadro <tscreen><verb> \addto\captionsspanish{% \def\bibname{Referencias}% \def\tablename{Cuadro}% } </verb></tscreen> Y así con todos los nombres necesarios. La lista de nombres está en los dos lugares siguientes <tscreen><verb> TEXMF/tex/generic/babel/spanish.ldf TEXMF/tex/generic/babel/spanish.tex </verb></tscreen> <em/Nunca/ deben modificarse los ficheros <em/spanish.ldf/ y <em/spanish.tex/ directamente, ya que el documento resultante ya no sería universal, al procesarlo en un sistema distinto daría distinto resultado, y no sería posible acompañar el documento original con los archivos de estilo modificados puesto que la LPPL (la licencia bajo la que se distribuye &latex;) no permite la distribución de versiones modificadas de éstos bajo el mismo nombre. <sect2>¿Por qué <tt/spanish.sty/ pone los meses en minúscula? <!-- ........................................................... --> <p> Ese es el uso aceptado en la actualidad. Documentos de la propia RAL lo hacen así. El María Moliner también. Véase la siguiente cita del María Moliner, 1990, <quote> "7. Aunque entre los preceptos de la G.R.A. figura el de escribir con mayúscula los nombres de los meses, de los días de la semana y de las estaciones, [...] ha dejado decididamente de usarse la letra mayúscula en uno y otro de estos casos" </quote> <sect2>¿Por qué el spanish de babel reemplaza el punto decimal por una coma? <!-- ........................................................... --> <p> Por tres razones: 1) porque las normas internacionales establecen que ha de usarse coma para los decimales, excepto en aquellos países cuya tradición hace preferible el punto (la propia ISO usa coma en sus informes); 2) porque el punto decimal en España carece de fuerza legal y sólo la coma es oficialmente válida, y 3) porque la coma es el único signo usado en la vida diaria. Probablemente, la situación es similar en otros países, salvo México. <p> Se puede cambiar el comportamiento predefinido con la orden <tt>\decimalpoint</tt> o <tt>\spanishdecimal{.}</tt> en el preámbulo, después de cargar <em/babel/. En unas pocas materias, como el análisis númerico o la estadística, es necesario distinguir la coma decimal de la coma para separar datos; en este caso se puede aumentar el espaciado de estas últimas con: <tscreen><verb> \makeatletter \def\es@decimal{{\mathchar"613B}} \mathcode`,="8000 \begingroup \catcode`,=13 \gdef,{\mkern2mu\mathchar"613B\mkern8mu} \endgroup \makeatother </verb></tscreen> (Se pueden probar otros valores en lugar de 2 [antes] y 8 [después]. La unidad mu de &tex; es para matemáticas [aprox. 1/18 em].) <sect2> ¿Por qué <tt/spanish.sty/ pone los números romanos siempre en mayúscula? <!-- ........................................................... --> <p> Realmente no son mayúsculas, sino versalitas (<em/small caps/). En la tradición tipográfica española no se utilizan los números romanos en minúsculas, que se sustituyen por las versalitas. Por este motivo, el autor de <em/spanish/ para babel, lo ha incluido en éste. <sect2> ¿Por qué <tt/spanish.sty/ acentúa la I de Índice? <!-- ........................................................... --> <p> Así lo han sostenido los tratadistas más importantes sobre ortografía y tipografía desde hace más de un siglo: << La mayúsculas deben llevar la tilde que les corresponda >> (Sanmartí, 1907). La RAE finalmente lo ha considerado normativo en su ortografía de 1999: <<El empleo de las mayúsculas no exime de poner tilde cuando así lo exijan las reglas de acentuación >> (p. 31). <sect2> ¿Por qué spanish para babel dice cuadro en lugar de tabla? <!-- ........................................................... --> <p> Tal y como se indica en el manual, el inglés <em/table/ y el español <em/tabla/ son falsos amigos. Para ser más precisos, podemos reproducir lo que dice el Diccionario académico: <quote> Cuadro [...] 10. m. Conjunto de nombres, cifras u otros datos presentados gráficamente, de manera que se advierta la relación existente entre ellos. <p> Tabla [...] 12. f. Cuadro o catálogo de números de especie determinada, dispuestos en forma adecuada para facilitar los cálculos. Tabla de multiplicar, de logaritmos, astronómica. </quote> El inglés <em/table/ tiene un sentido mucho más general que el que tiene el español <em/tabla/, y así tendríamos tabla de logaritmos y tabla de multiplicar frente a cuadro de reyes medievales y cuadro de aminoácidos esenciales. En este aspecto el español tiene más riqueza y precisión que el inglés. <p> En fin, <em/cuadro/ es todavía la forma más frecuente, la más castellana y tradicional, y la preferida por los mejores tipógrafos (Morato, Martínez Sicluna, Martínez de Sousa, etc.). Nada impide, por supuesto, redefinir el nombre si resultara que todos los cuadros de un documento son tablas, tal y como describe el manual y esta FAQ. <sect2>¿Cómo consigo que <em/babel/ y <tt/spanish.sty/ no utilicen los atajos de teclado NUNCA? <!-- .................................................................... --> <p> Este ha sido un problema muy frecuente con babel y spanish, que ha dado como consecuencia que, por ejemplo, en las bibliografías nombres como "J.~N. Apellido" aparecieran como "J.Ñ. Apellido". Para solucionar este problema, spanish ofrece ahora la orden <tt>\deactivatetilden</tt> que elimina el uso de <tt/~/ para la eñe, al tiempo que preserva su función de espacio sin división (la orden <tt>\shorthandoff</tt> de babel cancela ambos usos). El estilo <em/spanish/ también proporciona más facilidades para desactivar otras abreviaciones, que están descritas en <tt>spanish.dtx</tt>, por ejemplo <tt/\deactivatequoting/ en el preámbulo. <p> Sin embargo ésto y el que funcione correctamente ha cambiado mucho entre distintas versiones de <em/babel/ lo que hace que a veces los documentos creados con una versión de babel no sean directamente portables a otros sistemas. Aunque es recomendable actualizarse a la última versión de <em/spanish/ y <em/babel/ en todos los ordenadores implicados, en caso de no poderse hacer, la siguiente línea (en &latexe;) en el preámbulo del documento elimina los atajos de teclado <tscreen><verb> \AtBeginDocument{\gdef~{\nobreakspace{}}\catcode`\"=12} </verb></tscreen> útil para documentos que se utilizarán en distintos ordenadores, alguno de ellos con versiones antiguas de babel o spanish. <sect1>¿Cómo puedo indicar la abreviatura de los ordinales? <!-- =================================================== --> <p> En &latexe; pueden utilizarse la órdenes <tt>\textordfeminine</tt> y <tt>\textordmasculine</tt>; por ejemplo, para abreviar María, escribimos <tt>M.\textordfeminine</tt>. Una variación de estas macros ha sido incorporada a <tt/spanish.sty/ versión 3.0 y extendida en la versión 4.0. Se invocan como "a y "o, respectivamente, con la posibilidad de usar <tt>\sptext</tt> para casos como <tt>1\sptext{er}</tt>. <sect1>¿Cómo forzar sangría después de las cabeceras? <!-- ============================================= --> <p> El objetivo de esa sangría (<em/indentation/ para los que no estén al tanto) es marcar claramente la separación de los párrafos. Como tal, es superflua después de una cabecera. Hay otros sitios en los que, no sólo es superflua, sino que es confusa, como después de un texto que ya va sangrado (entorno quote, <tt>\[</tt> <tt>\]</tt>, un array, etc.) Sin embargo, es esencialmente una cuestión de gusto. <p> Modificarlo en un estilo es bastante fácil. La mayoría de las secciones, etc. en &latex; son algo así como (en <tt/art10.sty/): <tscreen><verb> \def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus -.2ex}{2.3ex plus .2ex}{\Large\bf}} \def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -2ex minus -.2ex}{1.5ex plus .2ex}{\large\bf}} </verb></tscreen> El cuarto parámetro, si es negativo, indica que no se debe sangrar en el primer párrafo tras la cabecera. Cámbiese a positivo. <p> Hay otro procedimiento para estilos que ya están escritos y consiste en decir: <tscreen><verb> \let\@afterindentfalse\@afterindenttrue \@afterindenttrue </verb></tscreen> Esta solución es la proporcionada en <tt/indentfirst.sty/ por David Carlisle. <sect1>¿Cómo puedo escribir las funciones matemáticas en español? <!-- ======================================================== --> <p> Comentario: Hay gente que discute el que las funciones vayan en español y lleve acento el lím, máx, etc. Argumentan que los nombres vienen del latín y allí no había acentos (y que en inglés también vienen del latín, lo cual, por ejemplo, es claramente incierto con gcd). El caso es que en todos los libros tradicionales en castellano se escribía lím y máx con acento. Si últimamente no se hace es precisamente porque &tex; (en inglés) no lo tiene así. Todavía estamos a tiempo de no cometer ese error: <p> El caso más común es el del seno que, en plain &tex;, basta definirlo como <tscreen><verb> \def\sen{\mathop{\rm sen}\nolimits} % Sustituye a \sin </verb></tscreen> Análogamente, <tscreen><verb> \def\mcd{\mathop{\rm mcd}\nolimits} % Sustituye a \gcd \def\senh{\mathop{\rm senh}\nolimits} % Sustituye a \sinh \def\arcsen{\mathop{\rm arcsen}\nolimits} % Ni el arcsin ni el % arccos originales dejan espacio entre arc y sin o cos. </verb></tscreen> Cuando la función en español tiene algún acento (sobre todo en la i), es más complicado: <tscreen><verb> \def\max{\mathop{\rm m\acute ax}} \def\min{\mathop{\rm m\acute\mathchar"7010n}} \def\inf{\mathop{\rm \acute\mathchar"7010nf}} \def\lim{\mathop{\rm l\acute\mathchar"7010m}} \def\limsup{\mathop{\rm l\acute\mathchar"7010m\, sup}} % El limsup % y el liminf originales dejan espacio entre lim y sup o inf. \def\liminf{\mathop{\rm l\acute\mathchar"7010m\, inf}} </verb></tscreen> Por último, adaptándolas de su definición original (ver pág. 361 del &tex;book) para poner el acento en las dos posibilidades de uso de <tt/mod/ hacemos: <tscreen><verb> \def\bmod{\mskip-\medmuskip \mkern5mu \mathbin{\rm m\acute od} \penalty900 \mkern5mu \mskip-\medmuskip} \def\pmod#1{\allowbreak \mkern18mu ({\rm m\acute od}\,\,#1)} </verb></tscreen> En &latex; se puede hacer de forma similar pero usando <tt>\newcommand</tt> o <tt>\renewcommand</tt> en lugar de <tt>\def</tt>. <sect1>¿Qué verificadores ortográficos puedo utilizar para español? <!-- ========================================================== --> <p> <descrip> <tag/ispell/ <em/ispell/ es un verificador ortográfico de uso libre que funciona en UNIX, aunque hay un port para <em/emx/ en fase beta --que funciona o debe funcionar tanto en DOS (con 386 o superior) como en OS/2 2.x o en OS/2 Warp. <p> Para <em/ispell/ existe lo siguiente: <p> <itemize> <item> Ficheros de afijos para español: <tabular ca="ll"> URL:|ftp://ftp.dante.de/tex-archive/language/spanish/ispell@ ARCHIVO:|castellano.aff.gz@ COMENTARIOS:|diccionario y parche elisp disponible en el mismo lugar.@ |Véanse los archivos LEEME o README. </tabular> <p> <tabular ca="ll"> <!-- URL:|http://www.datsi.fi.upm.es/˜coes@ --> URL:|<htmlurl url="http://www.datsi.fi.upm.es/~coes" name="http://www.datsi.fi.upm.es/˜coes">@ ARCHIVOS:|espa˜nol.tar.gz@ COMENTARIOS:|incluye espa˜nol.aff, lista de palabras, instrucciones@ |y patrones de guionado para TeX en español. </tabular> <item>Diccionarios compatibles con ispell: <tabular ca="ll"> URL:|ftp://ftp.dante.de/tex-archive/language/spanish/ispell@ ARCHIVOS:|palabras.sq.gz@ COMENTARIOS:|archivo de afijos y parche elisp disponible en el mismo@ |lugar. Véanse los archivos LEEME o README. </tabular> <p> <tabular ca="ll"> URLs:|<htmlurl url="http://www.datsi.fi.upm.es/~coes" name="http://www.datsi.fi.upm.es/˜coes">@ ARCHIVOS:|espa˜nol.tar.gz@ COMENTARIOS:|incluye espa˜nol.aff, lista de palabras, instrucciones,@ |y patrones de guionado para TeX en español. </tabular> </itemize> El que hay en <tt/ftp.dante.de/ es de Julio Sánchez y el que hay en <htmlurl url="http://www.datsi.fi.upm.es/~coes" name="http://www.datsi.fi.upm.es/~coes"> es de Santiago Rodríguez <tt/srodri _AT_ fi.upm.es/ y Jesús Carretero <tt/jesus _AT_ fi.upm.es/ <p> Dependiendo de como se haya creado el diccionario de castellano es posible que deba llamarse a ispell como <tscreen><verb> ispell -t -T latin1 -d espanol fichero.tex </verb></tscreen> especificando explícitamente la codificación. <tag/Excalibur/ Para Macintosh, existe un verificador ortográfico de documentos &latex; (y plain &tex;) llamado Excalibur. Es gratis, aunque el copyright es del autor, Rick Zaccone <tt/(zaccone _AT_ bucknell.edu)/. <p> Excalibur puede conseguirse por ftp anónimo en <htmlurl url="ftp://sol.eg.bucknell.edu/pub/mac" name="ftp://sol.eg.bucknell.edu/pub/mac">. <p> Juan Luis Varona <tt/(jvarona _AT_ dmc.unirioja.es)/ ha creado un diccionario con 292342 palabras (versión de septiembre de 1999) que funciona con Excalibur. Está realizado en formato de 7 bits, y la <tt/í/ la reconoce únicamente como <tt>\'{\i}</tt>. Pero puede modificarse si se desea. La versión más reciente puede encontrarse en <htmlurl url="ftp://tex.unirioja.es/pub/tex/dict-mac" name="ftp://tex.unirioja.es/pub/tex/dict-mac"> <p> Asimismo, en la dirección mencionada para <em/Excalibur/, en el directorio <tt/Excalibur-dictionaries/, se encuentran disponibles los diccionarios de los distintos idiomas. El diccionario español puede encontrarse también en <tt/CTAN/ en <tscreen><verb> CTAN:systems/mac/support/excalibur/Spanish_Dictionary.sit.hqx </verb></tscreen> <tag/4spell/ <em/4spell/ es un verificador ortográfico para Windows (32 bits) que se distribuye bajo una licencia libre (concretamente la GPL) y tiene un diccionario de castellano. Puede encontrarse en <tt>CTAN:support/4spell</tt> <tag/Winedt/ El diccionario de Juan Luis Varona también se ha adaptado para su uso con el verificador ortográfico del entorno winedt para Windows. Está disponible en <quote> <htmlurl url="ftp://tex.unirioja.es/pub/tex/dict-win" name="ftp://tex.unirioja.es/pub/tex/dict-win"> </quote> <tag/amspell/ <em/amspell/ es un verificador ortográfico para DOS. El diccionario de Juan Luis Varona también se ha adaptado para ser utilizado con <em/amspell/. La versión para <em/amspell/ está disponible en <quote> <htmlurl url="ftp://tex.unirioja.es/pub/tex/dict-pc" name="ftp://tex.unirioja.es/pub/tex/dict-pc"> </quote> y <em/amspell/ en <tscreen><verb> CTAN:support/amspell </verb></tscreen> </descrip> <sect1>¿Cómo utilizo Bib&tex; en castellano? <!-- ========================================================== --> <p> Para esto hay dos aproximaciones, <sect2>Utilizar estilos adaptables (los <em>abstyles</em>) <!-- -------------------------------------------------------- --> <p> Para que Bib&tex; funcione en español, Tomás Bautista ha modificado con <em/babel/ una <em/familia adaptable/ de estilos de Bib&tex; (también llamadas <em/abstyles/). <p> Con las <em/abstyles/ se tiene la <em/ventaja/ de utilizar un único estilo, de forma que el idioma de las referencias únicamente depende del elegido con <em/babel/. De este modo, si por h o por b, en cierto momento no se quiere el documento en inglés, sino por ejemplo en español o en alemán, sólo habría que cambiar la opción que corresponde en babel y no también el estilo puesto dentro del <tt/\bibliographystyle{estilo}/. <p> Además, con las abstyles sólo es necesario un <tt/aplain.bst/ preparado para distintos idiomas, según lo elegido en babel. Están disponibles en <tt>CTAN:biblio/bibtex/contrib/abstyles-babel/</tt>. </sect2> <sect2>Utilizar el paquete <tt>custom-bib</tt><label id="custombib"> <!-- -------------------------------------------------------- --> <p> El paquete <em/custom-bib/ (disponible en <tt>CTAN:macros/latex/contrib/supported/custom-bib/</tt>) permite crear estilos bibliográficos a medida, con una amplia serie de opciones y de idiomas. Para utilizarlo, una vez desempaquetado debe hacerse <tscreen><verb> latex makebst.tex </verb></tscreen> y responder a las (muchas) preguntas que se formulan. Es conveniente leerse previamente la documentación para ser consciente de qué se está preguntando en cada momento, ya que muchas de las preguntas no son obvias. El documento de Luis Seidel -- Véase la sección <ref id="es-tutores" name="Tutoriales en castellano"> -- es una ayuda interesante al respecto. <p> El paquete <em/spanish/ proporciona el fichero <em/esbst.tex/ que es el que debe usarse como <em/babelbst.tex/ para las adaptaciones al castellano. Si la distribución es antigua, este fichero puede estar prácticamente vacío y tener como único efecto que no aparezca un mensaje de error. En este caso es conveniente copiar el archivo <em/esbst.tex/ de una versión reciente de <em/spanish/ al directorio donde se va a utilizar el estilo <em/.bst/, con el nombre <em/babelbst.tex/, ya que es el nombre con que lo espera el estilo <em/.bst/ creado. </sect2> <sect1>¿Cómo genero un índice alfabético con la ordenación correcta en castellano? <!-- ========================================================================= --> <p> El problema con que uno se encuentra al utilizar <em/makeindex/ es que no ordena correctamente las palabras con caracteres acentuados, ya que por ejemplo ordena la <tt/á/ como <tt/\'a/ que es lo que &tex; escribe al archivo de índice y salvo que fuera la más reciente versión de <em/makeindex/ de 8 bits ni siquiera las reconocería si estuvieran escritas directamente al archivo de índice como palabras acentuadas. A pesar de las limitaciones mencionadas para los idiomas que no pueden describirse mediante la tabla de caracteres de 7 bits, es posible utilizar <em/makeindex/ en idiomas como el castellano. Para solucionar este problema hay varias aproximaciones: <descrip> <tag/Decir a <em/makeindex/ cómo debe ordenar la palabra acentuada/ Por ejemplo, para los acentos o para la <tt/ñ/ se introduciría la entrada al índice como <tscreen><verb> \index{optica@óptica} \index{indice@índice} \index{can^^ffa@caña} </verb></tscreen> y para una palabra compuesta como por ejemplo en <tscreen><verb> \index{optica electromagnetica@óptica electromagnética} </verb></tscreen> <tag/Utilizar el paquete <em>esindex</em>/ <em/esindex/ es un paquete desarrollado por Javier Bezos para facilitar la escritura de índices correctamente alfabetizados en castellano. Su única orden es <tt/\esindex/ que convierte su argumento a una forma adecuada. Por ejemplo, <tscreen><verb> \esindex{ca'n'on} </verb></tscreen> equivale a <tscreen><verb> \index{can^^ffon@ca'n'on} </verb></tscreen> Es necesario usar babel y que los acentos estén escritos en forma de abreviaciones (<tt/'a/, <tt/'e/, etc.). El paquete utiliza ciertas órdenes internas de babel por lo su funcionamiento puede cambiar con versiones distintas a la 3.6. <p> Hay que señalar que con este paquete no se crea en el índice una entrada propia para la palabras que empiezan por eñe, sino que tan sólo se añaden al final de la ene. En el rarísimo caso de que hubiera palabras que empiezan por eñe habría que modificar el archivo <tt/.ind/ a mano. Este paquete puede encontrarse en <tscreen><verb> CTAN:macros/latex/contrib/supported/bezos/ </verb></tscreen> <tag/Utilizar xindy/ <em/xindy/ es un sistema de indexación desarrollado por Roger Kehr, del Instituto de Informática Teórica de Darmstadt, que puede ser configurado fácilmente para adaptarse a las normas ortográficas de distintos idiomas, cada uno de ellos con un alfabeto distinto y con unas reglas de ordenación también distintas. <em/xindy/ puede definir, para cada carácter del alfabeto, dónde debe ser éste ordenado (reglas de ordenación), así como a qué carácter o cadena es equivalente (reglas de equivalencia). Permite incluso definir reglas de ordenación de distinto nivel que pueden ser aplicadas de forma sucesiva. Este paquete puede encontrarse en <tt>/CTAN:indexing/xindy/</tt> y su página web está en <quote> <htmlurl url="http://www.iti.informatik.tu-darmstadt.de/xindy/" name="http://www.iti.informatik.tu-darmstadt.de/xindy/"> </quote> Existen unos archivos de estilo para utilizar <em/xindy/ en castellano en la página anterior y la versión más reciente, incluyendo binarios para linux se puede encontrar en el directorio <htmlurl url="http://www.aq.upm.es/~agmartin/linux/store/xindy" name="http://www.aq.upm.es/~agmartin/linux/store/xindy">, con <tt/tgz/ para libc5 (xindy-2.0.1.tgz) y libc6 (xindyg21-2.1.tgz) Uno de los estilos (<tt/es-mkidx.xdy/) ordena según las reglas modernas del castellano mientras que el otro (<tt/es-tridx.xdy/) ordena según las reglas ya obsoletas, con ch y ll. Su uso es algo distinto del habitual en <em/makeindex/ <tscreen><verb> xindy -f tex2xindy estilo.xdy tu_archivo.idx </verb></tscreen> donde <em/tex2xindy/ es un filtro que convierte sobre la marcha del formato habitual de los <em/.idx/ al formato especial que utiliza <em/xindy/, <em/estilo.xdy/ puede ser cualquiera de los dos mencionados (u otro cualquiera para otro idioma o particularizado por el autor del documento) y <em/tu_archivo.idx/ es el que crea &latex; a partir de las llamadas a <tt/\index/. </descrip> <!-- ********************************************************* --> <sect>¿Que es...? <!-- ********************************************************* --> <sect1>¿Qué es el CTAN (<em/Comprehensive &tex; Archive Network/).<label id="que-es-CTAN" <!-- ========================================================= --> <p> Son las abreviaturas de <em/Comprehensive &tex; Archive Network/ (<em/Red del Archivo Completo de &tex;/). Son tres servidores de FTP que almacenan prácticamente todo lo relacionado con el &tex;. Sus <em/nodos/ son: <itemize> <item> <htmlurl url="ftp://ftp.dante.de" name="ftp.dante.de"> (Alemania) <item> <htmlurl url="ftp://ftp.tex.ac.uk" name="ftp.tex.ac.uk"> (Reino Unido) <item> <htmlurl url="ftp://ftp.shsu.edu" name="ftp.shsu.edu"> (Estados Unidos) </itemize> También se puede acceder mediante gopher o WWW con otros nombres, y existen interfaces de acceso como <quote> <htmlurl url=" http://www.ucc.ie/cgi-bin/ctan" name="http://www.ucc.ie/cgi-bin/ctan"> </quote> que muestra una serie de réplicas del CTAN, y permite hacer búsquedas en ellas. <p> En los tres casos el material de &tex; está en el directorio <tt>/tex-archive</tt>. Cada uno es un <em/mirror/ o réplica de los otros dos: Los tres contienen lo mismo (con un día de diferencia a lo más, en teoría). Por lo tanto conviene conectarse al que que nos caiga más cerca. Dado que siempre hay que ir a <tt>/tex-archive</tt>, se puede omitir dicho directorio y darse por supuesto. Por ejemplo, si alguien nos dice que &latex; se encuentra en <tt>CTAN:macros/latex</tt> quiere decir que podemos encontrarlo por ejemplo en el directorio <tscreen><verb> ftp://ftp.dante.de/tex-archive/macros/latex </verb></tscreen> Nota: Desde hace tiempo, <tt>ftp.shsu.edu</tt> funciona tan mal que los mantenedores del CTAN han decidido (20 de junio de 1996) no considerarlo ya más un nodo del CTAN. Para los usuarios de América, se recomienda usar la siguiente <em/réplica/: <quote> <htmlurl url="ftp://ftp.cdrom.com/pub/tex/ctan" name="ftp://ftp.cdrom.com/pub/tex/ctan"> </quote> En España existe una réplica del CTAN en <quote> <htmlurl url="ftp://ftp.rediris.es/mirror/tex-archive" name="ftp://ftp.rediris.es/mirror/tex-archive"> </quote> aunque no se actualiza con la misma rapidez que los nodos del CTAN. <!-- <sect1>Los CD-ROM de Gutenberg. --> <!-- ================================= --> <sect1>¿Qué es el esquema de codificación de Cork? <!-- ========================================== --> <p> Es el código acordado en la reunión del TUG 1990 en Cork, el llamado <em>&tex; 256 international character set</em> que es, al menos en lo que se refiere al castellano, compatible con ML-&tex;, ISO Latin Alphabet 1 (IS 8859/1) y el DEC Multinational Character Set. Que además, es el de las fuentes DC/EC. Esto significa que es posible utilizar en entrada los caracteres acentuados directamente (por ejemplo con <tt/compose/ en Sun o terminales <tt/VTxxx/ (<tt/xxx/ >= 200). <sect1>¿Qué es babel?<label id="que-es-babel"> <!-- ===================================== --> <p> <em/Babel/ es un conjunto de estilos escritos por Johannes L. Braams que: <itemize> <item> Proporciona macros útiles para la producción de documentos en una veintena de idiomas, incluido el español. <item> Público y en evolución. Esto significa la posibilidad de enviar documentos a otros sin tener que intercambiar macros primero y que estas macros se actualizan en función de las necesidades. <item> La posibilidad de cambiar de idioma a mitad de documento, para, por ejemplo, citar en otro idioma y tener disponibles las macros específicas de ese idioma. <item> Puede ser utilizado en plain &tex; también. </itemize> Además, <em/babel/ convive cómodamente con otros estilos. Por ejemplo, <tt/artikel1.sty/ usa parte de la ayuda de <em/babel/. Es fácil escribir estilos que combinen con <em/babel/. Si tu estilo lo escribes usando para los literales las macros que <em/babel/ define, lo tendrás sin ningún esfuerzo adicional para una veintena de idiomas. Es cierto que la probabilidad de que uses serbo-croata es escasa, pero hay francés, portugués, italiano, alemán, etc. Los convenios de <em/babel/ derivan del trabajo realizado por Hubert Partl. Estilos escritos de forma compatible con el trabajo de Partl, deben funcionar con <em/babel/ en principio. De hecho, es ya estándar este convenio en las versiones de &latex; posteriores a octubre de 1991. <p> Babel puede conseguirse en: <tscreen><verb> CTAN:languages/babel </verb></tscreen> <sect1>¿Qué son e&tex;, e&latex; y <em/omega/? <!-- ======================================= --> <p> e&tex; es una extensión de &tex; con nuevas primitivas y algunas correcciones en el código de &tex; para mejorar (aún más si cabe) sus capacidades tipográficas. Es sólo un paso intermedio para <em/NTS/, que será el nombre definitivo. e&latex; es una versión de &latex; para e&tex;, que en realidad es exactamente igual en su funcionamiento, sólo que los archivos de formato de &tex; y e&tex; no son compatibles. <p> <em/omega/ es similar en concepto, aunque distinto en realización, ya que utiliza preprocesadores integrados con &tex;. Además, funciona con <em/unicode/ y permite escribir en cualquier lengua conocida (o por conocer). <em/lambda/ es una versión de &latex; para <em/omega/, y se puede decir lo mismo que sobre e&latex;. <p> Ambas son prescindibles si sólo quieres usar &tex;; pero ambas son imprescindibles si quieres ir más allá en tipografía. <sect1>¿Qué es Rev&tex;?<label id="que-es-revtex"> <!-- ===================================== --> <p> Rev&tex; es un conjunto de macros y estilos en &latex; realizado por la Sociedad Americana de Física, la Sociedad Americana de Óptica, y el Instituto Americano de Física. Sirve para componer artículos y resúmenes para muchas revistas de estas sociedades y algunas otras. Las ventajas son las de &latex; (texto en ASCII que puede enviarse por <em/e-mail/ y entre distintas plataformas, archivos reducidos, más importancia al contenido y la estructura que a la estética, fórmulas matemáticas impecables, manejo sofisticado de referencias y citas, etc.) y las de estar específicamente desarrollado para artículos de una revista científica. Así, es muy fácil preparar <em/preprints/ que se asemejan mucho al resultado final y donde es muy fácil calcular el número de páginas. Es inmediato preparar separatas en formato PDF. <p> Debe procurarse utilizar al menos la versión Rev&tex; 4, ya que Rev&tex; 3.1 no es del todo compatible con &latex; (hay que modificar algo las tablas, por ejemplo). <p> Se puede encontrar más información en la página Web del Instituto Americano de Física (en la sección de publicaciones, programa Compuscript) <quote> <htmlurl url="http://www.aip.org" name="http://www.aip.org"> </quote> <sect1>¿Qué es una <tt/box/ y cuándo conviene utilizarlas? <label id="que-es-box"> <!-- ===================================================== --> <p> Realmente esta es una pregunta más especializada. Una <tt/box/ es una forma de guardar información para reutilizarla después. Por ejemplo, se podría guardar un logo con información con <tscreen><verb> \newsavebox{\logo} \sbox{\logo}{\includegraphics{logo.eps}} </verb></tscreen> y luego utilizarla con <tt>\usebox{\logo}</tt>. La diferencia con usar <tscreen><verb> \newcommand{\logo}{\includegraphics{logo.eps}} </verb></tscreen> y luego poner <tt>\logo</tt> cada vez que se utilice es la siguiente: <p> Lo que hay en un <tt/box/ ya está hecho y compuesto. Lo que hay en una macro son ordenes que se ejecutan cuando se usa la macro, y por tanto no se componen hasta ese momento. Cuando es necesario utilizar muchas veces la definición sale más rentable usar un <tt/savebox/ ya que el recuadro usado contiene siempre exactamente lo mismo y de esta forma, no se llama a <tt>\includegraphics</tt> en cada pagina, sino tan solo una vez. Sin embargo, una <tt/box/ no admite argumentos como lo hace una macro. <!-- ********************************************************* --> <sect>¿Cómo hago ...? <!-- ********************************************************* --> <sect1>¿Cómo y dónde instalo nuevos paquetes o archivos de estilo?<label id="paquetes-instalar"> <!-- ========================================================================--> <p> Este proceso constará en general de los pasos que se describen a continuación: traer el nuevo paquete, extraer los ficheros de estilo si es necesario, colocarlos en el sitio apropiado y rehacer la base de datos. <sect2> Dónde buscar un paquete nuevo y qué traer <!-- ........................................ --> <p> Normalmente los paquetes nuevos se encontrarán en el <ref id="que-es-CTAN" name="CTAN">, aunque en ocasiones estarán en otros lugares. En general, se debe descargar el directorio completo del paquete o el archivo comprimido que lo contiene. Esto no es necesario cuando se quiere descargar un archivo de estilo de uno de los directorios <em/misc/, que tienen contribuciones al <em/CTAN/ en forma de archivos de estilo individuales completos en sí mismos. En este caso bastaría con descargar el archivo individual correspondiente. <sect2> ¿Qué es cada uno de los archivos que traigo? <!-- ........................................ --> <p> Un paquete pequeño puede estar compuesto únicamente de un archivo de estilo <tt/.sty/ (por ejemplo <tt/paquete.sty/) con las instrucciones de uso incluidas como comentarios en el mismo, en un archivo separado o bien en un archivo <em/README/. <p> Sin embargo, es más frecuente encontrar el paquete en forma de un par de archivos <tt/paquete.ins/ y <tt/paquete.dtx/, escritos para ser utilizados con el sistema <em/doc/ de &latex;. Los archivos de estilo deben extraerse de éstos. Si hay un <em/README/ adicional debe leerse éste previamente. <sect2> Extrayendo archivos de estilo de los <tt/.dtx/ y <tt/.ins/<label id="dtx-extraer"> <!-- .......................................................... --> <p> En el sistema <em/doc/ el manual de usuario y el código del paquete documentado se encuentran en el archivo <tt/.dtx/, mientras que el archivo <tt/.ins/ contiene instrucciones &latex; acerca de la extracción del código del archivo <tt/.dtx/. Para extraer los distintos archivos debe seguirse el siguiente procedimiento: <itemize> <item> Correr &latex; sobre <tt/paquete.ins/. Esto extraerá uno o más archivos (normalmente un <tt/paquete.sty/, pero dependiendo del paquete pueden generarse más archivos). <item> Correr &latex; sobre <tt/paquete.dtx/ para obtener el manual de usuario y posiblemente una versión comentada del código del paquete. <item> Correr de nuevo &latex; sobre <tt/paquete.dtx/. Ésto resolverá las referencias y generará una tabla de materias si el archivo original lo pide así. <item> Si &latex; da el error <em/"No file paquete.ind"/ significa que no encontró el archivo fuente para el índice de órdenes. Para generar el índice basta hacer <tscreen><verb> makeindex -s ind.ist paquete </verb></tscreen> y correr de nuevo &latex;. <item> Imprimir y leer <tt/paquete.dvi/. </itemize> A veces se proporciona el manual de usuario separadamente del archivo <tt/.dtx/. En este caso es recomendable procesarlo después de hacer lo anterior, ya que puede necesitar elementos del paquete que está describiendo. <sect2>¿Dónde colocar nuevos archivos de estilo? <!-- ..................................................... --> <p> En primer lugar &tex; buscará archivos en el directorio actual. Salvo que se trate de una prueba o de archivos muy relacionados con el documento que se está preparando, es conveniente colocarlos en un lugar de acceso más general. <p> El lugar exacto en el que deben colocarse los nuevos archivos de estilo depende de la distribución &tex; que se esté utilizando. Asumiendo que se utiliza una de las distribuciones modernas que son conformes al TDS (por ejemplo, te&tex;, fp&tex; o mik&tex;) hay una serie de normas que deben tenerse en cuenta <enum> <item> Instalar siempre los nuevos archivos personales en una rama <em/texmf/ local del árbol global o en una rama personal, dependiendo de si son archivos para uso común en la máquina o únicamente para el usuario. De esta forma puede actualizarse el árbol <em/oficial/ sin tocar los archivos locales o personales. Para la rama local, el directorio raíz local tendrá un nombre del tipo: <tscreen><verb> teTeX: /usr/share/texmf.local/ fpTeX: c:\fptex\texmf.local\ mikTeX: c:\localtexmf\ </verb></tscreen> que puede cambiar dependiendo de las opciones dadas durante la instalación. Por simplicidad en lo que sigue le denominaremos <tt/$TEXMFLOCAL/. <item> En la rama local, reproducir la estructura de directorios de la rama principal. Estos son unos ejemplos de dónde deberían colocarse archivos de distintas extensiones: <tscreen><verb> .sty, .cls o .fd: $TEXMFLOCAL/tex/latex/<paquete>/ .dvi, .ps o .pdf: $TEXMFLOCAL/doc/latex/<paquete>/ .bib: $TEXMFLOCAL/doc/bibtex/bib .bst: $TEXMFLOCAL/doc/bibtex/bst .tfm: $TEXMFLOCAL/fonts/tfm/<suministrador>/<fuente>/ .vf: $TEXMFLOCAL/fonts/vf/<suministrador>/<fuente>/ .afm: $TEXMFLOCAL/fonts/afm/<suministrador>/<fuente>/ .pfb: $TEXMFLOCAL/fonts/type1/<suministrador>/<fuente>/ .ttf: $TEXMFLOCAL/fonts/truetype/<suministrador>/<fuente>/ </verb></tscreen> donde <em/paquete/, <em/fuente/ y <em/suministrador/ dependen de cada archivo individual de cada paquete. <p> La rama personal suele estar en un subdirectorio <tt/texmf/ del directorio de usuario, pero puede cambiar. En ella también es necesario reproducir la estructura de directorios de la rama principal. Dependiendo de la distribución y/o de las opciones de configuración puede ser necesario rehacer la base de datos cuando se añaden o quitan elementos. </enum> <sect2>Activando ramas locales y personales del árbol de directorios &latex; global <!-- ....................................................................... --> <p> A menudo la rama local del árbol global no está activada por omisión y es necesario activarla: <descrip> <tag/<em>te&tex y fp&tex;;</em>/ En primer lugar es necesario localizar el archivo de configuración <tt/texmf.conf/. Éste puede estar en <tt>/etc/texmf/texmf.conf</tt>, <tt>/etc/texmf.conf</tt> o <tt>/usr/share/texmf/web2c/texmf.conf</tt>, dependiendo de la distribución. Aunque no siempre es necesario, en la primera línea del archivo borrar la palabra <tt/original/. <p> Jugando adecuadamente con <tt/texmf.cnf/, donde están los caminos de búsqueda, se configura sin problemas. Para activar una línea debe quitarse el carácter de comentario % al principio de la línea, para desactivarla añadir el carácter % al principio de la línea. Cuando se activa una línea debe desactivarse la que antes hacía esa función, si la había. Por ejemplo, si se tienen los archivos de la distribución bajo <tt>/usr/share/texmf/</tt>, archivos locales bajo <tt>/usr/share/local.texmf</tt> y archivos personales bajo <tt>~/texmf</tt>, las líneas del <tt/texmf.cnf/ que lo harían son <tscreen><verb> TEXMFMAIN = /usr/share/texmf </verb></tscreen> para la rama principal, que viene activada por omisión. Para las ramas local y personal se añadiría (o se quitaría el comentario de la misma) una línea del tipo <tscreen><verb> TEXMFLOCAL = /usr/share/texmf.local HOMETEXMF = $HOME/texmf </verb></tscreen> que normalmente vienen comentadas. Finalmente se seleccionaría <tscreen><verb> TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN} </verb></tscreen> que las junta todas. Como se ha dicho antes, en la estructura de las ramas local y personal debe clonarse la estructura de la rama principal y como se dice en la sección siguiente debe correrse <tt/texhash/ (o <tt/mktexlsr/) después de hacer los cambios para rehacer la base de datos de archivos. Para la rama personal puede ser necesario rehacer la base de datos como usuario. <p> El fichero de configuración está extensamente comentado con explicaciones de la función de cada una de las posibles líneas. </descrip> <sect2>Rehaciendo la base de datos de archivos instalados <!-- ........................................................... --> <p> El paso final consiste en decirle a &latex; que hay una serie de nuevos archivos que debe ser capaz de encontrar. En la mayor parte de los sistemas &latex; libres recientes se mantiene una base de datos de archivos instalados, para posibilitar una búsqueda más rápida. En estos sistemas es necesario actualizar esta base de datos cada vez que se instalan nuevos archivos, mediante los programas suministrados con este fin en la distribución. <descrip> <tag/te&tex;, fp&tex;/ Correr <tscreen><verb> texhash </verb></tscreen> <tag/web2c/ En cualquier distribución <em/web2c/ reciente <tt/texhash/ debiera funcionar. Si no es así, probar con <tscreen><verb> mktexlsr </verb></tscreen> <tag/Mik&tex;/En una distribución Mik&tex; anterior a la v2.0, hacer con los menúes desplegables: <tscreen><verb> Start-> Programs-> MikTeX-> Maintenance-> Refresh filename database </verb></tscreen> o en una ventana DOS <tscreen><verb> initexmf -update-fndb </verb></tscreen> En una distribución Mik&tex; mayor o igual que la v2.0, hacer con los menúes desplegables <tscreen><verb> Start-> Programs-> MikTeX 2-> MikTeX Options </verb></tscreen> y pulsar el botón <em/"Update filename database"/. </descrip> <sect2>¿Cómo verifico los directorios en los que &tex; busca archivos de estilo? <!-- ................................................................ --> <p> La respuesta más general sería mirando los archivos de configuración, pero si se trata de un &tex; que utiliza las rutinas <em/kpathsearch/ de Karl Berry, es mucho más sencillo <tscreen><verb> % kpsepath tex </verb></tscreen> responderá con la lista de los directorios en los que busca. Una doble barra (<tt>//</tt>) indica que se busca recursivamente en los subdirectorios del que pone. Es decir, que si los paquetes particulares están en <tt>~/texmf/tex/latex/lo-que-sea</tt>, o en <tt>~/texmf/tex/mas-paquetes</tt> los encontrará. <sect1>¿Cómo personalizo el aspecto del documento?<label id="tex-personalizar"> <!-- =======================================================================--> <sect2>¿Cómo cambio la fuente de un documento o instalo nuevas? <!-- ...................................................................... --> <p> Pues depende de la fuente que se quiera usar. Normalmente hay paquetes de estilo que lo hacen automáticamente. Por ejemplo, si pretendes usar la familia de <em/Times/, usa el paquete <em/times/ poniendo en el preámbulo <tt>\usepackage{times}</tt>. Otra familia disponible es <em/lucida-bright/, que puedes cargar con el paquete <em/lucidabr/. Si miras estos archivos (<tt/times.sty/ o <tt/lucidabr.sty/) puedes aprender la forma de usar una fuente, y copiarlo para otros tipos. <p> Hay muchos tipos de letras ya preparados así: <tt/times/, <tt/helvetica/ (<tt/arial/ está casi clonado de esta), courier, la letra gótica se llama <tt/oldgerm/, griego... <p> Un segundo paso es ir al <em/CTAN/ para ver si alguien ha preparado un paquete con el tipo deseado. <p> En el peor de los casos en el que no esté preparado, puede crearse manualmente un paquete a partir de los tipos originales en formato <em/Type-1/, aunque no es un proceso inmediato. Más información en <tt>CTAN:info/Type1fonts/fontinstallationguide/fontinstallationguide.pdf</tt>. <sect2>¿Puedo utilizar una fuente <em/TrueType/ como <em/Arial/ en &latex;? <!-- ...................................................................... --> <p> A veces se piden tipos de letra que no están disponibles directamente en &latex; como <em/Arial/. El tipo de letra Arial es <em/TrueType/, y este formato no es soportado directamente por &latex;. Desde pdflatex sí es posible usar tipos <em/TrueType/, pero antes hay que crear unos cuantos archivos auxiliares que necesita &tex;. El proceso no es sencillo. Está descrito en <htmlurl url="http://www.radamir.com/tex/ttf-tex.htm" name="http://www.radamir.com/tex/ttf-tex.htm"> <p> Recientemente ha aparecido otro documento que explica cómo convertir los tipos <em/TrueType/ en tipos <em/PostScript/, y cómo usar estos tipos convertidos desde <tt/latex->dvips/. El documento se encuentra disponible en <tt>CTAN:info/TrueType/</tt> y está orientado a un sistema tetex, por lo que es posible que no funcione bajo windows/miktex. <p> El tipo de letra <em/helvetica/ es muy parecido al tipo <em/Arial/ y sí está disponible bajo &latex;. Basta con añadir en el preámbulo del documento <tscreen><verb> \renewcommand{\rmdefault}{phv} \renewcommand{\sfdefault}{phv} </verb></tscreen> pero si hay fórmulas matemáticas éstas seguirían utilizando los tipos <em/computer modern/ por lo que quedarán feas en medio del texto en <em/helvetica/. <sect2>Incluyendo subdocumentos &tex;/&latex; en el documento <!-- ...................................................................... --> <p> Pueden incluirse subdocumentos &tex;/&latex; en un documento mediante las órdenes <tt/\input/ e <tt/\include/. <tt/\input{otro_documento}/ lo incluirá en el lugar en el que se introduce la orden, mientras que <tt/\include{otro_documento}/ siempre abrirá una página nueva al incluir el documento. Sin embargo, <tt/\include/ permite incluir documentos de forma selectiva mediante la orden <tt/\includeonly/, mientras que <tt/\input/ no lo permite. Así, la orden <tt/\includeonly{doca,docc}/ en el preámbulo hará que se incluyan únicamente los documentos <tt/doca/ y <tt/docc/, a pesar de que también <tt/docb/ tenga un <tt/\include/, <tscreen><verb> ... \includeonly{doca,docc} \begin{document} ... \include{doca} \include{docb} \include{docc} ... </verb></tscreen> <sect2>¿Cómo evito que salga la palabra capítulo en las cabeceras de capítulo? <!-- ...................................................................... --> <p> Cuando se usa <em/spanish-babel/ basta con poner en el preámbulo, después de haberse cargado <em/babel/ <tscreen><verb> \addto{\captionsspanish}{\def\chaptername{}} </verb></tscreen> y queda eliminada la palabra Capítulo. Si no se usa <em/babel/ basta con poner en el preámbulo <tt>\def\chaptername{}</tt>. Realmente esto es un caso particular de cambio de literales, que se trata en las secciones <ref id="literales" name="literales"> y <ref id="sectnames" name="Cambio de nombre de secciones"> <sect2>¿Cómo cambio la cabecera de capítulo por otra más a mi gusto? <!-- ...................................................................... --> <p> Hay dos formas, redefiniendo las órdenes que hacen las cabeceras, o utilizando un paquete hecho que facilite el trabajo. Un paquete que permite hacer cosas muy elaboradas con las cabeceras de los capítulos es <em/titlesec/, disponible en <tt>CTAN:macros/latex/contrib/supported/titlesec</tt> <sect2>Quiero una sección no numerada, pero que aparezca en la tabla de materias. <!-- ...................................................................... --> <p> Por ejemplo, suponiendo que se trate de una lista de símbolos, <tscreen><verb> \section*{Lista de símbolos} \addcontentsline{toc}{section}{Lista de símbolos} </verb></tscreen> Lo mismo para otros elementos (subsección,...). <sect2>No me funciona <tt>\subsubsubsection</tt>. <!-- ...................................................................... --> <p> <tt>\subsubsubsection</tt> no existe, en los estilos estándar es <tt>\paragraph</tt> quien hace ese papel. <sect2>¿Cómo quito los encabezados que &latex; pone automáticamente en las páginas blancas? <!-- ...................................................................... --> <p> Si se quiere controlar cuándo se quiere o no este comportamiento en cada página con este problema, se puede definir una nueva orden, <tscreen><verb> \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} </verb></tscreen> y teclear <tt>\clearemptydoublepage</tt> cada vez que quieras continuar el texto en una pagina impar. <p> Cuando se quiere que esto ocurra automáticamente hay que redefinir la orden <tt>\cleardoublepage</tt> como sugiere la documentación del paquete <em/fancyhdr/, <tscreen><verb> \makeatletter \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else \vspace*{\fill} \thispagestyle{empty} \newpage \if@twocolumn\hbox{}\newpage\fi\fi\fi} \makeatother </verb></tscreen> <!-- \makeatletter \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else \vspace*{\fill} \thispagestyle{empty} \newpage\fi\fi} \makeatother --> <p> Cuando se utiliza el paquete <em/titlesec/ de Javier Bezos para definir formatos propios de cabeceras y pies de pagina, la opción de paquete <tt/clearempty/ ya hace el trabajo: <tscreen><verb> \usepackage[<tus_opciones>,clearempty]{titlesec} </verb></tscreen> <p> Otra posibilidad es utilizar el paquete <em/nextpage/, <tscreen><verb> \usepackage{nextpage} ... \cleartooddpage[\thispagestyle{empty}] \chapter{...} </verb></tscreen> <sect2>¿Cómo quito los encabezados, pies o la numeración de las páginas? <!-- ............................................--> <p> La opción <tt/\pagestyle{empty}/ quitará los encabezados y pies de todas las páginas posteriores a aquélla en la que se invoca. La opción <tt/\thispagestyle{empty}/ quitará los encabezados y los pies de página en la página donde se invoca esta orden. <p> Cuando lo que se quiere es eliminar únicamente el número de página, en general no es conveniente utilizar <tt>\renewcommand{\thepage}{}</tt> porque eso suprime <em/todos/ los números de página, incluidos los de los índices o las remisiones. Por tanto, hay que evitarla siempre que se pueda y optar por soluciones mejor construidas y específicas a cada caso, como utilizar una definición personal de cabeceras que pueda activarse a voluntad para ciertas páginas. <sect2>¿Cómo pongo encabezados o pies de página a mi gusto? <!-- ............................................--> <p> La forma más habitual es utilizar el paquete <em/fancyhdr/. Por ejemplo, con pies <tscreen><verb> \documentclass{book} \usepackage{fancyhdr} \lfoot{titulo a la izquierda} \rfoot{titulo a la derecha} \cfoot{titulo al centro} \pagestyle{fancy} \begin{document} \chapter{A title} \thispagestyle{fancy} %opcional \newpage \section{a section} \end{document} </verb></tscreen> pero <em/titlesec/ también permite un amplio control del estilo de página. <sect2>¿Cómo hago que &latex; y &tex; no partan nunca las palabras? <!-- ................................................. --> <p> Para &latex; si se ha cargado el paquete babel basta con la orden <!-- \selectlanguage{nohyphenation} --> <tscreen><verb> \hyphenrules{nohyphenation} </verb></tscreen> Por supuesto el patrón <tt/nohyphenation/ debe de estar activado en <tt/language.dat/ y el formato creado con él (Véanse <ref id="guionado" name="¿Cómo activo el patrón de partición de palabras para el castellano?"> y <ref id="formatos" name="¿Cómo rehacer los formatos?">). <p> Para &tex; hay que hacer las cosas de otra forma. Una forma de conseguir que &tex; no corte casi nunca, (y así de paso se evita que corte mal) es poner: <tscreen><verb> \pretolerance=2000 \tolerance=3000 </verb></tscreen> al principio. Si se quiere que ésto ocurra únicamente en un párrafo o en una región, debe encerrarse lo anterior y la región deseada entre llaves, <tscreen><verb> {\pretolerance=2000 \tolerance=3000 el párrafo o región } </verb></tscreen> Ésto puede utilizarse también para &latex; <!-- <sect1>¿Cómo hago en mi documento una parte preliminar para prólogo, agradecimientos, etc.? <p> Cuando se quiere hacer un capítulo(s) introductorio a modo de prólogo en un documento (con secciones subsecciones y esas cosas) de forma que no numere los apartados y no introduzca la cabecera <em/capítulo/, la forma más sencilla es utilizar <tt>\chapter*{título_del_capítulo}</tt> (y si se quiere incluir en la tabla de materias añadir una línea <tt>\addcontentsline{toc}{...}</tt>. Sin embargo, hay una forma más elegante, <tscreen><verb> \begin{document} \frontmatter \chapter{Prólogo} \mainmatter etc. </verb></tscreen> --> <sect2> ¿Cómo ajusto los márgenes de un documento &latex;? <!-- ............................................ --> <p> Quizás la forma más cómoda sea utilizar el paquete <em/geometry/, que se encuentra disponible en <tt>CTAN:macros/latex/contrib/supported/geometry</tt>. Por ejemplo <tscreen><verb> \documentclass[a4paper, 10pt]{article} \usepackage[a4paper,left=3cm,right=2cm]{geometry} </verb></tscreen> crea una página A4 con margen de 3cm a la izquierda y 2cm a la derecha, sin más complicaciones. <p> Otra cosa mucho más complicada es cómo cambiar los márgenes dentro de un documento, en vez de hacerlo en el preámbulo como lo hace el paquete <em/geometry/. Un caso especial se tiene cuando se quiere alargar un poco una página para que quepa un poco más de texto y así evitar situaciones poco estéticas. Para ésto, &latexe; proporciona la orden <tt>\enlargethispage{distancia}</tt> donde se aumenta el tamaño vertical de la página en la distancia especificada. <p> A pesar de esa dificultad, puede utilizarse el paquete <em/chngpage/, que proporciona órdenes para cambiar el aspecto de la página en el medio de un documento (por ejemplo, hacerla más estrecha o más ancha, más corta o más larga, e incluso desplazarla horizontal o verticalmente), aunque no permite cambios dentro de un párrafo. <sect2>¿Cómo obtengo un documento apaisado? <!-- ..................................... --> <p> Cuando se quiere sacar la totalidad del documento apaisada, hay que decirle a &tex; que las dimensiones horizontal y vertical están cambiadas, comenzando el documento con la opción <tt/landscape/, algo del tipo <tscreen><verb> \documentclass[landscape,a4]{article} </verb></tscreen> donde la clase de documento puede ser también cualquier otra como <tt/slides/. Esto intercambia las distancias horizontal y vertical, pero no rota el documento final para que se ajuste a la posición de la hoja. Para ello se puede utilizar el <em/dvips/, por ejemplo en la forma siguiente <tscreen><verb> dvips -ta4 -tlandscape tu_archivo -o tu_archivo.ps </verb></tscreen> donde <tt/-tlandscape/ gira la salida. La opción <tt/-ta4/ es a menudo conveniente si se utiliza papel <em/a4/, para que el giro se haga de forma adecuada. <sect2>¿Cómo ajusto el espaciado en el documento &latex;? <!-- ................................................ --> <p> Para ajustar el espaciado entre líneas en un documento &latexe; se recomienda utilizar el paquete <em/setspace/, que se cargará en el preámbulo. Las órdenes <tt/\singlespacing/, <tt/\onehalfspacing/, y <tt/\doublespacing/ colocadas en el preámbulo establecen el espaciado global del documento. Pueden establecerse valores intermedios mediante la orden <tt/\setstretch{baselinestretch}/ en el preámbulo. El valor por omisión es espaciado simple. Asimismo se definen tres entornos con los mismos nombres que las órdenes anteriores para cambios del espaciado en regiones del documento (respecto del espaciado estándar en ese momento, doublespacing empezará un entorno de espaciado doble que el espaciado en ese momento, si es doble lo hará aún mayor). <p> Para un documento &latex;209 puede utilizarse el paquete <em/doublespace/. <p> La forma más cómoda de controlar el espaciado entre párrafos es mediante el paquete <em/parskip/. <sect1>Listas al gusto de cada cual. <!-- ================================================================ --> <sect2>¿Cómo ajusto el espaciado en una lista? <!-- ..................................... --> <p> La distancia entre los elementos es la suma de los valores de <tt>\parsep</tt> (que es también la distancia entre párrafos dentro de un mismo elemento) e <tt>\itemsep</tt>. Si sólo se quiere cambiar la distancia entre elementos pero no entre párrafos de un mismo elemento, basta con dar un nuevo valor a la distancia <tt>\itemsep</tt>. <p> Es un espacio elástico, es decir, además de con <tt>\setlength{\itemsep}{1cm}</tt> se puede definir con algo como <tscreen><verb> \itemsep= 4pt plus 2pt minus 1pt </verb></tscreen> donde 4pt sería el espacio <em/normal/, 2pt lo máximo que podría estirarse y 1pt lo máximo que podría encogerse. El valor de <tt>\itemsep</tt> se restablece con cada <tt>\begin{itemize}</tt> (o la lista de que se trate), y se hace igual a <tt>\parsep</tt>, por lo que hay que modificarlo <em/dentro/ de la lista, por ejemplo. <tscreen><verb> {\topsep=-15pt \parsep=-15pt \partopsep=-15pt \begin{enumerate}\itemsep=-5pt \item{ Pruebas de interespaciado} \item{ Pruebas de interpaginado} \item{ Pruebas de espaciado} \end{enumerate}} </verb></tscreen> Puede hacerse que la separación sea nula, mediante <tt>\setlength{\itemsep}{-\parsep}</tt> Hacer el cambio para todas las listas es algo más complejo, pero una forma de hacerlo sería redefinir <tt>\itemize</tt> (y lo mismo para las demás listas) en la forma <tscreen><verb> \let\olditemize\itemize \def\itemize{\olditemize\itemsep=0pt } </verb></tscreen> donde en este caso se ha puesto un valor de 0pt a <tt>\itemsep</tt> en todas las listas enumeradas. <sect2>¿Cómo cambio el tipo de numeración en las listas numeradas? <!-- ..................................... --> <p> Por ejemplo, para que escriba los elementos de primer nivel con números como 1 y los de segundo nivel con números en la forma 1.1 <tscreen><verb> \renewcommand{\theenumii}{\arabic{enumii}} \renewcommand{\labelenumii}{\theenumi .\theenumii .} </verb></tscreen> Si algún paquete que estés usando redefine los <tt/\theenum/, como el <em/babel-spanish,/ entonces debes asegurate que &latex; eliga tus parametros colocando las órdenes anteriores entre: <tscreen><verb> \AtBeginDocument{% comandos aqui.. } </verb></tscreen> <sect2>Quiero mostrar un símbolo distinto en las listas <em/itemize/ <!-- ..................................... --> <p> Dentro de un <em/itemize/, puede especificarse en cada <tt/\item/ un parámetro opcional, que es el símbolo que se mostrará (en lugar del topo por defecto), por ejemplo, <tt/\item[$\odot$]/, y si se quieren cambiar todos, con el mismo ejemplo, <tscreen><verb> \renewcommand{\item}{\item[$\odot$]} </verb></tscreen> o, mediante el paquete <em/paralist/, <tscreen><verb> \usepackage{paralist} ... \begin{itemize}[$\star$] \item ... \item ... \end{itemize} </verb></tscreen> <p> También puede utilizarse el paquete <em/pifont/, así: <tscreen><verb> \usepackage{pifont} \begin{Pilist}{pzd}{248} \item bla \item bla bla \item bla \end{Pilist} </verb></tscreen> El entorno <em/Pilist/ es análogo a <em/itemize/, pero en lugar del <em/bullet/ usa el caracter que se le pida de la fuente que se le pida. En el ejemplo anterior, se usa el carácter con código 248 de la fuente <em/pzd/ que tiene gran cantidad de simbolos adecuados para <em/itemize/. <sect2>¿Puedo ajustar la separación entre texto y listas? <!-- ..................................... --> <p> Con el paquete <em/enumitem/, en <tt>CTAN:macros/latex/contrib/bezos/</tt>. <sect2>¿Cómo interrumpir una lista numerada con un comentario y continuar después con la numeración correcta? <!-- ..................................... --> <p> Entre las <em/mdwtools/ hay un paquete llamado <em/mdwlist/ que permite hacer eso: <tscreen><verb> \begin{enumerate} \item ... \item ... \suspend{enumerate} Texto... \resume{enumerate} \item ... \item ... \end{enumerate} </verb></tscreen> Disponible en <tt>CTAN:macros/latex/contrib/supported/mdwtools/</tt> <sect2>¿Puedo hacer listas en paralelo? <!-- ..................................... --> <p> Para crear listas numeradas o por elementos de la forma <tscreen><verb> 1. Primer elemento 2. Segundo elemento 3. Tercer elemento 4. Cuarto elemento 5. Quinto elemento 6. Sexto elemento </verb></tscreen> puede utilizarse el paquete <em/paralist/ (disponible en <tt>CTAN:macros/latex/contrib/supported/paralist</tt>) o bien el paquete <em/multicol/. También existe el paquete <em/multienumerate/ (<tt>CTAN:macros/latex/contrib/supported/multenum</tt>) y el entorno <tt/shortenumerate/ del paquete <em/shortlst/ (<tt>CTAN:macros/latex/contrib/supported/shortlst</tt>) destinado a listas de elementos cortos. <sect1>Referencias cruzadas, índices, bibliografías y tablas de materias. <!-- ================================================================ --> <sect2>¿Hay alguna herramienta de gestión de bases de datos bibliográficas en <em/Bib&tex;/? <!-- ............................................................ --> <p> Sí, existen varias, por ejemplo <descrip> <tag/bibtex.el/ Modo <em/Bib&tex;/ para <em/emacs/. Normalmente viene incluido con <em/emacs/, pero también se puede obtener de su página principal <htmlurl url="http://www.ida.ing.tu-bs.de/people/dirk/bibtex/" name="http://www.ida.ing.tu-bs.de/people/dirk/bibtex/"> <tag/Winbibdb y bibdb/ ambos excelentes y disponibles en <tt>CTAN:support/bibdb</tt> con su página base en <htmlurl url="http://www.mackichan.com/BibDB/default.htm" name="http://www.mackichan.com/BibDB/default.htm"> <tag/bibtool/ disponible en <tt>CTAN:bibtex/utils/bibtool/</tt> con su página principal en <htmlurl url="http://bibtool.sourceforge.net/" name="http://bibtool.sourceforge.net/"> <tag/jabref/ <htmlurl url="http://jabref.sourceforge.net/" name="http://jabref.sourceforge.net/"> es una interfaz gráfica escrita en java para manejar bases de datos bibliográficas. Necesita Java >= 1.4.2 <!-- <tag/pybliographer/ <htmlurl url="http://www.pybliographer.org/" name="http://www.pybliographer.org/"> <tag/gbib/ --> <!-- <tag/Bibibamos/, que tiene la posibilidad de exportar <em/Bib&tex;/, disponible en <htmlurl url="http://www.edu.uni-klu.ac.at/~cschiest/products/bibibamos/" name="http://www.edu.uni-klu.ac.at/~cschiest/products/bibibamos/"> --> </descrip> <sect2>¿Cómo introduzco la bibliografía o el índice en la tabla de materias? <!-- ............................................................ --> <p> La forma más cómoda es utilizar el paquete <em/tocbibind/, que se encuentra disponible en <tt>CTAN:macros/latex/contrib/supported/tocbibind</tt> y en la mayor parte de las distribuciones, pero también puede hacerse a mano con por ejemplo <tt>\addcontentsline{toc}{chapter}{\bibname}</tt> en la definición correspondiente. <sect2>¿Cómo pongo el índice con su contenido al principio de cada capítulo? <!-- ............................................................ --> <p> Con el paquete <em/minitoc/ <sect2>¿Cómo añado bibliografía al final de cada capítulo en &latex;? <!-- ............................................................ --> <p> Puede hacerse usando el paquete <em/chapterbib/. Para hacerlo de esta forma debe estructurarse el documento en un archivo raíz desde el que se incluyen las distintas secciones que están en archivos separados del raíz, incluir al final de cada uno de éstos las órdenes de bibliografía y procesar con <em/bibtex/ los .aux de cada una de estas partes. Si además se quiere que no haya un salto de página al comenzar la bibliografía en cada capítulo, debe utilizarse la opción <tt/sectionbib/. <p> Otro paquete que permite una cosa similar es <em/bibunits/ <sect2>¿Cómo divido la bibliografía por temas en &latex;? <!-- ....................................................... --> <p> Los paquetes <em/multibib/ y <em/bibtopic/ permiten dividir una bibliografía global en partes separadas para los distintos temas. El primero requiere el uso de órdenes específicas para las citas bibliográficas, mientras que el segundo requiere dividir el archivo de bibliografía. <sect2>¿Cómo cito una página de una referencia bibliográfica? <!-- ............................................................ --> <p> Mediante algo del tipo <tscreen><verb> \cite[pág.~29]{gar98} </verb></tscreen> donde <tt/gar98/ sería la etiqueta <em/Bib&tex;/ para la cita deseada. <sect2>¿Cómo cito una <tt/url/ con <em/Bib&tex;/? <!-- ....................................................... --> <p> En los estilos bibliográficos estándar de <em/Bib&tex;/ no hay un tipo para las <tt/url/, aunque es posible que en una futura versión de <em/Bib&tex;/ sí lo haya. En tanto esa versión aparece la forma más sencilla consiste en utilizar el campo <em/howpublished/ del tipo <em/misc/. Una entrada de ese tipo tendría la forma <tscreen><verb> @misc{..., ..., howpublished = "\url{http://...}" } </verb></tscreen> También puede ocurrir que un artículo, informe o incluso libro se encuentre disponible también en la <em/web/. En este caso se podría hacer algo del tipo <tscreen><verb> @techreport{..., ..., note = "También disponible como \url{http://...}" } </verb></tscreen> donde se supone que se ha utilizado el paquete <em/url/, disponible en <tt>CTAN:macros/latex/contrib/other/misc/url.sty/</tt>, lo que es muy recomendable para estas referencias por diversas razones. <sect2>¿Cómo colapso una serie de citas consecutivas? <!-- ............................................................ --> <p> O ¿cómo puedo hacer que aparezca una citación bibliográfica múltiple consecutiva, por ejemplo, [1,2,3,4,5] como [1-5]? El paquete <em/cite/, disponible en <tt>CTAN:macros/latex/contrib/supported/cite</tt> y en <em/te&tex;/ permite hacer precisamente eso. <sect2>¿Cómo hago una referencia cruzada a un documento externo? <!-- ....................................................... --> <p> Para hacer referencias cruzadas entre documentos se puede usar el paquete <em/xr/, de David Carlisle, disponible en las distribuciones habituales y en <tt>CTAN:macros/latex209/contrib/misc/xr.sty</tt>. Su uso es como sigue, <tscreen><verb> ... \usepackage{xr} %Referencias a otros documentos ... \externaldocument{miotrodocumento} ... </verb></tscreen> Una vez hecho esto las referencias se declaran como si de un único documento se tratase. <sect2> Afinando el aspecto de la tabla de materias o listas de figuras y tablas. <!-- ....................................................... --> <p> <descrip> <tag/¿Cómo controlar hasta qué nivel se incluye un elemento en la tabla de materias?/ En general, con <tscreen><verb> \setcounter{tocdepth}{X} </verb></tscreen> en el preámbulo se controla hasta que nivel se incluirá en el índice general, siendo <tt/X/ un número. Con 3 se incluye hasta <tt>\subsubsection</tt>, con 2 hasta <tt>\subsection</tt>. Ésto permite cambiar el valor definido por omisión en el estilo utilizado. <!-- ***--> <tag/El título del capítulo, figura o tabla se solapa con su número si éste tiene muchos dígitos/ Para las listas de figuras y tablas la separación se define en <tt/\l@figure}/ o <tt/\l@table/, por ejemplo <em/book.cls/ lo hace así para las figuras <tscreen><verb> \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} </verb></tscreen> En un estilo o en el preámbulo entre <tt>makeatletter/makeatother</tt> pueden redefinirse sus valores cambiando el último número. Por ejemplo, en el preámbulo <tscreen><verb> \makeatletter \renewcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{3.3em}} \renewcommand*{\l@table}{\@dottedtocline{1}{1.5em}{2.8em}} \makeatother </verb></tscreen> Para las entradas de la tabla de materias sería necesario cambiar los valores de <tt/\l@section/, <tt/\l@subsection/, <tt/\l@subsubsection/, <tt/\l@paragraph/ o <tt/\l@subparagraph/ de una forma análoga. Para los capítulos la cosa es más problemática porque se cambian más cosas. </descrip> El paquete <em/tocloft/ permite controlar detalles del diseño tipográfico de las tablas de materias y de las listas de figuras y tablas, aunque su internación con otros paquetes como <em/titlesec/ no está suficientemente probada. <sect1>¿Cómo introduzco dibujos, diagramas e imágenes en &latex;?<label id="tex-dibujos"> <!-- ===========================================================--> <p> Hay dos formas de dibujar en &tex;, mediante el uso de funciones primitivas &tex; bien directamente (muy duro) o a través de alguno de los paquetes de más alto nivel que proveen de funciones que internamente utilizan esas primitivas, pero que a un usuario se le representan como funciones de dibujo normales en un cierto lenguaje, o bien incluyendo gráficos realizados mediante aplicaciones externas, como es el caso de gráficos en <em/postscript encapsulado/ o en mapa de bits. <p> El problema en este segundo caso es que los datos del gráfico deben darse en el documento mediante órdenes <tt/\special/ -- Véase <ref id="special" name="¿Qué son los \special"> -- y que éstas órdenes son en general distintas para los distintos conversores (drivers) a los formatos de impresión o visualización. Para evitar al usuario tener que utilizar directamente los <tt/\special/ se pueden utilizar paquetes de más alto nivel que, dependiendo de los conversores transforman sus órdenes a los <tt/\special/ correspondientes. Si se quiere obtener el resultado final en <em/pdf/ hay una serie de limitaciones que hay que tener en cuenta, véase <ref id="tex-a-PDF" name="¿Cómo obtengo un documento PDF a partir de mi documento &tex;?"> <p> Para ello se puede utilizar el paquete <em/graphics/, que está entre los paquetes adicionales del &latexe; (disponible en <tt>CTAN:macros/latex/required/graphics/</tt>). Dependiendo de las opciones deseadas se le llama como <tt/graphics/ (menos potente) o <tt/graphicx/ (más potente y recomendado). Un paquete más antiguo es <em/psfig/ que en la práctica ha sido sustituido en &latexe; por <em/graphics/ que es el paquete oficial de introducción de gráficos externos en &latexe;. Sin embargo, si se usa &latex; 209 será necesario usar <em/psfig/ (disponible en <tt>CTAN:graphics/psfig</tt>) <p> También es necesario tener un conversor de DVI al lenguaje de impresora que soporte esos <tt/\special/, lo que limita los formatos gráficos soportados. En particular es especialmente interesante que soporten el formato <tt/.eps/ (postscript encapsulado), lo que hacen el <em/dvips/ y los conversores que vienen con <em/Oz&tex;/ o <em/&tex;tures/. La mayor parte de los visualizadores de DVI no mostrarán correctamente estas figuras, sino sólo su espacio. En cualquier caso, es conveniente leer primero la documentación del paquete <em/graphics/ o alguna de las referencias que se dan a continuación. <p> Existe en el <tt/CTAN/ documentación muy interesante acerca de este tema. El documento de Anik K. Goel (<tt>CTAN:info/figsinltx.ps</tt>) trata de diferentes formas de generar figuras y de incluirlas con <em/psfig/ para &latex; 209. El documento de Keith Reckdahl (<tt>CTAN:info/epslatex.pdf</tt>) está más dirigido al trabajo en &latexe; y a las figuras <tt/.eps/. Una referencia excelente sobre el tema es el <em/&latex; Graphics Companion/, de M. Goossens, S. Rahtz y F. Mittelbach, véase la sección <ref id="libros-int" name="Libros en otros idiomas">. <sect2>Dibujando con &tex; <!-- ................. --> <p> Existen una serie de formas de dibujar con &tex; en vez de importar archivos externos. Desde el simple uso del entorno <em/picture/, incluso con mejoras como las proporcionadas por <em/epic/ a dibujos sofisticados (aunque lentos) con las macros <em/Pic&tex;/. Dependiendo de lo que se quiere hacer alguno de los siguientes sistemas puede ser el más útil: <descrip> <tag/pstricks/ Disponible en <tt>CTAN:graphics/pstricks</tt>, que da acceso a la potencia de postscript desde &tex; mediante un uso sofisticado de los <tt/\special/. Necesita un conversor a postscript bueno (como p.ej. <em/dvips/), está bien documentado y da buenos resultados. <tag/pgf/ <em/pgf/ (<em/portable graphics format/) es un paquete de macros &tex; para crear dibujos. Su uso recuerda a <em/pstricks/ y, aunque es menos potente que éste, tiene la ventaja de que es compatible tanto con dvips como con <em/pdf&tex;/. <!-- Tiene <tt/tikz/, un --> <tag/MetaPost/ Toda la potencia de METAFONT, pero generando figuras postscript en vez de tipos. Para más información en castellano sobre <em/metapost/ puede consultarse la página <htmlurl url="http://w3.mecanica.upm.es/metapost" name="http://w3.mecanica.upm.es/metapost"> y para ver algunos ejemplos de lo que se puede hacer con <em/metapost/, pueden seguirse los enlaces citados en <htmlurl url="http://ltx.blogspot.com/2003/09/ms-recursos-metapost.html" name="http://ltx.blogspot.com/2003/09/ms-recursos-metapost.html">. A partir de la versión 3.7.1 del paquete gráfico <em/gnuplot/ éste ya permite exportar sus resultados en formato <em/metapost/. <em/gnuplot/ está disponible en <tt>CTAN:graphics/gnuplot</tt>. <p> <em/pdf&latex;/ también trata <em/metapost/ nativamente mediante el uso de <tt>\convertMPtoPDF</tt>. La sintaxis es <tscreen><verb> \convertMPtoPDF {nombre} {escala x} {escala y} </verb></tscreen> Si el nombre del gráfico incluido tiene la extensión <tt/.mps/ <tt/\includegraphics/ llama internamente a esta orden de forma transparente al usuario y no es necesario incluirla de forma explícita. <p> El gráfico MP así incluido se puede manipular sin problema con los comandos habituales de graphicx: rotatebox, resizebox, scalebox, etc... <p> Los archivos <em/metapost/ pueden editarse con un editor de texto y conocimiento del lenguaje <em/metapost/, pero también está disponible el editor gráfico <em/Metagraf/ para METAPOST, que se encuentra en fase avanzada de desarrollo. Está escrito en <em/Java/ y por tanto funciona bajo distintos sistemas operativos. Se encuentra disponible en la misma página anterior, <htmlurl url="http://w3.mecanica.upm.es/metapost" name=" http://w3.mecanica.upm.es/metapost">. <p> El programa <em/pstoedit/ permite pasar de postscript a otros formatos editables, entre ellos <em/metapost/, aunque es posible que en el cambio se pierdan elementos del dibujo original. <tag/MfPic/ Disponible en <tt>CTAN:graphics/mfpic</tt>. Este paquete genera código METAFONT a partir de macros &tex; como las habituales. No da toda la potencia de METAFONT, pero es bastante más cómodo. <tag/dra&tex;/ de Eitan Gurari. Disponible en <tt>CTAN:macros/generic</tt>. Un paquete de macros del tipo de <em/Pic&tex;/, pero mucho más manejable y menos necesitado de recursos de ordenador. </descrip> <sect2>Introduciendo figuras postscript encapsulado en &latex; <!-- ........................................... --> <p> Un ejemplo de documento en el que se incluye una figura <em/postscript/ externa utilizando el paquete <em/graphicx/ sería (se supone que se utiliza el conversor <em/dvips/) <tscreen><verb> ... \usepackage[dvips]{graphicx} ... \begin{figure} \centering \includegraphics[width=10cm]{imagen.eps} \caption{Esto es una imagen} \label{fig:prueba} \end{figure} ... </verb></tscreen> que incluiría la figura <tt/imagen.eps/ con una anchura de 10cm. Nótese que el que &latex; haya procesado sin problemas no implica que se vaya a ver con el visualizador ni que se vaya a imprimir a una impresora, ya que para ello los conversores correspondientes deben saber cómo hacerlo (P.ej., <em/dvips/ sabe como incluir figuras <em/postscript/ y si se ha compilado con esa opción algunos tipos de mapas de bits). Asimismo es conveniente usar <tt/\centering/ en vez del entorno <tt/center/, ya que este último no es para centrar texto, sino para componer un poco aparte texto centrado, con blancos antes y después. Si se usa center en un figure habrá algo de espacio adicional que no debería estar ahí. Además,<tt/\centering/ se puede usar también como entorno, si fuera necesario <tt/(\begin{centering}/ <tt/.../ <tt/\end{centering})/. Si se desea cambiar la separación con <tt/centering/ pueden cambiarse <tt/\textfloatsep/ (para b y t) e <tt/\intextsep/ (para h) con <tt/\setlength/. Para contener el gasto en espacio de disco que supone usar PostScript, el paquete <em/graphicx/ permite que las figuras que se van a incluir estén comprimidas con <em/gzip/, puesto que entiende los sufijos <tt/.eps.gz/ y <tt/.ps.gz/. Para que &latex; sepa el tamaño de la figura que está en el archivo, debe existir otro con extensión <tt/.eps.bb/ o <tt/.ps.bb/ con la <em/Bounding Box/ (medidas de la caja) de la figura en PostScript, que se puede obtener de ese mismo archivo (es una de las primeras líneas) o usando algún programa como <em/psbb/, distribuido con las utilidades <tt/groff/ de GNU (<htmlurl url="http://www.gnu.org" name="http://www.gnu.org">). <sect2>Introduciendo imágenes en mapa de bits en &latex;. <!-- ................................................ --> <p> En este caso la línea del <tt/\includegraphics.../ anterior se convertiría en <tscreen><verb> \includegraphics[0,0][101mm,50mm]{figura.pcx} </verb></tscreen> donde suponemos que el conversor soporta este formato. Se le ha dicho específicamente el tamaño de la figura, ya que si no fuera así, se obtendrían distintos resultados al imprimirla en impresoras de distinta resolución. <sect2>Inclusión de una imagen desde un PDF con múltiples páginas. <!-- ................................................ --> <p> Puede hacerse con el paquete <em/graphicx/ <tscreen><verb> \includegraphics[page=6]{archivo} </verb></tscreen> o con el paquete <em/pdfpages/, <tscreen><verb> \usepackage{pdfpages} ... \begin{document} \includepdf[pages={3-7,9}]{/path/to/other.pdf} \end{document} </verb></tscreen> <sect2>Introduciendo código y figuras postscript en <em/pdf&tex;/ <label id="pdftex-dibujos"> <!-- ........................................... --> <p> <em/PDF&tex;/ -- véase la pregunta <ref id="tex-a-PDF" name="¿Cómo obtengo un documento PDF a partir de mi documento &tex;?"> -- no permite la inclusión directa ni de código ni de figuras PostScript. Pueden incluirse figuras en <em/PDF&tex;/ siempre que éstas estén en alguno de los formatos <em/JPEG/, <em/PDF/ ó <em/PNG/ (Véanse en el párrafo siguiente las extensiones por omisión que se esperan para cada formato). Parece que el soporte para formato <em/TIFF/ se ha eliminado a partir de la versión 1.10a de <em/pdf&tex;/, por lo que aunque se vuelva a poner es preferible utilizar alguno de los formatos anteriores. Existen utilidades para convertir de PostScript encapsulado a <em/PDF/ y <em/PNG/ (<em/Distiller/ de Adobe (<htmlurl url="http://www.adobe.com" name="http://www.adobe.com">) para <em/PDF/ y <em/ghostscript/ -- <em/gs/ -- (<htmlurl url="http://www.cs.wisc.edu/~ghost/index.html" name="http://www.cs.wisc.edu/~ghost/index.html">) para convertir a <em/PDF/ o a <em/PNG/). Para este último se tienen dos programas que lo utilizan y hacen de intermediario con el usuario, <em/ps2pdf/, incluido en <em/ghostscript/ y <em/epstopdf/ (disponible en <tt>CTAN:usergrps/uktug/baskerville/epstopdf</tt>, e incluido al menos en <em/te&tex;/) para conversión directa entre los formatos <tt/.eps/ y <tt/.pdf/ <p> Aunque no de forma directa, el paquete <em/tex4pdf/, disponible en <tt>CTAN:macros/latex/contrib/ps2pdf</tt> permite incluir figuras y código postscript (figuras pstricks y eps, cadenas psfrag, reescalados postscript) en un documento procesado con pdflatex, pero necesita versiones recientes de los paquetes <em/preview/, <em/ifpdf/ e <em/ifvtex/ y del sistema &tex;/&latex;, así como adaptar el documento &latex; para su uso. También pueden utilizarse, con mejor o peor fortuna otros mecanismos (Véase <ref id="tex-a-PDF" name="¿Cómo obtengo un documento PDF a partir de mi documento &tex;?">) <p> Para incluir una figura en <em/PDF&tex;/ se deben seguir los mismos pasos que para incluir una figura PostScript encapsulado en &latex;. Cuando la figura se tiene en dos formatos distintos, uno para pdf&latex; y otro para &latex;/dvips, es recomendable omitir la extensión del archivo (<tt/.ps/, <tt/.eps/, <tt/.ps.gz/, <tt/.eps.gz/ para PostScript y <tt/.jpg/, <tt/.tif/, <tt/.pdf/, o <tt/.png/ para <em/PDF&tex;/). De esta forma el paquete <em/graphicx/ tomará el archivo adecuado según se esté usando &latex; o PDF&latex;. <sect2>¿Cómo coloco un fragmento TeX en una figura? <!-- ........................................... --> <p> Esencialmente hay dos formas, mediante los paquetes <em/psfrag/ y <em/overpic/, <descrip> <tag/psfrag/ permite sustituir cadenas de texto en el gráfico postscript por cadenas de texto &tex;. Para ello la cadena de texto a sustituir debe estar en el archivo postscript de forma explícita utilizando alguno de los tipos postscript en vez de dibujada mediante líneas. Es decir, en el archivo postscript debe aparecer <em/(cadena)/ donde cadena es la cadena de texto a sustituir. Esta cadena debe estar compuesta preferentemente de caracteres los alfanuméricos a-zA-Z0-9, aunque puede funcionar en algunos otros casos. Para usarlo se cargaría el paquete en el preámbulo: <tscreen><verb> \usepackage{psfrag} </verb></tscreen> y dentro de un begin-end que englobe la figura o utilizando llaves (para que su efecto no se extienda a otras figuras salvo que se quiera) se incluiría <tscreen><verb> \psfrag{cadena_original}{cadena_sustituta} </verb></tscreen> por cada una de las cadenas a sustituir. <p> Este sistema NO funciona directamente con pdf&latex; salvo que se utilice <em/vtex/. Véase <ref id="tex-a-PDF" name="¿Cómo obtengo un documento PDF a partir de mi documento &tex;?">. Del mismo modo, las cadenas sustituidas no se ven correctamente en los visores de dvi habituales, sino sólo cuando se ha pasado a postscript. Puede hacerse funcionar con pdf&latex; de forma indirecta mediante el paquete <em/ps4pdf/ o programas como <em/tex2pdf/. <tag/overpic/ El paquete <em/overpic/ permite colocar cualquier tipo de texto sobre una figura e incluso figuras sobre figuras. Tiene dos formas de introducir las coordenadas, absolutas en % de la figura original, y relativas, en % de la figura reescalada. Asimismo cuenta con una excelente documentación. <tscreen><verb> \usepackage{overpic} </verb></tscreen> </descrip> <sect1>Figuras, tablas y elementos flotantes<label id="tex-floats"> <!-- ===========================================================--> <p> <sect2>¿Cómo puedo poner una figura rodeada de texto? <!-- ........................................... --> <p> Para ello existen distintas opciones, mediante los paquetes <itemize> <item><em/wrapfig/ (<tt>CTAN:macros/latex/contrib/other/misc/wrapfig.sty</tt>) Contiene <em/wraptable/, para hacer lo mismo con tablas. <item><em/floatflt/ (<tt>CTAN:macros/latex/contrib/other/floatflt/</tt>) <item><em/picins/ (<tt>CTAN:macros/latex209/contrib/picins/</tt>), que también puede utilizarse con tablas. <item><em/picinpar/ (<tt>CTAN:macros/latex209/contrib/picinpar</tt>) </itemize> todos ellos disponibles en el <tt/CTAN/. Para casos sencillos un simple <tt/parbox/ o una <tt/minipage/ pueden hacer un buen trabajo. <sect2>¿Cómo puedo poner una figura a dos columnas? <!-- ........................................... --> <p> Usando el entorno <tt/figure*/ en vez de <tt/figure/, para que &latex; sepa que ese elemento flotante es de doble ancho. Si no, lo considera de ancho normal, y la imagen que se mete dentro, simplemente <em/no cabe/ y se sale por el otro lado, ocultando el texto de la otra columna. <sect2>¿Cómo consigo un mayor control de la posición de figuras y demás elementos flotantes? <!-- ........................................... --> <p> Para ello puede utilizarse el paquete <em/float/, (<tt>CTAN:macros/contrib/supported/float</tt>, que añade nuevas funcionalidades al comportamiento normal de los elementos flotantes como figuras y tablas. <sect2>¿Puedo poner una figura en una tabla? <!-- ........................................... --> <p> ¿Por qué no?, <tscreen><verb> ... \usepackage{graphcix} ... \begin{tabular}{ccc} \includegraphics{fig1} & \includegraphics{fig2} & ... </verb></tscreen> <sect2>¿Cómo colocar dos figuras o tablas juntas de distintas formas?, <!-- ........................................... --> <p> Es posible colocar en &latex; dos figuras o tablas en paralelo, cada una con su pie, así como dos figuras juntas en posición arbitraria o superpuestas dentro de un entorno figure. <p> Dependiendo de lo que se quiera, puede hacerse bien mediante el paquete <em/subfigure/ o mediante un entorno <em/minipage/ (Véase <em/epslatex.ps/). <em/subfigure/ permite numerar las figuras como (a), ... y tener un pie común a las subfiguras más pies individuales para cada subfigura y <em/minipage/ mantiene los pies normales e independientes para cada figura. Por ejemplo, con <em/minipage/, <tscreen><verb> \usepackage{capt-of} ... \begin{figure} \begin{minipage}{.5\linewidth} Figure \caption{Foo} \end{minipage}% \begin{minipage}{.5\linewidth} Table \captionof{table}{Too} \end{minipage} \end{figure} </verb></tscreen> El uso del paquete <em/capt-of/ (Véase "¿Puedo poner un pie en tablas y figuras que no flotan?") sería necesario en este caso ya que los dos elementos son distintos, una figura y una tabla, pero no sería necesario si los dos fueran figuras o los dos tablas. <p> Si lo que se quiere es simplemente colocar dos figuras juntas además de lo anterior sin <tt/\caption/ puede utilizarse algo como <tscreen><verb> \setlength{\unitlengtth}{1cm}\begin{picture}(12,6) \put(0,0){\includegraphics[width=6cm]{figura1.ps}} \put(6,0){\includegraphics[width=6cm]{figura2.ps}} \end{picture} </verb></tscreen> Así las figuras se colocan como uno quiera e incluso puede hacerse que una figura se superponga sobre otra (como si fueran fotos en una mesa). <sect2>¿Puedo poner un pie en tablas y figuras que no flotan?, <!-- ........................................... --> <p> A veces se desea colocar figuras y tablas en un lugar preciso y para ello se prescinde de los entornos <em/figure/ y <em/table/. Sin embargo también se desea poder usar <tt>\caption</tt> para no perder la numeración y la referencia en la lista de figuras y tablas. Un equivalente a la orden <tt>\caption</tt> llamado <tt/\captionof/ puede ser utilizado fuera de entornos flotantes (<em/figure/ y <em/table/) si se hace uso del paquete <em/capt-of/. Su sintaxis es <tt/\captionof{tipo}[pie corto]{pie largo}/ donde el pie corto es el opcional que irá a la tabla de figuras/tablas y el tipo es figura/tabla. La llamada en el documento sería del tipo <tscreen><verb> \centerline{\includegraphics{mi grafica}} \captionof{figure}{Esta es mi grafica} </verb></tscreen> para una figura, mientras que para una tabla se puede usar algo del tipo: <tscreen><verb> \begin{center} \begin{tabular}{*2l}\hline\hline uno & dos\\ tres & cuatro\\\hline \end{tabular} \end{center} \captionof{table}{Esto es una tabla} % se puede incluir dentro del entorno center. </verb></tscreen> <!-- ........................................... --> <sect2>¿Cómo hago para incluir elementos flotantes grandes o numerosos sin que den errores o se vayan al final? <!-- .......................................... --> <p> Las clases <em/article/, <em/report/ y <em/book/ estándar son muy exigentes en cuanto a sus "consideraciones estéticas" para poner gráficos flotantes en una página. El caso es que ésto sólo es útil cuando hay pocos objetos flotantes, pero si hay muchos, esta exigencia es contraproducente. Lo que acaba pasando es que &latex; no encuentra lugares adecuados para poner los gráficos y los acaba mandando todos al final o dando errores. Afortunadamente, los parámetros que controlan todo ésto son fácilmente configurables y para mejorar las cosas basta copiar y pegar los que vienen en <em/amsart.cls/, que son mucho mas flexibles, <tscreen><verb> \setcounter{topnumber}{4} \setcounter{bottomnumber}{4} \setcounter{totalnumber}{4} \setcounter{dbltopnumber}{4} \renewcommand{\topfraction}{.97} \renewcommand{\bottomfraction}{.97} \renewcommand{\textfraction}{.03} \renewcommand{\floatpagefraction}{.9} \renewcommand{\dbltopfraction}{.97} \renewcommand{\dblfloatpagefraction}{.9} \setlength{\floatsep}{12pt plus 6pt minus 4pt} \setlength{\textfloatsep}{15pt plus 8pt minus 5pt} \setlength{\intextsep}{12pt plus 6pt minus 4pt} \setlength{\dblfloatsep}{12pt plus 6pt minus 4pt} \setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt} </verb></tscreen> Cuando se quiere hacer para una única figura puede utilizarse el paquete <em/afterpage/, por ejemplo en <tscreen><verb> \usepackage{afterpage} ... \begin{figure} \includegraphics{figura-muy-grande} \end{figure} \afterpage{\clearpage} </verb></tscreen> la figura grande pasará a la página siguiente (donde quedará sola), en lugar de irse al final del documento. <!-- ........................................... --> <sect1>¿Cómo giro un elemento en un documento &latex;? <!-- ============================================= --> <p> Para giros sencillos, el paquete <em/graphicx/ contiene las orden <tt>\rotatebox</tt> que permite conseguir giros de elementos de texto o incluso de elementos más complejos. Sin embargo, cuando se quieren rotar elementos complejos es recomendable aprovechar las posibilidades del paquete <em/rotating/ (disponible en <tt>CTAN:macros/latex/contrib/supported/rotating</tt>). Este paquete permite girar casi cualquier tipo de elemento, incluyendo figuras o tablas completas con sus cabeceras, mediante los entornos <em/sideways/, <em/sidewaystable/ y <em/sidewaysfigure/. Por ejemplo, <tscreen><verb> \documentclass{article} \usepackage{rotating} \begin{document} \begin{sideways} \begin{tabular}.... \end{tabular} \end{sideways} \end{document} </verb></tscreen> Hay que tener en cuenta que en todos estos casos se modifica el postscript, por lo que los resultados no se ven correctamente con <em/xdvi/ ni funcionan bien con <em/pdflatex/. <sect1>¿Cómo escribo algunos símbolos? <!-- ======================================================== --> <p> <descrip> <tag/¿Cómo obtener el símbolo del euro?/ Utilizando el paquete <em/eurofont/ de CTAN. Contiene instrucciones acerca de su uso con &latex;. La notación de entrada normal es <tt>\EUR{1,50}</tt>. También puede utilizarse el paquete textcomp y la macro <tt>\texteuro</tt>. <tag/¿Cómo escribir los grados en &latex;?/ Para obtener un resultado de mejor calidad que con <tt>^\circ</tt> puede utilizarse la orden <tt>\textdegree</tt> del paquete <em/textcomp/. <tag/¿Cómo encerrar un caracter en un círculo?/ Utilizando la orden <tt/\textcircled{...}/ <tag/¿Cómo escribir la barra invertida?/ Como texto: <tt>\textbackslash</tt>. Como matemáticas: <tt>\backslash</tt>. Como código: <tt>\verb|\|</tt> <tag/¿Cómo escribir un espacio en blanco visible?/ Utilizando la orden <tt/\textvisiblespace/ <tag/¿Cómo escribir el símbolo del sombrerito de la ñ?/ Utilizando la orden <tt>\textasciitilde</tt> </descrip> <sect1>¿Cómo convierto mis documentos a &latex; y desde &latex;? <!-- ======================================================== --> <p> Existe una FAQ específica acerca de las conversiones entre formatos &tex; y de otros procesadores de textos, <!-- disponible en <htmlurl url="http://www.kfa-juelich.de/isr/1/texconv/texcnv.html" name="http://www.kfa-juelich.de/isr/1/texconv/texcnv.html"> --> que se archiva en <tt>CTAN:help/wp-conv/wp-conv.zip</tt>. <sect2>¿Cómo obtengo un documento PDF a partir de mi documento &tex;? <label id="tex-a-PDF"> <!-- ......................................... --> <p> Existen distintas formas de producir PDF usando (La)&tex;. <itemize> <item> A partir del PS -- ver la pregunta <ref id="postscript" name="¿Qué es PostScript?"> --, usando <em/Distiller/ (de Adobe) o <em/ghostscript/, en este último caso, se recomienda usar una versión posterior a la 5.53, que mejora el PDF generado (lo hace más compacto). Se pueden perder los enlaces y algunas características de PDF (las anotaciones). Las distribuciones de <em/ghostscript/ suelen venir con un pequeño programa llamado <em/ps2pdf/ que hace la transformación llamando a <em/ghostscript/ con los parámetros adecuados. <item> A partir de DVI, usando <em/dvipdfm/, (<tt>CTAN:dviware/dvipdfm</tt>), que genera PDF de alta calidad, insertando los gráficos y permitiendo anotaciones y enlaces. Su página raíz es <htmlurl url="http://odo.kettering.edu/dvipdfm" name="http://odo.kettering.edu/dvipdfm">, pero tiene una serie de restricciones que deben consultarse en el manual. <item> Usando <em/pdf&tex;/, que procesa el archivo fuente de &tex; y genera PDF directamente. Acompañado por el paquete <em/hyperref/, es de la máxima utilidad en la generación de documentos que mantienen la calidad de composición de textos de &tex; y permiten cierta interacción. <em/pdf&tex;/ está aún en desarrollo, pero permite generar PDF para casi todos los documentos -- para ver los detalles y limitaciones en la inclusión de figuras y código postscript, véase la sección <ref id="pdftex-dibujos" name="Introduciendo figuras y código postscript en pdf&tex;"> --. Las versiones de desarrollo pueden encontrarse en: <htmlurl url="http://www.fi.muni.cz/~thanh/download/" name="http://www.fi.muni.cz/~thanh/download/">. Información adicional está disponible en <htmlurl url="http://www.tug.org/interest.html#projects" name="http://www.tug.org/interest.html#projects">. </itemize> Cuando el documento de entrada no contiene únicamente texto &tex;/&latex; sino también figuras en postscript encapsulado o utiliza paquetes que mediante código postscript cambian el texto (rotaciones, reescalados, sustitución de cadenas) o dibujan, las cosas son un poco más complicadas ya que <em/pdf&tex;/ no lo soporta directamente. El camino <tt>dvi->ps->pdf</tt> que se ha señalado antes debe funcionar pero pueden perderse por el camino algunas características del pdf. Otros caminos alternativos pasan por convertir sobre la marcha a pdf las figuras y efectos postscript. Esto puede hacerse, con más o menos limitaciones de distintas formas: <itemize> <item> Utilizando <em/tex2pdf/, disponible en <htmlurl url="http://developer.berlios.de/cvs/?group_id=57" name="http://developer.berlios.de/cvs/?group_id=57">. La idea es que <em/tex2pdf/ procesa cada grafico que emplea sustituciones de <em/psfrag/ y luego lo convierte a pdf. Para gráficos que no se encuentran en minipages, tablas, funciona relativamente bien. La última versión cvs de <em/tex2pdf/ soporta preliminarmente <em/psfrag/ y <em/pstricks/ (este ultimo a traves de <em/ps4pdf/), sin embargo, de momento el proyecto parece parado, <item> <em/v&tex;/ es una distribución comercial de &tex; que da salida <em/.pdf/ directamente y soporta inclusión de figuras <tt/.eps/, así como el uso de <em/psfrag/ y de algunos otros paquetes que utilizan <em/postscript/ de alto nivel. Existen versiones para linux y OS/2 gratuitas, disponibles en <itemize> <item> <htmlurl url="http://www.micropress-inc.com/linux/" name="http://www.micropress-inc.com/linux/"> <item> <htmlurl url="http://www.micropress-inc.com/os2/" name="http://www.micropress-inc.com/os2/"> </itemize> y en <tt>CTAN:systems/vtex</tt>. La versión para Windows es comercial <htmlurl url="http://www.micropress-inc.com" name="http://www.micropress-inc.com"> <item> Utilizando el paquete <em/pdftricks/, disponible en <tt>CTAN:macros/latex/contrib/pdftricks</tt>, que intenta extender el poder del paquete <em/pstricks/ a pdf&latex;. <item> Utilizando el paquete <em/ps4pdf/, disponible en <tt>CTAN:macros/latex/contrib/ps4pdf</tt>. Véase <ref id="pdftex-dibujos" name="Introduciendo código y figuras postscript en <em/pdf&tex;"> </itemize> <sect2>¿Cómo obtengo una versión texto a partir de un documento PDF? <!-- ......................................... --> <p> La forma más sencilla es mediante el <em/Adobe Reader/ (antes <em/Acrobat Reader/) -- véase <ref id="formato-pdf" name="El formato pdf" > -- utilizando la herramienta <em/Obtener texto/ que se encuentra a la izquierda en el <em/Adobe Reader/. <sect2>¿Cómo obtengo un documento html a partir de mi documento &tex;? <label id="tex-a-html"> <!-- .............................................................. --> <p> En la página <htmlurl url="http://www.mayer.dial.pipex.com/tex.htm" name="http://www.mayer.dial.pipex.com/tex.htm"> se comentan diferentes programas de conversión de &latex; a html con ejemplos del resultado de las distintas conversiones. Los más conocidos son <descrip> <tag/HEVEA/ es un conversor de &latex; a html bastante completo, que convierte los símbolos sin utilizar gráficos (aunque puede requerir un poco de configuración del navegador). Disponible en <htmlurl url="http://para.inria.fr/~maranget/hevea/" name="http://para.inria.fr/~maranget/hevea/">. Tiene versiones para Linux, Solaris y Windows aunque es posible compilarlo para otros sistemas operativos a partir del código fuente. <tag/TTH/ es otro conversor de &latex; a html que también convierte las ecuaciones en vez de representarlas como imágenes. Disponible en <htmlurl url="http://hutchinson.belmont.ma.us/tth/" name="http://hutchinson.belmont.ma.us/tth/">. Tiene versiones para Linux, Mac y Windows aunque es posible compilarlo para otros sistemas operativos a partir del código fuente. Utiliza gráficos. <tag/&tex;4ht/ es otro conversor a distintos sistemas de hipertexto, disponible en <htmlurl url="http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html" name="http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html">. Tiene versiones para Linux, Mac y Windows aunque es posible compilarlo para otros sistemas operativos a partir del código fuente. <tag/latex2html/ es quizás el más antiguo de los conversores, escrito en perl y utiliza gráficos. </descrip> <sect2>Convirtiendo a &latex; desde otros formatos <!-- ......................................... --> <p> <descrip> <tag/WordPerfect/ El programa <em/wp2latex/ (disponible en <tt>CTAN:support/wp2latex</tt>) ha sido recientemente actualizado por Jaroslav Fojtik y ahora está disponible tanto para <em/DOS/ como para <em/Unix/. <tag/Rich Text Format (RTF)/ Hay dos conversores disponibles, <em/rtf2tex/ de Robert Lupton (disponible en <tt>CTAN:support/rtf2tex</tt>) y <em/rtf2latex/, de Erwin Wechtl (disponible en <tt>CTAN:support/rtf2latex</tt>), para &tex; y &latex; respectivamente. <tag/Microsoft Word/ Aunque hay un programa de conversión (<em/wd2latex/, disponible en <tt>CTAN:dviware/wd2latex</tt>), se recomienda convertir el documento a RTF y utilizar uno de los conversores de RTF mencionados. También hay un par de conversores comerciales, <em/word2tex/ y <em/tex2word/. </descrip> <sect1>¿Cómo rehago los formatos de &tex; y &latex;?<label id="formatos"> <!-- ==================================================================--> <p> Los formatos de &tex; son archivos que contienen las macros básicas precompiladas para obtener una mayor eficiencia. Para rehacer un formato es necesario utilizar la orden <tt/initex/ (Este nombre cambia para algunas distribuciones, por ejemplo para <em/em&tex;/ es <tt/tex -i/). Como muestra, para rehacer el formato <em/plain/ se haría <tscreen><verb> initex plain \dump </verb></tscreen> Con eso se tiene el archivo <tt/plain.fmt/; ya sólo queda reemplazarlo donde estuviera el original y listo. <p> Para hacerlo por ejemplo para <em/eplain/ se habría hecho <tt/initex plain/, y cuando aparece <tt/*/ se introduciría <tt>\input eplain</tt> y después cuando vuelve a aparecer <tt/*/ se introduciría <tt>\dump</tt>, así tendría un formato con <tt/eplain/ y no habría que estar poniéndolo con <tt>\input</tt>. <p> Cuando deben incluirse distintos archivos en el formato, a menudo es más cómodo utilizar una archivo que los llame a todos. Por ejemplo, para <tt/eplain/ se podría haber creado el archivo <tt/eplain.ini/ con las líneas <tscreen><verb> \input plain \input eplain \dump </verb></tscreen> y se habría rehecho el formato con <tt/initex eplain.ini/. <p> En la mayor parte de las distribuciones modernas no es necesario rehacer los formatos como se ha dicho antes, sino que hay herramientas que ayudan a ello. Así, por ejemplo en <em/te&tex;/ después de configurar los distintos parámetros del formato (idioma, tamaños de memoria...) al salir se rehace automáticamente el formato, o en <em/mik&tex;/ donde hay un elemento en un menú desplegable para rehacer los formatos ( o desde una ventana DOS <tt>initexmf --dump</tt>). <sect1>¿Cómo llamo a un editor desde &tex;/&latex;? <!-- ====================================================--> <p> Dando el valor adecuado a la variable de entorno <tt/TEXEDIT/ <tscreen><verb> SET TEXEDIT=tu_editor +%d %s </verb></tscreen> en el <tt/autoexec.bat/ o similares o <tscreen><verb> export TEXEDIT=tu_editor +%d %s </verb></tscreen> para <em/bash/ y similares <sect1>Algunas cosillas matemáticas. <!-- ======================================================= --> <sect2>¿Cómo escribo un número con periodo utilizando &latex;? <!-- ...................................................... --> <p> Para escribir un periodo (el acento breve invertido que indica la repetición de cifras decimales y que se pone encima de la parte periódica del número) la solución más elegante consiste en utilizar el paquete <em/yhmath/ de Yannis Haralambous, disponible en <tt>CTAN:macros/latex/contrib/supported/yhmath</tt>. Este paquete permite indicar periodos de longitud arbitraria mediante un acento matemático <tt>\wideparen</tt> que hace precisamente ese papel. <p> El paquete <em/yhmath/ necesita un tipo especial que viene con el paquete y además el paquete <em/amsmath/, por lo que para uso esporádico o no tan exigente puede bastar una definición como la siguiente <tscreen><verb> \def\periodo#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3pt}% \ensuremath{\braceld\leaders\vrule\hfill\bracerd}% \crcr\noalign{\kern3pt\nointerlineskip}% \ensuremath{\hfill\displaystyle{#1}\hfill}\crcr}}}\limits} </verb></tscreen> Existe otro paquete denominado <em/tipa/, disponible en <tt>CTAN:/fonts/tipa</tt>. Éste es un sistema para trabajar con alfabetos fonéticos, que proporciona la orden <tt>\texttoptiebar{'caracter'}</tt> donde <tt>'caracter'</tt> obviamente es un numero(s) o una letra(s). <sect2>¿Cómo puedo hacer para que la etiqueta de una ecuación p.ej. (3.5) contenga además el número de la sección actual p.ej. (3.1.5) <!-- ...................................................... --> <p> La respuesta se puede encontrar en Lamport sección 6.3 y en el Companion sección 8.6 (Este capítulo del Companion está actualizado en <tt>CTAN:info/companion-rev/</tt>). &latex; define y mantiene unos cuantos contadores; uno de ellos es <em/equation/. Para generar una etiqueta impresa, &latex; ejecuta una orden cuyo nombre se forma añadiendo <tt>\the</tt> al comienzo del nombre del contador adecuado. Por ejemplo, un número de ecuación se genera con la orden <tt>\theequation</tt>. Para cambiar la numeración de ecuaciones de modo que se indique el capítulo, la sección y un número correlativo dentro de la sección haríamos: <tscreen><verb> \renewcommand{\theequation}{\thesection.\arabic{equation}} </verb></tscreen> El problema es que ahora tendríamos que volver a poner a cero el contador de ecuaciones al comienzo de cada sección o capítulo. Una solución sencilla es incluir en el preámbulo (entre un <tt>\makeatletter</tt> y un <tt>\makeatother</tt>) lo siguiente: <tscreen><verb> \@addtoreset {equation}{section} </verb></tscreen> Esto hará que automáticamente se ponga el contador <em/equation/ a 1 cuando se encuentre un nuevo <tt>\section.</tt> <sect2>¿Cómo hay que hacer para lograr la N, R de doble trazo con que se representan los números naturales, reales, etc... <!-- ...................................................... --> <p> Una forma que funciona incluso en plain &tex; y que no requiere cargar tipos adicionales es con definiciones del tipo <tscreen><verb> \def\CC{{\rm C\kern-.18cm\vrule width.6pt height 6pt depth-.2pt \kern.18cm}} \def\NN{{\mathop{{\rm I}\kern-.2em{\rm N}}\nolimits}} \def\PP{{\mathop{{\rm I}\kern-.2em{\rm P}}\nolimits}} \def\RR{{\mathop{{\rm I}\kern-.2em{\rm R}}\nolimits}} \def\RRt{{\fa I}\kern-.2em{\fa R}} %% This version of \RR can be used in the title of the paper \def\ZZ{{\mathop{{\rm Z}\kern-.28em{\rm Z}}\nolimits}} </verb></tscreen> También es posible utilizar el tipo <em/mathbb/ incluido con las <em/amsfonts/. Éstas se cargarían en el preámbulo con <tscreen><verb> \usepackage{amsfonts} \usepackage[mathscr]{euscript} </verb></tscreen> y se llamarían como <tt>\mathbb{C}</tt>, etc... <p> Otra alternativa es el uso de los tipos <em/bbm/. Estos de cargan en el preámbulo con <tscreen><verb> \usepackage{bbm} </verb></tscreen> de forma que <tt>$\mathbbm{N, Z, R, Q, I, C}$</tt> daría el correspondiente símbolo. <sect2>¿Puedo forzar que una fórmula tenga el mismo número que otra? <!-- ................................... --> <p> Sí mediante el paquete <em/amsmath/ y la orden <tt/\tag/. Por ejemplo, <tscreen><verb> \begin{equation}\label{1} 1+1=2. \end{equation} \begin{equation} 1+1=2.\tag{\ref{1}} \end{equation} </verb></tscreen> <sect2>¿Puedo escribir símbolos matemáticos en negrita? <!-- ................................... --> <p> Pues no es nada elemental. Sin tipos especiales no. Inicialmente no se consideró necesario que las letras griegas pudieran representar vectores y no se incluyeron tipos con ellas. La solución pasa por usar amstex y los tipos <em/euler/ (más en concreto <em/eurb/). <p> También puede utilizarse el paquete <em/amsmath/. Así, <tscreen><verb> \usepackage{amsmath} \begin{document} $\boldsymbol{H}$ \end{document} </verb></tscreen> Si algún símbolo de alguna fuente no cambia a negrita con esta orden, puede también utilizarse, con el mismo paquete, <tt/$\pmb{H}$/. <sect2>¿Puedo rotar una ecuación? <!-- ................................... --> <p> Puede utilizarse ls orden <tt/rotatebox/ del paquete <em/graphicx/, pero hay que meter la ecuación en un <tt/parbox/, por ejemplo, utilizando el entorno <tt/align/, del paquete <em/amsmath/, <tscreen><verb> \rotatebox{35}{ \parbox{4cm}{ \begin{align*} (la ecuacion) \end{align*} } } </verb></tscreen> <sect2>Algunas preguntas matemáticas de breve respuesta. <!-- .............................................. --> <p> <descrip> <tag/¿Cómo se escriben los números combinatorios (por ejemplo N sobre k)?/ <tt>\binom{N}{k}</tt>, disponible en el paquete <em/amsmath/. <tag/¿Cómo represento un tensor con sus índices?/ Puede probarse con el paquete <em/tensind/, disponible en <tt>CTAN:/macros/latex/contrib/supported/bezos/</tt>. <tag/¿Cómo cancelar elementos en una ecuación en &latex;/ Mediante el paquete <em/cancel/ <tag/¿Cuál es la instrucción para poner el producto vectorial?/ <tt/\times/ o <tt/\wedge/, según la forma que prefieras (cruz y angulito, respectivamente). <tag/¿Qué símbolos están disponibles para &latex;?/ Además de los símbolos básicos de &latex; muchos otros símbolos están disponibles a través de distintos paquetes. Una excelente referencia a todos los símbolos disponibles se encuentra en <tt>CTAN:tex-archive/info/symbols/comprehensive</tt> </descrip> <sect1>¿Cómo hago cuadernillos, trípticos y documentos con formatos especiales? <label id="formatos-especiales"> <!-- ================================================--> <sect2>¿Cómo hago cuadernillos con &tex; o &latex;? <!-- -------------------------------------------- --> <p> Para hacer cuadernillos estrictamente con &tex; o &latex; se pueden utilizar las utilidades para manipular <tt/.dvi/ (disponibles en <tt>CTAN:dviware/dvibook</tt>) o utilizar el paquete <em/quire/ (disponible en <tt>CTAN:macros/generic/midnight</tt>). Ambos permiten hacer cuadernillos, pero en ambos casos es necesario tener los tipos para los distintos tamaños antes y después, y dan problemas con facilidad cuando se incluyen gráficos externos. <!-- > texexec, que se puede conseguir en http://www.pragma-ade.nl también puede > hacerlo (¡directamente desde el .tex!). texexec está en el sistema > ConTeXt, y a lo mejor hay que instalar más cosas. --> <p> El método más recomendable es utilizar las <em/psutils/, un conjunto de utilidades para manejar archivos <em/postscript/. Aunque el ejemplo está para un unix, también están disponibles para <em/DOS/, lo único que en vez de mandarlo a la cola de impresora se mandaría a un archivo que después se imprimiría con <em>ghostscript/ghostview</em>. <p> Para Unix por ejemplo, si se colocan adecuadamente las hojas en la impresora <tscreen><verb> psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -o | lpr </verb></tscreen> imprimiría las caras impares del librillo (cada una de ellas con dos páginas reducidas y correctamente ordenadas). Se sacan las hojas, se ordenan adecuadamente y se colocan adecuadamente en la impresora y <tscreen><verb> psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -e | lpr </verb></tscreen> imprimiría las caras pares del librillo, y ya está, se tiene un librillo perfecto. La utilidad <em/pstops/ también permite hacer todo eso directamente, pero con unas opciones mucho más crípticas. <p> <em/psbook/ también permite definir el tamaño del pliego, cuando el libro va a constar de distintos pliegos cosidos, cada uno de ellos de un número de páginas. Por ejemplo, <tscreen><verb> $ psbook -s 16 manualA4.ps </verb></tscreen> reordenaría las páginas para hacer pliegos de 16 páginas, y su salida se pasaría después por <em/psnup/ y <em/psselect/. El comportamiento por omisión consiste en hacer un único pliego. <sect2>¿Cómo hago trípticos con &latex;? <!-- -------------------------------------------- --> <p> El paquete <em/leaflet/ nos permite construir trípticos. Realmente sólo modifica los márgenes de la página completa para dividirla en tres áreas. El resultado al compilar es un documento con 6 páginas como máximo, en el que cada página tiene el texto escrito en una columna estrecha a la izquierda y el resto de la página está en blanco. Este documento aún no está finalizado y debe ser postprocesado. El postproceso lo hace un script (que viene incluido en el paquete), que se ocupa de llamar a <em/pstops/ (que debe estar instalado) y que es quien junta tres páginas en una, colocándolas en el orden apropiado para que al imprimir a doble cara el resultado sea tres páginas por cara, y de modo que al doblar en tres quede en el orden correcto de lectura. Puesto que <em/pstops/ funciona sobre ficheros postscript (.ps), el documento original debe ser procesado con <em/dvips/ (no sirve usar <em/pdflatex/). <sect2>¿Puedo preparar un póster con &tex/&latex;? <label id="posters"> <!-- ......................................... --> <p> Por una parte existe un paquete llamado <em/a0poster/ (<tt>CTAN:macros/latex/contrib/supported/a0poster</tt>) y por otra existe una alternativa basada en un programa C llamado <em/poster/ (<tt>CTAN:support/poster</tt>). Este último distribuye el texto en páginas A4 que pueden unirse para hacer un póster grande. <sect2>¿Puedo hacer libretos y carátulas de CD con &latex;? <!-- -------------------------------------------- --> <p> Sí, con el paquete <em/cd-cover/, disponible en <tt>CTAN:macros/latex/contrib/cd-cover</tt>. Eso sí, a la hora de imprimir hay que decirlo que lo haga en apaisado. <sect1>¿Cómo puedo preparar una exposición utilizando &latex;? <!-- ======================================================--> <sect2> Haciendo transparencias con &latex; <!-- ......................................... --> <p> En primer lugar se tiene la clase de documento <em/slides/, que forma parte de &latexe;. <!-- El aspecto de un documento que utiliza esta clase sería algo así como <tscreen><verb> \documentclass[a4paper]{slides} \begin{document} % Transparencia .... \begin{slide} \begin{center} {\Large **Titulo....**} \end{center} **Texto...** \end{slide} ... \end{document} </verb></tscreen> --> Además, existen varios paquetes preparados para hacer transparencias. Los más clásicos son <itemize> <item><em/seminar/ (<tt>CTAN:macros/latex/contrib/other/seminar</tt>) </item> <item><em/foiltex/ (<tt>CTAN:macros/latex/contrib/supported/foiltex</tt>).</item> </itemize> <sect2>Haciendo una presentación con &latex; <!-- ......................................... --> <p> También es posible generar directamente las transparencias en formato <em/.pdf/ <ref id="formato-pdf" name="¿Qué es el formato pdf?"> utilizando los paquetes <em/pdfslide/ (<tt>CTAN:macros/latex/contrib/supported/pdfslide</tt>) y <em/pdfscreen/ (<tt>CTAN:macros/latex/contrib/supported/pdfscreen</tt>), quedando las presentaciones preparadas para ser proyectadas desde un ordenador. <!-- <htmlurl url="http://river-valley.com/download/" name="http://river-valley.com/download/"--> Otra alternativa consiste en utilizar la clase de documento <em/foils/ (parte de <em/foiltex/) y <em/pdflatex/, utilizando posteriormente el postprocesador <em/ppower4/ (<htmlurl url="http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/index.html" name="http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/index.html" >) para tratar el archivo <em/pdf/ obtenido. Un ejemplo de presentación realizada con este sistema es la de Luis Seidel al EGUTH99, disponible en <htmlurl url="ftp://tex.unirioja.es/pub/tex/EGUTH99/texweb" name="ftp://tex.unirioja.es/pub/tex/EGUTH99/texweb"> <sect3> beamer <p> Una opción que se está haciendo muy popular es la clase <em/beamer/, disponible en <htmlurl url="http://latex-beamer.sourceforge.net/" name="http://latex-beamer.sourceforge.net/">. Aparte del propio manual puede encontrarse una guía rápida en <htmlurl url="http://www.geocities.com/kijoo2000/beamer.html" name="http://www.geocities.com/kijoo2000/beamer.html">. <p> Con <em/beamer/ se distribuye otro paquete independiente para la inclusión de objetos multimedia en los documentos PDF creados mediante pdftex. <p> Únicamente se requiere en el preámbulo: <tscreen><verb> \usepackage{multimedia} </verb></tscreen> y la inclusión (pero no la incrustación) de ficheros de vídeo AVI o QuickTime es tan fácil como: <tscreen><verb> \movie[width=60mm,height=45mm,borderwidth=0.5mm]{Título}}{fichero.avi}\\ \movie[width=60mm,height=45mm,poster,showcontrols]{}{fichero.mov}\\ </verb></tscreen> así como para audio (estos sí que pueden ser incrustables): <tscreen><verb> \sound[inlinesound,samplingrate=22050,encoding=muLaw,bitspersample=8, channels=2,label=misonido]{}{fichero.au}\\ \hyperlinksound[]{misonido}{\includegraphics[width=10mm]{inicio.png}} \hyperlinkmute{\includegraphics[width=10mm]{paro.png}}\\ </verb></tscreen> <sect2>Más información sobre presentaciones <!-- ......................................... --> <p> La página web <htmlurl url="http://www.math.uakron.edu/~dpstory/pdf_demos.html" name="http://www.math.uakron.edu/~dpstory/pdf_demos.html"> enumera una serie de macros de &latex; y otros programas utilizados para hacer presentaciones tipo PowerPoint. <p> Otra fuente de información acerca de las posibilidades de presentaciones basadas en &tex; y <em/PDF/, es la página <htmlurl url="http://www.cds.caltech.edu/caltex/2000/" name="http://www.cds.caltech.edu/caltex/2000/"> de Ross Moore, que incluye fuentes de documentos, ejemplos,enlaces,... <p> Otra interesante página es <htmlurl url="http://www.miwie.org/presentations/" name="http://www.miwie.org/presentations/">, de Michael Wiedmann, que contiene una enumeración de distintos sistemas y se ejemplos de cada uno. No sólo cubre la presentación en PDF, sino también en HTML y otros formatos. Para cada solución, muestra un ejemplo, pros y contras. <p> Para presentaciones en póster véase la sección <ref id="posters" name="pósters">. <sect1>Algunas cosas que a veces se piden para mandar un documento a la imprenta. <!-- =========================================================================--> <p> La forma en que se debe mandar un documento a la imprenta no es única, sino que depende del tipo de proceso de impresión por el que vaya a pasar el documento. En buena parte de los casos debiera bastar con enviar un archivo postscript normal con el documento. Sin embargo, a veces se pide el documento con características especiales como las que a continuación se tratan, <sect2>Sacando la imagen especular de un archivo (es decir, con todo al revés). <!-- .................................................................... --> <p> Con &latex; puede hacerse utilizando el paquete <em/crop/, en la forma <tscreen><verb> \usepackage[mirror]{crop} </verb></tscreen> La reflexión especular se puede hacer directamente en el postscript, en las tres formas siguientes (si se tiene una distribución completa y actual como te&tex;) <tscreen><verb> dvips <archivo dvi> -h mirr.hd dvips <archivo dvi> -Pmirr dvips <archivo dvi> -Pmirrorprint </verb></tscreen> Realmente las dos primeras son la misma, pero llamadas de distinta forma (<tt/config.mirr/ llama a <tt/mirr.hd/). <em/crop/ y <tt/mirr.hd/ están disponible en muchas distribuciones y además pueden encontrarse en <tt>CTAN:macros/latex/contrib/supported/crop/</tt> y <tt>CTAN:macros/generic/TeX-PS/mirr.hd</tt> <sect2>Sacando el archivo en negativo (es decir, blanco sobre negro). <!-- ............................................................ --> <p> Para sacar el archivo en negativo puede utilizarse el paquete crop, cargándolo como <tscreen><verb> \usepackage[invert]{crop} </verb></tscreen> <sect2> Marcas de corte. <!-- ............................................................ --> <p> Para hacer los cortes, o marcas de corte (las líneas que señalan por donde deberá cortar la guillotina) puede utilizarse el paquete <em/crop/ al que se acaba de hacer referencia. Dentro de las <em/midnight macros/ (disponibles en <tt>CTAN:macros/generic/midnight</tt> se puede utilizar <em/quire/ que también permite hacer marcas de corte. <sect1> Algunas cuestiones adicionales, o menos FAQ <!-- ========================================================================--> <p> <descrip> <tag/¿Cómo evito que se pegue el texto después de una orden?/ Es decir, como evitar que si se escribe algo como <tt>\LaTeX es ...</tt> aparezca como <tt/LaTeXes .../ con el texto pegado. Para ello hay varias formas, algunas más elegantes que otras. Las más sencillas son escribirlo bien como <tt>\LaTeX{} es ...</tt> o como <tt>\LaTeX\ es ...</tt>. Sin embargo esto no resulta demasiado elegante, aunque es inevitable cuando se utiliza con órdenes predefinidas. Cuando estas órdenes están definidas por el autor del documento, resulta muy cómodo utilizar el paquete <em/xspace/, parte de las herramientas básicas de &latexe;. La forma de uso es simple, debe incluirse en el preámbulo del documento la llamada al paquete, <tt>\usepackage{xspace}</tt> y al definir la orden se hace como <tscreen><verb> \newcommand{\mycommand}{palabra\xspace} </verb></tscreen> De este modo cualquier llamada a <tt>\mycommand</tt> incluirá el espacio en blanco si es necesario, y no lo hará si no es necesario. <!-- ***--> <tag/¿Es posible poner en el margen derecho o izquierdo una imágen?/ Para colocar una figura en el margen: <tscreen><verb> \marginpar{\includegraphics{icono}} </verb></tscreen> <!-- ****** Notas a pie de página *******--> <tag/¿Puedo hacer referencias cruzadas a notas a pie de página, incluso desde otras notas a pie de página?/ Perfectamente, con <tt>\label</tt> puesto dentro de la nota al pie <tt>(\footnote{\label{f1}Texto}</tt> y <tt>\ref</tt> puesto en su lugar (<tt>\footnote</tt>{Esta nota hace referencia a la nota <tt>\ref{f1}</tt> de la página <tt>\pageref{f1}})</tt>. Mediante <tt>\label</tt> se establece la referencia al último contador incrementado, en este caso el de las notas al pie. Naturalmente, hasta que no esté la segunda nota, con su <tt>\label</tt> correspondiente, el <tt>\ref</tt> que se ha puesto en la primera no tendrá valor asignado, y al componer el texto parcial, en lugar del número de la nota aparecerán los típicos símbolos de interrogación de cerrar. <!-- ***--> <tag/¿Puedo acumular las notas a pie de página al final del capítulo?/ Sí, utilizando el paquete <em/endnotes/. <!-- ***--> <tag/¿Cómo conseguir que la llamada a la nota de pie de página no sea un número, sino una letra?/ Por ejemplo con <tscreen><verb> \renewcommand{\thefootnote}{\itshape\alph{footnote}} </verb></tscreen> (Las llamadas con letras deben ser con cursiva, y se suelen reservar para cuadros y similares.) <!-- ***--> <tag/¿Puedo escribir notas a pie de página en el margen?/ <tscreen><verb> \marginpar{\footnotemark}\footnotetext{Texto de la nota} </verb></tscreen> <!-- ***--> <tag/¿Puedo escribir notas a pie de página en los títulos de sección?/ Sí, pero <tt>\footnote</tt> debe ser protegido como <tt>\protect\footnote</tt>. Ésto tiene un problema adicional, saldrá el símbolo de la nota a pie de página en la tabla de materias. El paquete <em/footmisc/ con la opción <tt/stable/ permite hacerlo de una forma más adecuada. <tag/¿Puedo tener más control sobre la posición de las notas a pie de página?/ El paquete <em/yafoot/ permite un mayor control soble las notas a pie de página, mediante tres ficheros de estilo, <tt/pfnote.sty/ para confinar las notas a pie en una página, <tt/fnopos.sty/ para controlar su posición y <tt/dblfnote/ para hacerlas a doble columna. <!-- *** Fin notas a pie de página *** --> <!-- ****** Otras *******--> <tag/¿Cómo saco un listado bonito de un programa en un documento &latex;?/ Más bonito que utilizar verbatim queda con cualquiera de los paquetes <em>listings</em>, <em>lgrind</em> o <em>fancyvrb</em> <!-- ****** Algunos simbolillos --> <!-- ***--> <!-- ++++++++++++++ *** Otras de tablas y figuras *** +++++++++++++++++++ --> <tag/¿Cómo colorear texto en &latex;?/ Algunos ejemplillos para empezar a colorear texto <tscreen><verb> ... \usepackage{color} ... \begin{document} ... \textcolor[rgb]{1,0,0}{soy un texto que quedara en color rojo} \textcolor[rgb]{1,1,0}{yo soy un texto en amarillo} \textcolor[rgb]{0,0,1}{hola, soy azul} \textcolor[rgb]{0,1,1}{soy azul celeste} \textcolor[rgb]{1,0,1}{yo soy rosa} \textcolor[rgb]{0,1,0}{yo verde claro} \textcolor[rgb]{0.5,0,0}{marron} \textcolor[rgb]{0,0.5,0.5}{azul verdoso} \textcolor[rgb]{1,1,1}{soy blanco} </verb></tscreen> etc, etc, etc... <p> <tt/rgb/ significa <em/red/ <em/green/ <em/blue/ y corresponde a una forma de especificar el color. El numero entre corchetes indica cuánto (R)ed, (G)reen, y (B)lue corresponde al color del texto. Existen otras maneras más complicadas pero ésta está bien para empezar. <tag/¿Cómo colorear celdas en &latex;?/ Utilizando el paquete <em/colortbl/ (junto con el paquete <em/graphicx/) <!-- package for the gray levels); read the documentations. --> Algo como <tscreen><verb> \multicolumn{1}{>{\columncolor[gray]{0.8}}c}{text} </verb></tscreen> debe colorear una celda. <!-- ***--> <tag/¿Cómo centrar elementos más grandes que el ancho de línea?/ Por ejemplo, para una figura puede hacerse de la forma siguiente: <tscreen><verb> \begin{center} \makebox[0cm][c]{\includegraphics{tufigura.eps}} \end{center} </verb></tscreen> o en general, <tscreen><verb> \begin{center} \makebox[0cm][c]{ Material tabular, o cualquier otra cosa. } \end{center} </verb></tscreen> Si se desea usar el entorno <em/table/, para poder poner el correspondiente <tt>\caption</tt>, la cosa se complica un poco ya que <tt/\makebox/ no admite un entorno flotante como <em/table/ en su interior: <tscreen><verb> \begin{center} \begin{table} \centering\makebox[0cm[c]{ \begin{tabular}{|c|c|} ...... .... \end{tabular} } \caption{Texto} \end{table} \end{center} </verb></tscreen> También puede colocarse un pie dentro del <tt/\makebox/, pero se necesita un poco más de trabajo (Véase "¿Puedo poner un pie en tablas y figuras que no flotan?") <!-- ***--> <tag/¿Cómo obtener el tamaño de una tabla?/ Una posibilidad consiste en fabricar la tabla dentro de un <tt/savebox/ con el entorno <tt/lrbox/ y luego medirlo con <tt/\widthof/, etc. del paquete <em/calc/. Si se usa <em/longtable/, este procedimiento no funciona, ya que se extiende por varias páginas. Sin embargo <em/longtable/ precisamente escribe la longitud de cada fila de la tabla en el fichero <tt/.aux/, por lo que se podría recuperar desde allí. En concreto, <em/longtable/ escribe la definición de una macro <tt/\LT@<num>/, donde <tt/<num>/ es un número de orden correlativo de cada entorno <em/longtable/ (en romano y en minúsculas) que contiene las longitudes de cada columna. <!-- ***--> <tag/¿Cómo cambiar el grosor que tienen definido por omisión las líneas que separan las columnas y filas dentro de tablas?/ Por ejemplo con <tt>renewcommand{\arrayrulewidth}{1.1pt}</tt> <!-- ***--> <tag/¿Puedo hacer que una celda de una tabla esté dividida en dos por una diagonal?/ Puede utilizarse el paquete <em/slashbox/, disponible en <tt>CTAN:macros/latex/contrib/other/slashbox</tt> <!-- *****************+ Fin tablas y figuras +*********************** --> <!-- ***--> <tag/¿Cómo añadir al texto el número de página actual?/ En principio, podría pensarse que bastaría con usar la orden <tt>\thepage</tt>. Sin embargo, debido a cómo &tex; va componiendo los párrafos el resultado puede ser incorrecto, ya que primero ejecuta todas las macros según va componiendo el párrafo y hasta que no está terminado no decide en que página van sus líneas. Si el párrafo ocupa dos páginas, es muy probable que la página sea incorrecta. <p> Para sincronizar correctamente la página con su número hay que usar algún mecanismo que sí permita conocer la página correcta, como el de las referencias con <tt>\label</tt> y <tt>\pageref</tt>. El siguiente código es una modificación de uno incluido en el <em/&latex; Companion/: <tscreen><verb> \usepackage{ifthen} \newcounter{pl} \newcommand\pcheck{% \stepcounter{pl}% \label{pl-\thepl}% \ifthenelse{\isodd{\pageref{pl-\thepl}}}{impar}{par}} \begin{document} Esta página es \pcheck. \newpage Esta página es \pcheck. \end{document} </verb></tscreen> <!-- ***--> <tag/¿Cómo saber el número de páginas de un documento para utilizarlo en el mismo?/ El paquete <em/lastpage/ lo resuelve de forma adecuada (necesitará un par de compilaciones). Mediante su uso pueden construirse expresiones del tipo página 1 de 10 (con página <tt>\thepage{}</tt> de <tt>\pageref{LastPage}</tt>). <!-- ***--> <tag/¿Cómo evitar que una <tt/url/ muy larga se me desborde por la derecha?/ Utilizando el paquete <em/url/. Está pensado precisamente para eso, para dividir los <tt/url/s por puntos adecuados que no afecten a su legibilidad, como por ejemplo en las barras separadoras de directorio. <!-- ***--> <tag/¿Como se escribe parte de un texto a 2 columnas?/ Por ejemplo, utilizando el paquete <em/multicol/. <!-- ***--> <tag/¿Como hacer que la clase report comience índice y capítulos en páginas impares?/ Con la opción <tt/openright/. Por ejemplo <tscreen><verb> \documentclass[12pt,a4paper,openright]{report} </verb></tscreen> <!-- ***--> <tag/¿Cómo hacer buen postscript o pdf?/ Puede utilizarse <em/testflow/. Es un paquete de diagnósticos que da bastante información útil para producir buen postscript y/o pdf en un sistema &tex;. Se encuentra disponible en <tt>CTAN::/macros/latex/contrib/supported/IEEEtran/testflow</tt> </descrip> <sect1>¿He encontrado un error en &latex; ¿Cómo lo notifico? <!-- ====================================================--> <p> Para notificar errores o problemas se escribe <tt/latex latexbug/ y se envía el informe así generado a <tt/latex-bugs _AT_ rus.uni-stuttgart.de/. Se recomienda previamente leerse las distintas FAQ y pedir ayuda en los distintos foros acerca del problema, y sólo entonces, cuando se esté seguro que el problema es de &latexe; mandar el informe de error. <!-- ********************************************************* --> <sect>¿Por qué no consigo ...? <!-- ********************************************************* --> <sect1>¿Por qué no salen las imágenes en mi documento? <!-- ........................................................... --> <p> La misión de TeX/LaTeX no es entender de gráficos. Así que cuando se encuentra con uno, este simplemente deja el hueco apropiado, da una indicación del gráfico que hay que insertar (usando un comando <tt>\special</tt>) y continua procesando el documento. <p> No todos los conversores soportan todos los formatos gráficos, en el caso de un formato incompatible, el conversor deja el hueco y no representa el gráfico. Es conocido que los visualizadores de <em/DVI/ en pantalla no suelen representar bien todos los gráficos <em/PS/. <p> Para solucionar esto, use otro conversor que si soporte dichos gráficos (por ejemplo use dvips y visualice con gs) <p> Véanse <ref id="special" name="¿Qué son los \special?">, <ref id="conversores" name="¿Qué es un conversor (driver)?">, <ref id="tex-dibujos" name="Introduciendo figuras en &latex;"> para más información. <sect1>¿Por qué no salen los caracteres acentuados si yo los escribo bien? <!-- ........................................................... --> <p> En primer lugar debe echarse un vistazo a sección <ref id="acentos" name="¿cómo puedo escribir los acentos y demás caracteres extendidos?">. <p> Cuando la entrada de caracteres mediante <tt/inputenc/ no funciona, especialmente en un sistema <em/Linux/, suele ser debido a que por omisión en algunos sistemas <em/Linux/, el fichero se guarda como <tt/utf-8/, por lo que deben seguirse las instrucciones para <tt/utf-8/ que allí se detallan. Un síntoma habitual es que saque <tt/à/ y otros caracteres acentuados como <tt/A/ con <tt/~/ seguida de otro caracter extraño. <p> Otras posibilidades serían cambiar la codificación del fichero con una herramienta como <em/recode/ o <em/iconv/ antes de procesarlo con &latex; o, si se guarda por omisión como <tt/utf-8/, decirle explícitamente si es posible, al editor, la codificación en debe leer y guardar el fichero en cuestión. Por ejemplo, para <em/{x}emacs/, una primera línea con <tt/% -*- coding: iso-8859-1 -*-/ haría que el fichero se leyera y guardara siempre como <tt/latin1/. Para otros editores debe consultarse la documentación para saber si es posible y cómo. <sect1>¿Por qué no encuentro el archivo babelbst.tex cuando uso <em/custom-bib/? <!-- ........................................................... --> <p> La intención del autor del paquete era que las lenguas de <em/babel/ proporcionaran ese archivo, de ahí su nombre. Sin embargo, en la práctica pocas lenguas lo proporcionan, aunque entre ellas está spanish. El archivo <em/esbst.tex/ fue pensado para que se pueda utilizar como el <em/babelbst.tex/ que esperan los estilos creados (Véase <ref id="custombib" name="BibTeX en castellano, custom-bib">). <sect1>¿Por qué a veces no me da el mismo resultado o incluso errores al procesar un documento en dos sistemas distintos? <!-- ........................................................... --> <p> O dicho con otras palabras, ¿no se supone que una de las bondades de &latex; es que el fuente es portable al igual que el dvi? <p> La respuesta es que lo anterior es cierto, pero con matices. Lo que es portable y universal es el lenguaje &tex;. Sus comandos <em/primitivos/ (los que &tex; tiene definidos intrínsecamente) son utilizables en cualquier máquina. No obstante, como escribir documentos a base de <em/primitivas/ puede resultar extremadamente engorroso, &latex; define otro conjunto de comandos más amigable, para las tareas más habituales. Algunos de éstos están en el cuerpo de &latex; y otros en paquetes adicionales -- véase <ref id="paquetes-latex" name="paquetes en &latex;">. <p> De este modo, para que un documento sea portable y universal, no basta con que &tex; esté instalado en ambas máquinas. Debe tenerse además el conjunto de macros &latex; (y a ser posible en la misma versión), y el conjunto de todos los paquetes que el documento use (también a ser posible en la misma versión). Si las versiones no coinciden pueden producirse efectos secundarios indeseados, aunque esto, por suerte, no es muy frecuente, pues salvo algunas excepciones (<em/babel/, la más notable) los paquetes intentan mantener la "compatibilidad hacia atrás" (es decir, que las nuevas versiones se comporten de la misma forma que lo hacían las antiguas). <!-- ********************************************************* --> <sect>Preguntas que se van quedando obsoletas <!-- ********************************************************* --> <sect1>¿Qué es <tt/FTC/? <!-- ........................................................... --> <p> <tt/FTC/ es un filtro que genera las particiones para el castellano. Además, simplifica enormemente la introducción de acentos. Está descrito en: <tscreen><verb> @ARTICLE(pepe:wds ,AUTHOR= "Jos{\'e} A. Ma{\~n}as" ,TITLE= "{Word Division in Spanish}" ,JOURNAL= "Comm. ACM" ,YEAR= 1987 ,volume= 30 ,number= 7 ,pages= "612--616" ,month= "July" ) </verb></tscreen> Puede conseguirse en: <tscreen> <htmlurl url="ftp://ftp.dit.upm.es/pub/pepe/ftc" name="ftp://ftp.dit.upm.es/pub/pepe/ftc"> </tscreen> <sect1>¿Qué es ML-&tex;? <!-- ================================= --> <p> ML-&tex; es un conjunto de parches para el WEB de &tex; (hubo también versiones para &tex; 2.X) que permiten manejar realmente 256 caracteres internamente y, mediante el primitivo <tt>\charsubdef</tt>, reconstruir esos caracteres mediante combinaciones de otros. Knuth copió masivamente de ML-&tex; para el &tex; 3.X y <tt/spanish.sty/ usa ideas sacadas de ahí. ML-&tex; es la mejor solución, si no se dispone de fuentes extendidas. &tex; 3.X incorpora muchas de las ideas de Ferguson, pero no todas. Los parches para ML-&tex; con &tex; 3.0 son mucho más pequeños que los antiguos. <p> Si somos usuarios de DOS, <em/em&tex;/ incorpora ya ML-&tex; sin más que usar <tt/-ml/ en la línea de comando al crear el formato. <p> Si somos usuarios de UNIX, es muy posible que tengamos compilador de C (al menos GCC) y podemos aplicar los cambios nosotros mismos con el <em/web2c/ de Karl Berry. <!-- ********************************************************* --> <sect>Información sobre &latex; en castellano <!-- ********************************************************* --> <sect1>El Grupo de Usuarios de &tex; Hispanohablantes (Cervan&tex;) <!-- ========================================================== --> <sect2>¿Qué es Cervan&tex;? <p> Cervan&tex; es el grupo de usuarios de &tex; hispanohablantes, y forma parte de los grupos locales asociados al <em/&tex; User Group/. <p> La asociación Cervan&tex; busca intercambiar experiencias sobre &tex; y sobre sus aplicaciones, y promoverlo de forma adecuada en el ámbito hispanohablante. <p> Estos fines se desarrollan mediante la discusión y la colaboración en el desarrollo de aplicaciones de &tex; y programas asociados; la promoción y el fomento de publicaciones relacionadas con &tex;; la organización de cursos, congresos y seminarios; y la colaboración e intercambio con todo tipo de sociedades, instituciones y editoriales científicas. <sect2>¿Cómo puedo entrar en contacto con el grupo de usuarios? <!-- ...................................................... --> <p> En este momento la Junta Directiva de <em/Cervan&tex;/ está formada por <tscreen><verb> PRESIDENTE: Juan Luis Varona presidente@cervantex.org SECRETARIO: Roberto Herrero secretario@cervantex.org TESORERO: Enrique Meléndez tesorero@cervantex.org VOCALES: Luis Sanjuán y Javier Bezos </verb></tscreen> La página WWW del grupo Cervan&tex; se encuentra en: <quote> <htmlurl url="http://www.cervantex.org" name="http://www.cervantex.org"> </quote> con información más específica sobre las actividades del grupo en <quote> <htmlurl url="http://www.cervantex.org/actividades.php" name="http://www.cervantex.org/actividades.php" > </quote> La dirección postal del grupo es <tscreen><verb> CervanTeX Apartado de correos 60118 AP E-28080 Madrid España </verb></tscreen> <sect1>La lista <tt/es-tex/ <label id="lista-estex"> <!-- ================================= --> <p> <sect2>¿Cómo funciona la lista <tt/es-tex/? <!-- ....................................... --> <p> La lista <tt/es-tex/ es el foro principal de discusión en este idioma. Se trata de una lista cerrada, por lo que es necesario suscribirse a la misma para enviar y recibir mensajes. Aunque es independiente del grupo Cervan&tex;, gran parte de los suscriptores de la lista son miembros del grupo y viceversa. Cervan&tex; recomienda a todas las personas interesadas en &tex; en español la suscripción a esta lista. <p> <itemize> <item> Para suscribirse, debe enviarse un mensaje a <tt/LISTSERV@LISTSERV.REDIRIS.ES/ que tenga en el cuerpo del mismo <quote> <tt/subscribe ES-TEX/ </quote> <item> Para enviar un mensaje a la lista una vez suscrito: <tscreen><verb> mail ES-TEX@LISTSERV.REDIRIS.ES </verb></tscreen> <item> Es muy recomendable que los principiantes con las Listas de Distribución lean el documento sobre <em/Correcto Uso de las Listas de Distribución/ que se encuentra en: <quote> <htmlurl url="http://www.rediris.es/list/list-moral.html" name="http://www.rediris.es/list/list-moral.html">. </quote> y no está de más la lectura del documento <em/Cómo hacer preguntas de manera inteligente/, disponible en <quote> <htmlurl url="http://www.sindominio.net/ayuda/preguntas-inteligentes.html" name="http://www.sindominio.net/ayuda/preguntas-inteligentes.html"> <p> <htmlurl url="http://www.catb.org/~esr/faqs/smart-questions.html" name="http://www.catb.org/~esr/faqs/smart-questions.html">. </quote> Para darse de baja de la lista <em/ES-TEX/ debe enviarse a <tt/LISTSERV@LISTSERV.REDIRIS.ES/ un mensaje que contenga en el cuerpo <tscreen><verb> unsubscribe ES-TEX </verb></tscreen> <!-- Para cambiar la dirección de correo-e suscrita a la lista debe enviarse a <tt/LISTSERV@LISTSERV.REDIRIS.ES/ un mensaje que contenga en el cuerpo <tscreen><verb> change ES-TEX direccion_antigua </verb></tscreen> desde la dirección nueva. --> Existen otras muchas opciones, para obtener un listado de las mismas debe enviarse a <tt/LISTSERV@LISTSERV.REDIRIS.ES/ un mensaje que contenga en el cuerpo <tscreen><verb> HELP </verb></tscreen> siendo especialmente interesantes las opciones <em/(NO)MAIL/, que regula si se recibe un mensaje por cada contribución a <em/ES-TEX/, <em/(NO)REPRO/ que regula si se reciben los mensajes enviados por uno mismo y <em/(NO)ACK/ que regula si se recibe confirmación de distribución. Para todas ellas se envía un mensaje que contenga en el cuerpo <tt/set ES-TEX opcion/, por ejemplo <tscreen><verb> set ES-TEX ACK set ES-TEX NOACK </verb></tscreen> Para obtener información sobre el uso de las listas de RedIris también puede visitarse la página <htmlurl url="http://www.rediris.es/list/utilizacion.es.html" name="http://www.rediris.es/list/utilizacion.es.html"> o sobre listserv en general (en inglés) <htmlurl url="http://www.rediris.es/list/doc/user.html" name="http://www.rediris.es/list/doc/user.html"> o ver la guía de referencia (también en inglés) <htmlurl url="http://www.rediris.es/list/comandos/info-refcard.html" name="http://www.rediris.es/list/comandos/info-refcard.html"> <p> Por favor, NO mandar peticiones de suscripción o des-suscripción a la propia lista (<tt/es-tex/). </itemize> <!-- ........................................................... --> <sect2>Cuando contesto a alguien de la lista, ¿quién recibe la respuesta? ¿El que mandó el mensaje o la lista entera? <!-- .................................................................--> <p> Por omisión, se contesta a la lista entera, salvo que el remitente incluya un campo <tt/Reply-To/ explícito. <!-- ........................................................... --> <sect2>¿Se archiva en algún sitio la lista <tt/es-tex/? <!-- ........................................................... --> <p> Sí, en <htmlurl url=" http://listserv.rediris.es/archives/es-tex.html" name=" http://listserv.rediris.es/archives/es-tex.html"> <!-- ........................................................... --> <sect2>Recibo correo de muchas listas. ¿Cómo puedo filtrar lo que venga de la lista <tt/es-tex/? <!-- ........................................................... --> <p> Todo lo que viene de <tt/es-tex/ tiene actualmente un campo de la forma: <tscreen><verb> Sender: Usuarios hispanohablantes de TeX <ES-TEX@LISTSERV.REDIRIS.ES> </verb></tscreen> Si utilizamos un filtro llamado <em/procmail/ (es software libre), podemos poner las siguientes tres líneas en el archivo de configuración <tt/.procmailrc/: <tscreen><verb> :0 * ^Sender:.*<ES-TEX@LISTSERV.REDIRIS.ES> spanish-tex </verb></tscreen> y todo lo que venga de <em/es-tex/ se irá solito al archivo <tt/spanish-tex/. <p> Es posible que algunos clientes de correo que permitan filtrado de los mensajes a partir de sus cabeceras puedan intentar verificar si el campo <em/Sender/ contiene <tt><ES-TEX@LISTSERV.REDIRIS.ES></tt> o algo parecido, pero eso debe comprobarse en cada caso. <!-- ........................................................... --> <sect2>¿Cómo es que hay tanta gente de fuera de España en la lista? <!-- ........................................................... --> <p> El tema previsto de esta lista era el uso de &tex; para la producción de documentos en castellano, no para discutir en castellano acerca de &tex; ni el uso de &tex; en España. Esto no es rígido, pero no pretende ser una lista española. No se excluyen tampoco discusiones acerca de las otras lenguas españolas (catalán, euskera, gallego, inglés, :-) pero gran parte de la audiencia no estará interesada. <sect1>Las listas <tt/spanish-tex/ y <tt/sptex/ <!-- ================================= --> <p> <em/ATENCIÓN/. Las listas <em/spanish-tex/ y <em/sptex/ están obsoletas. En su lugar debe utilizarse la lista <em/es-tex/. Véase <ref id="lista-estex" name="lista es-tex">. <sect2>¿Se archiva en algún sitio la lista <tt/spanish-tex/? <!-- ................................................... --> <p> Antiguamente, en la siguiente dirección se archivaban los mensajes de la lista <tt/spanish-tex/ <quote> <htmlurl url="http://majordomo.eunet.es/listserv/spanish-tex/" name="http://majordomo.eunet.es/listserv/spanish-tex/"> </quote> junto con las instrucciones de acceso a la lista. Sin embargo, hace tiempo que no está operativa. <sect2>¿Se archiva en algún sitio la lista <tt/sptex/? <!-- ........................................................ --> <p> Sí, en <htmlurl url="http://www2.cica.es/ListasD/sptex/" name="http://www2.cica.es/ListasD/sptex/">, al menos temporalmente. <sect1>El grupo de noticias <tt/es.comp.lenguajes.tex/ <!-- ============================================= --> <p> Una fuente de información alternativa es el grupo de noticias <htmlurl url="es.comp.lenguajes.tex" name="es.comp.lenguajes.tex">, aunque tiene bastante menos tráfico que la lista de correo. Este es el grupo de noticias principal sobre &tex; en español. <sect1>El grupo de noticias <tt/es.eunet.spanish-tex/ <!-- ============================================ --> <p> Antes existía una pasarela (<em/gateway/) entre la lista y el grupo de noticias <tt/es.eunet.spanish-tex/, pero actualmente no funciona. Además este grupo ya no es de acceso general, sino que es propio de la red <tt/eunet/. <!-- ********************************************************* --> <sect> Meta-preguntas (preguntas sobre esta FAQ): <!-- ********************************************************* --> <sect1> ¿Cuál es la historia de esta FAQ? <!-- ================================= --> <p> La primera versión de esta FAQ se la debemos a Julio Sánchez que recopiló preguntas y respuestas a partir de las discusiones habidas en la lista <tt/spanish-tex/. <p> Posteriormente Santiago Vila <tt/(sanvila _AT_ unex.es)/ se hizo cargo de la FAQ, añadiendo más preguntas y pasándola a <em/texinfo/. <p> Más recientemente, Agustín Martín <tt/(agustin.martin _AT_ hispalinux.es)/ se ha hecho cargo de ella en el 99 y la ha pasado a SGML, con la misma intención con la que Santiago la pasó a texinfo, extraer de forma sencilla versiones en distintos formatos. <p> Esta lista de preguntas y respuestas está muy verde, y actualmente sigue siendo algo caótica. Se ruega algo de <em>intolerancia activa</em>, es decir, siempre que se vea algo mal, comuníquese al coordinador de la FAQ. Se aceptan cambios, correcciones (incluso ortográficas o de estilo), adiciones, etc. Ni Julio Sánchez ni Santiago Vila se hacen cargo en este momento de la FAQ, así que por favor no le mandéis las preguntas a ellos, sino a la persona que en este momento se hace cargo de la FAQ. <sect1>¿Quién coordina actualmente la FAQ? <!-- ================================= --> <p> El coordinador actual y a quien deben enviarse las sugerencias acerca de esta FAQ es: Agustín Martín Domingo, <tt/agustin.martin _AT_ hispalinux.es/ <p> Se ruega especificar en la cabecera del mensaje FAQ-CervanTeX. Por favor, para dudas generales dirigirse a la lista de correo o al foro de noticias. Utilizar esta dirección exclusivamente para asuntos relacionados con la FAQ. <sect1>Agradecimientos <!-- ================================= --> <p> Para hacer esta FAQ se han utilizado, además de los originales de Julio Sánchez y Santiago Vila las FAQ del grupo de noticias <tt/comp.text.tex/ y la <em/New &tex; FAQ/, versión de la anterior realizada por el grupo de usuarios de &tex; del Reino Unido. La versión <em/html/ de esta FAQ con un buscador CGI (<htmlurl name="http://www.tex.ac.uk/cgi-bin/texfaq2html" url="http://www.tex.ac.uk/cgi-bin/texfaq2html">) también ha sido de gran ayuda. Asimismo se han utilizado multitud de mensajes de las listas de correo y grupos de noticias relacionados con &tex; a cuyos autores agradezco sus ideas y contribuciones. <p> Fernando M. Fournon González Barcia <tt/(furny _AT_ wd.estec.nl)/ y Jesús M. González Barahona <tt/(jgb _AT_ gsyc.inf.uc3m.es)/ han proporcionado las citas de las publicaciones de la Real Academia y del diccionario de María Moliner. La sección acerca de las funciones matemáticas en castellano se la debemos a Juan Luis Varona <tt/(jvarona _AT_ dmc.unirioja.es)/ y las de postscript y PDF a Enrique Melendez Asensio <!-- <ema _AT_ csn.es> -->. Además se han tomado muchos elementos (buena parte de las secciones de libros en inglés y de ventajas y desventajas de &latex;) de las página sobre &latex; de Antonio González, de la Universidad de Sevilla (<htmlurl url="http://www.esi.us.es/~gonfer/tex.html" name="http://www.esi.us.es/~gonfer/tex.html">) y otros cuantos de la página de Martín Pavón (<htmlurl url="http://mate.dm.uba.ar/~mpavon/tex.html" name="http://mate.dm.uba.ar/~mpavon/tex.html">) <sect1>¿Dónde encuentro la versión más reciente de esta FAQ? <!-- =============================================== --> <p> La versión más reciente de esta FAQ está disponible en el directorio <quote> <htmlurl url="http://corbu.aq.upm.es/~agmartin/latex/FAQ-CervanTeX/" name="http://corbu.aq.upm.es/~agmartin/latex/FAQ-CervanTeX/"> </quote> en una amplia variedad de formatos. Se puede acceder a través de la página <quote> <htmlurl url="http://corbu.aq.upm.es/~agmartin/latex/FAQ-CervanTeX-main.html" name="http://corbu.aq.upm.es/~agmartin/latex/FAQ-CervanTeX-main.html"> </quote> <sect1>¿Dónde puedo encontrar otras FAQ, aunque sea en otros idiomas? <!-- ======================================================== --> <p> Además de la FAQ en castellano existen FAQ en otros idiomas que, si se salva la barrera del lenguaje pueden ser de utilidad adicional. Sin duda en ellas existen elementos que podrían entrar bien en esta FAQ, así que todo aquel que vea una pregunta de gran interés que está en una de ellas y no en la FAQ en castellano está invitado a traducirla y enviársela al responsable de esta FAQ. Las FAQ en otros idiomas más interesantes son las siguientes <itemize> <item> El grupo de usuarios de &tex;/&latex; del Reino Unido mantiene una excelente FAQ en inglés que puede encontrarse en <em/CTAN/ en el directorio <tt>CTAN:usergrps/uktug/faq</tt>. La página web de la UK-FAQ <htmlurl name="http://www.tex.ac.uk/cgi-bin/texfaq2html" url="http://www.tex.ac.uk/cgi-bin/texfaq2html"> tiene además un buscador CGI para facilitar las consultas. Existe una muy interesante FAQ visual, es decir, un documento donde aparecen destacado ciertos elementos con hiperenlaces a la FAQ inglesa. Realmente merece la pena echarle un vistazo. Se encuentra en <htmlurl name="http://www.ctan.org/tex-archive/info/visualFAQ/visualFAQ.pdf" url="http://www.ctan.org/tex-archive/info/visualFAQ/visualFAQ.pdf"> </item> <item> Asimismo, el grupo alemán <em/DANTE/ de usuarios de &tex;/&latex; mantiene su FAQ (en alemán) que puede encontrarse en el <em/CTAN/ en el directorio <tt>CTAN:help/de-tex-faq</tt>. </item> <item> Aunque congelada desde hace algún tiempo, existe una FAQ en francés en <tt>CTAN:help/LaTeX-FAQ-francaise</tt> </item> </itemize> <!-- <sect1>¿Por qué la versión original de este documento está escrito con SGML y no &latex;? <p> Fundamentalmente, porque permitiendo también escribir documentación estructurada, SGML está especialmente pensado para ser convertido a muchos formatos, y prefiero sacrificar el aspecto final en aras de una más fácil conversión. --> </article> <!-- Local Variables: mode: sgml ispell-local-dictionary: "castellano8" coding: iso-8859-1 sgml-indent-data: t sgml-indent-step: 2 End: --> <!-- LocalWords: Donald Knuth WYSIWYG WEB plain METAFONT Public License CTAN LocalWords: Copyleft Leslie Lamport AMS Michael Spivak Sánchez Sevilla LocalWords: Addison Wesley postscript dviwin yap winview Kjetil name PS LocalWords: Halvorsen González knuth Mittelbach Popineau Windows Schenk LocalWords: dvips PostScript EPS mathbbm binom amsmath unix ghostview PC LocalWords: pstops psbook psnup psselect slides seminar foiltex pdfslide LocalWords: pdfscreen foils pdflatex crop colortbl subfigure minipage DC LocalWords: epslatex cancel gateway texinfo María Moliner Varona Asensio LocalWords: agmartin FAQ sgml Kurzbeschreibung Partl Schlegl Hyna Seidel LocalWords: Rioja Ortegón Cascales Lucas Saorín Jose Pallarés Ruiz Daly LocalWords: Pedreño Guillén Greenberg Roberts Southern Queensland Rahtz LocalWords: Goosens Samarin Goossens DVI Cork shareware Slackware Windvi LocalWords: Fabrice fptex miktex emacs inputenc documentclass begin Max LocalWords: document Macintosh babel Díaz Aurion Vázquez Arbortext EC ML LocalWords: accent Bezos RAL spanish Carlisle newcommand renewcommand SW LocalWords: def ispell Zaccone Excalibur ftp amspell makeindex esindex LocalWords: xindy Roger Kehr Darmstadt web linux Gutenberg TUG Johannes LocalWords: Braams Hubert unicode includegraphics eps usepackage parsep LocalWords: geometry enlargethispage chngpage itemsep bibtopic sty url LocalWords: graphics psfig Goel Keith Reckdahl Companion picture epic LocalWords: pstricks MetaPost metapost gnuplot pdf pstoedit graphicx RTF LocalWords: psfrag overpic picinpar float Distiller dvipdfm hyperref rtf LocalWords: Fojtik Rich Text Format tex Robert Lupton latex Erwin Wechtl LocalWords: psutils ghostscript fancyvrb eurofont circ textdegree Vila LocalWords: textcomp charsubdef Ferguson TEXMF Rodríguez equation amstex LocalWords: subsección desplegables personalizable Debian HOMETEXMF Wine LocalWords: TEXMFLOCAL TEXMFMAIN mktexlsr initexmf tetex windows include LocalWords: includeonly RedIris listserv elipsis superíndices Bogotá dvi LocalWords: redefinición Colombia descatalogado freeware guionado pdftex LocalWords: maquetación desplegable Fernández lilypond beamer maple LocalWords: Martínez -->