![Добавление \kern к тайскому языку в Babel прерывает перенос строки](https://rvso.com/image/476253/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%5Ckern%20%D0%BA%20%D1%82%D0%B0%D0%B9%D1%81%D0%BA%D0%BE%D0%BC%D1%83%20%D1%8F%D0%B7%D1%8B%D0%BA%D1%83%20%D0%B2%20Babel%20%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8.png)
Если я добавляю \kern
в тайский текст, то, по-видимому, разрывается перенос строки. (Отказ от ответственности: я не читаю и не пишу по-тайски.)
Как я могу это исправить?
(Я использую его, \kern
чтобы добавить немного неразрывного пространства, поэтому доволен альтернативами, которые дают тот же эффект.)
МВЭ
%! TeX Program = lualatex
\documentclass{article}
\usepackage{babel}
\babelprovide[import, main]{australian}
\babelprovide[import]{thai}
\babelfont[thai]{rm}[Renderer=Harfbuzz]{Noto Sans Thai}
\pagestyle{empty}
\begin{document}
\selectlanguage{thai}
\foreignlanguage{australian}{23}
แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\foreignlanguage{australian}{24}
แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\foreignlanguage{australian}{25}
เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\bigskip
\foreignlanguage{australian}{23}\kern 2pt
แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\foreignlanguage{australian}{24}\kern 2pt
แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\foreignlanguage{australian}{25}\kern 2pt
เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\end{document}
[По какой-то причине сейчас невозможно загрузить изображения.]
решение1
Это не связано с тайским. Вы отключаете переносы. С luatex вы можете использовать \wordboundary (с другими движками вы можете использовать что-то вроде \kern30pt\nobreak\hskip0pt
)
Смотрите такжеПочему LaTeX не прерывает и не расставляет переносы после «пользовательского керна»?
\documentclass{article}
\usepackage{iftex}
\textwidth 30pt
\begin{document}
23 hyphenation
23\kern30pt hyphenation
\ifluatex
23\kern30pt\wordboundary hyphenation %lualatex
\else
23\kern30pt\nobreak\hskip0pt hyphenation
\fi
\end{document}
решение2
Не уверен, что это лучший способ, но размещение \kern
внутри \foreignlanguage
работает. Понятия не имею, почему.
\documentclass[australian]{article}
\usepackage{babel}
\babelprovide{thai}
\babelfont[thai]{rm}[Renderer=Harfbuzz]{Noto Sans Thai}
\pagestyle{empty}
\begin{document}
\selectlanguage{thai}
\foreignlanguage{australian}{23}
แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\foreignlanguage{australian}{24}
แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\foreignlanguage{australian}{25}
เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\bigskip
\foreignlanguage{australian}{23\kern 2pt}
แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\foreignlanguage{australian}{24\kern 2pt}
แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\foreignlanguage{australian}{25\kern 2pt}
เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\end{document}
решение3
С помощью mbox разрыв восстанавливается.
Обратите внимание, что при использовании Babel onchar=ids font
вам не нужно устанавливать язык.
Собственный пакет Дэвида scripture
также, похоже, выдает правильный вывод с обычным пробелом.
\documentclass{article}
\usepackage{scripture}
\usepackage{babel}
\babelprovide[import, main]{australian}
\babelprovide[import, onchar=ids fonts]{thai}
\babelfont[thai]{rm}[Renderer=Harfbuzz]{Noto Sans Thai}
\pagestyle{empty}
\begin{document}
\mbox{23\kern 2pt}%
แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\mbox{24\kern 2pt}%
แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\mbox{25\kern 2pt}%
เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\begin{scripture}[1 Corinthians 1:23--25]
\vs{23} แต่เราเทศนาเรื่องพระคริสต์ผู้ทรงถูกตรึงตายบนไม้กางเขนซึ่งเป็นหินสะดุดสำหรับพวกยิวและเป็นเรื่องโง่ๆสำหรับพวกต่างชาติ
\vs{24} แต่สำหรับผู้ที่พระเจ้าทรงเรียกทั้งพวกยิวและพวกกรีกพระคริสต์คือฤทธิ์อำนาจและพระปัญญาของพระเจ้า
\vs{25} เพราะความเขลาของพระเจ้าก็ยังฉลาดกว่าสติปัญญาของมนุษย์และความอ่อนแอของพระเจ้าก็ยังเข้มแข็งกว่ากำลังของมนุษย์
\end{scripture}
\end{document}