Archivo de la etiqueta: latex

En Fedora Core 1, LyX muestra mal los acentos

Si has conseguido que LyX funcione en tu Fedora Core 1, es probable que te encuentres con un problema menor, que en sí mismo no afecta al funcionamiento del programa, pero que se te hará un poco molesto. Si es que eres de un exigente…

El problema al que me refiero es que determinadas etiquetas muestran mal los acentos. Así, en vez de «Índice General» verás algo parecido a «Á#ndice General». Y en vez de «minipágina», verás algo como «minipÁ¡gina». Es una cuestión estética, si se quiere, pero caramba…

Esto ocurre porque Fedora Core 1 utiliza la página de códigos UTF8 por omisión, en lugar de la clásica ISO-8859-1 o latin1 de toda la vida. Esto es bueno, porque UTF8 permite visualizar correctamente los caracteres especiales de multitud de idiomas simultáneamente. Pero tiene el inconveniente de que no todos los programas aceptan esa página de códigos, como le ocurre a LyX. Si tecleas un comando «echo $LANG», verás que te contesta «es_ES.utf8». Y lo mismo si preguntas «echo $LANGVAR».

¿La solución?. Abre una ventana de comandos y ejecuta:

[08:02:53/0][lacofi@lynette:~]$ LANG=es_ES.latin1 && LANGVAR=es_ES.latin1
[08:02:55/0][lacofi@lynette:~]$ lyx && LANG=es_ES.utf8 && LANGVAR=es_ES.utf8

Obviamente, estamos siendo «no destructivos», es decir, el segundo comando hace que después de terminado lyx, las dos variables recuperen su valor original.

Sin embargo tal vez prefieras utilizar siempre latin1 en vez de utf8. Esta es la solución que yo he adoptado, y para ello solo tienes que cambiar el fichero /etc/sysconfig/i18n de tal forma que contenga esto:

LANG="es_ES@euro"
COUNTRY="es"
LANGUAGE="es"
CHARSET="iso8859-15"
XMODIFIERS=""

En Fedora Core 1, LyX da error al visualizar DVI

Por algún motivo, para mi inexplicable, Fedora Core 1 NO incluye LyX en la distribución por defecto. :-(

LyX es para mi fundamental. Puede ser la diferencia entre aceptar una distribución o eliminarla completamente del disco duro, independientemente de lo buena o mala que pueda ser. Si funciona LyX, me sirve. Si no funciona, me resulta casi inútil. Así de claro.

Naturalmente, la comunidad Linux enseguida le ha saltado al cuello a Fedora Core por este pequeño detalle de la inexistencia de LyX en la distribución. De hecho, si os vais a la página Web de LyX y os meteis en la sección de descargas, vereis un binario perfectamente empaquetado para Fedora Core 1. Y si lo instalais, vereis que funciona correctamente. Puede que incluso de el pego durante un tiempo.

Hasta que querais imprimir, o previsualizar (DVI o Postscript) el texto. En ese momento, abortará y te saldrá un error en pantalla que dice que no encuentra el fichero «babel.sty». Vale, falta Babel, que es fundamental para idiomas no anglosajones, pero puedes copiar los ficheros de estilo de otra distribución.

A partir de ahí, pasará por alto la ausencia de Babel, pero abortará de todas formas y volverá a mostrar dos errores en pantalla (en el título del documento) que dicen esto:

Font T1/cmr/m/n/12=ecrm1200 at 12.0pt not loadable: Metric (TFM) 
file not fou 
\maketitle

I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

Grrrrr. Vale, ahora intentas arrancar lyx desde linea de comandos, para ver todos los mensajes de consola. Y cuando pides ver el DVI o hacer una salida a Postscript, te encuentras con esto:

[lacofi@lynette:~]$ lyx
Xdvi Error:
Could not find dvips map ps2pk.map - disabling T1lib.
Direct Type 1 (PostScript) font rendering has been disabled. You should try 
to fix this error, since direct Type 1 font rendering gives you a lot of 
benefits, such as: 
	- quicker startup time, since no bitmap fonts need to be generated;
	- saving disk space for storing the bitmap fonts.
To fix this error, check that the dvips map file is located somewhere in your 
XDVIINPUTS path. Have a look at the xdvi wrapper shell script (type "which xdvi"
to locate that shell script) for the current setting of XDVIINPUTS

El error es aún más dramático si piensas que sin el paso a Postscript, se aborta la impresión del documento. O sea, puedes escribir, pero no ver cómo queda ni imprimir. Todas las ventajas de LaTeX a freir espárragos.

Bien, antes de que empieces a insultar a los chicos de LyX, te diré que no tienen la culpa. De hecho LyX hace bien poco, se limita a ser un front-end (un magnífico GUI, eso sí) para algo mucho más complejo, que es el propio LaTeX.

Y esa es la raiz del problema: que el TeTeX que viene con el Fedora Core 1 está completamente roto y funciona fatal. (TeTeX es la versión específica de LaTeX que suelen usar todos los Linux, así que cuando digo TeTeX, debes entender LaTeX). Sospecho que por eso no metieron LyX en Fedora: dudo mucho que consiguieran hacerlo funcionar, si es que usan esta versión dañada de TeTeX. Esto es aplicable para TeTeX 2.0.2-8 y para LyX 1.3.4.

¿Solución?. No la hay, o al menos no la conozco. He intentado de mil formas distintas reparar el TeTeX de Fedora Core 1, y he sido incapaz. Me he llegado a plantear, de hecho, desinstalar todo Fedora y regresar a Debian, solo por esto. Pero no hizo falta llegar a ese extremo: hay una solución, extrema pero funcional… Desinstalar todo LyX y TeTeX, y compilarlo desde cero, como los grandes. Pues a ello.

En primero lugar, desinstala todos los RPM que estén implicados en LyX y TeTeX. Eso incluye algunos otros que yo no uso nunca, pero que hay que quitar también para cumplir las dependencias. En mi ordenador, tuve que desinstalar: tetex tetex-afm tetex-doc tetex-dvips tetex-fonts tetex-latex tetex-xdvi tetex-lgrind LyX docbook-utils-pdf jadetex xmlto passivetex xmltex linuxdoc-tools TeXmacs gtk-doc docbook-utils. Venga, quita toda esa porquería… ;-)

Ahora vete a la página principal de TeTeX y bájate las fuentes. Son tres ficheros: tetex-texmf.tar.gz, tetex-src.tar.gz y tetex-texmfsrc.tar.gz. Eso sí, te advierto que LaTeX es MUY complejo, lo que significa que ocupa muchos megas: prepárate a bajarte más de 80 Mb, vaya. ;-)

Ahora vuélvete root y empieza por instalar los tipos de letra:

[root@lynette:~]# cd /usr/share
[root@lynette:/usr/share]# mv texmf backup-texmf
[root@lynette:/usr/share]# mkdir texmf
[root@lynette:/usr/share]# chmod a+rx texmf
[root@lynette:/usr/share]# cd texmf
[root@lynette:/usr/share/texmf]# tar -xzf ~/tetex-texmf.tar.gz
[root@lynette:/usr/share/texmf]# tar -xzf ~/tetex-texmfsrc.tar.gz

Ahora descomprime las fuentes del programa TeTeX

[root@lynette:/usr/share/texmf]# cd /usr/src
[root@lynette:/usr/src]# tar -xzf ~/tetex-src.tar.gz
[root@lynette:/usr/src]# cd tetex-src-2.0.2
[root@lynette:/usr/src/tetex-src-2.0.2]# cat INSTALL

Sí, hombre, leete las dichosas instrucciones. Son muy claras y nos vienen de perlas. Yo las he aplicado al pie de la letra.

[root@lynette:/usr/src/tetex-src-2.0.2]# sh -c './configure --prefix=/usr > configure.log 2>&1'
	(esto tarda bastante: paciencia. Luego revisa configure.log en busca de errores)
[root@lynette:/usr/src/tetex-src-2.0.2]# sh -c 'make world>world.log 2>&1'
	(esto tarda todavia más: paciencia. Luego revisa world.log)
[root@lynette:/usr/src/tetex-src-2.0.2]# cd /usr/bin/i686-pc-linux-gnu
[root@lynette:/usr/bin/i686-pc-linux-gnu]# ls | wc -l
	146
[root@lynette:/usr/bin/i686-pc-linux-gnu]# cp * /usr/local/bin/.

Con esto, ya deberías tener un TeTeX (LaTeX) funcionante. Ahora vamos por LyX.

Vete a la página web de LyX y bájate las fuentes de la última versión. No podrás instalar el binario porque te dirá que fallan las dependencias (no encuentra el binario de TeTeX, puesto que lo compilaste a mano). Y no lo instales tampoco con la opción «–nodeps» porque tendrás problemas más adelante. Mejor compila, hazme caso.

Descomprime las fuentes y compila. Leete el fichero INSTALL, que nunca lo haces y ¡es donde viene todo! (¿o crees que yo aprendo del aire?). ;-)

[root@lynette:/usr/bin/i686-pc-linux-gnu]# cd /usr/src
[root@lynette:/usr/src]# tar -xzf ~/lyx-1.3.4.tar.gz
[root@lynette:/usr/src]# cd lyx-1.3.4
[root@lynette:/usr/src/lyx-1.3.4]# ./configure --with-frontend=qt
	(montón de chequeos)
[root@lynette:/usr/src/lyx-1.3.4]# make
	(cosas en chino, que NO terminan en "error")
[root@lynette:/usr/src/lyx-1.3.4]# make install

Helo ahí. Ahora ejecuta /usr/local/bin/lyx. Puede que haga falta ir al menú «Edición» y pulsar «Reconfigurar». Enhorabuena. :-)

Hoy en día, sin embargo, he vuelto a Fedora en mi portátil. Le resulta más fácil manejar Fedora que compilar un Gentoo a medida, la verdad. Bien, pues te diré que Fedora 8 (que es la versión que tenemos ahora en marcha), incluye un LyX completamente funcional. Tenía que decirlo, supongo.

En LyX, el primer párrafo de una sección no sale indentado

Es el estilo americano de la indentación de párrafos, en efecto. Pero para mí, resulta bastante irritante.

No sé, si decido hacer una sangría de la primera línea en los párrafos, quiero que se haga en TODOS los párrafos, incluido el primero tras el título. No sé si me explico. :-)

¿Cómo se hace esto en LyX?. Pues tienes que irte al preámbulo y meter el siguiente código.

\usepackage{indentfirst}

Y hala. A imprimir…

Introducir «escenas» numeradas en un documento LyX

En los libros (me refiero a novelas), a veces separan secciones o escenas diferentes usando este separador:

— 5 —

Vale, pero ¿cómo hacer esto con LyX?.

Pues vete a los menús y selecciona «Formato» y después «Preámbulo». Ahora, introduce el siguiente código en el preámbulo LaTeX:

\newcounter{apartado}
\addtocounter{apartado}{1}
\newcommand{\escena}
	 {\vskip 10 pt \centerline{\bf --- \arabic{apartado} ---\nopagebreak}
	 \addtocounter{apartado}{1}}

El código, en sí mismo, es bastante claro: simplemente crea un nuevo contador que se llama «apartado» y un nuevo comando que se llama «\escena». Cada vez que usemos el comando «\escena», el contador apartado subirá un punto.

Para introducir el separador simplemente hay que escribir:

\escena 

Ojo: lógicamente, hay que meterlo como código LaTeX, no texto normal (esto se hace con el botón TeX, de la barra de botones, o en el menú «insertar» y después «TeX»). Si se introduce de esta forma, el código debería aparecer de color rojo en la pantalla de LyX.

Por cierto, que al imprimir, los tres guiones se imprimen como uno solo, pero más largo. Queda bastante bien.

LaTeX (o LyX) pone mal los guiones

A veces conviene partir una palabra en dos lineas. Así, la justificación del texto tiene más calidad y la presentación en pantalla mejora mucho. Pero para eso, LaTeX necesita saber cómo se forman las sílabas en cada idioma.

Cada vez que ejecutamos LaTeX (o previsualizamos un documento LyX, lo que viene a ser lo mismo), se cargan varios módulos de guionado (hyphen), uno por cada idioma activo en LaTeX. Si el módulo castellano no se carga, se usará el que viene por defecto: el inglés británico o el norteamericano. El resultado es que los guiones pueden aparecer en los sitios más extraños, rompiendo sílabas de forma absurda.

Si te ocurre, vete al directorio «/etc/texmf» y cambia a root. Edita el fichero «language.dat» con tu editor favorito. Descomenta la linea «spanish», de tal forma que donde dice:

%spanish        sphyph.tex

Debe decir:

spanish        sphyph.tex

Vamos, que tienes que quitar el símbolo «%». Pues ya está. Mira que era fácil. ;-)