作为后续行动另一个问题我注意到在使用希伯来语块时polyglossia
,我还遇到了以下引用问题:希伯来语块中对列表的所有引用都显示为该列表的最后一项。
一个最小的工作示例:
\documentclass{article}
\usepackage{polyglossia}
\usepackage{hyperref}
\setmainlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew,Scale=1.0]{David CLM}
\newfontfamily\englishfont[Scale=1.0]{Times New Roman}%[Script=English]
\begin{document}
\begin{english}
\begin{enumerate}
\item
\begin{enumerate}
\item\label{oneA}
A
\item\label{oneB}
B
\end{enumerate}
\item
Two \label{two}
\end{enumerate}
We refer to Item
\ref{oneA}
and
\ref{oneB}.
\end{english}
\begin{hebrew}
\begin{enumerate}
\item
\begin{enumerate}
\item\label{oneA_h}
א'.
\item\label{oneB_h}
ב'.
\end{enumerate}
\item\label{two_h}
שתיים.
\end{enumerate}
אנחנו מקשרים לסעיף
\ref{oneA_h}
וסעיף
\ref{oneB_h}.
\end{hebrew}
\end{document}
需要注意以下几点:
包含
hyperref
不会改变此行为;它在这里是为了证明虽然希伯来语块中的两个引用看起来好像是指向最后一项(1ב
),但实际上超链接确实指向正确的项。使用更复杂的列表包(例如
enumitem
)也不会影响该问题;我相信这是由引起的polyglossia
。我忽略了一个似乎不相关的问题,即两个引用都出现
1b
在希伯来语块中;我得到了1ב
's 作为包含 的副作用hyperref
,但仅限于第二次编译(它们1b
在第三次编译后恢复为 's)。无论如何,第一个引用永远不会显示为1a
或1א
。(这个问题确实可以通过@UlrikeFischer 在我的链接问题上建议的解决方法来解决。)