
(Relacionado con mi otra preguntaaquí.) Parece que las reglas de separación de palabras de poliglosia para el sánscrito transliterado permiten de forma predeterminada la separación de palabras después de un solo carácter. Vea el ejemplo, la palabra ulūkādayaḥ
entre la tercera y la cuarta línea se divide con guiones después de un solo carácter. ¿Cómo podría cambiar eso para que sean, por ejemplo, dos caracteres?
\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}
Editar: todavía no lo entiendo del todo. Ahora estoy intentando reducir el mínimo de caracteres separables en cada extremo a uno:
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\tracingparagraphs=1
\setdefaultlanguage{sanskrit}
\setotherlanguage{english}
\PolyglossiaSetup{sanskrit}{
hyphenmins={1,1},
}
\newfontfamily\sanskritfont{TeX Gyre Pagella}
\newfontfamily\englishfont{TeX Gyre Pagella}
\begin{document}
anaikāntikatvam asambhavīti cet | yady evam arthasākṣātkāritvamātrasyendiryavadālokādhīnatvam upalabdham iti na santamase xx 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}
Y obtenga el siguiente resultado:
Me sorprende que no separe la palabra con guiones que genera el \hbox demasiado lleno, como esperaba khaṇḍya-ta
.
En el archivo de registro:
@firstpass
@secondpass
[]\EU1/TeXGyrePagella(0)/m/n/12 anaikāntikatvam a-sa-mbha-vīti cet | yady e-vam
a-rtha-sā-kṣā-tkā-ri-tva-mā-
@\discretionary via @@0 b=12 p=50 d=2984
@@1: line 1.2- t=2984 -> @@0
tra-sye-ndi-rya-va-dā-lo-kā-dhī-na-tvam u-pa-la-bdham iti na sa-nta-mase xx pa-
śye-
@\discretionary via @@1 b=26 p=50 d=13796
@@2: line 2.1- t=16780 -> @@1
yur u-lū-kā-da-yaḥ | a-tha vya-bhi-cā-ra-da-rśa-nād ā-lo-ka-syā-vyā-pa-ka-tvam,
vya-
@\discretionary via @@2 b=56 p=50 d=16856
@@3: line 3.1- t=33636 -> @@2
bhi-cā-ra-śa-ṅkayā ta-rhī-ndri-ya-syāpy a-vyā-pa-ka-tvam | vyā-ptyā śa-ṅkā kha-
ṇḍyata
@ via @@3 b=* p=0 d=*
@@4: line 4.3 t=33636 -> @@3
iti cet | śa-ṅkā-sa-mbha-vād vyā-ptir e-vā-sa-mbha-vinī yadi pra-tha-mata eva v
yā-
@\discretionary via @@4 b=31 p=50 d=4181
@@5: line 5.3- t=37817 -> @@4
ptiḥ, vya-bhi-cāro 'pi na dṛśyeta |
@\par via @@5 b=0 p=-10000 d=*
@@6: line 6.2- t=37817 -> @@5
Puedo ver que generalmente no quiere separar guiones antes de la última sílaba, ¿por qué es así?
Respuesta1
Puedes añadir
\PolyglossiaSetup{sanskrit}{
hyphenmins={2,3},% default is {1,3}
}
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{sanskrit}
\setotherlanguage{english}
\PolyglossiaSetup{sanskrit}{
hyphenmins={1,3},
}
\newfontfamily\sanskritfont{TeX Gyre Pagella}
\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}
Respuesta2
Esta publicación condujo a unaproblema de github, que cerraron como no arreglado. Pero el hilo siguiente mencionó varias soluciones:
- Llame
\providehyphenmins{sanskrit}{11}
en cualquier momento antes\setdefaultlanguage{sanskrit}
- Configure la macro
\sanskrithyphenmins
en11
(providecommand
antes\setdefaultlanguage{sanskrit}
,renewcommand
después) - Llamar
\lefthyphenmin=1
\righthyphenmin=1
después \begin{document}
( \AtBeginDocument
no funcionará, AfterEndPreamble
lo hará etoolbox). "Pero esto se sobrescribe con cualquier cambio de idioma".
Un ejemplo del método 2:
\documentclass{article}
\usepackage[width=4.4in]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{sanskrit}
\renewcommand*{\sanskrithyphenmins}{11}
\setotherlanguage{english}
\PolyglossiaSetup{sanskrit}{} % still necessary
\begin{document}
anaikāntikatvam asambhavīti cet | yady evam arthasākṣātkāritvamātrasyendiryavadālokādhīnatvam upalabdham iti na santamase xx 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}
Resultando en: