XePersian 中附录中的字母缺失

XePersian 中附录中的字母缺失

以下示例显示,使用 xepersian 时,pdf 中的附录标题中缺少字母“A”。 有办法解决这个问题吗?

\documentclass{scrbook}

\usepackage{hyperref}


\usepackage{scrpage2}

\usepackage{xepersian}

\settextfont{XB Niloofar} 


\begin{document}
\begin{latin}


\frontmatter

\pagestyle{scrheadings}

\chapter*{Preface}


We thank for discussion.

\newpage

We thank the \LaTeX{} developers for support.

\mainmatter

\chapter{Chapter Title}

Some text.

\newpage

Even more text.

\appendix
\chapter{Appendix}

This is an appendix.

\end{latin}
\end{document}

答案1

xepersian(via scrbook-xepersian.def) 重新定义\appendix,使其包含声明

\gdef\thechapter{\@harfi\c@chapter}

但是,在latin环境中使用的是默认的罗马字体(在您的示例中是 Latin Modern),它可能没有 harfi 数字使用的字符(无论它们是什么)。实际上,在日志文件中,您可以找到以下行

Appendix آ<U+200D>.
Missing character: There is no آ in font [lmsans10-bold]:mapping=tex-text!
Missing character: There is no <U+200D> in font [lmsans10-bold]:mapping=tex-text!

(U+200D 为零宽度连接符)

为了完整起见,以下是替换文本\@harfi

\@harfi=macro:
#1->\ifcase #1\or آ\or ب\or پ\or ت\or ث\or ج\or چ\or ح\or خ\or د\or
 ذ\or ر\or ز\or ژ\or س\or ش\or ص\or ض\or ط\or ظ\or ع\or غ\or ف\or
 ق\or ک\or گ\or ل\or م\or ن\or و\or ه\or ی\else \@ctrerr \fi

解决方案

你可以通过以下方式收到回信:

\appendix
\renewcommand{\thechapter}{\Alph{chapter}}

相关内容