点定位在 RTL 句子末尾,最后一个是英文单词

点定位在 RTL 句子末尾,最后一个是英文单词

当 RTL 句子中的最后一个单词是英文单词时,句子末尾的点(也称为句号)位于错误的位置。 在此处输入图片描述

MWE如下:

\documentclass{article}
\usepackage{polyglossia,bidi}
\setmainlanguage{hebrew}
\setotherlanguage{english}
\setmainfont{David}
\usepackage{fontspec}
\begin{document}
\begin{itemize}
 \item שלום hello שלום.
 \item שלום hello.
 \item שלום hello .
\end{itemize}
\end{document}

能以某种方式修复吗?

答案1

您必须明确将语言更改为英语:

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\setotherlanguage{english}
\setmainfont{Linux Libertine O}
\begin{document}
\begin{itemize}
  \item שלום \textenglish{hello} שלום.
  \item שלום \textenglish{hello}.
  \item שלום \textenglish{hello}.
\end{itemize}
\end{document}

或者,如果你够勇敢,你可以babel使用lualatex

\documentclass{article}
\usepackage[nil,bidi=basic-r]{babel}
\babelprovide[import=he,main]{hebrew}
\babelprovide[import=en-AU]{australian}
\babelfont{rm}{Linux Libertine O}
\begin{document}
\begin{itemize}
  \item שלום hello שלום.
  \item שלום hello.
  \item שלום hello.
\end{itemize}
\end{document}

输出相同:

在此处输入图片描述

相关内容