
에 표시된 것과 유사한 방식으로
"1부" 대신 아랍어로 "1부"를 어떻게 쓸 수 있나요?
"القسم"라는 단어는 적절하지 않으므로 "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}