separación de palabras con idiomas en transliteración // separación de palabras forzada?

separación de palabras con idiomas en transliteración // separación de palabras forzada?

Estoy escribiendo (lualatex) un documento en un par de idiomas. El idioma principal es el inglés. Si uso otros idiomas, normalmente uso comandos como \foreigntextquote{french}{text}y \foreignlanguage{german}{text}, con la esperanza de que esto solucione un par de cosas y, en particular, la separación de palabras. Yo también podría arreglármelas,con algo de ayuda, la separación de palabras del griego antiguo ( polutonikogreek).

Mi principal problema ahora es que algunos idiomas que no están escritos en el alfabeto latino a veces se utilizan en la transliteración. Por ejemplo, en árabe, a veces (normalmente en el cuerpo principal del texto) escribía:yaštarikuen lugar de يشترك oal-mutaʿallimen lugar de المتعلّم.

Pero, ¿cómo puedo lograr que estas transliteraciones se dividan con guiones?

No son un idioma "conocido" (al menos no en su transliteración). No sé si hay reglas establecidas, y supongo que incluso si las hay, no se han integrado babel. A veces las palabras incluso tienen un guión aparte (debido al artículoAlabama-), que es un problema conocido (pero también existen algunas soluciones).

Pero, en general, mi pregunta es la siguiente: dado que no puedo declarar en mi preámbulotodopalabras que usaré en la transliteración (el comando \hyphenation{...}sería demasiado largo; esto sería una locura), me gustaría saber si hay una manera de tal vezaleatoriamente¿Separar con guiones aquellas palabras que babelno saben cómo dividir con guiones o una manera fácil de crear un nuevo lenguaje de separación de palabras y declarar sus reglas? ¿O hay alguna otra recomendación sobre cómo dividir con guiones todas estas palabras transliteradas?

Sin solución, mi documento tiene una cantidad de palabras escritas en los márgenes o líneas cuyo espacio entre palabras es demasiado grande.

En realidad, esto debería ser un problema apremiante para la composición tipográfica en todas las humanidades, ya que los editores tienden a utilizar la transliteración en sus publicaciones. No sé cómo manejan eso los editores.

Respuesta1

Aquí hay una solución bastante burda, que simplemente inserta una \- entre una vocal y algunas consonantes:

\documentclass{article}

\usepackage{luacode}

\begin{luacode*}
function insdisc (s)
    -- add more letters if necessary
  s = s:gsub( [[([aeiou])([bcfgklmnpqtxz])]] , '%1\\-%2' )
    -- but don't leave a single char alone:
  s = s:gsub( '^(.)\\%-', '%1')
  s = s:gsub( '\\%-(.)$', '%1')
  return s
end
\end{luacode*}

\def\insdisc#1{\directlua{tex.print(insdisc(\luastring{#1}))}}

\begin{document}

\hsize1mm

Text \insdisc{umiq'utzexopab} umiq'utzexopab text text text text text
text text text text text text text text text text text text.

\end{document}

información relacionada