Gentoo Logo

Guía TeX Live 2008

Contenido:

1.  Una desinstalación limpia

Introducción

En esta sección, asumiremos que ya tiene instalado >=app-text/tetex-3. Esto aplica de igual manera si tuviera app-text/texlive-2005 instalado. En un mundo perfecto sería una desinstalación sencilla, pero desafortunadamente no es así.

Salvando la configuración anterior

Si acaso ha modificado la configuración de tetex modificando los archivos en /etc/texmf, primero habrá que salvarlos:

Listado de Código 1.1: Salvando los archivos de configuración anteriores

$ cp -rf /etc/texmf /tmp/tetex-texmf

Borrando tetex

Ahora nos podemos deshacer de tetex con seguridad:

Listado de Código 1.2: Borrando tetex

# emerge -C tetex

Se han reportado algunos errores extraños al haber archivos de configuración extraviados bajo el directorio /etc/texmf. Para mayor seguridad y una instalación limpia de TeX Live recomendamos borrar el archivo /etc/texmf/texmf.d/00texmf.cnf:

Listado de Código 1.3: Limpieza de /etc/texmf

# rm /etc/texmf/texmf.d/00texmf.cnf

Nota: No se ha perdido nada porque hemos salvado los archivos de configuración viejos.

Debido a que tetex usa texlinks afuera del ámbito del manejador de paquetes, solamente borrar el paquete dejará atras enlaces simbólicos perdidos:

Listado de Código 1.4: Enlaces perdidos de tetex

$ ls -l /usr/bin/pdftex
lrwxrwxrwx 1 root root 7 2007-07-09 07:34 /usr/bin/pdftex -> pdfetex

Por supuesto, pdfetex ha sido borrado junto con tetex, así que el enlace no apuntará a nada y puede ser borrado con seguridad. El comando find (ayudado con una extensión GNU) puede ayudarnos encontrando y removiendo enlaces simbólicos perdidos interactivamente:

Listado de Código 1.5: Eliminando enlaces simbólicos perdidos interactivamente

# find /usr/bin -type l ! -xtype f ! -xtype d -ok rm -f {} \;

< rm ... /usr/bin/pdflatex > ? y
< rm ... /usr/bin/amstex > ? y
< rm ... /usr/bin/pdftex > ? y
< rm ... /usr/bin/eplain > ? y
< rm ... /usr/bin/jadetex > ? y
< rm ... /usr/bin/lambda > ? y
< rm ... /usr/bin/pdfamstex > ? y
< rm ... /usr/bin/elatex > ? y
< rm ... /usr/bin/lamed > ? y
< rm ... /usr/bin/pdfjadetex > ? y
< rm ... /usr/bin/latex > ? y

Esos fueron archivos dejados por mi instalación tetex.

tetex también usa fmtutil fuera del ámbito del manejador de paquetes para generar archivos de formato. Con TeX Live 2008 ahora construimos la mayoría de los archivos de formato al compilar los paquetes que serán instalados en /var/lib/texmf. Esto significa que hay que asegurarse que no queden archivos de formatos perdidos por ahí:

Listado de Código 1.6: Borrando archivos de formato perdidos

# rm -rf /var/lib/texmf/web2c

2.  Instalando TeX Live 2008

Después de cumplir los pasos anteriores, la instalación de TeX Live 2008 debería ser sencilla.

Listado de Código 2.1: Instalando TeX Live 2008

# emerge texlive

En teoría todo debe funcionar perfectamente al quedar instalado. Tal vez quiera modificar los parámetros USE de app-text/texlive para instalar paquetes TeX adicionales, aunque esto puede ser después. app-text/texlive es solo un meta-ebuild que instala los verdaderos paquetes de acuerdo a los parámetros USE seleccionados.

Sin embargo, es posible tener problemas de dependencias, errores al instalar un paquete, etc. En estos casos, aconsejamos registrar un bug en https://bugs.gentoo.org. Al hacerlo, por favor al menos acompañe el error con la salida de texconfig conf (ejecutado como el mismo usuario que experimentó el problema de instalación, ya que las variables de entorno pueden ser importantes), ya que estas son las salidas más solicitadas.

3.  Configuración

Introducción

Así como tetex-3, TeX Live en Gentoo tiene tres archivos principales de configuración separados, manejados por texmf-update. Estos archivos son texmf.cnf, fmtutil.cnf y updmap.cfg. Se encuentran en /etc/texmf/web2c y no deben modificarse directamente, ya los cambios se perderán la próxima vez que se ejecute texmf-update.

texmf.cnf

El archivo texmf.cnf es el archivo de configuración principal de la instalación TeX y tiene muchas definiciones de variables usadas por varios programas.

El archivo texmf.cnf es el resultado de concatenar los archivos en /etc/texmf/texmf.d. Para modificar la configuración del entorno TeX, hágalo en estos archivos. Al momento de escribir esta guía, el ebuild Gentoo TeX Live instala allí seis archivos:

Listado de Código 3.1: Archivos instalados bajo texmf.d

00header.cnf
05searchpaths.cnf
10standardpaths.cnf
15options.cnf
20sizes.cnf
25misc.cnf

Este es el resultado de la separación de las respectivas secciones de un (ligeramente) modificado archivo texmf.cnf del DVD TeX Live 2008.

Los archivos 00header.cnf, 05searchpaths.cnf, 10standardpaths.cnf y 25misc.cnf no deben ser modificados y mantenidos tal cual. Si los valores por defecto pueden mejorarse, por favor registre un bug.

Aviso: Los ebuilds de TeX Live no entienden de cambios de trayectoria de estos archivos, por lo que, de hacer algun cambio, asegúrese de saber bien lo que hace.

Los archivos 15options.cnf y 20sizes.cnf pueden ser modificados con cuidado. Los comentarios en estos archivos son suficientemente explícitos para describir las opciones. Por ejemplo, en 20sizes.cnf puede aumentarse la memoria de TeX, en caso de compilar un documento muy grande y se tropiece con errores como TeX capacity exceeded, sorry.

Si desea agregar algo al archivo texmf.cnf, puede crear un archivo nuevo en /etc/texmf/texmf.d, con un nombre como 99myadditions.cnf. Asegúrese de no darle una prioridad más alta que los archivos principales de configuración, por lo que debe comenzar con dos dígitos mayores a 25.

Los paquetes que requieran agregar algo al archivo texmf.cnf reciben el mismo tratamiento y deben instalar un archivo texmf.d:

Listado de Código 3.2: Código de ejemplo para instalar un archivo texmf.d

insinto /etc/texmf/texmf.d
doins 40mytexmfadditions.cnf

updmap.cfg

updmap.cfg es el archivo de configuración usado por updmap (y updmap-sys), si no se especifica lo contrario. Dice cuales mapas de fuentes tipográficas actualizar para los distintos controladores de salida de TeX.

El archivo updmap.cfg en /etc/texmf/web2c es el resultado de la concatenación de los archivos en /etc/texmf/updmap.d. El archivo 00updmap.cfg inicial instalado por app-text/texlive-core es el resultado de updmap --syncwithtrees sobre el árbol texmf instalado (de hecho, solo imita lo que haría el comando updmap --syncwithtrees, aunque esto es apenas un detalle técnico).

Diversos ebuilds de TeX Live agregarán archivos al directorio /etc/texmf/updmap.d, al instalar fuentes tipográficas. Aunque podemos modificar estos archivos y desactivar algun mapa de fuente a actualizar, probablemente sea mejor borrar el paquete en cuestión.

Si un paquete de terceros quiere agregar algun mapa de fuentes, debe instalar el archivo en /etc/texmf/updmap.d y dejar que texmf-update lo maneje.

Aviso: A veces se puede ver updmap-sys --enable Map=mymap.map en algunos ebuilds o instrucciones de instalación de un paquete de fuentes de un tercero. Mientras esto funciona al momento, estos cambios serán revertidos la próxima vez que se ejecute texmf-update.

Una mejor manejar esto sería crear un archivo a instalar en /etc/texmf/updmap.d e instalarlo para las distribuciones TeX que soportan la forma de funcionamiento de texmf-update:

Listado de Código 3.3: Como activar un mapa de fuente

inherit latex-package
...
src_install() {
    ...
    if latex-package_has_tetex_3; then
        insinto /etc/texmf/updmap.d
        doins myfontmapconfig.cfg
    fi
    ...
}
...
pkg_postinst() {
    latex-package_pkg_postinst
    latex-package_has_tetex_3 || updmap-sys --enable Map=mymap.map
}

pkg_postrm() {
    latex-package_pkg_postinst
    latex-package_has_tetex_3 || updmap-sys --disable Map=mymap.map
}

Los archivos en /etc/texmf/updmap.d deben respetar la sintaxis de updmap:

Listado de Código 3.4: Fragmento de updmap.cfg explicando la sintaxis

There are two possible entries: Map and MixedMap. Both have one additional
argument: the file name of the map file. MixedMap ("mixed" means that
the font is available as bitmap and as outline) lines will not be used
in the default map of dvips if dvipsPreferOutline is false. Inactive
Map files should be marked by "#! " (without the quotes), not just #.

fmtutil.cnf

El archivo fmtutil.cnf contiene información acerca de cómo construir y manejar un archivo de formato.

El archivo fmtutil.cnf es el resultado de la concatenación de los archivos en /etc/texmf/fmtutil.d. Varios ebuilds de TeX Live instalan archivos allí. Estos archivos vienen con los formatos que soportan y con los enlaces simbólicos a los motores relevantes.

Listado de Código 3.5: Fragmento de la página man de fmtutil.cnf(5) explicando la sintaxis

The fmtutil.cnf file contains the configuration information for fmtutil(8).
Each line contains the name of the format (e.g., "tex", "latex", "omega"),
the name of the engine that is used by that format (e.g., "tex", "etex", "omega"),
the pattern file (e.g., language.dat, language.def), and any arguments
(name of an .ini file).

Fields are separated by whitespace and complete lines can be commented out with "#".
The "pattern file" field cannot be used to define a file that is used while
building the format. It tells fmtutil which file the format creation procedure reads
and it has an effect to the options --showhyphen and --byhyphen.
If the format has no way to customize hyphenation, a "-" can be used to indicate this.

Los ebuilds de TeX Live que instalan un archivo fmtutil.d instalan los archivos de formato relevantes en /var/lib/texmf/web2c, creando un enlace simbólico del formato al motor.

Notese que al incluir un archivo de soporte para un idioma, texmf-update se encargará de agregarlo al archivo language.dat y de regenerar los archivos de formato para soportar el idioma recién agregado.

Actualizando la configuración

Ahora que sabemos acerca del manejo de la configuración de TeX Live, podremos adaptar los cambios realizados a nuestra antigua distribución TeX al nuevo TeX Live.

4.  Errores comunes

Introducción

En este capítulo trataremos de resumir los errores más comunes y dar explicaciones.

Format fue escrito por (pdf)etex

A veces, al instalar algunos paquetes que requieren latex, obtendremos este error:

Listado de Código 4.1: Formato fue escrito por pdfetex

---! //var/lib/texmf/web2c/latex.fmt was written by pdfetex

Esto es debido a que permanecen archivos de una instalación anterior de una distribución TeX basada en etex. Es probable que no haya seguido acuciosamente esta guía, especialmente el capítulo Una desinstalación limpia.

Sin embargo, es posible solucionar esto rápidamente sin reinstalaciones, ejecutando como usuario root:

Listado de Código 4.2: Borrando formatos viejos

# rm -rf /var/lib/texmf/web2c
# texmf-update

No existe el directorio de formatos

Por ejemplo, al instalar texlive-latex, podríamos encontrar este error:

Listado de Código 4.3: Format directory does not exist

fmtutil: format directory
`/var/tmp/portage/dev-texlive/texlive-latex-2008/work/texmf-var/web2c' does not
exist.

Esto es probablemente por una configuración errónea. Intente ejecutar el siguiente comando a ver si obtiene resultados iguales:

Listado de Código 4.4: Definición de TEXMFMAIN

$ kpsewhich --var-value=TEXMFMAIN
/usr/share/texmf

Esto es muy importante, ya que fmtutil busca a mktexdir en esta ubicación; si obtienen un resultado distinto entonces fmtutil no encontrará mktexdir y no podrá crear este directorio donde temporalmente almacena los formatos compilados.

No existe un comando mágico para arreglar esto, revise que la configuración sea correcta y que no haya archivos de configuración extraviados en /etc/texmf/texmf.d. Esto es probablemente debido a la existencia de un antíguo 00texmf.cnf proporcionando definiciones equivocadas para el archivos texmf.cnf. Por favor, refiérase al capítulo Una desintalación limpia.

Archivos .tex faltantes

Al instalar texlive-latex (o cualquier otro formato con soporte de guionización babel), podría tropezarse con un error como este:

Listado de Código 4.5: Falta bghyphen.tex

===========================================
Local configuration file hyphen.cfg used
===========================================

(/var/tmp/portage/dev-texlive/texlive-latex-2008/work/texmf-dist/tex/generic/ba
bel/hyphen.cfg (/usr/share/texmf/tex/generic/hyphen/hyphen.tex)
(/usr/share/texmf/tex/generic/hyphen/ushyphmax.tex)
(/usr/share/texmf/tex/generic/hyphen/dumyhyph.tex)
(/usr/share/texmf/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf-dist/tex/generic/xu-hyphen/xu-bahyph.tex
(/usr/share/texmf/tex/generic/hyphen/bahyph.tex))
(/usr/share/texmf-dist/tex/generic/xu-hyphen/xu-bghyphen.tex
! I can't find file `bghyphen.tex'.
l.10   \input bghyphen.tex

Please type another input file name:
! Emergency stop.
l.10   \input bghyphen.tex

No pages of output.
Transcript written on latex.log.
Error: `pdftex -ini  -jobname=latex -progname=latex
-translate-file=cp227.tcx *latex.ini' failed

En este caso hay que revisar cuál archivo language.dat está en uso:

Listado de Código 4.6: Encontrando language.dat

$ kpsewhich language.dat
/usr/share/texmf/tex/generic/config/language.dat

Este archivo es generado automáticamente por texmf-update y es el resultado de concatenar los archivos language.*.dat en el directorio donde se encuentre language.us. Este directorio debe ser el /usr/share/texmf/tex/generic/config/. Entonces, revise que no hayan otros archivos language.*.dat en ese directorio que los instalados por los distintos ebuilds dev-texlive/texlive-lang*. Un archivo en este directorio significa que desea activar soporte para guionizar en ese idioma y si no tiene este soporte de guionización, causará que los formatos que requieran este soporte no puedan ser construidos.



Imprimir

Página actualizada 15 de abril, 2009

Sumario: Esta guía tiene la finalidad de mostrar cómo instalar TeX Live 2008 en Gentoo, más específicamente, qué hace falta atender si ya tiene una distribución TeX instalada (como tetex o TeX Live 2005).

Alexis Ballier
Autor

John Christian Stoddart
Traductor

Sergio D. Rodríguez Inclan
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.