亲爱的女士们,先生们,
如果 polyglossia 与 hyperref 一起使用,并且主要语言设置为阿拉伯语(一种 rtl 语言),则文件无法编译,如下例所示。如果主要语言是 ltr,则没有问题。有人知道这个问题的解决方案吗?
致以最良好的祝愿并感谢您的关注。
\documentclass[11pt,a4paper,twoside]{article}
\usepackage{polyglossia}
\usepackage[xetex]{hyperref}
\setmainlanguage{arabic}
\setmainfont[Script=Arabic,Scale=1.4]{Scheherazade}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.4]{Scheherazade}
\newfontfamily\englishfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}
\begin{document}
السلام عليكم
\begin{english}
\url{https://www.google.de}
\end{english}
\end{document}
答案1
在这种情况下,您可以使用\href
而不是用于超链接文本。\url
\englishfont
\documentclass[11pt,a4paper,twoside]{article}
\usepackage{hyperref}
\usepackage{polyglossia}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.4]{Scheherazade}
\newfontfamily\englishfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}
\begin{document}
السلام عليكم
\begin{english}
\href{https://www.google.de}{www.google.de}
\end{english}
\end{document}
或者直接添加
\let\arabicfonttt\ttfamily
代码
\documentclass[11pt,a4paper,twoside]{article}
\usepackage{hyperref}
\usepackage{polyglossia}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.4]{Scheherazade}
\newfontfamily\englishfont[Mapping=tex-text,Renderer=ICU]{Charis SIL}
\let\arabicfonttt\ttfamily
\begin{document}
السلام عليكم
\begin{english}
\hrl{https://www.google.de}
\end{english}
\end{document}