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
|
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
|
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.
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.
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 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 #.
|
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.
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.
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.
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.
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual