0 votos
542 vistas

Estoy creando una salida para una gran cantidad de contenido de Biblia de estudio. En este diseño, todas las notas son párrafos alineados a la izquierda con sangría francesa.

Lo que me desconcierta es cómo indicarle a PTXPrint / TeX que no quiero que se produzca un cierto equilibrado de líneas. Puede ver a qué me refiero en la captura de pantalla siguiente para 1.8 y 1.22. Hay mucho espacio en algunas líneas para más texto.

Si configuro el estilo de estos párrafos como Justificado, este problema desaparece (se ajusta la mayor cantidad de texto posible en la línea).

imagen

He intentado ajustar el Espacio Desigual Máximo (Maximum Ragged Space) para el estilo de estos párrafos. Es posible un cambio mínimo (excepto si aplico cero, en cuyo caso PTXPrint esencialmente justifica el texto).

imagen

¿Qué más necesitaría hacer para que las líneas llenen la mayor parte de la medida posible antes de pasar a la siguiente línea?

Traducción automática desde English
PTXprint por [Expert]
(290 puntos)
| 542 vistas

9 Respuestas

0 votos

Hola @jklassen! Sí, ciertamente se ve extraño y no estoy (todavía) seguro de qué podría estar causando esto. He intentado ajustar la configuración para otra Biblia de estudio y encuentro que funciona como esperaría (admitidamente con un diseño de 2 columnas para las \ef notas al pie extendidas, en lugar de un diseño de 1 columna):

Me pregunto si ha intentado aumentar el Espacio Desigual Máximo (Maximum Ragged Space) a algo como .65 para ver si eso permite que la línea inferior tenga menos palabras y la línea superior se llene un poco más, como usted esperaba.

Si eso no lo resuelve, tendremos que esperar a ver qué tienen que decir @David_Gardner o @Martin_Hosken al respecto.

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

Yo también respaldaría la sugerencia de Mark: suba el espacio desigual máximo hasta 0.5 o más. Intentará más soluciones de ruptura, pero aún intentará ajustar el texto en la menor cantidad de líneas posible, y al hacerlo también permitirá más espacio en la última línea del párrafo.

El código actualmente permite que la última línea de un párrafo incluya un espacio extra de 'desigualdad', y realmente no le gusta acercarse al límite de esa desigualdad. Como vio, si no permite que la 'desigualdad' sea notable, está pidiéndole que justifique el texto. De hecho, está pidiéndole que justifique completamente el texto, incluida la última línea.

Si dice \tracing{j} en su archivo ptxprint-mods.tex, entonces su registro incluirá mucha información extra, y las líneas interesantes para esta pregunta se verán algo así:

s@tsideskips p (p). 0.0pt/0.0pt, pf=0.0pt plus 1.0fil
s@tsideskips s1 (s1). 0.0pt plus 158.52597pt/0.0pt plus 158.52597pt, pf=0.0pt

Los primeros 2 indican cuánto sangrado más desigualdad se permite a la izquierda / derecha.

El último es el \parfillskip y es una medida de cuánto espacio se permite en la última línea del párrafo (hasta infinito para p, y ningún espacio extra para s1 centrado). (quizás eso sea un poco duro?? Básicamente dice que no debería importarle si la última línea es la más larga)

s@tsideskips q2 (q2). 21.68065pt/0.0pt plus 79.26299pt, pf=0.0pt plus 79.26299p
t

Para q2 alineado a la derecha (ragged-right), veo que la desigualdad es de 79.26pt, y la última línea puede tener 79.26 puntos extra, por lo que estará muy descontento al permitir más de 169.5 puntos de espacio en la línea final.

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

Gracias a Mark y a David por considerar esto, y por los detalles sobre cómo funciona esto en TeX, David.

Tengo párrafos para notas para los cuales he creado un marcador llamado \zefp. Lo he configurado como sangría francesa (factor de sangrado izquierdo de 0.18em, y -0.18 para la primera línea).

El tamaño de la página es A4 (210mm de ancho - márgenes de 14mm = 28 en total) – por lo tanto, un ancho de texto de 182mm

Si dejo el 'espacio desigual máximo' predeterminado de 0.25, el registro muestra:

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 129.46004pt, pf=0.0pt plus 129.
46004pt

(aproximadamente 45mm de espacio máximo en la última línea)

Si configuro el espacio desigual máximo en 0.65, el registro muestra:

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 336.59294pt, pf=0.0pt plus 336.
59294pt

(aproximadamente 118mm de espacio máximo en la última línea)

lo cual, supongo, explica por qué TeX no permite que más de la segunda línea de la nota para 1:8 permanezca en la primera línea.

imagen

¿Cómo puedo configurar las cosas para que las mismas propiedades permitidas para 'p' (según su descripción, David, de pf=0.0pt plus 1.0fil) se apliquen a mi \zefp inventado? También quiero permitir un espacio 'infinito' en la última línea.

Traducción automática desde English
0 votos

Hmm. Intenté responder por correo electrónico, pero fue rebotado.

El 1.0 fil se aplica (actualmente) a párrafos justificados. Tengo la sensación de que podríamos necesitar alguna configuración extra.

No entiendo por qué 0.65 no es suficiente. ¿Quizás se compara con el ancho de la columna en lugar del ancho actual?? Pero de todos modos, parece que probablemente quiera subir la 'desigualdad' a 1.0 (o incluso 2? Para TeX es solo matemáticas, pero espero que la interfaz de usuario no esté contenta y probablemente tenga que usar ptxprint-mods.sty para ponerlo).

Si eso no funciona, lo que probablemente podría hacer es agregar un gancho (hook) algo así:

\sethook{zefp}{end}{\hskip 0pt plus 1fil }

(asumiendo que obtuve la secuencia de parámetros correcta)

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

Gracias por explorar esto conmigo, David.

No puedo configurar el parámetro más alto que 1. Lo he intentado, y no causa ningún cambio.

Probé el gancho. (Necesité invertir el orden de la posición y el marcador :slight_smile: )

\sethook{end}{zefp}{\hskip 0pt plus 1fil}

pero sin cambios. Estoy seguro de que el gancho funciona porque puedo insertar simplemente algo de texto allí y aparece – y si inserto suficiente texto extra, parte del texto de la primera línea de este párrafo comienza a bajar a la segunda (para estar más equilibrado).

Traducción automática desde English
por [Expert]
(290 puntos)
+1 voto

Eso es frustrante. TeX de hecho descarta cosas al final de las líneas (para que, por ejemplo, no termine con espacios al final de las líneas en texto justificado), y supongo que eso es lo que está pasando aquí. Entonces, algunos intentos más:

% Option1: set the paragraph fill to what we want, then end the paragraph before the code can put it back (this might break things):
\sethook{end}{zepf}{\parfillskip=0pt plus 1fil \endgraf} 
% Option 2: No line break, Lots of stretch, no line break and then a zero width line(which will neither be visible nor discarded).
\sethook{end}{zepf}{\penalty 10000\hskip 0pt plus 1fil \penalty10000\vrule width 0pt depth 0pt height 1pt}
Traducción automática desde English
por (1,1k puntos)
0 votos

Gracias, David.

¡Ambas sugerencias están funcionando! He mantenido la Opción 1 habilitada.

Traducción automática desde English
por [Expert]
(290 puntos)
0 votos

Gracias a cada uno de ustedes por perseguir esto hasta que se pudiera descubrir una solución. MH se acercó mucho a la solución idéntica hace un par de días, pero sin ese \endgraf final no parecía hacer ninguna diferencia. Me alegra que ahora tengamos una forma concreta de avanzar.

También me pregunto si necesitamos un interruptor en algún lugar de PTXprint que haría que esto fuera el comportamiento predeterminado para uno o más (una lista de) marcadores.

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

El problema con el \endgraf allí es que causará problemas en ciertas circunstancias. En texto normal probablemente esté bien, pero solo probablemente.

Pienso que la 'única solución verdadera' podría ser tener más opciones de justificación:
1: justificado, 2: alineado a la derecha, 3: alineado a la derecha rígido,
4: centrado, 5: centrado rígido, 6: alineado a la izquierda,
7: alineado a la izquierda rígido, 8: alineado a la izquierda con relleno, 9: alineado a la izquierda rígido con relleno
(donde rígido = espacios rígidos)
imagen

He incluido las opciones 'rígidas', pensando que algunas personas podrían asumir que eso va con las opciones de alineación a la izquierda/derecha desigual (ragged).

Tenga en cuenta que no conozco ninguna forma de tener algún 'relleno' extra en la última línea de un párrafo alineado a la derecha, por lo que las líneas en 2,3 son diferentes a las de 6,7.

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

Agradezco las soluciones, David. Gracias.

Si me lo permiten, compartiré una opinión aquí, aunque sea algo subjetiva. Creo que Alineación: Izquierda debería significar la configuración rígida, por defecto. Creo que esto es lo que probablemente se anticipa por una persona que elige texto no justificado – y presenta el texto en la forma que potencialmente es más legible (la preocupación en esa vista es el espaciado de palabras consistente). Por supuesto, un borde izquierdo (o derecho) muy desigual podría ser una preocupación de legibilidad, lo cual podría estar relacionado con una longitud de línea estrecha. Suavizar eso podría hacerse mediante la división silábica (hyphenation), y quizás mediante una opción para "suavizar el borde no justificado / desigual?" que aplicaría cierta elasticidad a los espacios entre palabras para crear un borde más suave.

Otra vez - mis pensamientos sobre los valores predeterminados. Estoy seguro de que hay otras opiniones. De todos modos - tener una forma simple de lograr 'rígido' será bastante útil.

Traducción automática desde English
por [Expert]
(290 puntos)

Si de verdad, de verdad, quieres que quepa lo máximo posible en cada línea, sin importar lo mal que se vea, puedes establecer \adjdemerits=0 para evitar que TeX intente equilibrar las líneas comprimidas junto a las líneas estiradas. Y si estás usando guiones, establece \doublehyphendemerits=0 y \finalhyphendemerits=0. Por defecto, todos se establecen en 10000, lo cual suena a mucho, pero dado que son deméritos (que son cuadrados de penalizaciones), equivale a unas 100 en términos de penalización.
Pero, al igual que al ajustar los sonidos en un sintetizador, ¡es muy fácil hacer cambios que empeoren el aspecto! ¡Preguntaste cómo poner lo máximo posible en una línea! Que tu salida fea caiga sobre tu propia cabeza :slight_smile:

Traducción automática desde English

Preguntas relacionadas

0 votos
1 respuesta 20 vistas
He leído "Glossary Best Practices" (https://support.bible/3952/glossary-best-practices?show=3952#q3952). La información ... claramente 'mal', lo agradecería mucho! Gracias, Paul
Paul 642 preguntada oct 21, 2025
0 votos
1 respuesta 91 vistas
Para la grabación, me gustaría entregar a cada lector su(s) capítulo(s) para leer en páginas separadas, de manera ... Me resultaría muy útil! Gracias por cualquier ayuda! Roland
Roland 245 preguntada mar 10, 2025
0 votos
5 respuestas 529 vistas
Estoy intentando imprimir un dígloto, pero termino con párrafos huérfanos. Parece que PTXprint está colocando los párrafos lado ... de pantalla 2021-04-22 1638341301 922 129 KB
anon043588 110 preguntada abr 22, 2021
0 votos
2 respuestas 310 vistas
Saludos! Siempre actualizo a la última versión de PTXprint, porque es simple y útil. Ahora estoy trabajando en ... ayudarme a resolverlo? Se lo agradezco. Bendiciones, anon952029
David Tuallawt 287 preguntada dic 4, 2021
0 votos
3 respuestas 287 vistas
Hello, Anytime I use the \ip Introduction - Paragraph marker in Paratext, the words turns grey. I would be grateful if you can help me correct it. Thank you. anon878803
anon878803 132 preguntada nov 8, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And I tell you that you are Peter, and on this rock I will build my church, and the gates of Hades will not overcome it.
Matthew 16:18
3,047 preguntas
6,007 respuestas
5,671 comentarios
2,027 usuarios