
저는 Polyglossia에서 제공하는 음역된 산스크리트어에 대한 하이픈 연결 작업을 시도 중입니다. 내가 직면한 한 가지 확실히 이상한 문제는 두 줄 이상에 걸쳐 있는 문자열(실제로는 sandhi로 붙인 4개의 복합 단어)에 하이픈이 연결되지 않는다는 것입니다.
\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}
물론 여기서는 임의의 하이픈을 사용할 수 있지만 하이픈 연결을 관리하는 라텍스(xelatex)를 사용하는 것이 좋습니다. 여기서는 왜 작동하지 않나요?
답변1
\tracingparagraphs=1
당신은 매우 운이 좋지 않습니다. 문서에 추가하면 로그 파일에 XeTeX가 줄 바꿈을 시도한 내용이 표시됩니다. 또한 \hspace*{0pt}
첫 번째 단어에 하이픈을 넣을 수 있도록 시작 부분에 넣었습니다 .
@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
볼 수 있는 것은 긴 단어의 마지막 부분에서 실행 가능한 하이픈 연결 지점이 발견되지 않는다는 것입니다.
...-yā-dhīnatvadarśanād
뒤에 하이픈을 넣으면 yā
줄이 너무 짧아집니다.
이는 (Xe)TeX가 63자보다 긴 단어를 올바르게 하이픈으로 연결하지 못하는 것과 관련이 있습니다. "TeX, 프로그램"( texdoc tex
, p. 344ff)의 42부 "하이픈 연결"을 참조하세요.
유감스럽게도 임의 단어를 추가하거나 \penalty0 \hspace{0pt}
적절한 지점에 일부를 추가해야 복합어에서 자동 하이픈 연결이 여전히 가능합니다.
예를 들어 \-
아래와 같이 삽입하면 하이픈 넣기가 허용되지만 줄이 여전히 너무 많습니다. tva
과 사이에 하이픈을 넣는 da
것도 좋지 않습니다.
\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}