FAQ de CervanTEX

CervanTEX (Versión 1.56 de 2002/06/18 a las 13:24:25)

Esta es la lista de preguntas y respuestas frecuentes del grupo de usuarios hispanohablantes de TEX/L^{A}TEX CervanTEX. 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 repetitivo verlas aparecer continuamente en los distintos foros de discusión sobre TEX/L^{A}TEX. 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.

Índice

1. ¿Qué son TEX y sus programas hermanos? 5 1.1. ¿Qué es TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2. ¿Por qué debo asegurarme de usar TEX 3.X? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Si TEX es tan bueno, ¿por qué es gratuito? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. ¿Qué es L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5. ¿Qué es L^{A}TEX 2ε?, ¿Por qué debo usarlo si me va bien con el otro (L^{A}TEX209)? . . . . . . . . . . . . . 7 1.6. ¿Qué son los paquetes de la AMS (AMS-TEX, AMS-L^{A}TEX)? . . . . . . . . . . . . . . . . . . . . . . 7 1.7. ¿Qué es METAFONT? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. ¿Qué ventajas e inconvenientes tiene TEX/L^{A}TEX? 7 2.1. Ventajas frente a otros procesadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Inconvenientes o más bien, ¿cuáles son las críticas más habituales? . . . . . . . . . . . . . . . . . . . 8

3. ¿Qué documentación hay disponible sobre TEX/L^{A}TEX? 9 3.1. Tutoriales de L^{A}TEX en castellano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Libros en castellano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3. Tutoriales en otros idiomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4. Libros en otros idiomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. ¿Que elementos intervienen al procesar un documento con L^{A}TEX? 11 4.1. El documento fuente: ¿Cómo creo un documento con L^{A}TEX, lo proceso, lo veo y lo imprimo? …. 11 4.2. ¿Qué es un archivo DVI? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3. ¿Qué es un conversor (driver)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.4. ¿Qué son los archivos .pk? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.5. ¿Qué son los archivos .tfm? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.6. ¿Qué son los tipos (fuentes) CM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.7. ¿Qué son los tipos (fuentes) EC/DC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.8. ¿Qué son los tipos (fuentes) virtuales? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.9. ¿Qué son las órdenes \special? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.10. ¿Qué es el postscript y el postscript encapsulado (archivos .eps)? . . . . . . . . . . . . . . . . . . . 13 4.11. ¿Qué es el formato pdf? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5. ¿Cómo consigo L^{A}TEX y otros programas relacionados? 14

5.1. Distribuciones TEX/L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.1. Distribuciones libres o shareware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1.2. Distribuciones comerciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.2. Editores de texto que trabajan especialmente bien con L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . 16

6. Preguntas específicas para el L^{A}TEX en castellano 16

6.1. ¿Cómo puedo usar TEX en castellano? o ¿Qué es lo mínimo que hay que saber para escribir en caste-

llano con TEX/L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2. Con L^{A}TEX, ¿cómo puedo escribir los acentos y demás caracteres extendidos? . . . . . . . . . . . . . 16

6.2.1. Mediante órdenes L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.2. Directamente mediante el paquete inputenc . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.3. ¿Cómo introducir acentos en modo matemático? . . . . . . . . . . . . . . . . . . . . . . . . 17

6.3. ¿Puedo compartir mis archivos L^{A}TEX en los que he escrito los acentos directamente? . . . . . . . . . 17 6.4. ¿Cómo cambiar los literales que produce L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.5. ¿Cómo hacer que L^{A}TEX parta correctamente las palabras en castellano? . . . . . . . . . . . . . . . . 19

6.5.1. ¿Qué configuraciones (o patterns) existen para la partición de palabras? . . . . . . . . . . . . 19 6.5.2. ¿Cómo activo el patrón de partición de palabras para el castellano? . . . . . . . . . . . . . . . 20 6.5.3. A pesar de que he activado los patrones de partición de palabras del castellano, hay una palabra

que se me resiste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.5.4. Mi TEX no parte las palabras que tienen acentos. ¿Por qué? . . . . . . . . . . . . . . . . . . . 21

6.6. Acerca de spanish.sty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.6.1. ¿Por qué spanish.sty pone los meses en minúscula? . . . . . . . . . . . . . . . . . . . . 22 6.6.2. ¿Por qué el spanish de babel reemplaza el punto decimal por una coma? . . . . . . . . . . . . 22 6.6.3. ¿Por qué spanish.sty acentúa la I de Índice? . . . . . . . . . . . . . . . . . . . . . . . . 22 6.6.4. ¿Dónde se puede obtener la documentación de spanish en castellano? . . . . . . . . . . . . . 22 6.6.5. ¿Cómo cambio los nombres de las secciones de bibliografía, índice, etc... que pone

spanish.sty? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.6.6. ¿Cómo consigo que babel y spanish.sty no utilicen los atajos de teclado NUNCA? … 23

6.7. ¿Cómo puedo indicar la abreviatura de los ordinales? . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.8. ¿Cómo forzar sangría después de las cabeceras? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.9. ¿Cómo puedo escribir las funciones matemáticas en español? . . . . . . . . . . . . . . . . . . . . . . 24 6.10. ¿Qué verificadores ortográficos puedo utilizar para español? . . . . . . . . . . . . . . . . . . . . . . 25 6.11. ¿Cómo utilizo BibTEX en castellano? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.12. ¿Cómo genero un índice alfabético con la ordenación correcta en castellano? . . . . . . . . . . . . . 27

7. ¿Que es...? 28 7.1. ¿Qué es el CTAN (Comprehensive TEX Archive Network). . . . . . . . . . . . . . . . . . . . . . . . . 28 7.2. ¿Qué es el esquema de codificación de Cork? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.3. ¿Qué es babel? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.4. ¿Qué son eTEX eL^{A}TEX y omega? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.5. ¿Qué es RevTEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.6. ¿Qué es una box y cuando conviene utilizarlas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8. ¿Cómo hago ...? 30

8.1. ¿Cómo y dónde instalo nuevos paquetes o archivos de estilo? . . . . . . . . . . . . . . . . . . . . . . 30 8.1.1. Dónde buscar un paquete nuevo y qué traer . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 8.1.2. ¿Qué es cada uno de los archivos que traigo? . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8.1.3. Extrayendo archivos de estilo de los .dtx y .ins . . . . . . . . . . . . . . . . . . . . . . . 31 8.1.4. ¿Dónde colocar nuevos archivos de estilo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8.1.5. Activando ramas locales y personales del árbol de directorios L^{A}TEX global . . . . . . . . . . 32 8.1.6. Rehaciendo la base de datos de archivos instalados . . . . . . . . . . . . . . . . . . . . . . . 33 8.1.7. ¿Cómo verifico los directorios en los que TEX busca archivos de estilo? . . . . . . . . . . . . 33

8.2. ¿Cómo personalizo el aspecto del documento? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8.2.1. ¿Cómo cambio la fuente de un documento? . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8.2.2. ¿Cómo evito que salga la palabra capítulo en las cabeceras de capítulo? . . . . . . . . . . . . 34 8.2.3. ¿Cómo cambio la cabecera de capítulo por otra más a mi gusto? . . . . . . . . . . . . . . . . 34 8.2.4. ¿Cómo quito los encabezados que L^{A}TEX pone automáticamente en las páginas blancas? … 34 8.2.5. ¿Cómo hago que TEX no parta nunca las palabras? . . . . . . . . . . . . . . . . . . . . . . . 34 8.2.6. ¿Cómo ajusto los márgenes de un documento L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . 35 8.2.7. ¿Cómo obtengo un documento apaisado? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 8.2.8. ¿Cómo ajusto el espaciado en el documento L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . 35 8.2.9. ¿Cómo ajusto el espaciado en una lista? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

8.3. Referencias cruzadas, índices y bibliografías. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.3.1. ¿Hay alguna herramienta de gestión de bases de datos bibliográficas en BibTEX? . . . . . . . 36 8.3.2. ¿Cómo introduzco la bibliografía o el índice en la tabla de materias? . . . . . . . . . . . . . . 36 8.3.3. ¿Cómo pongo el índice con su contenido al principio de cada capítulo? . . . . . . . . . . . . 36 8.3.4. ¿Cómo añado bibliografía al final de cada capítulo en L^{A}TEX? . . . . . . . . . . . . . . . . . . 36 8.3.5. ¿Cómo divido la bibliografía por temas en L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . 37 8.3.6. ¿Cómo cito una página de una referencia bibliográfica? . . . . . . . . . . . . . . . . . . . . . 37 8.3.7. ¿Cómo cito una url con BibTEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.3.8. ¿Cómo colapso una serie de citas consecutivas? . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.3.9. ¿Cómo hago una referencia cruzada a un documento externo? . . . . . . . . . . . . . . . . . 37

8.4. ¿Cómo introduzco figuras en L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.4.1. Dibujando con TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.4.2. Introduciendo figuras postscript encapsulado en L^{A}TEX . . . . . . . . . . . . . . . . . . . . . 39 8.4.3. Introduciendo imágenes en mapa de bits en L^{A}TEX. . . . . . . . . . . . . . . . . . . . . . . . 40 8.4.4. Introduciendo figuras en pdfTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.4.5. ¿Cómo coloco un fragmento TeX en una figura? . . . . . . . . . . . . . . . . . . . . . . . . 40 8.4.6. ¿Cómo puedo poner una figura rodeada de texto? . . . . . . . . . . . . . . . . . . . . . . . . 41 8.4.7. ¿Cómo consigo un mayor control de la posición de figuras y demás elementos flotantes? … 41

8.5. ¿Cómo giro un elemento en un documento L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.6. ¿Cómo convierto mis documentos a L^{A}TEX y desde L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . 41

8.6.1. ¿Cómo obtengo un documento PDF a partir de mi documento TEX? . . . . . . . . . . . . . . 42 8.6.2. ¿Cómo obtengo una versión texto a partir de un documento PDF? . . . . . . . . . . . . . . . 42 8.6.3. Convirtiendo a L^{A}TEX desde otros formatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

8.7. ¿Cómo rehago los formatos de TEX y L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8.8. ¿Cómo llamo a un editor desde TEX/L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.9. Algunas cosillas matemáticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

8.9.1. ¿Cómo escribo un número con periodo utilizando L^{A}TEX? . . . . . . . . . . . . . . . . . . . . 43 8.9.2. ¿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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.9.3. ¿Cómo hay que hacer para lograr la N, R de doble trazo con que se representan los números

naturales, reales, etc... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.9.4. ¿Puedo forzar que una fórmula tenga el mismo número que otra? . . . . . . . . . . . . . . . . 44 8.9.5. ¿Puedo escribir símbolos matemáticos en negrita? . . . . . . . . . . . . . . . . . . . . . . . 45 8.9.6. Algunas preguntas de corta respuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8.10. ¿Cómo hago cuadernillos con TEX o L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 8.11. ¿Cómo puedo preparar una exposición utilizando L^{A}TEX? . . . . . . . . . . . . . . . . . . . . . . . . 46

8.11.1. Haciendo transparencias con L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.11.2. Haciendo una presentación con L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.11.3. Preparando un poster con L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8.11.4. Más información sobre presentaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

8.12. Algunas cosas que a veces se piden para mandar un documento a la imprenta. . . . . . . . . . . . . . 47 8.12.1. Sacando la imagen especular de un archivo (se decir, con todo al revés). . . . . . . . . . . . . 47 8.12.2. Sacando el archivo en negativo (es decir, blanco sobre negro). . . . . . . . . . . . . . . . . . 47 8.12.3. Marcas de corte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.13. Algunas cuestiones adicionales, o menos FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.14. ¿He encontrado un error en L^{A}TEX ¿Cómo lo notifico? . . . . . . . . . . . . . . . . . . . . . . . . . . 50

9. Preguntas que se van quedando obsoletas 50 9.1. ¿Qué es FTC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 9.2. ¿Qué es ML-TEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

10. Información sobre L^{A}TEX en castellano 50

10.1. El Grupo de Usuarios de TEX Hispanohablantes (CervanTEX) . . . . . . . . . . . . . . . . . . . . . . 50

10.1.1. ¿Cómo puedo entrar en contacto con el grupo de usuarios? . . . . . . . . . . . . . . . . . . . 50 10.2. La lista sptex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

10.2.1. ¿Cómo funciona la lista sptex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 10.2.2. ¿Se archiva en algún sitio la lista sptex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 10.2.3. Cuando contesto a alguien de la lista, ¿quién recibe la respuesta? ¿El que mandó el mensaje o

la lista entera? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 10.2.4. Recibo correo de muchas listas. ¿Cómo puedo filtrar lo que venga de la lista sptex? . . . . . 52 10.2.5. ¿Cómo es que hay tanta gente de fuera de España en la lista? . . . . . . . . . . . . . . . . . . 52

10.3. La lista spanish-tex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

10.3.1. ¿Se archiva en algún sitio la lista spanish-tex? . . . . . . . . . . . . . . . . . . . . . . . 52 10.4. El grupo de noticias es.comp.lenguajes.tex . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 10.5. El grupo de noticias es.eunet.spanish-tex . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

11. Meta-preguntas (preguntas sobre esta FAQ): 53 11.1. ¿Cuál es la historia de esta FAQ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.2. ¿Quién coordina actualmente la FAQ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.3. Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.4. ¿Dónde encuentro la versión más reciente de esta FAQ? . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.5. ¿Dónde puedo encontrar otras FAQ, aunque sea en otros idiomas? . . . . . . . . . . . . . . . . . . . 54

1. ¿Qué son TEX y sus programas hermanos?

1.1. ¿Qué es TEX?

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 tex es un archivo 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á. Para escribir TEX Knuth desarrolló un sistema de 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.

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ó 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 plain TEX

1.2. ¿Por qué debo asegurarme de usar TEX 3.X?

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:

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 ˆ ˆ e1 sea la á.

TEX soporta ahora 256 tablas de partición simultáneamente. Puedes escribir:

... there is a difference between especially and {\language\spanish especialmente} in that...

y TEX compondrá el párrafo con las reglas de inglés, menos especialmente que lo hará con las del castellano.

Dos nuevas macros \lefthyphenmin y \righthyphenmin que controlan el tamaño del trozo mínimo que se puede dejar al partir palabras. Previamente estaban fijos a 2 y 3, respectivamente. 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. 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 pi (como última voluntad de Donald Knuth), y ya no habrá más cambios. Y el último METAFONT será versión e.

1.3. Si TEX es tan bueno, ¿por qué es gratuito?

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 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.

Algunas empresas ofrecen implementaciones comerciales de TEX/L^{A}TEX con elementos propios (véase la sección 5.1.2 (Implementaciones comerciales))

1.4. ¿Qué es L^{A}TEX?

L^{A}TEX 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. L^{A}TEX 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.

1.5. ¿Qué es L^{A}TEX 2ε?, ¿Por qué debo usarlo si me va bien con el otro (L^{A}TEX209)?

L^{A}TEX 2ε es la nueva versión estándar de L^{A}TEX, preparada y mantenida por el equipo del proyecto L^{A}TEX3. Es la versión actual de L^{A}TEX y está disponible desde cualquier punto CTAN, en

     CTAN/macros/latex

Desde que es oficial, L^{A}TEX = L^{A}TEX 2ε y el otro ahora se llama L^{A}TEX 2.09 y está obsoleto.

L^{A}TEX 2ε es compatible hacia atrás con L^{A}TEX209, pero incluye toda una serie de características nuevas.

Hay una razón de peso para no usar L^{A}TEX 2.09: Solamente L^{A}TEX 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 L^{A}TEX 2.09 nadie nos hará caso, porque L^{A}TEX 2.09 ya no va a cambiar jamás.

1.6. ¿Qué son los paquetes de la AMS (AMS-TEX, AMS-L^{A}TEX)?

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 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.

Según fue aumentando la popularidad de L^{A}TEX la AMS desarrolló AMS-L^{A}TEX, que consiste en una colección de clases y paquetes para L^{A}TEX que ofrece a los autores la funcionalidad de AMS-TEX.

1.7. ¿Qué es METAFONT?

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.

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.

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.

2. ¿Qué ventajas e inconvenientes tiene TEX/L^{A}TEX?

2.1. Ventajas frente a otros procesadores.

Además de las ventajas que aquí se describen, en la página 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 L^{A}TEX

Funciona y es estable y multiplataforma.

Tan simple como eso, L^{A}TEX no se 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).

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 L^{A}TEX. Este procesador ajusta los tamaños de paréntesis, integrales, subíndices y superíndices, alinea los elementos de las matrices, construye cajas, etc.

L^{A}TEX permite redactar fácilmente documentos estructurados.

A través de distintas clases de documento y de su conjunto de macros, L^{A}TEX 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.

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 L^{A}TEX numera las páginas. Una redefinición al principio del documento permite cambiar esto.

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 L^{A}TEX, enviados por e-mail. Ellos lo procesan en el lugar de destino, hacen los cambios necesarios y lo imprimen.

Es gratis Pues eso. Para ver porqué véase la sección 1.3 (¿Porqué TEX es gratis?). A pesar de ello, existen también implementaciones comerciales.

2.2. Inconvenientes o más bien, ¿cuáles son las críticas más habituales?

Es muy difícil.

A diferencia de los procesadores visuales o WYSIWYG, que pueden usarse casi desde el primer día con resultados aceptables, L^{A}TEX 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 L^{A}TEXperto, al que preguntarle. Este proceso de iniciación consiste principalmente en aprenderse las órdenes esenciales. Después le siguen órdenes secundarias. Más tarde, puede uno aprender a programar en este lenguaje. Llegado ese punto se puede dar el siguiente salto, atacar el 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 L^{A}TEX se le quedan cortos. La contrapartida de este esfuerzo es que cuando se trabaja con L^{A}TEX y se compara el resultado con lo obtenido con otros procesadores, la salida de éstos últimos parece "poco seria" en cuanto se exigen fórmulas matemáticas. Algo como los dientes, que duelen al salir, pero luego se hacen imprescindibles.

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. De todas formas, L^{A}TEX 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), L^{A}TEX 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. Existen, no obstante, soluciones intermedias entre L^{A}TEX y los procesadores WYSIWYG. Así, el TEXtures de los Mac, el xdvi de las X-Window bajo Unix o los dviwin, yap o 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.

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 8.4 (Introduciendo figuras en L^{A}TEX) Lo que no debe olvidarse nunca es que tanto TEX como L^{A}TEX están pensados como lenguajes de composición de documentos, no de autoedición. A cada cual lo suyo.

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 L^{A}TEX 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:

     CTAN/fonts

En las versiones para salidas postscript si es posible el uso de cualquier tipo, pero no se garantiza que las ecuaciones mantengan la calidad requerida.

3. ¿Qué documentación hay disponible sobre TEX/L^{A}TEX?

3.1. Tutoriales de L^{A}TEX en castellano.

Una descripción de L^{A}TEX Tomás Bautista (bautista@cma.ulpgc.es) ha escrito un documento titulado Una descripción de L^{A}TEX (basado inicialmente en L^{A}TEX-Kurzbeschreibung, de H. Partl, E. Schlegl e I. Hyna), donde se han introducido algunas notas específicas de la implementación del estilo spanish.sty desarrollado por J. Sánchez. Este documento se encuentra en CTAN (en CTAN/documentation/short/spanish) y la versión más actualizada está siempre en

ftp://ftp.iuma.ulpgc.es/pub/tex/latex2e/doc/ldesc2e/

Apuntes. Manual de L^{A}TEX Preparado en Chile y disponible en http://cipres.cec.uchile.cl/˜ admcons/manuales/latex.html

Bases de datos bibliográficos, L^{A}TEX y el idioma español Luis Seidel Acerca del uso de BibTEX en castellano. Disponible en postscript en la página del autor y en formato pdf en la Universidad de la Rioja: http://feynman.faii.etsii.upm.es/˜ seidel/bibliogr.ps ftp://tex.unirioja.es/pub/tex/doc/bibliogr.pdf

Curso de L^{A}TEX Kjetil Halvorsen. Transparencias de un curso de L^{A}TEX disponibles en ftp://tex.unirioja.es/pub/tex/doc/cursotex.zip

3.2. Libros en castellano

Iniciación a L^{A}TEX 2ε

Javier Sanguino Botella, Addison-Wesley (1997) Composición de textos científicos con L^{A}TEX.

G. Valiente. Edicions UPC, Barcelona, 1997 L^{A}TEX, primeros pasos.

F. Ortegón Gallego. Editorial Masson, Barcelona 1.992. (Sobre L^{A}TEX 2.09) L^{A}TEX, 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.

3.3. Tutoriales en otros idiomas

A Gentle Introduction to TEX de Michael Dobb, disponible en CTAN://documentation/gentle. Es un excelente tutorial de introducción al plain-TEX en inglés. Una referencia clásica de TEX

Simplified Introduction to L^{A}TEX

de Harvey J. Greenberg, disponible en CTAN://documentation/simplified-latex/latex.ps

(versión postscript) y la versión más reciente en http://www.cudenver.edu/˜ hgreenbe/aboutme/pubrec.html . Basado en un curso para pregraduados.

L^{A}TEX: from quick and dirty to style and finesse Escrito por Tony Roberts, se encuentra disponible en la Universidad de Southern Queensland (Australia) http://www.sci.usq.edu.au/staff/robertsa/LaTeX/ con una réplica en Estados Unidos http://ricardo.ecn.wfu.edu/LaTeX/ .

L^{A}TEX for Word Processor Users Escrito por Guido Gonzato, es un tutorial L^{A}TEX pensado específicamente para usuarios de procesadores de texto.

Está disponible en CTAN://info/latex4wp

3.4. Libros en otros idiomas

A Guide to L^{A}TEX 2ε H. Kopka and P.W. Daly, Addison-Wesley (1995) Probablemente, el mejor manual existente sobre L^{A}TEX. Contiene una guía completa de órdenes, abundantes ejemplos e información adicional. (Incluye las dos versiones en uso de L^{A}TEX, L^{A}TEX 2ε y la más antigua, L^{A}TEX2.09).

The L^{A}TEX Companion.

M. Goosens, F. Mittelbach and A. Samarin, Addison-Wesley (1994) Este manual sirve de ampliación del anterior. Es una recopilación e información sobre los llamados paquetes (packages), conjuntos de macros que distintos autores han puesto a disposición pública.

L^{A}TEX–A Document preparation system L. Lamport (dos ediciones) Addison-Wesley (1985 y 1994). Durante mucho tiempo este fue "el libro" del L^{A}TEX. 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 (L^{A}TEX209, hoy obsoleta) y la segunda al L^{A}TEX 2ε.

The TEXbook D.E. Knuth, Addison-Wesley (1986). Este es "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). Knuth proporciona el código fuente con fines didácticos, no para que se imprima. De hecho, si se intenta TEXearlo 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... :-)

The L^{A}TEX Graphics Companion M. Goossens, S. Rahtz y F. Mittelbach, Addison-Wesley (1997). Un extenso manual acerca de cómo ilustrar documentos con TEX y postscript.

4. ¿Que elementos intervienen al procesar un documento con L^{A}TEX?

4.1. El documento fuente: ¿Cómo creo un documento con L^{A}TEX, lo proceso, lo veo y lo imprimo?

Como hemos dicho TEX/L^{A}TEX 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/L^{A}TEX – véase 5.2 (editores para TEX) –. Pongamos por ejemplo que el documento creado es documento.tex.

Una vez terminado el documento fuente (documento.tex), éste se procesa mediante TEX si se han utilizado las órdenes de plain-TEX o L^{A}TEX si se han utilizado las órdenes de L^{A}TEX. 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 archivo independiente del dispositivo, o DVI (documento.dvi).

4.2. ¿Qué es un archivo DVI?

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 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.

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 \special – véase 4.9 (¿Qué son los \special?) –.

4.3. ¿Qué es un conversor (driver)?

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.

Estos conversores normalmente son específicos a cada impresora o lenguaje de impresora. Por ejemplo, una impresora postscript entenderá siempre la salida de un conversor postscript, pero en general no de otros formatos.

Al igual que el archivo DVI, el conversor necesita información sobre los tipos que puede encontrar en distintos lugares.

4.4. ¿Qué son los archivos .pk?

Los archivos .pk (cuyo nombre viene de packed raster) contienen tipos de letra en forma de mapa de bits. META-FONT produce una salida en mapa de bits en un formato no comprimido denominado .gf, que es convertido a .pk mediante una utilidad denominada gftopk. Para cada diseño de letra, tamaño, peso y familia es necesario un archivo .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.

4.5. ¿Qué son los archivos .tfm?

tfm es la abreviatura de TEX font metric, métrica de los tipos TEX. Los archivos .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 .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 .tfm para componer la página, pero en general los conversores no los necesitan.

4.6. ¿Qué son los tipos (fuentes) CM?

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 firma del procesador, que permitía identificar un documento a primera vista.

4.7. ¿Qué son los tipos (fuentes) EC/DC?

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 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.

Estas fuentes ya están presentes en las distribuciones modernas de TEX/L^{A}TEX, pero en caso de que se trabaje con una distribución antigua pueden conseguirse en:

     CTAN/fonts/ec/ready-mf

y los archivos tfm para L^{A}TEX están en

     CTAN/fonts/ec/tfm

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

     \usepackage[T1]{fontenc}

4.8. ¿Qué son los tipos (fuentes) virtuales?

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 .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 remapear tipos postscript.

TEX en sí no ve los tipos virtuales, únicamente trabaja con las métricas que le da el tipo virtual en su .tfm como si se tratara de tipos normales.

4.9. ¿Qué son las órdenes \special?

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 postscript en un documento o cómo cambiar el color del texto impreso, pero algunos conversores sí saben cómo hacerlo.

Para ello TEX proporciona la orden \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.

La sintaxis de los \special es fuertemente dependiente del dispositivo de salida y en general no es válida para distintos dispositivos. L^{A}TEX 2ε proporciona paquetes estándar de gráficos (graphics, graphicx) y manejo de color (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 8.4 (Introducir gráficos con L^{A}TEX) –.

4.10. ¿Qué es el postscript y el postscript encapsulado (archivos .eps)?

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 PostScript que permiten la visualización de este formato. El más extendido es Ghostscript (GS), de Aladdin, del que puede obtenerse información en http://www.cs.wisc.edu/˜ ghost/index.html y en 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.

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 PostScript puede alcanzarse en http://www.lib.ox.ac.uk/internet/news/faq/comp.lang.postscript.html , de donde está tomado mucho de lo anterior.

4.11. ¿Qué es el formato pdf?

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 4.2 (¿Qué es DVI?) – en la salida de TEX. En la web hay información abundante sobre PDF en http://www.pdfzone.com/webring/ . Los visualizadores de PDF más recomendables son Acrobat Reader, de Adobe, gratuito ( http://www.adobe.com ) y el Ghostview http://www.cs.wisc.edu/˜ ghost/index.html .

5. ¿Cómo consigo L^{A}TEX y otros programas relacionados?

5.1. Distribuciones TEX/L^{A}TEX

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.

Se entiende por distribución un conjunto de binarios y paquetes de macros L^{A}TEX 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.

Las distribuciones libres o shareware pueden conseguirse en el CTAN – véase 7.1 (¿Qué es el CTAN?) –, o a través de los CD-ROM editados por distintos grupos de usuarios de L^{A}TEX, mientras que las comerciales se consiguen a través de sus respectivos distribuidores o directamente si no los hay.

Para buscar distribuciones para los distintos sistemas operativos, la estructura de un nodo CTAN es siempre la misma. Existe un directorio tex-archive del cual cuelga un árbol de directorios. En particular, existe un directorio systems, del que penden las distintas implementaciones. Existen versiones para

     Atari
     Amiga
     UNIX
     VMS
     Os2
     Windows NT

Mac
MS-DOS

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. La edición de 1999 se ha distribuido a través del grupo de usuarios CervanTEX. Para mayor información se puede consultar la página web del grupo cervanTEX

5.1.1. Distribuciones libres o shareware

Unix teTEX es, para sistemas Unix la elección más multiplataforma. Se puede encontrar en CTAN/systems/unix/teTeX 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 Unix.

Linux Aunque lo que se acaba de decir de Unix es también válido para Linux, recalcar además que en las principales distribuciones de Linux vienen paquetes de teTEX listos para instalar y utilizar sin apenas esfuerzo. Antes también había otra distribución denominada NTEX. Es necesario tener un especial cuidado y 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.

Mac OzTEX es una versión shareware de TEX para los ordenadores Macintosh. Incluye un visualizador de dvi y un conversor a postscript. Está disponible en CTAN/non-free/systems/mac/oztex. Su página original está en http://www.trevorrow.com/oztex/

DOS/OS2 emTEX es, para sistemas DOS la distribución más extendida. Puede encontrarse en CTAN/systems/msdos/emtex, aunque desde hace tiempo no se ven versiones nuevas. gTEX era otra distribución para DOS, pero recientemente ha sido retirada de CTAN a petición de su creador. También está emTEX-TDS, que no es más que un árbol de archivos de estilo para TEX/L^{A}TEX preparado para ser utilizado con los binarios de emTEX.

Win32

fpTEX de Fabrice Popineau es una versión de teTEX para Windows. Es especialmente recomendable para aquéllos que están trabajando con Windows y Unix y para administradores que deben mantener ambos, y también una buena opción para usuarios en general. El visualizador de fpTEX, Windvi está basado en xdvi con algunas peculiaridades del entorno Win32. La impresión se hace vía dvips. Está disponible en

    CTAN/systems/win32/fptex.

MikTEX de Christian Schenk es también una distribución completa independiente de teTEX. tiene su propio visualizador yap que permite imprimir, aunque también se incluye dvips. Está disponible en

    CTAN/systems/win32/miktex.

5.1.2. Distribuciones comerciales

Windows

Scientific Word Scientific Word/WorkPlace/Notebook ofrece una forma de trabajo tipo casi WYSIWYG con un procesador TEX en segundo plano. Más información en http://www.sciword.demon.co.uk/ . Incluye TrueTEX

5.2. Editores de texto que trabajan especialmente bien con L^{A}TEX

Unix GNU emacs utilizado en combinación con el paquete AUCTEX (disponible en CTAN/support/auctex) 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.

DOS/OS2 TEXshell 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 emTEX.

Win32

winedt es un paquete 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 Winshell es un programa libre de prestaciones menores, pero que puede ser más que suficiente para muchos usuarios. TeXnic Center es también un buen entorno de trabajo para Win32. Está disponible en CTAN en

    CTAN://systems/win32/TeXnicCenter/

6. Preguntas específicas para el L^{A}TEX en castellano

6.1. ¿Cómo puedo usar TEX en castellano? o ¿Qué es lo mínimo que hay que saber para escribir en castellano con TEX/L^{A}TEX?

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:

1. Introducción de caracteres acentuados. Véanse las respuestas a las preguntas 6.2.1 (mediante órdenes L^{A}TEX), 6.2.2 (¿Cómo introducir directamente los caracteres extendidos?) y 6.2.3 (acentos en modo matemático)

2. Literales en castellano. Véase la respuesta a la pregunta 6.4 (¿Cómo cambiar los literales que L^{A}TEX produce?).

3. Patrones de partición de palabras (silabeo o guionado). Véase 6.5.1 (patrones de guionado) donde se explica cómo hacer que TEX parta las palabras siguiendo las reglas del español.

6.2. Con L^{A}TEX, ¿cómo puedo escribir los acentos y demás caracteres extendidos?

6.2.1. Mediante órdenes L^{A}TEX

Cuando no hay más remedio, los caracteres extendidos se escriben así:

á  ==>  \'a         Á  ==>  \'A      ñ  ==>  \~n   ¿  ==>  ?`
é  ==>  \'e         É  ==>  \'E      Ñ  ==>  \~N   ¡  ==>  !`
í  ==>  \'\i{}      Í  ==>  \'I      ü  ==>  \"u
ó  ==>  \'o         Ó  ==>  \'O      Ü  ==>  \"U
ú  ==>  \'u         Ú  ==>  \'U

Sin embargo, ésto normalmente no es necesario. Véase la respuesta a la pregunta 6.2.2 (Introducir directamente los caracteres extendidos)

6.2.2. Directamente mediante el paquete inputenc

El paquete inputenc permite escribir directamente en la página de códigos habitual, convirtiéndose internamente el texto introducido a texto L^{A}TEX, de acuerdo con las diferentes tablas de equivalencia para las distintas páginas de códigos y de forma completamente transparente al usuario.

Si somos usuarios de UNIX, debemos poner al principio de nuestro documento (en lo que se denomina el preámbulo,

entre \documentclass... y \begin{document}) lo siguiente:
     \usepackage[latin1]{inputenc}

Si trabajamos con MS-Windog hay que usar ansinew (que es casi el latin1)

     \usepackage[ansinew]{inputenc}

Si trabajamos con DOS, hay que poner esto:

     \usepackage[cp850]{inputenc}

Y si somos de Macintosh, esto otro:

     \usepackage[applemac]{inputenc}

Por lo tanto, el método recomendado para utilizar caracteres de 8 bits en TODAS las plataformas en L^{A}TEX 2ε es escribir:

     \usepackage[tipo]{inputenc}

para decir qué página de códigos de entrada usamos.

Ni este método ni el que se menciona en 6.2.1 (acentos L^{A}TEX) son válidos en modo matemático.

6.2.3. ¿Cómo introducir acentos en modo matemático?

Para introducir acentos en modo matemático no hay más remedio que hacerlo mediante órdenes L^{A}TEX, pero en este caso son distintas de las de la sección 6.2.1 (acentos L^{A}TEX). Por ejemplo máx se escribiría en modo matemático como m\acute{a}x. Si se quiere un acento sobre una i, tanto spanish para babel como el paquete

dotlessi (CTAN://macros/latex/contrib/supported/bezos/dotlessi.sty) proporcionan la orden

\dotlessi; por ejemplo, mín se escribiría m\acute{\dotlessi}n.

spanish.sty ya proporciona algunas de estas palabras acentuadas, por ejemplo, después de cargar el paquete babel con la opción spanish mediante \usepackage[spanish]{babel}, $\min a$ permite escribir la palabra acentuada. También proporciona un \dotlessi que complementa a \imath.

6.3. ¿Puedo compartir mis archivos L^{A}TEX en los que he escrito los acentos directamente?

Si los caracteres acentuados están escritos mediante órdenes L^{A}TEX pueden compartirse sin problemas, ya que se utiliza únicamente codificación de 7 bits.

Si introduzco las letras acentuadas directamente como en 6.2.2 (utilizando inputenc), tendré dos posibles problemas:

1. ¿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.

2. ¿Podré enviarlo por correo electrónico?, pues solamente acepta 7 bits.

¿Cómo se soluciona esto? Con GNU recode, con MIME, o con las dos cosas, según el caso.

1. 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 L^{A}TEX lo entenderá y lo procesará bien si lleva la llamada a inputenc, dando el resultado correcto, aunque no podamos ver correctamente el texto original con nuestro editor de texto. 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 recode escribiendo:

     recode applemac:latin1 archivo.tex

que nos convierte el documento de la página de códigos applemac a la latin1. Si ahora modificamos la línea del inputenc para que ponga latin1 en lugar de applemac todo funciona exactamente igual que antes en cuanto al resultado. ¡Magia! ¿Dónde encontrar fuentes o binarios precompilados de recode? En los siguientes lugares:

fuentes

En cualquier réplica del archivo GNU, en el directorio recode. DOS

ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish/dos_only o en el mismo lugar en cualquier répilca del archivo simtel.

DOS32 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/ o en el mismo lugar en cualquier répilca del archivo simtel.

win32

http://www.weihenstephan.de/˜ syring/win32/UnxUtils.html 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.

2. Para evitar problemas con el correo, siempre se puede convertir el documento a formato L^{A}TEX 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 recode machaca el original). Con la copia se puede hacer:

     recode -d applemac:latex archivo.tex

y ya podemos enviar el archivo.tex resultante por correo. Supongamos que el receptor trabaja con Unix, tendría que escribir:

     recode -d latex:latin1 archivo.tex

y cambiar el inputenc, en su caso. En cualquier caso, si es posible, es mucho mejor enviar el archivo directamente con acentos utilizando el estándar MIME con 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.

Nota al margen: recode 3.4 no transforma correctamente de 850 a iso, porque no convierte bien los retornos de carro. A partir de la versión 3.4.1 se supone que lo hace correctamente. Si la versión de recode que tenemos es la problemática, se puede usar la opción -a de unzip para corregir los retornos de carro. Si nuestro documento no tiene mayúsculas acentuadas, se puede usar la opción ibmpc:l1 (ibmpc es sinónimo de 437).

6.4. ¿Cómo cambiar los literales que produce L^{A}TEX?

Cuando Lamport hizo el L^{A}TEX original, proporcionó una serie de estilos estándar como ejemplo de uso. Estos estilos se hicieron muy populares, principalmente porque todas las instalaciones de L^{A}TEX 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. Contents, Bibliography, etc.) en inglés, lo que hace inaceptable su uso.

Aunque era posible crear versiones modificadas para otros idiomas, se extendió la idea de internacionalizar dichos estilos. Por ejemplo, donde ponía la palabra Contents se ha cambiado por \contentsname y se define aparte el valor de esta macro.

Esta es la forma en que funciona L^{A}TEX 2ε 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

     \renewcommand{\contentsname}{Tabla de materias}

Un paquete de estilos que hace esto es babel – Véase 7.3 (¿Qué es babel?). Cuando se quieren hacer estos cambios en un documento que utiliza babel con spanish.sty hay que proceder de una forma un poco distinta. Véase 6.6.5 (Modificando los literales de spanish.sty)

6.5. ¿Cómo hacer que L^{A}TEX parta correctamente las palabras en castellano?

6.5.1. ¿Qué configuraciones (o patterns) existen para la partición de palabras?

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 (subur-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:

"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."

"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 L^{A}TEX, 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?."

"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 tacos y cacofonías varias. :-)"

Es decir, lo mejor es evitar cualquier caso conflictivo en los patrones (patterns) de uso general. Localmente puede hacerse los que se quiera, usando excepciones o introduciéndolos a mano, por ejemplo.

Al día de hoy existen 4 tablas diferentes de partición:

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:

ftp://ftp.dante.de/tex-archive/language/spanish/old/silaba.tex

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 max@east.aurora.com

Los producidos por Manuel Vázquez de la Universidad de Zaragoza, que puede ser localizado en (vazquez@cc.unizar.es). Estos patrones están basados en la gramática.

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.

Los producidos por Julio Sánchez, que pueden obtenerse en:

     CTAN/language/spanish/hyphen

Estos soportan una variedad de opciones, incluido el soporte de acentos, tanto como ligaduras como con el código IS 8859/1 (ISO Latin1) para ML-TEX o TEX 3.X. Además, son los actualmente recomendados por CervanTEX.

6.5.2. ¿Cómo activo el patrón de partición de palabras para el castellano?

Para activar el patrón de partición para el castellano es necesario tener babel – Véase 7.3 (¿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

Para TEX y L^{A}TEX: Cambiando el archivo language.dat

Editar el archivo language.dat. Dependiendo de la distribución de TEX utilizada este archivo puede estar en distintos lugares. Por ejemplo en teTEX el árbol de TEX parte de TEXMF=/usr/share/texmf

    y el archivo en cuestión está en TEXMF/tex/generic/config/language.dat. En al caso de

Debian/GNU-Linux, está en /etc/texmf/language.dat y el otro es un enlace a éste.

Borrar el % que está al principio de la linea spanish. Si mal no recuerdo viene preparado con silabeo en alemán, si no lo quieren pongan un % 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. En caso de tener el MikTEX, la operación es la misma, pero el archivo language.dat está en

    TEXMF/tex/generic/hyphen/local

teTEX tiene la utilidad texconfig que invocada como

         # texconfig hyphen latex

lanza un editor para cambiar el fichero 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.

Para L^{A}TEX.

Una vez hecho lo anterior no es necesario más que rehacer los formatos – Véase 8.7 (¿Cómo rehacer los formatos?) –. Entonces cuando se llame a babel con la opción spanish, éste se encargará de utilizar los patrones de guionado en castellano.

Para plain-TEX Por omisión, cuando el initex crea el formato, carga el archivo hyphen.tex que contiene las reglas de silabeo en inglés. Para activarlo también en plain-TEX se debe copiar el archivo hyphen.cfg como hyphen.tex en algún sitio que en el camino de búsqueda de TEX esté antes del hyphen.tex que viene como parte de plain-TEX y asegurarse que existe el archivo ushyph1.tex (que realmente es el mismo que el hyphen.tex original, pero con otro nombre). Este paso no es necesario si sólo se quiere la partición de palabras para L^{A}TEX y se va a utilizar babel, pero tampoco sobra. Para los usuarios de teTEX los archivos están en TEXMF/tex/config/babel/hyphen.cfg y el

hyphen.tex original en TEXMF/tex/generic/hyphen/hyphen.tex

Para los usuarios de MikTEX, los archivos están en TEXMF/generic/hyphen/hyphen.cfg y

TEXMF/generic/hyphen/hyphen.tex

En caso de no conseguirse hacer lo anterior también puede sustituirse el archivo hyphen.tex por el hyphen.cfg, pero debe tenerse cuidado al actualizar la distribución de no sobreescribir el hyphen.tex con al que venga con la distribución nueva. Entonces es necesario reconstruir el formato como se indica en 8.7 (¿Cómo rehacer los formatos?). Cuando se quiere usar el silabeo en castellano, hay que agregar en el archivo .tex, al principio, una linea que diga \language1 si el castellano es el segundo lenguaje (no sinónimo) del language.dat (\language0 correspondería al inglés americano)

6.5.3. A pesar de que he activado los patrones de partición de palabras del castellano, hay una palabra que se me resiste

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:

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 \-. Por ejemplo:

     fotorrefractivo y electroóptico   --> foto\-rre\-frac\-tivo y elec\-tro\-óptico

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 \hyphenation. Por ejemplo:

     \hyphenation{foto-rre-frac-tivo,elec-tro-óptico}

6.5.4. Mi TEX no parte las palabras que tienen acentos. ¿Por qué?

El primitivo \accent detiene la partición. Es posible ayudar a TEX invocando la siguiente macro después de un acento:

\def\allowhyphens{\penalty10000 \hskip0pt}

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 4.7 (DC/EC), o ML-TEX, y patrones de partición que contemplen esto.

6.6. Acerca de spanish.sty

Los archivos para escribir en castellano con babel (spanish.*) los creó y mantuvo durante mucho tiempo Julio Sánchez. Ahora esos archivos los mantiene Javier Bezos. Aún no están en su lugar correcto en la estructura de babel, aunque se encuentran en un subdirectorio y reciben el nombre de spanishb.*. En la próxima versión de babel serán ya oficiales.

6.6.1. ¿Por qué spanish.sty pone los meses en minúscula?

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,

"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"

6.6.2. ¿Por qué el spanish de babel reemplaza el punto decimal por una coma?

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.

Se puede cambiar el comportamiento predefinido con la orden \decimalpoint o \spanishdecimal{.}. 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:

     \makeatletter
     \def\es@decimal{{\mathchar"613B}}
     \mathcode`,="8000
     \begingroup
     \catcode`,=13
     \gdef,{\mkern2mu\mathchar"613B\mkern8mu}
     \endgroup
     \makeatother

(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].)

6.6.3. ¿Por qué spanish.sty acentúa la I de Índice?

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).

6.6.4. ¿Dónde se puede obtener la documentación de spanish en castellano?

La documentación de spanish que se incluye al componer user.drv está en inglés, pero el archivo spanish.dtx también la incluye en castellano. Basta con componer este archivo y obtendremos un detallado manual como

spanish.dvi.

6.6.5. ¿Cómo cambio los nombres de las secciones de bibliografía, índice, etc... que pone spanish.sty?

Si no importa que este cambio no siga las características de babel y spanish de cambio de idioma sobre la marcha, etc.., se puede hacer de la misma forma que en la sección 6.4 (¿Cómo cambiar los literales que produce L^{A}TEX?) poniendo las definiciones después de llamar a babel. El problema de este método es que no está bien integrado con babel y por ese lado puede dar problemas, ya babel activa algunos cambios al llegarse al \begin{document}.

Si embargo existe una forma más elegante e integrada con spanish y babel. En el preámbulo del documento hay que añadir lo siguiente, por ejemplo, para cambiar Bibliografía por Referencias

     \addto\captionsspanish{%
     \def\bibname{Referencias}%
     }

Y así con todos los nombres necesarios. La lista de nombres está en los dos lugares siguientes

     TEXMF/tex/generic/babel/spanish.ldf
     TEXMF/tex/generic/babel/spanish.tex

6.6.6. ¿Cómo consigo que babel y spanish.sty no utilicen los atajos de teclado NUNCA?

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 \deactivatetilden que elimina el uso de ˜ para la eñe, al tiempo que preserva su función de espacio sin división (la orden \shorthandoff de babel cancela ambos usos). El estilo spanish también proporciona más facilidades para desactivar otras abreviaciones, que están descritas en spanish.dtx, por ejemplo

\deactivatequoting en el preámbulo.

Sin embargo ésto y el que funcione correctamente ha cambiado mucho entre distintas versiones de 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 spanish y babel en todos los ordenadores implicados, en caso de no poderse hacer, la siguiente línea (en L^{A}TEX 2ε) en el preámbulo del documento elimina los atajos de teclado

     \AtBeginDocument{\gdef~{\nobreakspace{}}\catcode`\"=12}

útil para documentos que se utilizarán en distintos ordenadores, alguno de ellos con versiones antiguas de babel o spanish.

6.7. ¿Cómo puedo indicar la abreviatura de los ordinales?

En L^{A}TEX 2ε pueden utilizarse la órdenes \textordfeminine y \textordmasculine; por ejemplo, para abreviar María, escribimos M.\textordfeminine. Una variación de estas macros ha sido incorporada a 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 \sptext para casos como 1\sptext{er}.

6.8. ¿Cómo forzar sangría después de las cabeceras?

El objetivo de esa sangría (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, \[ \], un array, etc.) Sin embargo, es esencialmente una cuestión de gusto.

Modificarlo en un estilo es bastante fácil. La mayoría de las secciones, etc. en L^{A}TEX son algo así como (en

art10.sty):
     \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}}

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. Hay otro procedimiento para estilos que ya están escritos y consiste en decir:

     \let\@afterindentfalse\@afterindenttrue
     \@afterindenttrue

Esta solución es la proporcionada en indentfirst.sty por David Carlisle

6.9. ¿Cómo puedo escribir las funciones matemáticas en español?

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: El caso más común es el del seno que, en plain TEX, basta definirlo como

     \def\sen{\mathop{\rm sen}\nolimits} % Sustituye a \sin

Análogamente,

     \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.

Cuando la función en español tiene algún acento (sobre todo en la i), es más complicado:

     \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}}

6. Preguntas específicas para el L^{A}TEX en castellano 25

Por último, adaptándolas de su definición original (ver pág. 361 del TEXbook) para poner el acento en las dos posibilidades de uso de mod hacemos:

\def\bmod{\mskip-\medmuskip \mkern5mu
\mathbin{\rm m\acute od} \penalty900 \mkern5mu
\mskip-\medmuskip}
\def\pmod#1{\allowbreak \mkern18mu ({\rm m\acute od}\,\,#1)}

En L^{A}TEX se puede hacer de forma similar pero usando \newcommand o \renewcommand en lugar de \def.

6.10. ¿Qué verificadores ortográficos puedo utilizar para español?

ispell

ispell es un verificador ortográfico de uso libre que funciona en UNIX, aunque hay un port para 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–.

Para ispell existe lo siguiente:

Ficheros de afijos para español:

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.
URLs:         ftp://ftp.fi.upm.es/pub/unix
               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.

Diccionarios compatibles con ispell:

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.
URLs:         ftp://ftp.fi.upm.es/pub/unix
               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.

El que hay en ftp.dante.de es de

Julio Sánchez

El que hay en ftp.fi.upm.es es de

Santiago Rodríguez  (srodri@fi.upm.es)
Jesús Carretero  (jesus@fi.upm.es)

Excalibur Para Macintosh, existe un verificador ortográfico de documentos L^{A}TEX (y plain TEX) llamado Excalibur. Es gratis, aunque el copyright es del autor, Rick Zaccone (zaccone@bucknell.edu). Excalibur puede conseguirse por ftp anónimo en:

ftp://sol.eg.bucknell.edu/pub/mac

Juan Luis Varona (jvarona@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 í la reconoce únicamente como \'{\i}. Pero puede modificarse si se desea. La versión más reciente puede encontrarse en

ftp://tex.unirioja.es/pub/tex/dict-mac

Asimismo, en la dirección mencionada para Excalibur, en el directorio Excalibur-dictionaries, se encuentran disponibles los diccionarios de los distintos idiomas. El diccionario español puede encontrarse también

en CTAN en
     CTAN://systems/mac/support/excalibur/Spanish_Dictionary.sit.hqx

4spell 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

     CTAN://support/4spell

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

ftp://tex.unirioja.es/pub/tex/dict-win

amspell amspell es un verificador ortográfico para DOS. El diccionario de Juan Luis Varona también se ha adaptado para ser utilizado con amspell. La versión para amspell está disponible en

ftp://tex.unirioja.es/pub/tex/dict-pc

y amspell en

     CTAN://support/amspell

6.11. ¿Cómo utilizo BibTEX en castellano?

Para esto hay dos aproximaciones,

Utilizar estilos adaptables (los abstyles)

Para que BibTEX funcione en español, Tomás Bautista ha modificado con babel una familia adaptable de estilos de BibTEX (también llamadas abstyles). Con las abstyles se tiene la ventaja de utilizar un único estilo, de forma que el idioma de las referencias únicamente depende del elegido con 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 \bibliographystyle{estilo}. Además, con las abstyles sólo es necesario un aplain.bst preparado para distintos idiomas, según lo elegido

en babel. Están disponibles en CTAN/biblio/bibtex/contrib/abstyles-babel/.

Utilizar el paquete custom-bib

El paquete custom-bib (disponible en CTAN/macros/latex/contrib/supported/custom-bib/)

permite crear estilos bibliográficos a medida, con una amplia serie de opciones y de idiomas. Para utilizarlo, una vez desempaquetado debe hacerse

     latex makebst.tex

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 3.1 (Tutoriales en castellano) – es una ayuda interesante al respecto.

6.12. ¿Cómo genero un índice alfabético con la ordenación correcta en castellano?

El problema con que uno se encuentra al utilizar makeindex es que no ordena correctamente las palabras con caracteres acentuados, ya que por ejemplo ordena la á como \'a que es lo que TEX escribe al archivo de índice y salvo que fuera la más reciente versión de 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 makeindex en idiomas como el castellano. Para solucionar este problema hay varias aproximaciones:

Decir a makeindex cómo debe ordenar la palabra acentuada Por ejemplo, para los acentos o para la ñ se introduciría la entrada al índice como

     \index{optica@óptica}
     \index{indice@índice}
     \index{can^^ffa@caña}

y para una palabra compuesta como por ejemplo en

     \index{optica electromagnetica@óptica electromagnética}

Utilizar el paquete esindex esindex es un paquete desarrollado por Javier Bezos para facilitar la escritura de índices correctamente alfabetizados en castellano. Su única orden es \esindex que convierte su argumento a una forma adecuada. Por ejemplo,

     \esindex{ca'n'on}

equivale a

     \index{can^^ffon@ca'n'on}

Es necesario usar babel y que los acentos estén escritos en forma de abreviaciones ('a, 'e, etc.). El paquete utiliza ciertas órdenes internas de babel por lo su funcionamiento puede cambiar con versiones distintas a la 3.6. 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 .ind a mano. Este paquete puede encontrarse en

     CTAN/macros/latex/contrib/supported/bezos/

Utilizar xindy 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. 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 /CTAN/indexing/xindy/ y su página web está en

http://www.iti.informatik.tu-darmstadt.de/xindy/

Existen unos archivos de estilo para utilizar xindy en castellano en la página anterior y la versión más reciente, incluyendo binarios para linux se puede encontrar en

(libc5) http://www.aq.upm.es/˜ agmartin/linux/store/xindy-2.0.1.tgz (glibc2.1) http://www.aq.upm.es/˜ agmartin/linux/store/xindyg21-2.1.tgz

Uno de los estilos (es-mkidx.xdy) ordena según las reglas modernas del castellano mientras que el otro (es-tridx.xdy) ordena según las reglas ya obsoletas, con ch y ll. Su uso es algo distinto del habitual en makeindex

     xindy -f tex2xindy estilo.xdy tu_archivo.idx

donde tex2xindy es un filtro que convierte sobre la marcha del formato habitual de los .idx al formato especial que utiliza xindy, estilo.xdy puede ser cualquiera de los dos mencionados (u otro cualquiera para otro idioma o particularizado por el autor del documento) y tu_archivo.idx es el que crea L^{A}TEX a partir de las llamadas a

\index.

7. ¿Que es...?

7.1. ¿Qué es el CTAN (Comprehensive TEX Archive Network).

Son las abreviaturas de Comprehensive TEX Archive Network (Red del Archivo Completo de TEX). Son tres servidores de FTP que almacenan prácticamente todo lo relacionado con el TEX. Sus nodos son:

ftp.dante.de (Alemania)

ftp.tex.ac.uk (Reino Unido)

ftp.shsu.edu (Estados Unidos)

También se puede acceder mediante gopher o WWW con otros nombres, y existen interfaces de acceso como

http://www.ucc.ie/cgi-bin/ctan

que muestra una serie de réplicas del CTAN, y permite hacer búsquedas en ellas.

En los tres casos el material de TEX está en el directorio /tex-archive. Cada uno es un 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 /tex-archive, se puede omitir dicho directorio y darse por supuesto. Por ejemplo, si alguien nos dice que L^{A}TEX se encuentra en CTAN/macros/latex quiere decir que podemos encontrarlo por ejemplo en el directorio

ftp://ftp.dante.de/tex-archive/macros/latex

Nota: Desde hace tiempo, ftp.shsu.edu 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 réplica:

ftp://ftp.cdrom.com/pub/tex/ctan

En España existe una réplica del CTAN en

ftp://ftp.rediris.es/mirror/tex-archive

aunque no se actualiza con la misma rapidez que los nodos del CTAN.

7.2. ¿Qué es el esquema de codificación de Cork?

Es el código acordado en la reunión del TUG 1990 en Cork, el llamado TEX 256 international character set 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 compose en Sun o terminales VTxxx (xxx >= 200).

7.3. ¿Qué es babel?

Babel es un conjunto de estilos escritos por Johannes L. Braams que:

Proporciona macros útiles para la producción de documentos en una veintena de idiomas, incluido el español.

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.

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.

Puede ser utilizado en plain TEX también.

Además, babel convive cómodamente con otros estilos. Por ejemplo, artikel1.sty usa parte de la ayuda de babel. Es fácil escribir estilos que combinen con babel. Si tu estilo lo escribes usando para los literales las macros que 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 babel derivan del trabajo realizado por Hubert Partl. Estilos escritos de forma compatible con el trabajo de Partl, deben funcionar con babel en principio. De hecho, es ya estándar este convenio en las versiones de L^{A}TEX posteriores a octubre de 1991.

Babel puede conseguirse en:

     CTAN/languages/babel

7.4. ¿Qué son eTEX eL^{A}TEX y omega?

eTEX es una extensión de TEX con nuevas primitivas y algunas correcciones en el código de TEX para mejorar (aun más si cabe) sus capacidades tipográficas. Es solo un paso intermedio para NTS, que será el nombre definitivo. eL^{A}TEX es una versión de L^{A}TEX para eTEX, que en realidad es exactamente igual en su funcionamiento, solo que los archivos de formato de TEX y eTEX no son compatibles.

omega es similar en concepto, aunque distinto en realización, ya que utiliza preprocesadores integrados con TEX. Además, funciona con unicode y permite escribir en cualquier lengua conocida (o por conocer). lambda es una versión de L^{A}TEX para omega, y se puede decir lo mismo que sobre eL^{A}TEX.

Ambas son prescindibles si solo quieres usar TEX; pero ambas son imprescindibles si quieres ir más allá en tipografía.

7.5. ¿Qué es RevTEX?

RevTEX es un conjunto de macros y estilos en L^{A}TEX 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 L^{A}TEX (texto en ASCII que puede enviarse por 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 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.

Aunque la versión RevTEX 3.1 no es del todo compatible con L^{A}TEX (hay que modificar algo las tablas, por ejemplo) está en fase beta una versión RevTEX 4 que solucionaría estos problemas.

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)

http://www.aip.org

7.6. ¿Qué es una box y cuando conviene utilizarlas?

Realmente esta es una pregunta más especializada. Una box es una forma de guardar información para reutilizarla después. Por ejemplo, se podría guardar un logo con información con

     \newsavebox{\logo}
     \sbox{\logo}{\includegraphics{logo.eps}}

y luego utilizarla con \usebox{\logo}. La diferencia con usar \newcommand{\logo}{\includegraphics{logo.eps}} y luego poner \logo cada vez que se utilice es la siguiente:

Lo que hay en un 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 savebox ya que el recuadro usado contiene siempre exactamente lo mismo y de esta forma, no se llama a \includegraphics en cada pagina, sino tan solo una vez. Sin embargo, una box no admite argumentos como lo hace una macro.

8. ¿Cómo hago ...?

8.1. ¿Cómo y dónde instalo nuevos paquetes o archivos de estilo?

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.

8.1.1. Dónde buscar un paquete nuevo y qué traer

Normalmente los paquetes nuevos se encontrarán en el 7.1 (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 misc, que tienen contribuciones al CTAN en forma de archivos de estilo individuales completos en sí mismos. En este caso bastaría con descargar el archivo individual correspondiente.

8.1.2. ¿Qué es cada uno de los archivos que traigo?

Un paquete pequeño puede estar compuesto únicamente de un archivo de estilo .sty (por ejemplo paquete.sty) con las instrucciones de uso incluidas como comentarios en el mismo, en un archivo separado o bien en un archivo README.

Sin embargo, es más frecuente encontrar el paquete en forma de un par de archivos paquete.ins y paquete.dtx, escritos para ser utilizados con el sistema doc de L^{A}TEX. Los archivos de estilo deben extraerse de éstos. Si hay un README adicional debe leerse éste previamente.

8.1.3. Extrayendo archivos de estilo de los .dtx y .ins

En el sistema doc el manual de usuario y el código del paquete documentado se encuentran en el archivo .dtx, mientras que el archivo .ins contiene instrucciones L^{A}TEX acerca de la extracción del código del archvo .dtx. Para extraer los distintos archivos debe seguirse el siguiente procedimiento:

Correr L^{A}TEX sobre paquete.ins. Esto extraerá uno o más archivos (normalmente un paquete.sty, pero dependiendo del paquete pueden generarse más archivos).

Correr L^{A}TEX sobre paquete.dtx para obtener el manual de usuario y posiblemente una versión comentada del código del paquete.

Correr de nuevo L^{A}TEX sobre paquete.dtx. Ésto resolverá las referencias y generará una tabla de materias si el archivo original lo pide así.

Si L^{A}TEX da el error "No file paquete.ind" significa que no encontró el archivo fuente para el índice de órdenes. Para generar el índice basta hacer

          makeindex -s ind.ist paquete

y correr de nuevo L^{A}TEX.

Imprimir y leer paquete.dvi.

A veces se proporciona el manual de usuario separadamente del archivo .dtx. En este caso es recomendable procesarlo después de hacer lo anterior, ya que puede necesitar elementos del paquete que está describiendo.

8.1.4. ¿Dónde colocar nuevos archivos de estilo?

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.

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, teTEX, fpTEX o mikTEX) hay una serie de normas que deben tenerse en cuenta

1. Instalar siempre los nuevos archivos personales en una rama texmf local del árbol global. De esta forma puede actualizarse el árbol oficial sin tocar los archivos locales personales. El directorio raíz local tendrá un nombre del tipo:

          teTeX:           /usr/share/texmf.local/
          fpTeX:           c:\fptex\texmf.local\
          mikTeX:          c:\localtexmf\

que puede cambiar dependiendo de las opciones dadas durante la instalación. Por simplicidad le denominaremos $TEXMF en lo que sigue.

2. 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:

     .sty, .cls o .fd: $TEXMF/tex/latex/<paquete>/
     .dvi, .ps o .pdf: $TEXMF/doc/latex/<paquete>/
     .tfm:  $TEXMF/fonts/tfm/<suministrador>/<fuente>/
     .vf:   $TEXMF/fonts/vf/<suministrador>/<fuente>/
     .afm:  $TEXMF/fonts/afm/<suministrador>/<fuente>/
     .pfb:  $TEXMF/fonts/type1/<suministrador>/<fuente>/
     .ttf:  $TEXMF/fonts/truetype/<suministrador>/<fuente>/

donde paquete, fuente y suministrador dependen de cada archivo individual de cada paquete.

A menudo la rama local no está activada por omisión y es necesario hacerlo.

8.1.5. Activando ramas locales y personales del árbol de directorios L^{A}TEX global

A menudo la rama local del árbol global no está activada por omisión y es necesario activarla:

teTEX y fpTEX; En primer lugar es necesario localizar el archivo de configuración texmf.conf. Éste puede estar en

/etc/texmf/texmf.conf, /etc/texmf.conf o /usr/share/texmf/web2c/texmf.conf, de-

pendiendo de la distribución. Aunque no siempre es necesario, en la primera línea del archivo borrar la palabra "original". Jugando adecuadamente con 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 /usr/share/texmf/, archivos locales bajo /usr/share/local.texmf y archivos personales bajo ˜ /texmf, las líneas del texmf.cnf que lo harían son

     TEXMFMAIN = /usr/share/texmf

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

     TEXMFLOCAL = /usr/share/texmf.local
     HOMETEXMF = $HOME/texmf

que normalmente vienen comentadas. Finalmente se seleccionaría

     TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}

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 texhash (o 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. El fichero de configuración está extensamente comentado con explicaciones de la función de cada una de las posibles líneas.

8.1.6. Rehaciendo la base de datos de archivos instalados

El paso final consiste en decirle a L^{A}TEX que hay una serie de nuevos archivos que debe ser capaz de encontrar. En la mayor parte de los sistemas L^{A}TEX 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.

teTEX, fpTEX Correr

          texhash

web2c En cualquier distribución web2c reciente texhash debiera funcionar. Si no es así, probar con

          mktexlsr

MikTEX En una distribución MikTEX anterior a la v2.0, hacer con los menúes desplegables:

          Start-> Programs-> MikTeX-> Maintenance-> Refresh filename database

o en una ventana DOS

          initexmf -update-fndb

En una distribución MikTEX mayor o igual que la v2.0, hacer con los menúes desplegables

          Start-> Programs-> MikTeX 2-> MikTeX Options

y pulsar el botón "Update filename database".

8.1.7. ¿Cómo verifico los directorios en los que TEX busca archivos de estilo?

La respuesta más general sería mirando los archivos de configuración, pero si se trata de un TEX que utiliza las rutinas kpathsearch de Karl Berry, es mucho más sencillo

     % kpsepath tex

responderá con la lista de los directorios en los que busca. Una doble barra (//) indica que se busca recursivamente en los subdirectorios del que pone. Es decir, que si los paquetes particulares están en

˜ /texmf/tex/latex/lo-que-sea, o en ˜ /texmf/tex/mas-paquetes los encontrará.

8.2. ¿Cómo personalizo el aspecto del documento?

8.2.1. ¿Cómo cambio la fuente de un documento?

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 Times, usa el paquete times poniendo en el preámbulo \usepackage{times}. Otra familia disponible es lucida-bright, que puedes cargar con el paquete lucidabr. Si miras estos archivos (times.sty o lucidabr.sty) puedes aprender la forma de usar una fuente, y copiarlo para otros tipos.

8.2.2. ¿Cómo evito que salga la palabra capítulo en las cabeceras de capítulo?

Cuando se usa spanish-babel basta con poner en el preámbulo, después de haberse cargado babel

     \addto{\captionsspanish}{\def\chaptername{}}

y queda eliminada la palabra Capítulo. Si no se usa babel basta con poner en el preámbulo \def\chaptername{}. Realmente esto es un caso particular de cambio de literales, que se trata en las secciones 6.4 () y 6.6.5 ()

8.2.3. ¿Cómo cambio la cabecera de capítulo por otra más a mi gusto?

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 titlesec, disponible

en CTAN/macros/latex/contrib/supported/titlesec

8.2.4. ¿Cómo quito los encabezados que L^{A}TEX pone automáticamente en las páginas blancas?

Si se quiere controlar cuando se quiere o no este comportamiento en cada página con este problema, se puede definir una nueva orden,

     \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}

y teclear \clearemptydoublepage cada vez que quieras continuar el texto en una pagina impar.

Cuando se quiere que esto ocurra automáticamente hay que redefinir la orden \cleardoublepage como sugiere la documentación del paquete fancyhdr,

     \makeatletter
        \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
        \vspace*{\fill}
          \thispagestyle{empty}
          \newpage
          \if@twocolumn\hbox{}\newpage\fi\fi\fi}
     \makeatother

Cuando se utiliza el paquete titlesec de Javier Bezos para definir formatos propios de cabeceras y pies de pagina, la opción de paquete clearempty ya hace el trabajo:

     \usepackage[<tus_opciones>,clearempty]{titlesec}

8.2.5. ¿Cómo hago que TEX no parta nunca las palabras?

Una forma de conseguir que TEX no corte casi nunca, (y así de paso se evita que corte mal) es poner:

     \pretolerance=2000
     \tolerance=3000

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,

     {\pretolerance=2000
     \tolerance=3000
     el párrafo o región
     }

8.2.6. ¿Cómo ajusto los márgenes de un documento L^{A}TEX?

Quizás la forma más cómoda sea utilizar el paquete geometry, que se encuentra disponible en

CTAN/macros/latex/contrib/supported/geometry. Por ejemplo
     \documentclass[a4paper,spanish]{article}
     \usepackage[a4paper,left=3cm,right=2cm]{geometry}

crea una página A4 con margen de 3cm a la izquierda y 2cm a la derecha, sin más complicaciones.

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 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, L^{A}TEX 2ε proporciona la orden \enlargethispage{distancia} donde se aumenta el tamaño vertical de la página en la distancia especificada.

A pesar de esa dificultad, puede utilizarse el paquete 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.

8.2.7. ¿Cómo obtengo un documento apaisado?

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 landscape, algo del tipo

     \documentclass[a4paper,spanish]{article}

donde la clase de documento puede ser también cualquier otra como 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 dvips, por ejemplo en la forma siguiente

     dvips -ta4 -tlandscape tu_archivo -o tu_archivo.ps

donde -tlandscape gira la salida. La opción -ta4 es a menudo conveniente si se utiliza papel a4, para que el giro se haga de forma adecuada.

8.2.8. ¿Cómo ajusto el espaciado en el documento L^{A}TEX?

Para ajustar el espaciado en un documento L^{A}TEX 2ε se recomienda utilizar el paquete setspace, que se cargará en el preámbulo. Las órdenes \singlespacing, \onehalfspacing, y \doublespacing colocadas en el preámbulo establecen el espaciado global del documento. Pueden establecerse valores intermedios mediante la orden \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ándard en ese momento, doublespacing empezará un entorno de espaciado doble que el espaciado en ese momento, si es doble lo hará aún mayor).

Para un documento L^{A}TEX209 puede utilizarse el paquete doublespace.

8.2.9. ¿Cómo ajusto el espaciado en una lista?

La distancia entre los elementos es la suma de los valores de \parsep (que es también la distancia entre párrafos dentro de un mismo elemento) e \itemsep. 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 \itemsep.

Es un espacio elástico, es decir, además de con \setlength{\itemsep}{1cm} se puede definir con algo como

     \itemsep= 4pt plus 2pt minus 1pt

donde 4pt sería el espacio normal, 2pt lo máximo que podría estirarse y 1pt lo máximo que podría encogerse. También pueden cambiarse para una única lista delimitando mediante llaves el rango de aplicación, por ejemplo

     {\topsep=-15pt  \parsep=-15pt  \partopsep=-15pt
          \begin{enumerate}\itemsep=-5pt
              \item{ Pruebas de interespaciado}
              \item{ Pruebas de interpaginado}
              \item{ Pruebas de espaciado}
          \end{enumerate}}

8.3. Referencias cruzadas, índices y bibliografías.

8.3.1. ¿Hay alguna herramienta de gestión de bases de datos bibliográficas en BibTEX?

Sí, existen varias, por ejemplo

bibtex.el Modo BibTEX para emacs. Normalmente viene incluido con emacs, pero también se puede obtener de su página principal http://www.ida.ing.tu-bs.de/people/dirk/bibtex/

Winbibdb y bibdb ambos excelentes y disponibles en CTAN/support/bibdb con su página base en http://www.mackichan.com/BibDB/default.htm

bibtool disponible en CTAN/bibtex/utils/bibtool/ con su página principal en http://bibtool.sourceforge.net/

8.3.2. ¿Cómo introduzco la bibliografía o el índice en la tabla de materias?

La forma más cómoda es utilizar el paquete tocbibind, que se encuentra disponible en

CTAN/macros/latex/contrib/supported/tocbibind y en la mayor parte de las distribuciones,

pero también puede hacerse a mano con por ejemplo \addcontentsline{toc}{chapter}{\bibname} en la definición correspondiente.

8.3.3. ¿Cómo pongo el índice con su contenido al principio de cada capítulo?

Con el paquete minitoc

8.3.4. ¿Cómo añado bibliografía al final de cada capítulo en L^{A}TEX?

Puede hacerse usando el paquete 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 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 sectionbib.

Otro paquete que permite una cosa similar es bibunits.sty 8.3.5. ¿Cómo divido la bibliografía por temas en L^{A}TEX?

Los paquetes multibib.sty y bibtopic.sty 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.

8.3.6. ¿Cómo cito una página de una referencia bibliográfica?

Mediante algo del tipo

     \cite[pág.~29]{gar98}

donde gar98 sería la etiqueta BibTEX para la cita deseada.

8.3.7. ¿Cómo cito una url con BibTEX?

En los estilos bibliográficos estándar de BibTEX no hay un tipo para las url, aunque es posible que en una futura versión de BibTEX sí lo haya.

En tanto esa versión aparece la forma más sencilla consiste en utilizar el campo howpublished del tipo misc. Una entrada de ese tipo tendría la forma

        @misc{...,
          ...,
          howpublished = "\url{http://...}"
        }

También puede ocurrir que un artículo, informe o incluso libro se encuentre disponible también en la web. En este caso se podría hacer algo del tipo

        @techreport{...,
          ...,
          note = "También disponible como \url{http://...}"
        }

donde se supone que se ha utilizado el paquete url, disponible en CTAN/macros/latex/contrib/other/misc/url.sty/, lo que es muy recomendable para estas referencias por diversas razones.

8.3.8. ¿Cómo colapso una serie de citas consecutivas?

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 cite, disponible en CTAN/macros/latex/contrib/supported/cite y en teTEX permite hacer precisamente eso.

8.3.9. ¿Cómo hago una referencia cruzada a un documento externo?

Para hacer referencias cruzadas entre documentos se puede usar el paquete xr, de David Carlisle, disponible en las distribuciones habituales y en CTAN/macros/latex209/contrib/misc/xr.sty. Su uso es como sigue,

     ...
     \usepackage{xr}                           %Referencias a otros documentos

     ...
     \externaldocument{miotrodocumento}
     ...

Una vez hecho esto las referencias se declaran como si de un único documento se tratase.

8.4. ¿Cómo introduzco figuras en L^{A}TEX?

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 postscript encapsulado o en mapa de bits.

El problema en este segundo caso es que los datos del gráfico deben darse en el documento mediante órdenes \special - Véase 4.9 (¿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 \special se pueden utilizar paquetes de más alto nivel que, dependiendo de los conversores transforman sus órdenes a los \special correspondientes.

Para ello se puede utilizar el paquete graphics, que está entre los paquetes adicionales del L^{A}TEX 2ε (disponible en CTAN/macros/latex/required/graphics/). Dependiendo de las opciones deseadas se le llama como graphics (menos potente) o graphicx (más potente y recomendado). Un paquete más antiguo es psfig que en la práctica ha sido sustituido en L^{A}TEX 2ε por graphics que es el paquete oficial de introducción de gráficos externos en L^{A}TEX 2ε. Sin embargo, si se usa L^{A}TEX 209 será necesario usar psfig (disponible en CTAN/graphics/psfig)

También es necesario tener un conversor de DVI al lenguaje de impresora que soporte esos \special, lo que limita los formatos gráficos soportados. En particular es especialmente interesante que soporten el formato .eps (postscript encapsulado), lo que hacen el dvips y los conversores que vienen con OzTEX o TEXtures. 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 graphics o alguna de las referencias que se dan a continuación.

Existe en el CTAN documentación muy interesante acerca de este tema. El documento de Anik K. Goel (CTAN/info/figsinltx.ps) trata de diferentes formas de generar figuras y de incluirlas con psfig para L^{A}TEX 209. El documento de Keith Reckdahl (CTAN/info/epslatex.pdf) está más dirigido al trabajo en L^{A}TEX 2ε y a las figuras .eps. Una referencia excelente sobre el tema es el L^{A}TEX Graphics Companion, de M. Goossens, S. Rahtz y F. Mittelbach, véase la sección 3.4 (Libros en otros idiomas).

8.4.1. Dibujando con TEX

Existen una serie de formas de dibujar con TEX en vez de importar archivos externos. Desde el simple uso del entorno picture, incluso con mejoras como las proporcionadas por epic a dibujos sofisticados (aunque lentos) con las macros PicTEX. Dependiendo de lo que se quiere hacer alguno de los siguientes sistemas puede ser el más útil:

pstricks Disponible en CTAN/graphics/pstricks, que da acceso a la potencia de postscript desde TEX mediante un uso sofisticado de los \special. Necesita un conversor a postscript bueno (como p.ej. dvips), está bien documentado y da buenos resultados.

MetaPost Toda la potencia de METAFONT, pero generando figuras postscript en vez de tipos. Para más información en castellano sobre metapost puede consultarse la página http://w3.mecanica.upm.es/metapost . A partir de la versión 3.7.1 del paquete gráfico gnuplot éste ya permite exportar sus resultados en formato metapost. gnuplot

está disponible en CTAN/graphics/gnuplot.

pdfL^{A}TEX también trata metapost nativamente mediante el uso de \convertMPtoPDF. La sintaxis es

     \convertMPtoPDF {nombre} {escala x} {escala y}

Si el nombre del gráfico incluido tiene la extensión .mps \includegraphics llama internamente a esta orden de forma transparente al usuario y no es necesario incluirla de forma explícita. El gráfico MP así incluido se puede manipular sin problema con los comandos habituales de graphicx: rotatebox, resizebox, scalebox, etc... Los archivos metapost pueden editarse con un editor de texto y conocimiento del lenguaje metapost, pero también está disponible el editor gráfico Metagraf para METAPOST, que se encuentra en fase avanzada de desarrollo. Está escrito en Java y por tanto funciona bajo distintos sistemas operativos. Se encuentra disponible en la misma página anterior, http://w3.mecanica.upm.es/metapost . El programa pstoedit permite pasar de postscript a otros formatos editables, entre ellos metapost, aunque es posible que en el cambio se pierdan elementos del dibujo original.

MfPic Disponible en CTAN/graphics/mfpic. 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.

draTEX de Eitan Gurari. Disponible en CTAN/macros/generic. Un paquete de macros del tipo de PicTEX, pero mucho más manejable y menos necesitado de recursos de ordenador.

8.4.2. Introduciendo figuras postscript encapsulado en L^{A}TEX

Un ejemplo de documento en el que se incluye una figura postscript externa utilizando el paquete graphicx sería (se supone que se utiliza el conversor dvips)

...
\usepackage[dvips]{graphicx}
...
\begin{figure}
  \centering
  \includegraphics[width=10cm]{imagen.eps}
  \caption{Esto es una imagen}
  \label{fig:prueba}
\end{figure}
...

que incluiría la figura imagen.eps con una anchura de 10cm. Nótese que el que L^{A}TEX 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., dvips sabe como incluir figuras postscript y si se ha compilado con esa opción algunos tipos de mapas de bits). Asimismo es conveniente usar \centering en vez del entorno 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,\centering se puede usar también como entorno, si fuera necesario (\begin{centering} ... \end{centering}). Si se desea cambiar la separación con centering pueden cambiarse \textfloatsep (para b y t) e \intextsep (para h) con \setlength.

Para contener el gasto en espacio de disco que supone usar PostScript, el paquete graphicx permite que las figuras que se van a incluir estén comprimidas con gzip, puesto que entiende los sufijos .eps.gz y .ps.gz. Para que L^{A}TEX sepa el tamaño de la figura que está en el archivo, debe existir otro con extensión .eps.bb o .ps.bb con la 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 psbb, distribuido con las utilidades groff de GNU ( http://www.gnu.org ).

8.4.3. Introduciendo imágenes en mapa de bits en L^{A}TEX.

En este caso la línea del \includegraphics... anterior se convertiría en

     \includegraphics[0,0][101mm,50mm]{figura.pcx}

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.

8.4.4. Introduciendo figuras en pdfTEX

PDFTEX – ver la pregunta 8.6.1 (¿Cómo obtengo un documento PDF a partir de mi documento TEX?) – no permite la inclusión directa de figuras PostScript. Pueden incluirse figuras en PDFTEX siempre que éstas estén en alguno de los formatos JPEG, TIFF, PDF ó PNG. Existen utilidades para convertir de PostScript encapsulado a PDF y PNG (Distiller de Adobe ( http://www.adobe.com ) para PDF y ghostscript – gs – ( http://www.cs.wisc.edu/˜ ghost/index.html ) para convertir a PDF o a PNG). Para este último se tienen dos programas que lo utilizan y hacen de intermediario con el usuario, ps2pdf , incluido en ghostscript y epstopdf (disponible en CTAN/usergrps/uktug/baskerville/epstopdf, e incluido al menos en teTEX) para conversión directa entre los formatos .eps y .pdf

Para incluir una figura en PDFTEX se deben seguir los mismos pasos que para incluir una figura PostScript encapsulado en L^{A}TEX. Es recomendable omitir la extensión del archivo (.ps, .eps, .ps.gz, .eps.gz para PostScript y .jpg, .tif, .pdf, o .png para PDFTEX). De esta forma el paquete graphicx tomará el archivo adecuado según que se esté usando L^{A}TEX o PDFL^{A}TEX.

8.4.5. ¿Cómo coloco un fragmento TeX en una figura?

Esencialmente hay dos formas, mediante los paquetes psfrag y overpic,

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 (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:

          \usepackage{psfrag}

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

          \psfrag{cadena_original}{cadena_sustituta}

por cada una de las cadenas a sustituir.

Este sistema NO funciona con pdfL^{A}TEX salvo que se utilice vtex. Véase 8.6.1 (¿Cómo obtengo un documento PDF a partir de mi documento TEX?).

overpic El paquete 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.

          \usepackage{overpic}

8.4.6. ¿Cómo puedo poner una figura rodeada de texto?

Para ello existen distintas opciones, mediante los paquetes

     wrapfig (CTAN/macros/latex/contrib/other/misc/wrapfig.sty) Contiene wraptable, para ha-

cer lo mismo con tablas.

     floatflt (CTAN/macros/latex/contrib/other/floatflt/)

picins (CTAN/macros/latex209/contrib/picins/), que también puede utilizarse con tablas.

     picinpar (CTAN/macros/latex209/contrib/picinpar)

todos ellos disponibles en el CTAN. Para casos sencillos un simple parbox o una minipage pueden hacer un buen trabajo.

8.4.7. ¿Cómo consigo un mayor control de la posición de figuras y demás elementos flotantes?

Para ello puede utilizarse el paquete float, (CTAN/macros/contrib/supported/float, que añade nuevas funcionalidades al comportamiento normal de los elementos flotantes como figuras y tablas.

8.5. ¿Cómo giro un elemento en un documento L^{A}TEX?

Para giros sencillos, el paquete graphicx contiene las orden \rotatebox 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 rotating (disponible en

CTAN/macros/latex/contrib/supported/rotating). Este paquete permite girar casi cualquier tipo de

elemento, incluyendo figuras o tablas completas con sus cabeceras, mediante los entornos sidewaystable y sidewaysfigure.

8.6. ¿Cómo convierto mis documentos a L^{A}TEX y desde L^{A}TEX?

Existe una FAQ específica acerca de las conversiones entre formatos TEX y de otros procesadores de textos, disponible en http://www.kfa-juelich.de/isr/1/texconv/texcnv.html que se archiva en CTAN/help/wp-conv/wp-conv.zip. A continuación se da sólo una pequeña parte de esa información junto con información específica para PDF..

8.6.1. ¿Cómo obtengo un documento PDF a partir de mi documento TEX?

Existen distintas formas de producir PDF usando (La)TEX.

A partir del PS – ver la pregunta 4.10 (¿Qué es PostScript?) –, usando Distiller (de Adobe) o Ghostview, 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).

A partir de DVI, usando dvipdfm, (CTAN/dviware/dvipdfm), que genera PDF de alta calidad, insertando los gráficos y permitiendo anotaciones y enlaces. Su página raíz es http://odo.kettering.edu/dvipdfm

Usando pdfTEX, que procesa el archivo fuente de TEX y genera PDF directamente. Acompañado por el paquete 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. pdfTEX 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, véase la sección 8.4.4 (Introduciendo figuras en pdfTEX) –. Las versiones de desarrollo pueden encontrarse en: http://www.fi.muni.cz/˜ thanh/download/ . Información adicional está disponible en http://www.tug.org/interest.html#projects .

vTEX es una distribución comercial de TEX que da salida .pdf directamente y soporta inclusión de figuras .eps, así como el uso de psfrag y de algunos otros paquetes que utilizan postscript de alto nivel. Existen versiones para linux y OS/2 gratuitas, disponibles en

• http://www.micropress-inc.com/linux/

• http://www.micropress-inc.com/os2/

y en CTAN/systems/vtex. La versión para Windows es comercial http://www.micropress-inc.com

8.6.2. ¿Cómo obtengo una versión texto a partir de un documento PDF?

La forma más sencilla es mediante el Acrobat Reader (véase 4.11 () utilizando La herramienta Obtener texto que se encuentra a la izquierda en el Acrobat Reader.

8.6.3. Convirtiendo a L^{A}TEX desde otros formatos

WordPerfect El programa wp2latex (disponible en CTAN/support/wp2latex) ha sido recientemente actualizado por Jaroslav Fojtik y ahora está disponible tanto para DOS como para Unix.

Rich Text Format (RTF)

Hay dos conversores disponibles, rtf2tex de Robert Lupton (disponible en CTAN/support/rtf2tex) y rtf2latex, de Erwin Wechtl (disponible en CTAN/support/rtf2latex), para TEX y L^{A}TEX respectivamente.

Microsoft Word Aunque hay un programa de conversión (wd2latex, disponible en CTAN/dviware/wd2latex), se recomienda convertir el documento a RTF y utilizar uno de los conversores de RTF mencionados.

8.7. ¿Cómo rehago los formatos de TEX y L^{A}TEX?

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 initex (Este nombre cambia para algunas distribuciones, por ejemplo para emTEX es tex -i). Como muestra, para rehacer el formato plain se haría

     initex plain \dump

Con eso se tiene el archivo plain.fmt; ya sólo queda reemplazarlo donde estuviera el original y listo.

Para hacerlo por ejemplo para eplain se habría hecho initex plain, y cuando aparece * se introduciría \input eplain y después cuando vuelve a aparecer * se introduciría \dump, así tendría un formato con eplain y no habría que estar poniéndolo con \input.

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 eplain se podría haber creado el archivo eplain.ini con las líneas

     \input plain
     \input eplain
     \dump

y se habría rehecho el formato con initex eplain.ini.

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 teTEX 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 mikTEX donde hay un elemento en un menú desplegable para rehacer los formatos ( o desde una ventana DOS initexmf –dump).

8.8. ¿Cómo llamo a un editor desde TEX/L^{A}TEX?

Dando el valor adecuado a la variable de entorno TEXEDIT

     SET TEXEDIT=tu_editor +%d %s

en el autoexec.bat o similares o

     export TEXEDIT=tu_editor +%d %s

para bash y similares

8.9. Algunas cosillas matemáticas.

8.9.1. ¿Cómo escribo un número con periodo utilizando L^{A}TEX?

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 yhmath de Yannis Haralambous, disponible en CTAN/macros/latex/contrib/supported/yhmath. Este paquete permite indicar periodos de longitud arbitraria mediante un acento matemático \wideparen que hace precisamente ese papel.

El paquete yhmath necesita un tipo especial que viene con el paquete y además el paquete amsmath, por lo que para uso esporádico o no tan exigente puede bastar una definición como la siguiente

     \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}

8.9.2. ¿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)

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 CTAN/info/companion-rev/). L^{A}TEX define y mantiene unos cuantos contadores; uno de ellos es equation. Para generar una etiqueta impresa, L^{A}TEX ejecuta una orden cuyo nombre se forma añadiendo \the al comienzo del nombre del contador adecuado. Por ejemplo, un número de ecuación se genera con la orden

\theequation.

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:

     \renewcommand{\theequation}{\thesection.\arabic{equation}}

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 \makeatletter y un \makeatother) lo siguiente:

     \@addtoreset {equation}{section}

Esto hará que automáticamente se ponga el contador equation a 1 cuando se encuentre un nuevo \section.

8.9.3. ¿Cómo hay que hacer para lograr la N, R de doble trazo con que se representan los números naturales, reales, etc...

Una forma que funciona incluso en plain TEX y que no requiere cargar tipos adicionales es con definiciones del tipo

     \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}}

También es posible utilizar el tipo mathbb incluido con las amsfonts. Éstas se cargarían en el preámbulo con

     \usepackage{amsfonts}
     \usepackage[mathscr]{euscript}

y se llamarían como \mathbb{C}, etc...

Otra alternativa es el uso de los tipos bbm. Estos de cargan en el preámbulo con

     \usepackage{bbm}

de forma que $\mathbbm{N, Z, R, Q, I, C}$ daría el correspondiente símbolo.

8.9.4. ¿Puedo forzar que una fórmula tenga el mismo número que otra?

Sí mediante el paquete amsmath y la orden \tag. Por ejemplo,

     \begin{equation}\label{1}
     1+1=2.
     \end{equation}
     \begin{equation}
     1+1=2.\tag{\ref{1}}
     \end{equation}

8.9.5. ¿Puedo escribir símbolos matemáticos en negrita?

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 euler (más en concreto eurb).

También puede utilizarse el paquete amsmath. Así,

     \usepackage{amsmath}
     \begin{document}
     $\boldsymbol{H}$
     \end{document}

Si algún símbolo de alguna fuente no cambia a negrita con esta orden, puede también utilizarse, con el mismo paquete,

$\pmb{H}$.

8.9.6. Algunas preguntas de corta respuesta.

¿Cómo se escriben los números combinatorios (por ejemplo N sobre k)?

\binom{N}{k}, disponible en el paquete amsmath.

¿Cómo represento un tensor con sus índices?

Puede probarse con el paquete tensind, disponible en CTAN:/macros/latex/contrib/supported/bezos/.

¿Qué símbolos están disponibles para L^{A}TEX?

Además de los símbolos básicos de L^{A}TEX 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

     CTAN://tex-archive/info/symbols/comprehensive

8.10. ¿Cómo hago cuadernillos con TEX o L^{A}TEX?

Para hacer cuadernillos estrictamente con con TEX o L^{A}TEX se pueden utilizar las utilidades para manipular .dvi (disponibles en CTAN/dviware/dvibook) o utilizar el paquete quire (disponible en CTAN/macros/generic/midnight). 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.

El método más recomendable es utilizar las psutils, un conjunto de utilidades para manejar archivos postscript. Aunque el ejemplo está para un unix, también están disponibles para 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 ghostscript/ghostview.

Para Unix por ejemplo, si se colocan adecuadamente las hojas en la impresora

     psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -o | lpr

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

     psbook tu_archivo.ps | psnup -n 2 -pa4 | psselect -e | lpr

imprimiría las caras pares del librillo, y ya está, se tiene un librillo perfecto. La utilidad pstops también permite hacer todo eso directamente, pero con unas opciones mucho más crípticas.

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,

     $ psbook -s 16 manualA4.ps

reordenaría las páginas para hacer pliegos de 16 páginas, y su salida se pasaría después por psnup y psselect. El comportamiento por omisión consiste en hacer un único pliego.

8.11. ¿Cómo puedo preparar una exposición utilizando L^{A}TEX?

8.11.1. Haciendo transparencias con L^{A}TEX

En primer lugar se tiene la clase de documento slides, que forma parte de L^{A}TEX 2ε. Además, existen varios paquetes preparados para hacer transparencias. Los más clásicos son

     seminar (CTAN/macros/latex/contrib/other/seminar)
     foiltex (CTAN/macros/latex/contrib/supported/foiltex).

8.11.2. Haciendo una presentación con L^{A}TEX

También es posible generar directamente las transparencias en formato .pdf 4.11 (¿Qué es el formato pdf?)

utilizando los paquetes pdfslide (CTAN/macros/latex/contrib/supported/pdfslide) y pdfscreen
(CTAN/macros/latex/contrib/supported/pdfscreen), quedando las presentaciones preparadas pa-

ra ser proyectadas desde un ordenador. Otra alternativa consiste en utilizar la clase de documento foils (parte de foiltex) y pdflatex, utilizando posteriormente el postprocesador ppower4 ( http://www-sp.iti.informatik.tu-darmstadt.de/software/ppower4/index.html ) para tratar el archivo pdf obtenido. Un ejemplo de presentación realizada con este sistema es la de Luis Seidel al EGUTH99, disponible en ftp://tex.unirioja.es/pub/tex/EGUTH99/texweb

Otra fuente de información acerca de las posibilidades de presentaciones basadas en TEX y PDF, es la página http://www.cds.caltech.edu/caltex/2000/

de Ross Moore, que incluye fuentes de documentos, ejemplos,enlaces,...

8.11.3. Preparando un poster con L^{A}TEX

Por una parte existe un paquete llamado a0poster (CTAN/macros/latex/contrib/supported/a0poster)

y por otra existe una alternativa basada en un prograna C llamado póster (CTAN/support/poster. Este último distribuye el texto en páginas A4 que pueden unirse para hacer un póster grande.

8.11.4. Más información sobre presentaciones

La página web http://www.math.uakron.edu/˜ dpstory/pdf_demos.html enumera una serie de macros de L^{A}TEX y otros programas utilizados para hacer presentaciones tipo PowerPoint.

8.12. Algunas cosas que a veces se piden para mandar un documento a la imprenta.

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,

8.12.1. Sacando la imagen especular de un archivo (se decir, con todo al revés).

Con L^{A}TEX puede hacerse utilizando el paquete crop, en la forma

     \usepackage[mirror]{crop}

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 teTEX)

     dvips <archivo dvi> -h mirr.hd
     dvips <archivo dvi> -Pmirr
     dvips <archivo dvi> -Pmirrorprint

Realmente las dos primeras son la misma, pero llamadas de distinta forma (config.mirr llama a mirr.hd). crop y mirr.hd están disponible en muchas distribuciones y además pueden encontrarse en

CTAN/macros/latex/contrib/supported/crop/ y CTAN/macros/generic/TeX-PS/mirr.hd

8.12.2. Sacando el archivo en negativo (es decir, blanco sobre negro).

Para sacar el archivo en negativo puede utilizarse el paquete crop, cargándolo como

     \usepackage[invert]{crop}

8.12.3. Marcas de corte.

Para hacer los cortes, o marcas de corte (las líneas que señalan por donde deberá cortar la guillotina) puede utilizarse el paquete crop al que se acaba de hacer referencia. Dentro de las midnight macros (disponibles en CTAN/macros/generic/midnight se puede utilizar quire que también permite hacer marcas de corte

8.13. Algunas cuestiones adicionales, o menos FAQ

¿Cómo evito que se pegue el texto después de una orden?

Es decir, como evitar que si se escribe algo como \LaTeX es ... aparezca como LaTeXes ... con el texto pegado. Para ello hay varias formas, algunas más elegantes que otras. Las más sencillas son escribirlo bien como \LaTeX{} es ... o como \LaTeX\ es .... 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 xspace, parte de las herramientas básicas de L^{A}TEX 2ε. La forma de uso es simple, debe incluirse en el preámbulo del documento la llamada al paquete, \usepackage{xspace} y al definir la orden se hace como

          \newcommand{\mycommand}{palabra\xspace}

De este modo cualquier llamada a \mycommand incluirá el espacio en blanco si es necesario, y no lo hará si no es necesario.

¿Es posible poner en el margen derecho o izquierdo una imágen?

Para colocar una figura en el margen:

     \marginpar{\includegraphics{icono}}

¿Puedo hacer referencias cruzadas a notas a pie de página, incluso desde otras notas a pie de página? Perfectamente, con \label puesto dentro de la nota al pie (\footnote{\label{f1}Texto} y \ref puesto en su lugar (\footnote{Esta nota hace referencia a la nota \ref{f1} de la página \pageref{f1}}). Mediante \label 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 \label correspondiente, el \ref 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.

¿Puedo acumular las notas a pie de página al final del capítulo?

Sí, utilizando el paquete endnotes. ¿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

     \renewcommand{\thefootnote}{\itshape\alph{footnote}}

(Las llamadas con letras deben ser con cursiva, y se suelen reservar para cuadros y similares.) ¿Puedo escribir notas a pie de página en el margen?

     \marginpar{\footnotemark}\footnotetext{Texto de la nota}

¿Cómo saco un listado bonito de un programa en un documento L^{A}TEX?

Más bonito que utilizar verbatim queda con cualquiera de los paquetes listings.sty, lgrind o

fancyvrb.sty

¿Cómo obtener el símbolo del euro?

Utilizando el paquete eurofont de CTAN. Contiene instrucciones acerca de su uso con L^{A}TEX. ¿Cómo escribir los grados en L^{A}TEX?

Para obtener un resultado de mejor calidad que con ˆ \circ puede utilizarse la orden \textdegree del paquete textcomp.

¿Cómo encerrar un caracter en un círculo?

Utilizando la orden \textcircled{...} ¿Cómo colorear celdas en L^{A}TEX?

Utilizando el paquete colortbl (junto con el paquete graphicx) Algo como

     \multicolumn{1}{>{\columncolor[gray]{0.8}}c}{text}

debe colorear una celda. ¿Cómo cancelar elementos en una ecuación en L^{A}TEX

Mediante el paquete cancel.sty ¿Cuál es la instrucción para poner el producto vectorial?

\times o \wedge, según la forma que prefieras (cruz y angulito, respectivamente).

¿Cómo centrar elementos más grandes que el ancho de línea?

Por ejemplo, para una figura puede hacerse de la forma siguiente:

     \begin{center}
       \makebox[0cm][c]{\includegraphics{tufigura.eps}}
     \end{center}

o en general,

     \begin{center}
       \makebox[0cm][c]{
       Material tabular, o cualquier otra cosa.
       }
     \end{center}

Si se desea usar el entorno table, para poder poner el correspondiente \caption, la cosa se complica un poco ya que por alguna razón \makebox no admite el entorno table en su interior:

     \begin{center}
       \begin{table}
       \centering\makebox[0cm[c]{
         \begin{tabular}{|c|c|}
                ...... ....
         \end{tabular}
       }
       \caption{Texto}
       \end{table}
     \end{center}

¿Cómo saber el número de páginas de un documento para utilizarlo en el mismo?

El paquete lastpage lo resuelve de forma adecuada (necesitará un par de compilaciones)

¿Cómo obtener el tamaño de una tabla

Una posibilidad consiste en fabricar la tabla dentro de un savebox con el entorno lrbox y luego medirlo con \widthof, etc. del paquete calc. Si se usa longtable, este procedimiento no funciona, ya que se extiende por varias páginas. Sin embargo longtable precisamente escribe la longitud de cada fila de la tabla en el fichero .aux, por lo que se podría recuperar desde allí. En concreto, longtable escribe la definición de una macro \LT@<num>, donde <num> es un número de orden correlativo de cada entorno longtable (en romano y en minúsculas) que contiene las longitudes de cada columna.

¿Cómo evitar que una url muy larga se me desborde por la derecha?

Utilizando el paquete url. Está pensado precisamente para eso, para dividir los urls por puntos adecuados que no afecten a su legibilidad, como por ejemplo en las barras separadoras de directorio.

¿Como se escribe parte de un texto a 2 columnas?

Por ejemplo, utilizando el paquete multicol.

¿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 renewcommand{\arrayrulewidth}{1.1pt}

¿Como hacer que la clase report comience índice y capítulos en páginas impares?

Con la opción openfight. Por ejemplo

     \documentclass[a4paper,spanish]{report}

8.14. ¿He encontrado un error en L^{A}TEX ¿Cómo lo notifico?

Para notificar errores o problemas se escribe latex latexbug y se envía el informe así generado a latex-bugs@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 L^{A}TEX 2ε mandar el informe de error.

9. Preguntas que se van quedando obsoletas

9.1. ¿Qué es FTC?

FTC es un filtro que genera las particiones para el castellano. Además, simplifica enormemente la introducción de acentos. Está descrito en:

     @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"
     )

Puede conseguirse en:

     ftp://ftp.dit.upm.es/pub/pepe/ftc

9.2. ¿Qué es ML-TEX?

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 \charsubdef, reconstruir esos caracteres mediante combinaciones de otros. Knuth copió masivamente de ML-TEX para el TEX 3.X y 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.

Si somos usuarios de DOS, emTEX incorpora ya ML-TEX sin más que usar -ml en la línea de comando al crear el formato.

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 web2c de Karl Berry.

10. Información sobre L^{A}TEX en castellano

10.1. El Grupo de Usuarios de TEX Hispanohablantes (CervanTEX)

10.1.1. ¿Cómo puedo entrar en contacto con el grupo de usuarios?

Existe el Grupo de Usuarios de TEX Hispanohablantes CervanTEX y como se decía en la cabecera, esta es su FAQ. En este momento la Junta Directiva de CervanTEX está formada por

     PRESIDENTE:   José Ra. Portillo        (josera@cica.es)
     VOCALES:       Javier Bezos              (jbezos@arrakis.es)
                     Roberto Herrero          (rhs@csn.es)

Para pedir información sobre el grupo se puede contactar con cualquiera de ellos. Si se prefiere una forma distinta al correo electrónico puede contactarse con el grupo a través de

     José Ra. Portillo Fernández
     E.T.S. Arquitectura
     Departamento de Matemática Aplicada 1
     Reina Mercedes, 2
     E-41012 Sevilla (Spain)
     Voz: +34-5-455-6622 Fax: +34-5-455-6621
     Electrocorreo: josera@cica.es

Hay una página WWW del grupo CervanTEX:

http://apolo.us.es/CervanTeX/

con información más específica sobre las actividades del grupo en

http://apolo.us.es/CervanTeX/GUTH.html

10.2. La lista sptex

10.2.1. ¿Cómo funciona la lista sptex?

La lista sptex 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 CervanTEX, gran parte de los suscriptores de la lista son miembros del grupo y viceversa. CervanTEX recomienda a todas las personas interesadas en TEX en español la suscripción a esta lista.

Para suscribirse, debe utilizarse el formulario disponible en http://www2.cica.es/servlist/listinfo/sptex

Para enviar un mensaje a la lista una vez suscrito:

          mail sptex@ls.cica.es.

Para borrarse de la lista o cambiar las opciones de suscripción, se creará una página de suscripción por cada suscriptor, que le permitirá hacer los cambios deseados. Asimismo se puede hacer por correo electrónico. Para ello debe mandarse un mensaje a Sptex-request@ls.cica.es con la palabra "help" (sin comillas) en el asunto o en el cuerpo del mensaje. El gestor de correo enviará un mensaje con las instrucciones adecuadas. El mismo procedimiento debe seguirse para obtener más información sobre las operaciones disponibles. Por favor, NO mandar peticiones de suscripción o des-suscripción a la propia lista (sptex).

10.2.2. ¿Se archiva en algún sitio la lista sptex?

Sí, en http://www2.cica.es/servlist/private/sptex/ pero es accesible únicamente a personas suscritas a la lista.

10.2.3. Cuando contesto a alguien de la lista, ¿quién recibe la respuesta? ¿El que mandó el mensaje o la lista entera?

Por omisión, se contesta a la lista entera, salvo que el remitente incluya un campo Reply-To explícito.

10.2.4. Recibo correo de muchas listas. ¿Cómo puedo filtrar lo que venga de la lista sptex?

Todo lo que viene de sptex tiene un campo que comienza así:

     Sender: sptex-admin@cica.es

Si utilizamos un filtro llamado procmail (es software libre), podemos poner las siguientes tres líneas en el archivo de configuración .procmailrc:

     :0
     * ^Sender: sptex-admin@cica.es
     spanish-tex

y todo lo que venga de sptex se irá solito al archivo spanish-tex.

10.2.5. ¿Cómo es que hay tanta gente de fuera de España en la lista?

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.

10.3. La lista spanish-tex

ATENCIÓN. La lista spanish-tex está obsoleta. En su lugar debe utilizarse la lista sptex. Véase 10.2 ().

10.3.1. ¿Se archiva en algún sitio la lista spanish-tex?

Sí, en la siguiente dirección se encuentran archivados los mensajes de la lista spanish-tex

http://majordomo.eunet.es/listserv/spanish-tex/

junto con las instrucciones de acceso a la lista.

10.4. El grupo de noticias es.comp.lenguajes.tex

Una fuente de información alternativa es el grupo de noticias 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.

10.5. El grupo de noticias es.eunet.spanish-tex

Antes existía un puente (gateway) entre la lista y el grupo de noticias 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 eunet.

11. Meta-preguntas (preguntas sobre esta FAQ):

11.1. ¿Cuál es la historia de esta FAQ?

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 spanish-tex.

Posteriormente Santiago Vila (sanvila@unex.es) se hizo cargo de la FAQ se ha hecho cargo de la FAQ, añadiendo más preguntas y pasándola a texinfo.

Más recientemente, Agustín Martín (agmartin@aq.upm.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.

Esta lista de preguntas y respuestas está muy verde, y actualmente sigue siendo algo caótica. Se ruega algo de intolerancia activa, 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.

11.2. ¿Quién coordina actualmente la FAQ?

El coordinador actual y a quien deben enviarse las sugerencias acerca de esta FAQ es: Agustín Martín Domingo,

agmartin@aq.upm.es

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.

11.3. Agradecimientos

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 comp.text.tex y la New TEX FAQ, versión de la anterior realizada por el grupo de usuarios de TEX del Reino Unido. La versión html de esta FAQ con un buscador CGI ( 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.

Fernando M. Fournon González Barcia (furny@wd.estec.nl) y Jesús M. González Barahona (jgb@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 (jvarona@dmc.unirioja.es) y las de postscript y PDF a Enrique Melendez Asensio . Además se han tomado muchos elementos (buena parte de las secciones de libros en inglés y de ventajas y desventajas de L^{A}TEX) de las página sobre L^{A}TEX de Antonio González, de la Universidad de Sevilla ( http://www.esi.us.es/˜ gonfer/tex.html ) y otros cuantos de la página de Martín Pavón ( http://mate.dm.uba.ar/˜ mpavon/tex.html )

11.4. ¿Dónde encuentro la versión más reciente de esta FAQ?

La versión más reciente de esta FAQ está disponible en el directorio

http://corbu.aq.upm.es/˜ agmartin/latex/FAQ-CervanTeX/

en una amplia variedad de formatos. Se puede acceder a través de la página

http://corbu.aq.upm.es/˜ agmartin/latex/FAQ-CervanTeX-main.html

11.5. ¿Dónde puedo encontrar otras FAQ, aunque sea en otros idiomas?

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

El grupo de usuarios de TEX/L^{A}TEX del Reino Unido mantiene una excelente FAQ en inglés que puede encontrarse en CTAN en el directorio CTAN/usergrps/uktug/faq. La página web de la UK-FAQ http://www.tex.ac.uk/cgi-bin/texfaq2html tiene además un buscador CGI para facilitar las consultas

Asimismo, el grupo alemán DANTE de usuarios de TEX/L^{A}TEX mantiene su FAQ (en alemán) que puede encontrarse en el CTAN en el directorio CTAN/help/de-tex-faq.

Aunque congelada desde hace algún tiempo, existe una FAQ en francés en

CTAN/help/LaTeX-FAQ-francaise