Guía TeX Live 2008
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.
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|