我遇到了一个问题,XeLaTeX 忽略了溢出少量行上的 \allowbreak。我尝试用英文文本重现这个问题,但没有发生。我们有大量数据,因此解决方案需要在模板中。以前使用的是 Arabi 包,没有这种行为。我很高兴文本在第三行的逗号处断开。有人知道这个问题的解决方案/解决方法吗?
最小示例:
\documentclass[a4paper,12pt,twoside]{article}
\usepackage[showcrop, paperwidth=170mm, paperheight=240mm, top=28mm, bottom=18mm, left=20mm, right=20mm]{geometry}
\usepackage{showframe}
\usepackage{arabxetex}
\setmainfont[Ligatures=TeX]{Amiri}
\newfontfamily\arabicfont[Script=Arabic, Scale=1.0]{Amiri}
\newcommand\lb[1]{\textbf{#1:} } % Label Text, includes a fixed space
\newcommand\tx[1]{\textarab[voc]{#1}} % Text
\newcommand\ars{;\allowbreak{}\thinspace{}} % semicolon
\newcommand\arc{,\allowbreak{}\thinspace{}} % comma
\newcommand\sol{/} % solidus
\setlength{\parindent}{0pt}
\setlength{\overfullrule}{0.5mm}
\begin{document}
\begin{arab}[voc]
\lb{المؤلف}\tx{السهروردي\arc{}عبدالقاهر بن عبد الله بن محمد البكري الصديقي، أبو النجيب\arc{}563هـ\sol{}1167م.}
\lb{ال____مؤلف}\tx{السهروردي\arc{}عبدالقاهر بن عبد الله بن محمد البكري الصديقي، أبو النجيب\arc{}563هـ\sol{}1167م.}
\lb{ال__________مؤلف}\tx{السهروردي\arc{}عبدالقاهر بن عبد الله بن محمد البكري الصديقي، أبو النجيب\arc{}563هـ\sol{}1167م.}
\lb{المؤلف}\tx{السهروردي\arc{}عبدالقاهر بن عبد الله بن محمد البكري الصديقي، أبو النجيب}
\end{arab}
\end{document}