La cadena sánscrita larga no se divide con guiones

La cadena sánscrita larga no se divide con guiones

Estoy tratando de ponerme a trabajar con la separación de palabras para el sánscrito transliterado proporcionada por la poliglosia. Un problema ciertamente extraño que encuentro es que una cadena (cuatro palabras compuestas en realidad, pegadas por sandhi) que abarca más de una línea no se divide con guiones:

\documentclass[12pt]{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setdefaultlanguage{sanskrit}
\newfontfamily\sanskritfont{TeX Gyre Pagella}

\setotherlanguage{english} 
\newfontfamily\englishfont{TeX Gyre Pagella}

\begin{document}

asmadādiviśeṣaṇaśūnyasyārthasākṣātkāritvamātrasyaivendriyādhīnatvadarśanād anaikāntikatvam asambhavīti cet | yady evam arthasākṣātkāritvamātrasyendiryavadālokādhīnatvam upalabdham iti na santamase paśyeyur ulūkādayaḥ | atha vyabhicāradarśanād ālokasyāvyāpakatvam, vyabhicāraśaṅkayā tarhīndriyasyāpy avyāpakatvam | vyāptyā śaṅkā khaṇḍyata iti cet | śaṅkāsambhavād vyāptir evāsambhavinī yadi prathamata eva vyāptiḥ, vyabhicāro 'pi na dṛśyeta | 


\end{document}

salida de muestra

Por supuesto, podría usar guiones discrecionales aquí, pero prefiero confiar en que el látex (xelatex) se encargue de la separación de palabras. ¿Por qué no funciona aquí?

Respuesta1

Estás teniendo mucha mala suerte: si agrego \tracingparagraphs=1el documento, el archivo de registro muestra los intentos realizados por XeTeX para saltar líneas; También lo puse \hspace*{0pt}al principio, para que sea posible dividir la primera palabra con guiones.

@firstpass
@secondpass
[]| \EU1/TeXGyrePagella(0)/m/n/10 a-sma-dā-di-vi-śe-ṣa-ṇa-śū-nya-syā-rtha-sā-kṣ
ā-tkā-ri-tva-mā-tra-syai-ve-ndri-yā-dhīnatvadarśanād 
@ via @@0 b=* p=0 d=*
@@1: line 1.3 t=0 -> @@0
a-nai-kā-nti-ka-tvam a-sa-mbha-vīti cet | yady e-vam a-rtha-sā-kṣā-tkā-ri-tva-m
ā-tra-sye-ndi-
@\discretionary via @@1 b=16 p=50 d=3176
@@2: line 2.3- t=3176 -> @@1
rya-va-dā-lo-kā-dhī-na-tvam u-pa-la-bdham iti na sa-nta-mase pa-śye-yur u-lū-kā
-da-yaḥ | 
@ via @@2 b=3 p=0 d=169
@@3: line 3.2 t=3345 -> @@2
a-tha vya-bhi-cā-ra-da-rśa-nād ā-lo-ka-syā-vyā-pa-ka-tvam, vya-bhi-cā-ra-śa-ṅka
yā ta-rhī-ndri-
@\discretionary via @@3 b=13 p=50 d=3029
@@4: line 4.3- t=6374 -> @@3
ya-syāpy a-vyā-pa-ka-tvam | vyā-ptyā śa-ṅkā kha-ṇḍyata iti cet | śa-ṅkā-sa-mbha
-vād 
@ via @@4 b=3 p=0 d=169
@@5: line 5.2 t=6543 -> @@4
vyā-ptir e-vā-sa-mbha-vinī yadi pra-tha-mata eva vyā-ptiḥ, vya-bhi-cāro 'pi na 
dṛśyeta 
@ via @@5 b=1 p=0 d=121
@@6: line 6.2 t=6664 -> @@5
| 
@\par via @@6 b=0 p=-10000 d=*
@@7: line 7.2- t=6664 -> @@6

Lo que se puede ver es que no se encuentran puntos de separación de palabras viables en la parte final de la palabra larga.

...-yā-dhīnatvadarśanād

y dividir con guiones después daría una línea demasiado corta.

Esto tiene que ver con la incapacidad de (Xe)TeX para dividir correctamente palabras de más de 63 caracteres, consulte la parte 42 “Separación de palabras” en “TeX, el programa” ( texdoc tex, p. 344ff).

Me temo que debe agregar discrecionales o algunos \penalty0 \hspace{0pt}en los puntos apropiados para que la separación automática de palabras aún sea posible en las palabras compuestas.

Por ejemplo, insertar \-como se muestra a continuación permite la separación de palabras, pero la línea aún está demasiado llena; separar guiones entre tvay datampoco sería bueno.

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{sanskrit}
\newfontfamily\sanskritfont{TeX Gyre Pagella}

\begin{document}

asmadādiviśeṣaṇaśūnyasyārthasākṣātkāritvamātrasyaivendriyādhīnatvada\-rśanād
anaikāntikatvam asambhavīti cet | yady evam
arthasākṣātkāritvamātrasyendiryavadālokādhīnatvam upalabdham iti na santamase
paśyeyur ulūkādayaḥ | atha vyabhicāradarśanād ālokasyāvyāpakatvam,
vyabhicāraśaṅkayā tarhīndriyasyāpy avyāpakatvam | vyāptyā śaṅkā khaṇḍyata iti
cet | śaṅkāsambhavād vyāptir evāsambhavinī yadi prathamata eva vyāptiḥ,
vyabhicāro 'pi na dṛśyeta |

\end{document}

ingrese la descripción de la imagen aquí

información relacionada