以下示例显示,使用 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}}