\- 在脚注中不起作用

\- 在脚注中不起作用

在以下示例中,\-脚注中的 不起作用。在印度语言中,“dh” 是一个字母,不应使用连字符分隔。我知道我可以\discretionary在这里使用它,但我想了解为什么\-不起作用。我遇到过很多这样的情况。

\documentclass{memoir}
\usepackage[ruled,para*]{manyfoot}
\usepackage{quoting}
\usepackage{fontspec,xltxtra,xunicode}
\newcounter{versenum}
\DeclareNewFootnote[para]{A}[arabic] 
\newcommand{\lem}{\textbf{]} \hspace{0.2em}} % TODO: textbf doesn't work yet.
\newcommand{\fn}[2]{\FootnotetextA{}{{\textbf{\theversenum#1}} #2}}
\newcommand\mynocolon{ }
\newcommand{\myversetmp}[1]{\begin{quoting}[rightmargin=0cm,vskip=0cm,indentfirst=false]\stepcounter{versenum}#1\end{quoting}}
\begin{document}
\setcounter{versenum}{31}
\fn{x}{xxxxxxxxxxxxxx xxxx xxx}
\myversetmp{umārdhaṃ vāmato khyātaṃ harārdhaṃ dakṣiṇe śṛṇu |\\
puṃsābharaṇasampanno yathoktalakṣaṇānvitaḥ || 32 ||%
\fn{a}{vāmato\lem incorrect sandhi, probably aiśa}\fn{b}{harār\-dhaṃ\lem em.; harārdha\mynocolon A}\fn{c}{pumsābharaṇasampanno\lem em.; pumāṃbharaṇasampaṃnā\mynocolon A}\fn{d}{yathoktalakṣaṇānvitaḥ\lem em.; yathoktaktalakṣaṇānvitam\mynocolon A}}%
\end{document}

示例输出

切换到bigfoot脚注也不是一种选择,因为结果看起来非常不同,而且不太好:(刚刚在上面的例子中更改为。manyfootbigfoot

在此处输入图片描述

更新:这个问题不仅仅是 的问题manyfoot。我现在能够重现同样的问题bigfoot,如下所示:

\documentclass{article}
\usepackage{fontspec}
\usepackage{bigfoot}
\DeclareNewFootnote[para]{A}[arabic]
\begin{document}
\footnoteA{XXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXX  harār\-dhaṃ}
\end{document}

另一个例子

答案1

带图片评论:

polyglossia语言设置为sanskrit且脚本选项设置为 时,无论我尝试哪种文本宽度、字体和排列组合,[script=Latin]我都无法进行连字。dh

dh 连字

是否有一个包含更多案例的测试文件来尝试所有的连字符?

平均能量损失

\documentclass{memoir}
\usepackage[ruled,para*]{manyfoot}
\usepackage{quoting}
\setlength{\textwidth}{1.5in}%to force hyphenation
\usepackage{fontspec}
\usepackage{polyglossia}
%\setmainfont{Noto Serif}
\setmainlanguage[script=Latin]{sanskrit}
\setotherlanguage{english}
\newfontfamily\englishfont{Noto Serif}


\newcounter{versenum}
\DeclareNewFootnote[para]{A}[arabic] 
\newcommand{\lem}{\textbf{]} \hspace{0.2em}} % TODO: textbf doesn't work yet.
\newcommand{\fn}[2]{\FootnotetextA{}{{\textbf{\theversenum#1}} #2}}
\newcommand\mynocolon{ }
\newcommand{\myversetmp}[1]{\begin{quoting}[rightmargin=0cm,vskip=0cm,indentfirst=false]\stepcounter{versenum}#1\end{quoting}}
\begin{document}
\setcounter{versenum}{31}
\fn{x}{xxxxxxxxxxxxxx xxxx xxx}
\myversetmp{umārdhaṃ vāmato khyātaṃ harārdhaṃ dakṣiṇe śṛṇu |\\
puṃsābharaṇasampanno yathoktalakṣaṇānvitaḥ || 32 ||%
\fn{a}{vāmato\lem incorrect sandhi, probably aiśa}\fn{b}{harār\-dhaṃ\lem em.; harārdha\mynocolon A}\fn{c}{pumsābharaṇasampanno\lem em.; pumāṃbharaṇasampaṃnā\mynocolon A}\fn{d}{yathoktalakṣaṇānvitaḥ\lem em.; yathoktaktalakṣaṇānvitam\mynocolon A}}%

 harārdhaṃ x harārdhaṃ x harārdhaṃ xxx x harārdhaṃ x b b b harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ xx harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ xxxx harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ xx harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ xxx harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x harārdhaṃ x
\end{document}

答案2

问题没有明确说明,但要点是明确的自由选择连字符(\-)应该抑制单词中自动选择的连字符。

这是 xetex 的一个普遍问题,它有某种“优化”,在格式化段落时会丢弃排版单词中的自由信息:格式化段落的水平框行不包含自由选项,而是在将段落分成行时从自由选项中选择的字符。如果捕获这样的框并将其清空到另一个段落,xetex 会将其视为重新连字符的原始文本,而 TeX(以及 luatex 和 pdftex)会保留原始自由选项(并且可能会在第二次段落构建中添加更多自由选项)。

以下是展示引擎之间差异的演示

\documentclass{article}
\pretolerance=-1

\begin{document}

\parbox{6cm}{Blathering demonstrates not\-a\-word consternation.%
  {\tracingall\showlists}
  \par
  {\tracingall\showlists}
}

\end{document}

看看使用 xelatex 时,文本的第一个显示包含显式自由选项,但它们在最终显示中缺失,尽管最终显示显示发生了连字符(“惊愕”)。 (XeLaTeX 还将日志记录压缩为每行一个单词,而不是每行一个字母。)相反,使用 pdflatex 或 lualatex,初始水平列表包含显式自由选项,最后一段包含相同的自由选项以及其他基于连字符的自由选项。

当 XeLaTeX 导致 magaz.sty 崩溃时,我注意到了这一点。

在这种情况下,解决方案是避免使用 xelatex,这也需要避免使用 xltxtra 和 xunicode。请尝试使用 lualatex。

相关内容