ES-TEX Archivos

Usuarios hispanohablantes de TeX

ES-TEX@LISTSERV.REDIRIS.ES

Opciones: Vista Forum

Use Monospaced Font
Mostrar las partes HTML
Mostrar todas las cabeceras de correo

Mensaje: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Tema: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Autor: [<< Primero] [< Prev] [Siguiente >] [Último >>]

Print Responder
Subject:
Emisor:
Juan Manuel Macías <[log in para visualizar]>
Reply To:
Usuarios hispanohablantes de TeX <[log in para visualizar]>
Fecha:
Fri, 5 Aug 2022 11:59:57 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (120 lines)
Hola a todos:

Esto tal vez interese a los usuarios de Org Mode en su vertiente LaTeX.
En la próxima versión de Org Mode se incluirán una serie de mejoras que
he ido añadiendo estos días para el soporte del paquete Babel, si bien
se mantiene el soporte a Polyglossia por la compatibilidad hacia atrás.
La idea, por tanto, es dirigir los esfuerzos en Org hacia Babel y todas
las novedades que este paquete va trayendo, y esto sólo es el comienzo.

El caso es que, en el tema del soporte lingüístico, Org venía recogiendo
un estado de cosas bastante desactualizado, y aún se tenía en cuenta que
Babel sólo funcionaba para pdfLaTeX, y con un número limitado de
lenguas.

Bueno, resumo aquí un poco los cambios que he introducido.

Ahora ya no hay dos listas separadas de lenguas (una para babel y otra
para polyglossia) sino una única lista (ampliable), que es una constante
llamada 'org-latex-language-alist'. También se trata de una lista más
robusta pues usa campos de nombres. Se trata de una lista asociativa,
donde cada elemento se compone de:

- El primer elemento: una cadena con el código de la lengua.

- El segundo elemento (la cola o cdr): una lista de propiedades

Esta estructura nos viene muy bien para ir añadiendo más
implementaciones en el futuro. O sea, que un elemento típico en
'org-latex-language-alist' sería:

 ("el-polyton" :babel "polutonikogreek" :polyglossia "greek"
 :polyglossia-variant "polytonic" :lang-name "Polytonic Greek")

En esta lista se tiene en cuenta también si una lengua determinada es
servida en Babel únicamente mediante un archivo ini.

A partir de esta nueva lista, he rehecho las funciones
'org-latex-guess-babel-language' y
'org-latex-guess-polyglossia-language', así como
'org-latex--format-spec', para introducir los metadatos de la lengua en
el PDF.

La idea es que, a partir de esa lista, Org siga usando la lengua global del
documento, que puede estar como valor de 'org-export-default-language' o
localmente en un documento mediante la directiva #+language. Téngase en
cuenta que la lengua definida así es usada por Org para todo lo
relacionado con el documento (exportación a otros formatos, no sólo
LaTeX, tratamiento de algunos signos, cadenas literales, etc.).

Algunos ejemplos de uso. Si tenemos como valor de lengua global "es", y
ponemos en el documento de Org:

#+LaTeX_Header: \usepackage[french,latin]{babel}

obtenemos:

\usepackage[french,latin,spanish]{babel}

Como siempre, podemos indicar la lengua global a nivel de documento:

#+language: es

Y el resultado es el mismo. También podemos añadir la cadena "AUTO" a
las opciones de babel:

#+LaTeX_Header: \usepackage[french,latin,AUTO,provide=*]{babel}

O, incluso, si queremos usar el comando \babelprovide:

#+LaTeX_Header: \usepackage[french,latin]{babel}
#+LaTeX_Header: \babelprovide[main, import]{AUTO}

Quien prefiera usar Polyglossia, puede usar aquí (como antes) la
sintaxis de Babel:

#+language: el-polyton
#+LaTeX_Header: \usepackage[french,latin,AUTO]{polyglossia}

produce:

\usepackage{polyglossia}
\setmainlanguage[variant=polytonic]{greek}
\setotherlanguage{latin}
\setotherlanguage{french}

Pero si ponemos:

#+language: el-polyton
#+LaTeX_Header: \usepackage[french,latin,AUTO]{babel}

obtenemos:

\usepackage[french, latin, polutonikogreek]{babel}

Como se ve, se necesita en todo momento cargar babel (o polyglossia)
explícitamente mediante la directiva #+latex_header, pero hay una
propuesta para que babel (y sólo babel) se cargue de oficio en cualquier
documento de Org, con un mínimo de opciones. Para añadir más opciones se
podría seguir usando la anterior directiva, y para desactivar todo (en
caso de que introduzcamos el preámbulo por otros medios), bastaría con:

#+LaTeX_Header: % \usepackage{babel}

En cuanto a la posibilidad de cambiar de lengua dentro de un párrafo,
Org no dispone de momento de algo así 'out-of-the-box', pero
recientemente se ha comentado en la lista de Org la posibilidad de
implementar bloques especiales dentro de la línea (la contrapartida a
los bloques especiales normales). Pero con los recursos actuales de Org
esto se puede lograr también. Hace tiempo escribí esta entrada de mi
blog emacsiano con algunas propuestas:
https://gnutas.juanmanuelmacias.com/org_multilingue.html

Saludos,

Juan Manuel 

----------------------------------------------------
Archivos de ES-TEX: http://listserv.rediris.es/archives/es-tex.html
------------------------------------------------------

ATOM RSS1 RSS2