Lualatex、多语、法语间距以及带有 egreg 修复的 hookarrow 中的洞,在 texlive2015/2016 中

Lualatex、多语、法语间距以及带有 egreg 修复的 hookarrow 中的洞,在 texlive2015/2016 中

当我们使用 lualatex 和通过 polyglossia 的法语间距时,这涉及 egreg 解决箭头中孔洞的解决方案 多语症和 hookrightarrow

你可以看到,一旦引入箭头,分号和箭头前就没有空格了,箭头前后并且它会出现在文档的下一行。如何恢复它?

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{french}
\newcommand{\fff}{f; f ;«f» « f »; $\epsilon$;}
\ifluatex
\makeatletter
\let\latex@lhook\lhook
\renewrobustcmd{\lhook}{%
\mathrel{\mathpalette\do@lhook\relax}%
}
\newcommand{\do@lhook}[2]{%
\hbox{\directlua{polyglossia.desactivate_frpt()}$\m@th#1\latex@lhook$}%
}
\let\latex@rightarrow\rightarrow
\renewrobustcmd{\rightarrow}{%
\mathrel{\mathpalette\do@rightarrow\relax}%
}
\newcommand{\do@rightarrow}[2]{%
\hbox{\directlua{polyglossia.desactivate_frpt()}$\m@th#1\latex@rightarrow$}%
}
\makeatother
\fi
\begin{document}
\fff

\fff
AAA $\hookrightarrow$ \fff.\\
AAA \fff BBBB.
\showoutput
\end{document}

相关内容