
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}
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=1
el 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 yā
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 tva
y da
tampoco 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}