Как отобразить возможные точки переноса для слов на языке, отличном от американского английского?

Как отобразить возможные точки переноса для слов на языке, отличном от американского английского?

Это продолжениевопрос tohecz, который я спрашиваю по предложениюМико.

В исходном вопросе спрашивается, как определить точки переноса для определенных слов, а ответы объясняют, как это сделать разными способами и для разных поисковых систем.

Например,ответ пользователя 9588представляет \showhyphensиКомментарий Микообъясняет, как использовать команду в интерактивном режиме.

Итак, вот пример сеанса:

$ tex
This is TeX, Version 3.14159265 (TeX Live 2014) (preloaded format=tex)
**\relax

*\showhyphens{un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau}

Underfull \hbox (badness 10000) detected at line 0
[] \tenrm un cas-gliad credadwy trad-do-di-adau athro-ni-aeth math-e-mateg cano
l-fan ha-pus-r-wydd blwyd-dyn deud-deg llongy-farchi-adau cyfeiri-adau

*\bye
(see the transcript file for additional information)
No pages of output.
Transcript written on texput.log.

Теперь, очевидно, есть проблема, потому что это не обязательноправильныйточки переноса. Например, ddэто одна буква, но TeX разделяет traddodiadau, blwyddynи deuddegв середине этой буквы.

Проблема не в том, что правильные шаблоны переносов недоступны:

Модели переносов в валлийском языке

Как можно видеть, traddodiadauи deuddegразделены правильно в этом выводе и, в целом, слова разделены в точках, которые не были предсказаны в сеансе выборки с \showhyphens.

Проблема в том, что TeX необходимо загрузить правильные шаблоны переносов и применить правильный набор для активного языка:

\documentclass[welsh,a6paper,twocolumn]{article}
\usepackage{babel}
\usepackage[hscale=.25]{geometry}
\begin{document}
    un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau
\end{document}

Как отобразить возможные точки переноса для слов на языке, отличном от американского английского?

Я использовал неанглийский пример выше, но тот же вопрос будет применим и к другим вариантам английского. Например, британские модели переноса отличаются от американских. (Сравните результаты и \showhyphens{favourite}, \showhyphens{favorite}например.)

решение1

Вы можете использовать testhyphensпакет.

\documentclass{article}
\usepackage[british,welsh]{babel}
\usepackage{testhyphens}

\begin{document}

\begin{checkhyphens}{}
un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan
hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau
\end{checkhyphens}

\selectlanguage{british}

\begin{checkhyphens}{}
un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan
hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau
\end{checkhyphens}

\end{document}

введите описание изображения здесь

решение2

Вот адаптация вашего файла, которая сгенерирует нужные вам переносы:

\documentclass[welsh]{article}
\usepackage{babel}
\begin{document}
\showhyphens{un casgliad credadwy traddodiadau athroniaeth}

\showhyphens{mathemateg canolfan hapusrwydd blwyddyn}

\showhyphens{deuddeg llongyfarchiadau cyfeiriadau}

\end{document}

просто обработайте это латексом и посмотрите результаты в журнале:

Underfull \hbox (badness 10000) in paragraph at lines 7--7
[] \OT1/cmr/m/n/10 un casgl-iad cred-adwy tra-ddod-iadau athron-iaeth

\hbox(6.94444+1.94444)x16383.99998, glue set 1938.74178 []


Underfull \hbox (badness 10000) in paragraph at lines 9--9
[] \OT1/cmr/m/n/10 math-emateg canol-fan hapus-rwydd blwyddyn

\hbox(6.94444+1.94444)x16383.99998, glue set 2425.43556 []


Underfull \hbox (badness 10000) in paragraph at lines 11--11
[] \OT1/cmr/m/n/10 deu-ddeg llon-gy-farch-iadau cyf-eir-iadau

\hbox(6.94444+1.94444)x16383.99998, glue set 3240.64192 []

решение3

Предполагая, что вы используете формат plain-like с babelдоступными шаблонами переносов (например, pdftexили xetex), вы можете переключиться на правильный перенос, используя тот факт, что \lang@<name>это номер языка. Таким образом

\language\csname lang@welsh\endcsname
\showhyphens{un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau}
\bye

дает

[] \tenrm un casgl-iad cred-adwy tra-ddod-iadau athron-iaeth math-emateg canol-
fan hapus-rwydd blwyddyn deu-ddeg llon-gy-farch-iadau cyf-eir-iadau

Если вы хотите использовать LaTeX, то вам нужен , \l@<name>а не \lang@<name>, плюс вам нужно как минимум начало документа

\documentclass{article}
\begin{document}
\language\csname l@welsh\endcsname
\showhyphens{un casgliad credadwy traddodiadau athroniaeth mathemateg canolfan hapusrwydd blwyddyn deuddeg llongyfarchiadau cyfeiriadau}

Связанный контент