
ヘッダーとフッターのスタイルを変更するためにパッケージを使用しましたfancyhdr
。ヘッダーに章名が表示されるようにしました。また、フッターでは章番号がページ番号の前に表示されるように設定しました。XELATEX + POLYGLOSSIAを使用しています。
ページ番号について: フッターのように目次には表示されず、章番号のないページ番号のみが表示されます。
章名について: 章名のラベルがヘッダーに正しく表示されません (ヘッダーとメインの章名とは異なります)。 (アラビア語フォントのリンク (DL およびインストール))https://fontzone.net/font-details/simplified-arabic) この変更はヘッダーに正しく表示されます。
\gappto\captionsarabic{\renewcommand{\chaptername}{الباب}}
一方、これはそうではありません:
\makeatletter
\patchcmd{\@makechapterhead}{\thechapter}{\words{chapter}}{}{}
\makeatother
完全なコードは次のとおりです。
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry}
\usepackage{fontspec}
\usepackage [hidelinks,colorlinks=true,linkcolor = blue,anchorcolor = blue,citecolor = blue,filecolor = blue,urlcolor = blue]{hyperref}
\usepackage{url,graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,arrows,positioning,matrix,quotes, shapes.geometric,calc}
\usepackage{rotating}
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\rightmark}
\rhead{\leftmark}
\cfoot{\thechapter-\thepage}
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{2pt}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,locale=default,numerals=mashriq]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits]{Simplified Arabic}
% MACROS FOR CHANGING CHAPTER NAMES %
\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
I need more words أحتاج إلى المزيد من ترقيمات الأبواب بالحروف في ملف arbbook.cls\fi}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makechapterhead}{\thechapter}{\words{chapter}}{}{}
\makeatother
%
\title{}
\author{}
\date{}
\begin{document}
\tableofcontents{}
\chapter{fgfdfgfdg}
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\newpage
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\end{document}
答え1
あなたの質問は私にはよく分かりませんが(おそらくアラビア語が読めないからでしょう)、これがあなたの望みどおりだと思います。私はこの答えbabel
おそらく、必要な出力を得るには、マニュアルを読み、BiDi 設定とオプションをすべて理解するのに時間がかかると思います。
ムウェ
でコンパイルしますlualatex
。
\documentclass[a4paper,12pt]{book}
\usepackage[nil,bidi=basic-r,layout=counters]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}
\babelfont{rm}{Latin Modern Roman}
\babelfont[arabic]{rm}{Amiri}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{\rightmark}
\fancyhead[R]{\leftmark}
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{2pt}
\makeatletter
\renewcommand{\thepage}{\thechapter-\csname @arabic\endcsname\c@page}
\makeatother
\usepackage[hidelinks,colorlinks=true,allcolors=blue]{hyperref}
\usepackage{etoolbox}
\gappto\captionsarabic{\renewcommand{\chaptername}{الباب}}
\newcommand\words[1]{\expandafter\xwords\csname c@#1\endcsname}
\def\xwords#1{%
\ifcase#1\or
الأول\or
الثاني\or
الثالث\or
الرابع\or
\else
I need more words\fi}
\makeatletter
\pretocmd{\Hy@org@chapter}
{\begingroup \renewcommand{\thechapter}{{\words{chapter}}}}
{}
{}
\patchcmd{\Hy@org@chapter}
{\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
\begin{document}
\tableofcontents{}
\chapter{سيسس}
\section{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\clearpage
\section{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\subsection{سيسس}
\end{document}