0 votos
167 vistas

Consideren esta línea bastante espantosa en un texto completamente justificado:

Pueden ver cómo ha sido truncada, o al menos hay espacio extra a la derecha. Esto se debe a que he desactivado el espaciado entre letras para este ejemplo. No hay un mejor salto de línea (para los fines de esta discusión) y, por lo tanto, no hay dónde insertar espacio extra, lo que nos da una caja subllena. Pero ¿quién haría esto? Seguramente habrían activado el espaciado entre letras. Así que activemos una cantidad mínima: 0.5%:

Qué asco. Eso es mucho más que el 0.5% de estiramiento máximo. ¿Qué está pasando? Bueno, XeTeX necesita decidir qué hacer con el espaciado de un salto de línea realmente malo como este. De hecho, tiene una pasada especial que, en efecto, le dice al divisor de líneas: tienes un extra de 1in por línea (establecido mediante \emergencystretch=1in por defecto), así que si puedes justificar basándote en eso, adelante. Y el 0.5% añade justo suficiente espacio entre caracteres para quedarnos por debajo de la necesidad de 1in de espacio extra. Ahora la línea se extiende y todo ese estiramiento de emergencia se distribuye entre todos esos estiramientos, sin importar ningún máximo que hayamos establecido para el estiramiento, y el espacio entre caracteres se ve súper ancho y disperso.

¿Es esto lo mejor que podemos hacer? Consideren bendecidos a todos aquellos que trabajan con 'palabras' más cortas y no tienen que lidiar con la falta de saltos entre palabras. Afortunadamente, este texto está marcado con saltos de palabra que se convierten en ZWSP. ZWSP se define como que toma el espaciado entre caracteres, por lo que podemos ser astutos y desactivar el espaciado entre letras manteniendo al mismo tiempo el espacio entre caracteres para ZWSP. Lo hacemos añadiendo la línea:

```

\def\intercharspace{\leavevmode\nobreak\hskip\intercharskip}

```

a nuestro ptxprint-mods.tex (ya que desactivar los espacios entre letras lo comenta desde el archivo .tex del trabajo). Ahora, ¿qué obtenemos si desactivamos el espaciado entre letras de nuevo?

Hmm, no mucho mejor, pero al menos el texto se divide en palabras en lugar de en clústeres de grafemas. Esto puede o no ser preferible. Pero no hay una solución bonita. Se trata de sacar el mejor partido de un trabajo malo.

Se aceptan comentarios, siempre que no digan: ¡entonces no saltes ahí! (Lo cual, por supuesto, es la solución correcta, pero puede no estar siempre disponible dado el tiempo que tenemos)

Traducción automática desde English
PTXprint por (656 puntos) | 167 vistas

2 Respuestas

0 votos

Si lo estoy entendiendo bien...
1. Normalmente, ZWSP tiene tanto espacio como el espacio entre letras, de modo que las palabras unidas por él no terminen más cerca que el espaciado de las letras.
2. Actualmente, desactivar el espaciado entre letras también omite la definición de \intercharspace, por lo que ZWSP en realidad tiene un ancho cero.
3. Para lo anterior, estás sugiriendo que hacer que ZWSP tenga algo de espacio es lo peor de la mala situación.
4. Y para hacer eso, estás estableciendo la macro \intercharspace como no vacía, (ya que esa macro se usa siempre en la definición de ZWSP), pero como el espaciado entre letras está desactivado, en realidad no se está usando en la posición entre caracteres.
¡Vale, creo que ahora lo entiendo!
 

Traducción automática desde English
por (1,1k puntos)
0 votos

Y en auténtico estilo de telenovela, para terminar con una nota de alivio para todos aquellos a quienes les duele la vista al ver tal fealdad. Reduciendo el ancho del texto al 95% del ancho del carácter, obtenemos la siguiente palabra:

¡uf! Pero otra vez la palabra podría ser más larga y la compresión necesaria empieza a ser absurda. Así que no siempre puedes salirte con la tuya.

También, la discusión sobre el estiramiento de emergencia no era estrictamente correcta. Sí, el estiramiento de emergencia se añade a la caja de la línea para reducir su 'badness' (maldad/defecto). Pero la razón por la que necesitábamos que el espaciado entre caracteres fuera de al menos 0.5% es que ptxprint tiene un error que significa que cualquier valor por debajo de eso se convierte en 0. ¡ESE ERROR HA SIDO CORREGIDO! grr.

Traducción automática desde English
por (656 puntos)
editado por

Preguntas relacionadas

0 votos
3 respuestas 271 vistas
PTXprint ha estado haciendo muchas cosas maravillosas por nosotros últimamente, componiendo hermosos libros de Escrituras con ... lo estoy enviando a la dirección de soporte.
jeffh 1,4k preguntada mar 28, 2023
0 votos
2 respuestas 243 vistas
The project we are working on is failing the Quotation rule basic check because, it would seem, of where the period is ... . How do we configure Paratext to allow quoted words .
MSEAIT_LT 478 preguntada dic 12, 2018
0 votos
1 respuesta 314 vistas
A project I'm working with has extensive footnotes including Greek, Hebrew, Arabic and English words inside of them ... it possible to exclude footnotes from these sorts of checks?
mnjames 1,9k preguntada jul 20, 2018
0 votos
1 respuesta 52 vistas
Mailto: <*Emails are not allowed*> PTXprint [2.7.17] - Error! Failed to create: MSB_BookofMark_XXC_ptxp.pdf ! File ... various settings on the Advanced tab. PTXprint Version 2.7.17
MnKN 134 preguntada sep 13, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
For just as each of us has one body with many members, and these members do not all have the same function, so in Christ we, though many, form one body, and each member belongs to all the others.
Romans 12:4-5
3,048 preguntas
6,007 respuestas
5,672 comentarios
2,028 usuarios