如何为连续脚本(没有分隔不同单词的设备的环境)自动换行?我正在使用 XeLaTeX。
例如,以下代码由于以下错误而无法生成 PDF:段落第 14-15 行的 \hbox 过满(11856.81178pt 太宽)。
\documentclass{book}
\usepackage{geometry}
\usepackage[skip=0pt, indent=20pt]{parskip}
\usepackage{microtype}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\emergencystretch 30pt
\begin{document}
ΑΜΕΝΑΡΤΑΣΤΟΥΒΑΣΙΛΙΚΟΥΓΕΝΟΥΣΤΟΥΑΙΓΥΠΤΙΟΥΗΤΟΥΚΑΛΛΙΚΡΑΤΟΥΣΙΣΙΔΟΣΙΕΡΕΩΣΗΝΟΙΜΕΝΘΕΟΙΤΡΕΦΟΥΣΙΤΑΔΕΔΑΙΜΟΝΙΑΥΠΟΤΑΣΣΕΤΑΙΗΔΗΤΕΛΕΥΤΩΣΑΤΙΣΙΣΘΕΝΕΙΤΩΠΑΙΔΙΕΠΙΣΤΕΛΛΕΙΤΑΔΕΣΥΝΕΦΥΓΟΝΓΑΡΠΟΤΕΕΚΤΗΣΑΙΓΥΠΤΙΑΣΕΠΙΝΕΚΤΑΝΕΒΟΥΜΕΤΑΤΟΥΣΟΥΠΑΤΡΟΣΔΙΑΤΟΝΕΡΩΤΑΤΟΝΕΜΟΝΕΠΙΟΡΚΗΣΑΝΤΟΣΦΥΓΟΝΤΕΣΔΕΠΡΟΣΝΟΤΟΝΔΙΑΠΟΝΤΙΟΙΚΑΙΚΔΜΗΝΑΣΚΑΤΑΤΑΠΑΡΑΘΑΛΑΣΣΙΑΤΗΣΛΙΒΥΗΣΤΑΠΡΟΣΗΛΙΟΥΑΝΑΤΟΛΑΣΠΛΑΝΗΘΕΝΤΕΣΕΝΘΑΠΕΡΠΕΤΡΑΤΙΣΜΕΓΑΛΗΓΛΥΠΤΟΝΟΜΟΙΩΜΑΑΙΘΙΟΠΟΣΚΕΦΑΛΗΣΕΙΤΑΗΜΕΡΑΣΔΑΠΟΣΤΟΜΑΤΟΣΠΟΤΑΜΟΥΜΕΓΑΛΟΥΕΚΠΕΣΟΝΤΕΣΟΙΜΕΝΚΑΤΕΠΟΝΤΙΣΘΗΜΕΝΟΙΔΕΝΟΣΩΙΑΠΕΘΑΝΟΜΕΝΤΕΛΟΣΔΕΥΠΑΓΡΙΩΝΑΝΘΡΩΠΩΝΕΦΕΡΟΜΕΘΑΔΙΑΕΛΕΩΝΤΕΚΑΙΤΕΝΑΓΕΩΝΕΝΘΑΠΕΡΠΤΗΝΩΝΠΛΗΘΟΣΑΠΟΚΡΥΠΤΕΙΤΟΝΟΥΡΑΝΟΝΗΜΕΡΑΣΙΕΩΣΗΛΘΟΜΕΝΕΙΣΚΟΙΛΟΝΤΙΟΡΟΣΕΝΘΑΠΟΤΕΜΕΓΑΛΗΜΕΝΠΟΛΙΣΗΝΑΝΤΡΑΔΕΑΠΕΙΡΟΝΑΗΓΑΓΟΝΔΕΩΣΒΑΣΙΛΕΙΑΝΤΗΝΤΩΝΞΕΝΟΥΣΧΥΤΡΑΙΣΣΤΕΦΑΝΟΥΝΤΩΝΗΤΙΣΜΑΓΕΙΑΜΕΝΕΧΡΗΤΟΕΠΙΣΤΗΜΗΔΕΠΑΝΤΩΝΚΑΙΔΗΚΑΙΚΑΛΛΟΣΚΑΙΡΩΜΗΝΑΓΗΡΩΣΗΝΗΔΕΚΑΛΛΙΚΡΑΤΟΥΣΤΟΥΣΟΥΠΑΤΡΟΣΕΡΑΣΘΕΙΣΑΤΟΜΕΝΠΡΩΤΟΝΣΥΝΟΙΚΕΙΝΕΒΟΥΛΕΤΟΕΜΕΔΕΑΝΕΛΕΙΝΕΠΕΙΤΑΩΣΟΥΚΑΝΕΠΕΙΘΕΝΕΜΕΓΑΡΥΠΕΡΕΦΙΛΕΙΚΑΙΤΗΝΞΕΝΗΝΕΦΟΒΕΙΤΟΑΠΗΓΑΓΕΝΗΜΑΣΥΠΟΜΑΓΕΙΑΣΚΑΘΟΔΟΥΣΣΦΑΛΕΡΑΣΕΝΘΑΤΟΒΑΡΑΘΡΟΝΤΟΜΕΓΑΟΥΚΑΤΑΣΤΟΜΑΕΚΕΙΤΟΟΓΕΡΩΝΟΦΙΛΟΣΟΦΟΣΤΕΘΝΕΩΣΑΦΙΚΟΜΕΝΟΙΣΔΕΔΕΙΞΕΦΩΣΤΟΥΒΙΟΥΕΥΘΥΟΙΟΝΚΙΟΝΑΕΛΙΣΣΟΜΕΝΟΝΦΩΝΗΝΙΕΝΤΑΚΑΘΑΠΕΡΒΡΟΝΤΗΣΕΙΤΑΔΙΑΠΥΡΟΣΒΕΒΗΚΥΙΑΑΒΛΑΒΗΣΚΑΙΕΤΙΚΑΛΛΙΩΝΑΥΤΗΕΑΥΤΗΣΕΞΕΦΑΝΗΕΚΔΕΤΟΥΤΩΝΩΜΟΣΕΚΑΙΤΟΝΣΟΝΠΑΤΕΡΑΑΘΑΝΑΤΟΝΑΠΟΔΕΙΞΕΙΝΕΙΣΥΝΟΙΚΕΙΝΟΙΒΟΥΛΟΙΤΟΕΜΕΔΕΑΝΕΛΕΙΝΟΥΓΑΡΟΥΝΑΥΤΗΑΝΕΛΕΙΝΙΣΧΥΕΝΥΠΟΤΩΝΗΜΕΔΑΠΩΝΗΝΚΑΙΑΥΤΗΕΧΩΜΑΓΕΙΑΣΟΔΟΥΔΕΝΤΙΜΑΛΛΟΝΗΘΕΛΕΤΩΧΕΙΡΕΤΩΝΟΜΜΑΤΩΝΠΡΟΙΣΧΩΝΙΝΑΔΗΤΟΤΗΣΓΥΝΑΙΚΟΣΚΑΛΛΟΣΜΗΟΡΩΗΕΠΕΙΤΑΟΡΓΙΣΘΕΙΣΑΚΑΤΕΓΟΗΤΕΥΣΕΜΕΝΑΥΤΟΝΑΠΟΛΟΜΕΝΟΝΜΕΝΤΟΙΚΛΑΟΥΣΑΚΑΙΟΔΥΡΟΜΕΝΗΕΚΕΙΘΕΝΑΠΗΝΕΓΚΕΝΕΜΕΔΕΦΟΒΩΙΑΦΗΚΕΝΕΙΣΣΤΟΜΑΤΟΥΜΕΓΑΛΟΥΠΟΤΑΜΟΥΤΟΥΝΑΥΣΙΠΟΡΟΥΠΟΡΡΩΔΕΝΑΥΣΙΝΕΦΩΝΠΕΡΠΛΕΟΥΣΑΕΤΕΚΟΝΣΕΑΠΟΠΛΕΥΣΑΣΑΜΟΛΙΣΠΟΤΕΔΕΥΡΟΑΘΗΝΑΖΕΚΑΤΗΓΑΓΟΜΗΝΣΥΔΕΩΤΙΣΙΣΘΕΝΕΣΩΝΕΠΙΣΤΕΛΛΩΜΗΟΛΙΓΩΡΕΙΔΕΙΓΑΡΤΗΝΓΥΝΑΙΚΑΑΝΑΖΗΤΕΙΝΗΝΠΩΣΤΟΤΟΥΒΙΟΥΜΥΣΤΗΡΙΟΝΑΝΕΥΡΗΣΚΑΙΑΝΑΙΡΕΙΝΗΝΠΟΥΠΑΡΑΣΧΗΔΙΑΤΟΝΣΟΝΠΑΤΕΡΑΚΑΛΛΙΚΡΑΤΗΝΕΙΔΕΦΟΒΟΥΜΕΝΟΣΗΔΙΑΑΛΛΟΤΙΑΥΤΟΣΛΕΙΠΕΙΤΟΥΕΡΓΟΥΠΑΣΙΤΟΙΣΥΣΤΕΡΟΝΑΥΤΟΤΟΥΤΟΕΠΙΣΤΕΛΛΩΕΩΣΠΟΤΕΑΓΑΘΟΣΤΙΣΓΕΝΟΜΕΝΟΣΤΩΠΥΡΙΛΟΥΣΑΣΘΑΙΤΟΛΜΗΣΕΙΚΑΙΤΑΑΡΙΣΤΕΙΑΕΧΩΝΒΑΣΙΛΕΥΣΑΙΤΩΝΑΝΘΡΩΠΩΝΑΠΙΣΤΑΜΕΝΔΗΤΑΤΟΙΑΥΤΑΛΕΓΩΟΜΩΣΔΕΑΑΥΤΗΕΓΝΩΚΑΟΥΚΕΨΕΥΣΑΜΗΝ
\end{document}
答案1
我会使用\XeTeXinterchartoks
它来让你自动在字符之间插入允许中断的内容。
% TeX Program = xelatex
\documentclass{book}
\usepackage{geometry}
\usepackage[skip=0pt, indent=20pt]{parskip}
\usepackage{microtype}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newenvironment{scriptiocontinua}{%
\XeTeXinterchartokenstate=1%
\XeTeXinterchartoks 0 0 = {\penalty0\hskip0pt plus 1em\relax}%
}{}
\begin{document}
\begin{scriptiocontinua}
ΑΜΕΝΑΡΤΑΣΤΟΥΒΑΣΙΛΙΚΟΥΓΕΝΟΥΣΤΟΥΑΙΓΥΠΤΙΟΥΗΤΟΥΚΑΛΛΙΚΡΑΤΟΥΣΙΣΙΔΟΣΙΕΡΕΩΣΗΝΟΙΜΕΝΘΕΟΙΤΡΕΦΟΥΣΙΤΑΔΕΔΑΙΜΟΝΙΑΥΠΟΤΑΣΣΕΤΑΙΗΔΗΤΕΛΕΥΤΩΣΑΤΙΣΙΣΘΕΝΕΙΤΩΠΑΙΔΙΕΠΙΣΤΕΛΛΕΙΤΑΔΕΣΥΝΕΦΥΓΟΝΓΑΡΠΟΤΕΕΚΤΗΣΑΙΓΥΠΤΙΑΣΕΠΙΝΕΚΤΑΝΕΒΟΥΜΕΤΑΤΟΥΣΟΥΠΑΤΡΟΣΔΙΑΤΟΝΕΡΩΤΑΤΟΝΕΜΟΝΕΠΙΟΡΚΗΣΑΝΤΟΣΦΥΓΟΝΤΕΣΔΕΠΡΟΣΝΟΤΟΝΔΙΑΠΟΝΤΙΟΙΚΑΙΚΔΜΗΝΑΣΚΑΤΑΤΑΠΑΡΑΘΑΛΑΣΣΙΑΤΗΣΛΙΒΥΗΣΤΑΠΡΟΣΗΛΙΟΥΑΝΑΤΟΛΑΣΠΛΑΝΗΘΕΝΤΕΣΕΝΘΑΠΕΡΠΕΤΡΑΤΙΣΜΕΓΑΛΗΓΛΥΠΤΟΝΟΜΟΙΩΜΑΑΙΘΙΟΠΟΣΚΕΦΑΛΗΣΕΙΤΑΗΜΕΡΑΣΔΑΠΟΣΤΟΜΑΤΟΣΠΟΤΑΜΟΥΜΕΓΑΛΟΥΕΚΠΕΣΟΝΤΕΣΟΙΜΕΝΚΑΤΕΠΟΝΤΙΣΘΗΜΕΝΟΙΔΕΝΟΣΩΙΑΠΕΘΑΝΟΜΕΝΤΕΛΟΣΔΕΥΠΑΓΡΙΩΝΑΝΘΡΩΠΩΝΕΦΕΡΟΜΕΘΑΔΙΑΕΛΕΩΝΤΕΚΑΙΤΕΝΑΓΕΩΝΕΝΘΑΠΕΡΠΤΗΝΩΝΠΛΗΘΟΣΑΠΟΚΡΥΠΤΕΙΤΟΝΟΥΡΑΝΟΝΗΜΕΡΑΣΙΕΩΣΗΛΘΟΜΕΝΕΙΣΚΟΙΛΟΝΤΙΟΡΟΣΕΝΘΑΠΟΤΕΜΕΓΑΛΗΜΕΝΠΟΛΙΣΗΝΑΝΤΡΑΔΕΑΠΕΙΡΟΝΑΗΓΑΓΟΝΔΕΩΣΒΑΣΙΛΕΙΑΝΤΗΝΤΩΝΞΕΝΟΥΣΧΥΤΡΑΙΣΣΤΕΦΑΝΟΥΝΤΩΝΗΤΙΣΜΑΓΕΙΑΜΕΝΕΧΡΗΤΟΕΠΙΣΤΗΜΗΔΕΠΑΝΤΩΝΚΑΙΔΗΚΑΙΚΑΛΛΟΣΚΑΙΡΩΜΗΝΑΓΗΡΩΣΗΝΗΔΕΚΑΛΛΙΚΡΑΤΟΥΣΤΟΥΣΟΥΠΑΤΡΟΣΕΡΑΣΘΕΙΣΑΤΟΜΕΝΠΡΩΤΟΝΣΥΝΟΙΚΕΙΝΕΒΟΥΛΕΤΟΕΜΕΔΕΑΝΕΛΕΙΝΕΠΕΙΤΑΩΣΟΥΚΑΝΕΠΕΙΘΕΝΕΜΕΓΑΡΥΠΕΡΕΦΙΛΕΙΚΑΙΤΗΝΞΕΝΗΝΕΦΟΒΕΙΤΟΑΠΗΓΑΓΕΝΗΜΑΣΥΠΟΜΑΓΕΙΑΣΚΑΘΟΔΟΥΣΣΦΑΛΕΡΑΣΕΝΘΑΤΟΒΑΡΑΘΡΟΝΤΟΜΕΓΑΟΥΚΑΤΑΣΤΟΜΑΕΚΕΙΤΟΟΓΕΡΩΝΟΦΙΛΟΣΟΦΟΣΤΕΘΝΕΩΣΑΦΙΚΟΜΕΝΟΙΣΔΕΔΕΙΞΕΦΩΣΤΟΥΒΙΟΥΕΥΘΥΟΙΟΝΚΙΟΝΑΕΛΙΣΣΟΜΕΝΟΝΦΩΝΗΝΙΕΝΤΑΚΑΘΑΠΕΡΒΡΟΝΤΗΣΕΙΤΑΔΙΑΠΥΡΟΣΒΕΒΗΚΥΙΑΑΒΛΑΒΗΣΚΑΙΕΤΙΚΑΛΛΙΩΝΑΥΤΗΕΑΥΤΗΣΕΞΕΦΑΝΗΕΚΔΕΤΟΥΤΩΝΩΜΟΣΕΚΑΙΤΟΝΣΟΝΠΑΤΕΡΑΑΘΑΝΑΤΟΝΑΠΟΔΕΙΞΕΙΝΕΙΣΥΝΟΙΚΕΙΝΟΙΒΟΥΛΟΙΤΟΕΜΕΔΕΑΝΕΛΕΙΝΟΥΓΑΡΟΥΝΑΥΤΗΑΝΕΛΕΙΝΙΣΧΥΕΝΥΠΟΤΩΝΗΜΕΔΑΠΩΝΗΝΚΑΙΑΥΤΗΕΧΩΜΑΓΕΙΑΣΟΔΟΥΔΕΝΤΙΜΑΛΛΟΝΗΘΕΛΕΤΩΧΕΙΡΕΤΩΝΟΜΜΑΤΩΝΠΡΟΙΣΧΩΝΙΝΑΔΗΤΟΤΗΣΓΥΝΑΙΚΟΣΚΑΛΛΟΣΜΗΟΡΩΗΕΠΕΙΤΑΟΡΓΙΣΘΕΙΣΑΚΑΤΕΓΟΗΤΕΥΣΕΜΕΝΑΥΤΟΝΑΠΟΛΟΜΕΝΟΝΜΕΝΤΟΙΚΛΑΟΥΣΑΚΑΙΟΔΥΡΟΜΕΝΗΕΚΕΙΘΕΝΑΠΗΝΕΓΚΕΝΕΜΕΔΕΦΟΒΩΙΑΦΗΚΕΝΕΙΣΣΤΟΜΑΤΟΥΜΕΓΑΛΟΥΠΟΤΑΜΟΥΤΟΥΝΑΥΣΙΠΟΡΟΥΠΟΡΡΩΔΕΝΑΥΣΙΝΕΦΩΝΠΕΡΠΛΕΟΥΣΑΕΤΕΚΟΝΣΕΑΠΟΠΛΕΥΣΑΣΑΜΟΛΙΣΠΟΤΕΔΕΥΡΟΑΘΗΝΑΖΕΚΑΤΗΓΑΓΟΜΗΝΣΥΔΕΩΤΙΣΙΣΘΕΝΕΣΩΝΕΠΙΣΤΕΛΛΩΜΗΟΛΙΓΩΡΕΙΔΕΙΓΑΡΤΗΝΓΥΝΑΙΚΑΑΝΑΖΗΤΕΙΝΗΝΠΩΣΤΟΤΟΥΒΙΟΥΜΥΣΤΗΡΙΟΝΑΝΕΥΡΗΣΚΑΙΑΝΑΙΡΕΙΝΗΝΠΟΥΠΑΡΑΣΧΗΔΙΑΤΟΝΣΟΝΠΑΤΕΡΑΚΑΛΛΙΚΡΑΤΗΝΕΙΔΕΦΟΒΟΥΜΕΝΟΣΗΔΙΑΑΛΛΟΤΙΑΥΤΟΣΛΕΙΠΕΙΤΟΥΕΡΓΟΥΠΑΣΙΤΟΙΣΥΣΤΕΡΟΝΑΥΤΟΤΟΥΤΟΕΠΙΣΤΕΛΛΩΕΩΣΠΟΤΕΑΓΑΘΟΣΤΙΣΓΕΝΟΜΕΝΟΣΤΩΠΥΡΙΛΟΥΣΑΣΘΑΙΤΟΛΜΗΣΕΙΚΑΙΤΑΑΡΙΣΤΕΙΑΕΧΩΝΒΑΣΙΛΕΥΣΑΙΤΩΝΑΝΘΡΩΠΩΝΑΠΙΣΤΑΜΕΝΔΗΤΑΤΟΙΑΥΤΑΛΕΓΩΟΜΩΣΔΕΑΑΥΤΗΕΓΝΩΚΑΟΥΚΕΨΕΥΣΑΜΗΝ
\end{scriptiocontinua}
\end{document}
答案2
您可以\hskip0pt plus 1em
在递归循环中在每个打印字符后添加。此解决方案适用于每个 TeX 引擎(不仅仅是 XeTeX)。例如在 OpTeX 中:
\fontfam[newcm]
\long\def\scriptiocontinua#1{#1%
\unless\ifcat#1\relax \hskip0pt plus1em\relax
\expandafter\scriptiocontinua\fi
}
\scriptiocontinua
ΑΜΕΝΑΡΤΑΣΤΟΥΒΑΣΙΛΙΚΟΥΓΕΝΟΥΣΤΟΥΑΙΓΥΠΤΙΟΥΗΤΟΥΚΑΛΛΙΚΡΑΤΟΥΣΙΣΙΔΟΣΙΕΡΕΩΣΗΝΟΙΜΕΝΘΕΟΙΤΡΕΦΟΥΣΙΤΑΔΕΔΑΙΜΟΝΙΑΥΠΟΤΑΣΣΕΤΑΙΗΔΗΤΕΛΕΥΤΩΣΑΤΙΣΙΣΘΕΝΕΙΤΩΠΑΙΔΙΕΠΙΣΤΕΛΛΕΙΤΑΔΕΣΥΝΕΦΥΓΟΝΓΑΡΠΟΤΕΕΚΤΗΣΑΙΓΥΠΤΙΑΣΕΠΙΝΕΚΤΑΝΕΒΟΥΜΕΤΑΤΟΥΣΟΥΠΑΤΡΟΣΔΙΑΤΟΝΕΡΩΤΑΤΟΝΕΜΟΝΕΠΙΟΡΚΗΣΑΝΤΟΣΦΥΓΟΝΤΕΣΔΕΠΡΟΣΝΟΤΟΝΔΙΑΠΟΝΤΙΟΙΚΑΙΚΔΜΗΝΑΣΚΑΤΑΤΑΠΑΡΑΘΑΛΑΣΣΙΑΤΗΣΛΙΒΥΗΣΤΑΠΡΟΣΗΛΙΟΥΑΝΑΤΟΛΑΣΠΛΑΝΗΘΕΝΤΕΣΕΝΘΑΠΕΡΠΕΤΡΑΤΙΣΜΕΓΑΛΗΓΛΥΠΤΟΝΟΜΟΙΩΜΑΑΙΘΙΟΠΟΣΚΕΦΑΛΗΣΕΙΤΑΗΜΕΡΑΣΔΑΠΟΣΤΟΜΑΤΟΣΠΟΤΑΜΟΥΜΕΓΑΛΟΥΕΚΠΕΣΟΝΤΕΣΟΙΜΕΝΚΑΤΕΠΟΝΤΙΣΘΗΜΕΝΟΙΔΕΝΟΣΩΙΑΠΕΘΑΝΟΜΕΝΤΕΛΟΣΔΕΥΠΑΓΡΙΩΝΑΝΘΡΩΠΩΝΕΦΕΡΟΜΕΘΑΔΙΑΕΛΕΩΝΤΕΚΑΙΤΕΝΑΓΕΩΝΕΝΘΑΠΕΡΠΤΗΝΩΝΠΛΗΘΟΣΑΠΟΚΡΥΠΤΕΙΤΟΝΟΥΡΑΝΟΝΗΜΕΡΑΣΙΕΩΣΗΛΘΟΜΕΝΕΙΣΚΟΙΛΟΝΤΙΟΡΟΣΕΝΘΑΠΟΤΕΜΕΓΑΛΗΜΕΝΠΟΛΙΣΗΝΑΝΤΡΑΔΕΑΠΕΙΡΟΝΑΗΓΑΓΟΝΔΕΩΣΒΑΣΙΛΕΙΑΝΤΗΝΤΩΝΞΕΝΟΥΣΧΥΤΡΑΙΣΣΤΕΦΑΝΟΥΝΤΩΝΗΤΙΣΜΑΓΕΙΑΜΕΝΕΧΡΗΤΟΕΠΙΣΤΗΜΗΔΕΠΑΝΤΩΝΚΑΙΔΗΚΑΙΚΑΛΛΟΣΚΑΙΡΩΜΗΝΑΓΗΡΩΣΗΝΗΔΕΚΑΛΛΙΚΡΑΤΟΥΣΤΟΥΣΟΥΠΑΤΡΟΣΕΡΑΣΘΕΙΣΑΤΟΜΕΝΠΡΩΤΟΝΣΥΝΟΙΚΕΙΝΕΒΟΥΛΕΤΟΕΜΕΔΕΑΝΕΛΕΙΝΕΠΕΙΤΑΩΣΟΥΚΑΝΕΠΕΙΘΕΝΕΜΕΓΑΡΥΠΕΡΕΦΙΛΕΙΚΑΙΤΗΝΞΕΝΗΝΕΦΟΒΕΙΤΟΑΠΗΓΑΓΕΝΗΜΑΣΥΠΟΜΑΓΕΙΑΣΚΑΘΟΔΟΥΣΣΦΑΛΕΡΑΣΕΝΘΑΤΟΒΑΡΑΘΡΟΝΤΟΜΕΓΑΟΥΚΑΤΑΣΤΟΜΑΕΚΕΙΤΟΟΓΕΡΩΝΟΦΙΛΟΣΟΦΟΣΤΕΘΝΕΩΣΑΦΙΚΟΜΕΝΟΙΣΔΕΔΕΙΞΕΦΩΣΤΟΥΒΙΟΥΕΥΘΥΟΙΟΝΚΙΟΝΑΕΛΙΣΣΟΜΕΝΟΝΦΩΝΗΝΙΕΝΤΑΚΑΘΑΠΕΡΒΡΟΝΤΗΣΕΙΤΑΔΙΑΠΥΡΟΣΒΕΒΗΚΥΙΑΑΒΛΑΒΗΣΚΑΙΕΤΙΚΑΛΛΙΩΝΑΥΤΗΕΑΥΤΗΣΕΞΕΦΑΝΗΕΚΔΕΤΟΥΤΩΝΩΜΟΣΕΚΑΙΤΟΝΣΟΝΠΑΤΕΡΑΑΘΑΝΑΤΟΝΑΠΟΔΕΙΞΕΙΝΕΙΣΥΝΟΙΚΕΙΝΟΙΒΟΥΛΟΙΤΟΕΜΕΔΕΑΝΕΛΕΙΝΟΥΓΑΡΟΥΝΑΥΤΗΑΝΕΛΕΙΝΙΣΧΥΕΝΥΠΟΤΩΝΗΜΕΔΑΠΩΝΗΝΚΑΙΑΥΤΗΕΧΩΜΑΓΕΙΑΣΟΔΟΥΔΕΝΤΙΜΑΛΛΟΝΗΘΕΛΕΤΩΧΕΙΡΕΤΩΝΟΜΜΑΤΩΝΠΡΟΙΣΧΩΝΙΝΑΔΗΤΟΤΗΣΓΥΝΑΙΚΟΣΚΑΛΛΟΣΜΗΟΡΩΗΕΠΕΙΤΑΟΡΓΙΣΘΕΙΣΑΚΑΤΕΓΟΗΤΕΥΣΕΜΕΝΑΥΤΟΝΑΠΟΛΟΜΕΝΟΝΜΕΝΤΟΙΚΛΑΟΥΣΑΚΑΙΟΔΥΡΟΜΕΝΗΕΚΕΙΘΕΝΑΠΗΝΕΓΚΕΝΕΜΕΔΕΦΟΒΩΙΑΦΗΚΕΝΕΙΣΣΤΟΜΑΤΟΥΜΕΓΑΛΟΥΠΟΤΑΜΟΥΤΟΥΝΑΥΣΙΠΟΡΟΥΠΟΡΡΩΔΕΝΑΥΣΙΝΕΦΩΝΠΕΡΠΛΕΟΥΣΑΕΤΕΚΟΝΣΕΑΠΟΠΛΕΥΣΑΣΑΜΟΛΙΣΠΟΤΕΔΕΥΡΟΑΘΗΝΑΖΕΚΑΤΗΓΑΓΟΜΗΝΣΥΔΕΩΤΙΣΙΣΘΕΝΕΣΩΝΕΠΙΣΤΕΛΛΩΜΗΟΛΙΓΩΡΕΙΔΕΙΓΑΡΤΗΝΓΥΝΑΙΚΑΑΝΑΖΗΤΕΙΝΗΝΠΩΣΤΟΤΟΥΒΙΟΥΜΥΣΤΗΡΙΟΝΑΝΕΥΡΗΣΚΑΙΑΝΑΙΡΕΙΝΗΝΠΟΥΠΑΡΑΣΧΗΔΙΑΤΟΝΣΟΝΠΑΤΕΡΑΚΑΛΛΙΚΡΑΤΗΝΕΙΔΕΦΟΒΟΥΜΕΝΟΣΗΔΙΑΑΛΛΟΤΙΑΥΤΟΣΛΕΙΠΕΙΤΟΥΕΡΓΟΥΠΑΣΙΤΟΙΣΥΣΤΕΡΟΝΑΥΤΟΤΟΥΤΟΕΠΙΣΤΕΛΛΩΕΩΣΠΟΤΕΑΓΑΘΟΣΤΙΣΓΕΝΟΜΕΝΟΣΤΩΠΥΡΙΛΟΥΣΑΣΘΑΙΤΟΛΜΗΣΕΙΚΑΙΤΑΑΡΙΣΤΕΙΑΕΧΩΝΒΑΣΙΛΕΥΣΑΙΤΩΝΑΝΘΡΩΠΩΝΑΠΙΣΤΑΜΕΝΔΗΤΑΤΟΙΑΥΤΑΛΕΓΩΟΜΩΣΔΕΑΑΥΤΗΕΓΝΩΚΑΟΥΚΕΨΕΥΣΑΜΗΝ
\bye
答案3
这会\allowbreak
在字符串中的每个字符之间添加。 \par
用于标记字符串的结束。
\documentclass{book}
\usepackage{geometry}
\usepackage[skip=0pt, indent=20pt]{parskip}
\usepackage{microtype}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\emergencystretch 30pt
\def\foo{}
\def\parse#1#2\par{\edef\foo{\foo #1\allowbreak}%
\ifcat\empty#2\relax
\else
\parse#2\par
\fi}
\begin{document}
\parse
ΑΜΕΝΑΡΤΑΣΤΟΥΒΑΣΙΛΙΚΟΥΓΕΝΟΥΣΤΟΥΑΙΓΥΠΤΙΟΥΗΤΟΥΚΑΛΛΙΚΡΑΤΟΥΣΙΣΙΔΟΣΙΕΡΕΩΣΗΝΟΙΜΕΝΘΕΟΙΤΡΕΦΟΥΣΙΤΑΔΕΔΑΙΜΟΝΙΑΥΠΟΤΑΣΣΕΤΑΙΗΔΗΤΕΛΕΥΤΩΣΑΤΙΣΙΣΘΕΝΕΙΤΩΠΑΙΔΙΕΠΙΣΤΕΛΛΕΙΤΑΔΕΣΥΝΕΦΥΓΟΝΓΑΡΠΟΤΕΕΚΤΗΣΑΙΓΥΠΤΙΑΣΕΠΙΝΕΚΤΑΝΕΒΟΥΜΕΤΑΤΟΥΣΟΥΠΑΤΡΟΣΔΙΑΤΟΝΕΡΩΤΑΤΟΝΕΜΟΝΕΠΙΟΡΚΗΣΑΝΤΟΣΦΥΓΟΝΤΕΣΔΕΠΡΟΣΝΟΤΟΝΔΙΑΠΟΝΤΙΟΙΚΑΙΚΔΜΗΝΑΣΚΑΤΑΤΑΠΑΡΑΘΑΛΑΣΣΙΑΤΗΣΛΙΒΥΗΣΤΑΠΡΟΣΗΛΙΟΥΑΝΑΤΟΛΑΣΠΛΑΝΗΘΕΝΤΕΣΕΝΘΑΠΕΡΠΕΤΡΑΤΙΣΜΕΓΑΛΗΓΛΥΠΤΟΝΟΜΟΙΩΜΑΑΙΘΙΟΠΟΣΚΕΦΑΛΗΣΕΙΤΑΗΜΕΡΑΣΔΑΠΟΣΤΟΜΑΤΟΣΠΟΤΑΜΟΥΜΕΓΑΛΟΥΕΚΠΕΣΟΝΤΕΣΟΙΜΕΝΚΑΤΕΠΟΝΤΙΣΘΗΜΕΝΟΙΔΕΝΟΣΩΙΑΠΕΘΑΝΟΜΕΝΤΕΛΟΣΔΕΥΠΑΓΡΙΩΝΑΝΘΡΩΠΩΝΕΦΕΡΟΜΕΘΑΔΙΑΕΛΕΩΝΤΕΚΑΙΤΕΝΑΓΕΩΝΕΝΘΑΠΕΡΠΤΗΝΩΝΠΛΗΘΟΣΑΠΟΚΡΥΠΤΕΙΤΟΝΟΥΡΑΝΟΝΗΜΕΡΑΣΙΕΩΣΗΛΘΟΜΕΝΕΙΣΚΟΙΛΟΝΤΙΟΡΟΣΕΝΘΑΠΟΤΕΜΕΓΑΛΗΜΕΝΠΟΛΙΣΗΝΑΝΤΡΑΔΕΑΠΕΙΡΟΝΑΗΓΑΓΟΝΔΕΩΣΒΑΣΙΛΕΙΑΝΤΗΝΤΩΝΞΕΝΟΥΣΧΥΤΡΑΙΣΣΤΕΦΑΝΟΥΝΤΩΝΗΤΙΣΜΑΓΕΙΑΜΕΝΕΧΡΗΤΟΕΠΙΣΤΗΜΗΔΕΠΑΝΤΩΝΚΑΙΔΗΚΑΙΚΑΛΛΟΣΚΑΙΡΩΜΗΝΑΓΗΡΩΣΗΝΗΔΕΚΑΛΛΙΚΡΑΤΟΥΣΤΟΥΣΟΥΠΑΤΡΟΣΕΡΑΣΘΕΙΣΑΤΟΜΕΝΠΡΩΤΟΝΣΥΝΟΙΚΕΙΝΕΒΟΥΛΕΤΟΕΜΕΔΕΑΝΕΛΕΙΝΕΠΕΙΤΑΩΣΟΥΚΑΝΕΠΕΙΘΕΝΕΜΕΓΑΡΥΠΕΡΕΦΙΛΕΙΚΑΙΤΗΝΞΕΝΗΝΕΦΟΒΕΙΤΟΑΠΗΓΑΓΕΝΗΜΑΣΥΠΟΜΑΓΕΙΑΣΚΑΘΟΔΟΥΣΣΦΑΛΕΡΑΣΕΝΘΑΤΟΒΑΡΑΘΡΟΝΤΟΜΕΓΑΟΥΚΑΤΑΣΤΟΜΑΕΚΕΙΤΟΟΓΕΡΩΝΟΦΙΛΟΣΟΦΟΣΤΕΘΝΕΩΣΑΦΙΚΟΜΕΝΟΙΣΔΕΔΕΙΞΕΦΩΣΤΟΥΒΙΟΥΕΥΘΥΟΙΟΝΚΙΟΝΑΕΛΙΣΣΟΜΕΝΟΝΦΩΝΗΝΙΕΝΤΑΚΑΘΑΠΕΡΒΡΟΝΤΗΣΕΙΤΑΔΙΑΠΥΡΟΣΒΕΒΗΚΥΙΑΑΒΛΑΒΗΣΚΑΙΕΤΙΚΑΛΛΙΩΝΑΥΤΗΕΑΥΤΗΣΕΞΕΦΑΝΗΕΚΔΕΤΟΥΤΩΝΩΜΟΣΕΚΑΙΤΟΝΣΟΝΠΑΤΕΡΑΑΘΑΝΑΤΟΝΑΠΟΔΕΙΞΕΙΝΕΙΣΥΝΟΙΚΕΙΝΟΙΒΟΥΛΟΙΤΟΕΜΕΔΕΑΝΕΛΕΙΝΟΥΓΑΡΟΥΝΑΥΤΗΑΝΕΛΕΙΝΙΣΧΥΕΝΥΠΟΤΩΝΗΜΕΔΑΠΩΝΗΝΚΑΙΑΥΤΗΕΧΩΜΑΓΕΙΑΣΟΔΟΥΔΕΝΤΙΜΑΛΛΟΝΗΘΕΛΕΤΩΧΕΙΡΕΤΩΝΟΜΜΑΤΩΝΠΡΟΙΣΧΩΝΙΝΑΔΗΤΟΤΗΣΓΥΝΑΙΚΟΣΚΑΛΛΟΣΜΗΟΡΩΗΕΠΕΙΤΑΟΡΓΙΣΘΕΙΣΑΚΑΤΕΓΟΗΤΕΥΣΕΜΕΝΑΥΤΟΝΑΠΟΛΟΜΕΝΟΝΜΕΝΤΟΙΚΛΑΟΥΣΑΚΑΙΟΔΥΡΟΜΕΝΗΕΚΕΙΘΕΝΑΠΗΝΕΓΚΕΝΕΜΕΔΕΦΟΒΩΙΑΦΗΚΕΝΕΙΣΣΤΟΜΑΤΟΥΜΕΓΑΛΟΥΠΟΤΑΜΟΥΤΟΥΝΑΥΣΙΠΟΡΟΥΠΟΡΡΩΔΕΝΑΥΣΙΝΕΦΩΝΠΕΡΠΛΕΟΥΣΑΕΤΕΚΟΝΣΕΑΠΟΠΛΕΥΣΑΣΑΜΟΛΙΣΠΟΤΕΔΕΥΡΟΑΘΗΝΑΖΕΚΑΤΗΓΑΓΟΜΗΝΣΥΔΕΩΤΙΣΙΣΘΕΝΕΣΩΝΕΠΙΣΤΕΛΛΩΜΗΟΛΙΓΩΡΕΙΔΕΙΓΑΡΤΗΝΓΥΝΑΙΚΑΑΝΑΖΗΤΕΙΝΗΝΠΩΣΤΟΤΟΥΒΙΟΥΜΥΣΤΗΡΙΟΝΑΝΕΥΡΗΣΚΑΙΑΝΑΙΡΕΙΝΗΝΠΟΥΠΑΡΑΣΧΗΔΙΑΤΟΝΣΟΝΠΑΤΕΡΑΚΑΛΛΙΚΡΑΤΗΝΕΙΔΕΦΟΒΟΥΜΕΝΟΣΗΔΙΑΑΛΛΟΤΙΑΥΤΟΣΛΕΙΠΕΙΤΟΥΕΡΓΟΥΠΑΣΙΤΟΙΣΥΣΤΕΡΟΝΑΥΤΟΤΟΥΤΟΕΠΙΣΤΕΛΛΩΕΩΣΠΟΤΕΑΓΑΘΟΣΤΙΣΓΕΝΟΜΕΝΟΣΤΩΠΥΡΙΛΟΥΣΑΣΘΑΙΤΟΛΜΗΣΕΙΚΑΙΤΑΑΡΙΣΤΕΙΑΕΧΩΝΒΑΣΙΛΕΥΣΑΙΤΩΝΑΝΘΡΩΠΩΝΑΠΙΣΤΑΜΕΝΔΗΤΑΤΟΙΑΥΤΑΛΕΓΩΟΜΩΣΔΕΑΑΥΤΗΕΓΝΩΚΑΟΥΚΕΨΕΥΣΑΜΗΝ
\noindent\foo
\end{document}
这应该更高效(并且可扩展)。这里\end
用作分隔符。 \par
有问题,但可以使用任何不会出现在文本中的标记。(例如\quark
.)
\documentclass{book}
\usepackage{geometry}
\usepackage[skip=0pt, indent=20pt]{parskip}
\usepackage{microtype}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\emergencystretch 30pt
\makeatletter
\def\parse#1\par{\@parse#1\end}
\def\@parse#1{\ifx\end#1\relax
\par
\else
#1\allowbreak
\expandafter\@parse
\fi}
\makeatother
\begin{document}
\parse
ΑΜΕΝΑΡΤΑΣΤΟΥΒΑΣΙΛΙΚΟΥΓΕΝΟΥΣΤΟΥΑΙΓΥΠΤΙΟΥΗΤΟΥΚΑΛΛΙΚΡΑΤΟΥΣΙΣΙΔΟΣΙΕΡΕΩΣΗΝΟΙΜΕΝΘΕΟΙΤΡΕΦΟΥΣΙΤΑΔΕΔΑΙΜΟΝΙΑΥΠΟΤΑΣΣΕΤΑΙΗΔΗΤΕΛΕΥΤΩΣΑΤΙΣΙΣΘΕΝΕΙΤΩΠΑΙΔΙΕΠΙΣΤΕΛΛΕΙΤΑΔΕΣΥΝΕΦΥΓΟΝΓΑΡΠΟΤΕΕΚΤΗΣΑΙΓΥΠΤΙΑΣΕΠΙΝΕΚΤΑΝΕΒΟΥΜΕΤΑΤΟΥΣΟΥΠΑΤΡΟΣΔΙΑΤΟΝΕΡΩΤΑΤΟΝΕΜΟΝΕΠΙΟΡΚΗΣΑΝΤΟΣΦΥΓΟΝΤΕΣΔΕΠΡΟΣΝΟΤΟΝΔΙΑΠΟΝΤΙΟΙΚΑΙΚΔΜΗΝΑΣΚΑΤΑΤΑΠΑΡΑΘΑΛΑΣΣΙΑΤΗΣΛΙΒΥΗΣΤΑΠΡΟΣΗΛΙΟΥΑΝΑΤΟΛΑΣΠΛΑΝΗΘΕΝΤΕΣΕΝΘΑΠΕΡΠΕΤΡΑΤΙΣΜΕΓΑΛΗΓΛΥΠΤΟΝΟΜΟΙΩΜΑΑΙΘΙΟΠΟΣΚΕΦΑΛΗΣΕΙΤΑΗΜΕΡΑΣΔΑΠΟΣΤΟΜΑΤΟΣΠΟΤΑΜΟΥΜΕΓΑΛΟΥΕΚΠΕΣΟΝΤΕΣΟΙΜΕΝΚΑΤΕΠΟΝΤΙΣΘΗΜΕΝΟΙΔΕΝΟΣΩΙΑΠΕΘΑΝΟΜΕΝΤΕΛΟΣΔΕΥΠΑΓΡΙΩΝΑΝΘΡΩΠΩΝΕΦΕΡΟΜΕΘΑΔΙΑΕΛΕΩΝΤΕΚΑΙΤΕΝΑΓΕΩΝΕΝΘΑΠΕΡΠΤΗΝΩΝΠΛΗΘΟΣΑΠΟΚΡΥΠΤΕΙΤΟΝΟΥΡΑΝΟΝΗΜΕΡΑΣΙΕΩΣΗΛΘΟΜΕΝΕΙΣΚΟΙΛΟΝΤΙΟΡΟΣΕΝΘΑΠΟΤΕΜΕΓΑΛΗΜΕΝΠΟΛΙΣΗΝΑΝΤΡΑΔΕΑΠΕΙΡΟΝΑΗΓΑΓΟΝΔΕΩΣΒΑΣΙΛΕΙΑΝΤΗΝΤΩΝΞΕΝΟΥΣΧΥΤΡΑΙΣΣΤΕΦΑΝΟΥΝΤΩΝΗΤΙΣΜΑΓΕΙΑΜΕΝΕΧΡΗΤΟΕΠΙΣΤΗΜΗΔΕΠΑΝΤΩΝΚΑΙΔΗΚΑΙΚΑΛΛΟΣΚΑΙΡΩΜΗΝΑΓΗΡΩΣΗΝΗΔΕΚΑΛΛΙΚΡΑΤΟΥΣΤΟΥΣΟΥΠΑΤΡΟΣΕΡΑΣΘΕΙΣΑΤΟΜΕΝΠΡΩΤΟΝΣΥΝΟΙΚΕΙΝΕΒΟΥΛΕΤΟΕΜΕΔΕΑΝΕΛΕΙΝΕΠΕΙΤΑΩΣΟΥΚΑΝΕΠΕΙΘΕΝΕΜΕΓΑΡΥΠΕΡΕΦΙΛΕΙΚΑΙΤΗΝΞΕΝΗΝΕΦΟΒΕΙΤΟΑΠΗΓΑΓΕΝΗΜΑΣΥΠΟΜΑΓΕΙΑΣΚΑΘΟΔΟΥΣΣΦΑΛΕΡΑΣΕΝΘΑΤΟΒΑΡΑΘΡΟΝΤΟΜΕΓΑΟΥΚΑΤΑΣΤΟΜΑΕΚΕΙΤΟΟΓΕΡΩΝΟΦΙΛΟΣΟΦΟΣΤΕΘΝΕΩΣΑΦΙΚΟΜΕΝΟΙΣΔΕΔΕΙΞΕΦΩΣΤΟΥΒΙΟΥΕΥΘΥΟΙΟΝΚΙΟΝΑΕΛΙΣΣΟΜΕΝΟΝΦΩΝΗΝΙΕΝΤΑΚΑΘΑΠΕΡΒΡΟΝΤΗΣΕΙΤΑΔΙΑΠΥΡΟΣΒΕΒΗΚΥΙΑΑΒΛΑΒΗΣΚΑΙΕΤΙΚΑΛΛΙΩΝΑΥΤΗΕΑΥΤΗΣΕΞΕΦΑΝΗΕΚΔΕΤΟΥΤΩΝΩΜΟΣΕΚΑΙΤΟΝΣΟΝΠΑΤΕΡΑΑΘΑΝΑΤΟΝΑΠΟΔΕΙΞΕΙΝΕΙΣΥΝΟΙΚΕΙΝΟΙΒΟΥΛΟΙΤΟΕΜΕΔΕΑΝΕΛΕΙΝΟΥΓΑΡΟΥΝΑΥΤΗΑΝΕΛΕΙΝΙΣΧΥΕΝΥΠΟΤΩΝΗΜΕΔΑΠΩΝΗΝΚΑΙΑΥΤΗΕΧΩΜΑΓΕΙΑΣΟΔΟΥΔΕΝΤΙΜΑΛΛΟΝΗΘΕΛΕΤΩΧΕΙΡΕΤΩΝΟΜΜΑΤΩΝΠΡΟΙΣΧΩΝΙΝΑΔΗΤΟΤΗΣΓΥΝΑΙΚΟΣΚΑΛΛΟΣΜΗΟΡΩΗΕΠΕΙΤΑΟΡΓΙΣΘΕΙΣΑΚΑΤΕΓΟΗΤΕΥΣΕΜΕΝΑΥΤΟΝΑΠΟΛΟΜΕΝΟΝΜΕΝΤΟΙΚΛΑΟΥΣΑΚΑΙΟΔΥΡΟΜΕΝΗΕΚΕΙΘΕΝΑΠΗΝΕΓΚΕΝΕΜΕΔΕΦΟΒΩΙΑΦΗΚΕΝΕΙΣΣΤΟΜΑΤΟΥΜΕΓΑΛΟΥΠΟΤΑΜΟΥΤΟΥΝΑΥΣΙΠΟΡΟΥΠΟΡΡΩΔΕΝΑΥΣΙΝΕΦΩΝΠΕΡΠΛΕΟΥΣΑΕΤΕΚΟΝΣΕΑΠΟΠΛΕΥΣΑΣΑΜΟΛΙΣΠΟΤΕΔΕΥΡΟΑΘΗΝΑΖΕΚΑΤΗΓΑΓΟΜΗΝΣΥΔΕΩΤΙΣΙΣΘΕΝΕΣΩΝΕΠΙΣΤΕΛΛΩΜΗΟΛΙΓΩΡΕΙΔΕΙΓΑΡΤΗΝΓΥΝΑΙΚΑΑΝΑΖΗΤΕΙΝΗΝΠΩΣΤΟΤΟΥΒΙΟΥΜΥΣΤΗΡΙΟΝΑΝΕΥΡΗΣΚΑΙΑΝΑΙΡΕΙΝΗΝΠΟΥΠΑΡΑΣΧΗΔΙΑΤΟΝΣΟΝΠΑΤΕΡΑΚΑΛΛΙΚΡΑΤΗΝΕΙΔΕΦΟΒΟΥΜΕΝΟΣΗΔΙΑΑΛΛΟΤΙΑΥΤΟΣΛΕΙΠΕΙΤΟΥΕΡΓΟΥΠΑΣΙΤΟΙΣΥΣΤΕΡΟΝΑΥΤΟΤΟΥΤΟΕΠΙΣΤΕΛΛΩΕΩΣΠΟΤΕΑΓΑΘΟΣΤΙΣΓΕΝΟΜΕΝΟΣΤΩΠΥΡΙΛΟΥΣΑΣΘΑΙΤΟΛΜΗΣΕΙΚΑΙΤΑΑΡΙΣΤΕΙΑΕΧΩΝΒΑΣΙΛΕΥΣΑΙΤΩΝΑΝΘΡΩΠΩΝΑΠΙΣΤΑΜΕΝΔΗΤΑΤΟΙΑΥΤΑΛΕΓΩΟΜΩΣΔΕΑΑΥΤΗΕΓΝΩΚΑΟΥΚΕΨΕΥΣΑΜΗΝ
\end{document}