平均能量损失

平均能量损失

我使用该fancyhdr包来更改页眉和页脚样式。我将其设置为章节名称出现在页眉中。此外,我还将其设置为章节号出现在页脚中的页码之前。我使用的是 XELATEX + POLYGLOSSIA

  • 关于页码:它不会像在页脚中那样出现在目录中,只出现页码而没有章节号。

  • 关于章节名称:章节命名标签在标题中显示不正确(它们与标题和主要章节名称不同)。(阿拉伯字体链接(下载和安装)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}

相关内容