將零件編號更改為阿拉伯語單字

將零件編號更改為阿拉伯語單字

以類似的方式顯示在

將章節編號更改為阿拉伯語單字

我怎麼能用阿拉伯語寫“第一部分”而不是“第一部分”:

將“part”一詞替換為“???”,因為“???”一詞不合適。

我可以使用以下命令進行此替換:

\gappto\captionsarabic{\renewcommand{\partname}{الجزء}}

然而,我不知道如何用字母寫的阿拉伯語翻譯來替換該數字

這是一個 MWE:


\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry} 

\usepackage{hyperref} 

\usepackage{arabluatex}
\setcounter{secnumdepth}{6} 
\setcounter{tocdepth}{6}
    

\usepackage[bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}

\babelfont{rm}{Latin Modern Roman}
\babelfont[arabic]{rm}{Simplified Arabic}
\babelfont[english]{rm}{Times New Roman}








 %%%%%  END MACRO Litteral Numbering of chapters 
     
    \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
    I need more words أحتاج إلى المزيد من ترقيمات الأبواب بالحروف في ملف arbbook.cls\fi}

     
    %next three lines is to make chapter naming use the above wordings (literal numbering in Arabic words)

% The below commands so that chapter name apear in header as Chapter one instead of chapter1
\usepackage{etoolbox} 
\makeatletter
\pretocmd{\Hy@org@chapter}
  {\begingroup \renewcommand{\thechapter}{{\words{chapter}}}}
  {}
  {}
\patchcmd{\Hy@org@chapter} 
% Controls how chapter namin apear in table of contents
  {\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}}
  {\addcontentsline{toc}{chapter}{\@chapapp\space\words{chapter}\space#1}}
  {}
  {}
\apptocmd{\Hy@org@chapter}
  {\endgroup}
  {}
  {}
\patchcmd{\@makechapterhead}
  {\thechapter}
  {\words{chapter}}
  {}
  {}
\makeatother
 
 


% The below commands so that part name apear in header as part one instead of part 1
\makeatletter
\pretocmd{\Hy@org@part}
  {\begingroup \renewcommand{\thepart}{{\words{part}}}}
  {}
  {}
\patchcmd{\Hy@org@part} 
% Controls how part namin apear in table of contents
  {\addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}}
  {\addcontentsline{toc}{part}{\partname\space\words{part}\space#1}}
  {}
  {}
\apptocmd{\Hy@org@part}
  {\endgroup}
  {}
  {}
\patchcmd{\@makeparthead}
  {\thepart}
  {\words{part}}
  {}
  {}
\makeatother


% part Naming
\gappto\captionsarabic{\renewcommand{\partname}{الجزء}} %to name the part title   الجزء instead of القسم

% Chapter Naming
\gappto\captionsarabic{\renewcommand{\chaptername}{الباب}}
 
\gappto\captionsarabic{\renewcommand{\appendixname}{الملحق}}






\begin{document}

\part{تمهيد}
\chapter{شكر وتقدير} 
\subsection{سيشسي}
\subsubsection{شسيسشسي}


\end{document}

答案1

babel這是設定與語言環境相關的計數器和重新定義字串所提供的一般機制。有一些簡化,但請注意“字數”計數器出現在節號中(但是您可以重新定義它)。需要相對較新的版本。

\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,
            margin=2.5cm,bindingoffset=0.5cm]
           {geometry} 

\usepackage{hyperref} 

\setcounter{secnumdepth}{6} 
\setcounter{tocdepth}{6}

\usepackage[english, bidi=basic, layout=lists.tabular]{babel}
\babelprovide[
  import,
  mapdigits,
  main, % Space separated list. Use braces in multi-word items:
  counters/words = الأول الثاني الثالث الرابع الخامس السادس السابع
     الثامن التاسع العاشر {الحادي عشر} {الثاني عشر}]{arabic}

\babelfont{rm}{Simplified Arabic} % The main font for the main lang
\babelfont[english]{rm}{Latin Modern Roman} % Secondary font/lang

\renewcommand{\thepart}{\localecounter{words}{part}}
\renewcommand{\thechapter}{\localecounter{words}{chapter}}

\setlocalecaption{arabic}{part}{الجزء}
\setlocalecaption{arabic}{chapter}{الباب}
\setlocalecaption{arabic}{appendix}{الملحق}

\begin{document}

\part{تمهيد}
\chapter{شكر وتقدير} 
\subsection{سيشسي}
\subsubsection{شسيسشسي}

\end{document}

在此輸入影像描述

相關內容