我想要的是“第一章”,而不是“第 1 章”,但用阿拉伯语表示。one => الأول 等等。
在英语中,存在一种解决方案:
\usepackage{fmtcount,etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\thechapter}{\Numberstring{chapter}}{}{}
\patchcmd{\chaptermark}{\thechapter}{\NUMBERstring{chapter}}{}{}
\makeatother
但是阿拉伯语呢?MWE:
\documentclass[12pt,english]{book}
\usepackage{fancyhdr}
\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Arabic Typesetting}
\pagestyle{fancy}
\begin{document}
\selectlanguage{arabic}
\chapter{مقدمة}
\end{document}
答案1
我不知道这是否太晚了,但是根据这个答案,这里有一个解决你问题的方法: 章节的“文字”和数字编号还有这个章节的“文字”编号
此 MWE 支持最多 20 个章节,但当然您可以轻松地用文字添加更多章节编号:
\documentclass[12pt,english]{book}
\usepackage{fancyhdr}
\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Arabic Typesetting}
\pagestyle{fancy}
\gappto\captionsarabic{\renewcommand{\chaptername}{الباب}} %to name the chapter title الباب instead of باب
\newcommand\words[1]{\expandafter\xwords\csname c@#1\endcsname}
\def\xwords#1{\ifcase#1\or
الأول\or
الثاني\or
الثالث\or
الرابع\or
الخامس\or
السادس\or
السابع\or
الثامن\or
التاسع\or
العاشر\or
الحادي عشر\or
الثاني عشر\or
الثالث عشر\or
الرابع عشر\or
الخامس عشر\or
السادس عشر\or
السابع عشر\or
الثامن عشر\or
التاسع عشر\or
العشرون\or
\else
أحتاج إلى المزيد من ترقيمات الأبواب بالحروف في ملف arbbook.cls\fi}
%next three lines is to make chapter naming use the above wordings (literal numbering in Arabic words)
\makeatletter
\patchcmd{\@makechapterhead}{\thechapter}{\words{chapter}}{}{}
\makeatother
\begin{document}
\selectlanguage{arabic}
\chapter{مقدمة}
\end{document}
输出:
藝術本身