如何使阿拉伯语乳胶目录中的章节和小节正确对齐?

如何使阿拉伯语乳胶目录中的章节和小节正确对齐?

我使用的是阿拉伯语,因此对齐应该从右到左。

到目前为止,我的目录是:

在此处输入图片描述

我有三个问题:

  1. 罗马数字不适用于第 1 章之前的页面(标签:阿拉伯语)
  2. 章节和小节的正确对齐方式是错误的,我尝试了本网站上的所有解决方案,但无法修复。
  3. 我想将章​​节编号改为按字母顺序排列。我想要的是第一章,而不是第一章。对于阿拉伯语版本,我想要的是 (المبحث الأول),而不是 (المبحث ١)。

我的代码是

\documentclass[11pt,a4paper]{report}
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE]{fontenc}
\usepackage[arabic]{babel}

\usepackage{lipsum}

\usepackage{setspace}

\usepackage{titlesec}


\usepackage{tocloft}


\usepackage{titletoc}%
\titlecontents{chapter}% <section-type>
[0pt]% <left>
{\bfseries}% <above-code>
{\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
{}% <numberless-entry-format>
{\hfill\contentspage}% <filler-page-format>




\addto\captionsarabic{%
\renewcommand\chaptername{المبحث}
}

\addto{\captionsarabic}{\renewcommand*{\contentsname}{قائمة المحتويات}}



\title{
\Huge\textsc{اللغة العربية}
}
 \author{سالم البوزيدي} 

\begin{document}
\maketitle
\tableofcontents


\pagenumbering{roman}
\clearpage
\setcounter{page}{5}

\chapter*{الملخص}
\addcontentsline{toc}{chapter}{الملخص}



\chapter*{شكر وثناء}
\addcontentsline{toc}{chapter}{شكر وثناء}


\chapter*{اهداء}
\addcontentsline{toc}{chapter}{اهداء}


\pagenumbering{arabic}


\chapter{علوم الحاسوب}
\section{تاريخ}


\subsection{تاريخ}
\section{تاريخ}
\subsection{تاريخ}
\subsection{تاريخ}


\chapter{علوم الحاسوب}

\chapter{علوم الحاسوب}

\begin{thebibliography}{99}
[1]
من ويكيبيديا، الموسوعة الحرة
\end{thebibliography}
\end{document}

我非常感谢任何对此提供的帮助。

编辑:根据 Pieter van Oostrum 的建议,我现在的代码是:

   \documentclass[12pt,a4paper]{report} %Same
   \usepackage{fontspec} % Added
    \defaultfontfeatures{Ligatures=TeX} % Added%Use    "Ligatures=TeX"     instead of "Mapping=tex-text"
   \usepackage{polyglossia}% Added
    \setdefaultlanguage{arabic}% Added
    \setmainfont{Times New Roman}% Added

     \usepackage{lipsum} %Same
      \usepackage{setspace}%Same
      \usepackage{titlesec}%Same
       \usepackage{tocloft}%Same

      \usepackage{geometry} %Same
      \geometry{
      a4paper,
      total={170mm,257mm},
      left=25mm,
      right=25mm,
      top=30mm,
      bottom=30mm,
     }

   \usepackage{biblatex}  %Same
   \addbibresource{sample.bib}  %Same

   \usepackage{graphicx}  %Same
   \usepackage{tikz}  %Same
   \usepackage{eso-pic}  %Same
   \usepackage{atbegshi,picture}  %Same
   \usepackage{array,graphicx,lipsum}  %Same
   \usepackage[export]{adjustbox}  %Same
   \usepackage{titling}  %Same


   %\TOCLanguage{arabic} % arabic is the main language 
   %\newcommand\lr[1]{\textLR{#1}}
   %\newcommand\rl[1]{\textRL{#1}}


   \makeatletter
   \def\ps@plain{\ps@empty\SAV@ps@plain}
   \makeatletter
   \pagestyle{plain}




    \newcommand\numberstring[1]{%   %Same
    \ifcase #1
    % zero
    \or الأول%
    \or الثاني%
    \or الثالث%
    \or الرابع%
    \or الخامس%
    \else I don't know%
    \fi
     }

    %\makeatletter
    \renewcommand{\thechapter}{\numberstring{\c@chapter}}
    %\makeatother

    \setlength{\cftbeforetoctitleskip}{-3em}

     \usepackage{titletoc}%
    \titlecontents{chapter}% <section-type>
    [0pt]% <left>
    {\bfseries}% <above-code>
    {\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
    {}% <numberless-entry-format>
     {\titlerule*[.5pc]{.}\contentspage}
     \titlecontents{section}
                  [0pt]
                  {}
                  {\thecontentslabel {  } }
                  {}
                  {\titlerule*[.5pc]{.}\contentspage}
    \titlecontents*{subsection}
                  [0pt]
                  {}
                  {\thecontentslabel{  }}
                  {}
                  {\titlerule*[.5pc]{.}\contentspage}



    \addto\captionsarabic{%
    \renewcommand\chaptername{المبحث}
    }

   \addto{\captionsarabic}{\renewcommand*{\contentsname}{قائمة المحتويات }}

    \usepackage{titling}
    \newcommand{\subtitle}[1]{%
     \posttitle{%
     \par\end{center}
     \begin{center}\large#1 \end{center}
      \vskip0.5em}%
      }
     \newcommand{\subsubtitle}[1]{%
     \preauthor{%
     \begin{center}
     \large #1 \vskip0.5em
      \begin{tabular}[t]{c}
       }%
      }




   \makeatletter         
   \def\@maketitle{
   \raggedright
    \includegraphics[width = 40mm]{logo.png}\\[8ex]
     }
   \makeatother



    %\titlegraphic{\includegraphics[width=4cm]{logo.png}}



    \newlength{\myspace}
     \setlength{\myspace}{10em}

     \makeatletter
      \xpatchcmd{\@maketitle}{\vskip.5em}{\vskip\myspace}{}{}
      \makeatother

        \AtBeginShipoutNext{\AtBeginShipoutUpperLeft{%
         \put(\dimexpr\paperwidth-1cm\relax,-1.5cm){\makebox[0pt]    [r]{\framebox{

     \\جمهورية العراق
     \\ وزارة التعليم العالي والبحث العلمي
     \\ الجامعة العراقية
     \\ كلية الادارة والاقتصاد
  
  
    }}}%
    }}



      \begin{document}



    \begin{titlepage}

     \begin{center}



            
       \vspace*{1cm}
       \begin{center}

      \Large{  أثر المعرفة في تعزيز
            الميزة التنافسية}

       \vspace{0.5cm}
             \large
              بحث مقدم الى مجلس كلية الادارة والاقتصاد-   
              الجامعة العراقية وهو جزء من متطلبات نيل شهادة البكالوريوس في الادارة           والاقتصاد - قسم ادارة الاعمال    

        
      \vspace{1.5cm}
   
     اعداد الطالب\\
      \text{مصطفى محمد عفر}\\
       \vspace*{2cm}
       باشراف

      \text{ م . د وسن سعد }

     \vfill
   
     \vspace{1cm}
 
   
     ٢٥ نيسان ٢٠٢١
   
     \end{center}
   
        
     \end{center}
    \end{titlepage}
    %٪\maketitle

   \newpage


    \pagenumbering{Roman}
     \renewcommand{\thepage}{\protect\textLR{\Roman{page}}}

    \clearpage
    \setcounter{page}{1}



     \tableofcontents




     %\usepackage{titlesec}
     \titleformat{\chapter}[display]   
    {\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}   
    \titlespacing*{\chapter}{0pt}{-50pt}{40pt}


     \newpage
      \doublespacing
      \begin{doublespace}
      \input{الملخص}
      \end{doublespace}


        \newpage
         \doublespacing
          \begin{doublespace}
          \input{المقدمة}
           \end{doublespace}

           \newpage
           \doublespacing
           \begin{doublespace}
            \input{الاية القرانية}
             \end{doublespace}

          \newpage
           \doublespacing
          \begin{doublespace}
           \input{شكر وثناء}
            \end{doublespace}


           \newpage
           \doublespacing
          \begin{doublespace}
         \input{اهداء.tex}
           \end{doublespace}

           \pagenumbering{arabic}
           %\renewcommand{\thepage}{\protect          \textLR{\arabic{page}}}


            \newpage
            \doublespacing
             \begin{doublespace}
              \input{المبحث الأول}
              \end{doublespace}


              \begin{thebibliography}{99}


              \end{thebibliography}


                  \end{document}


                    %------------------------

我现在的问题是章节编号与节编号不匹配。我之前想将章节编号改为字母,例如将第 1 章改为第 1 章,我按照 Pieter van Oostrum 的建议成功做到了这一点,但现在我遇到了另一个问题,即节编号也转换为字母,例如 1.1 转换为 One.1,我不想要这种情况。有没有什么解决方案。

答案1

我猜前两个问题是由arabtex和引起的babel。出于某种原因,页码在没有任何格式的情况下被写入.aux.toc文件。这就是它不使用罗马数字的原因。无论如何, 应该\pagenumbering{roman}在 之前完成,以防万一 占用超过一页。此外,之前\tableofcontents必须有一个\clearpage或。\newpage\pagenumbering{arabic}

我建议忘记arabtexbabel,而是运行XeTeXpolyglossia

\usepackage{polyglossia}
\setdefaultlanguage{arabic}
\setotherlanguage{english}

第三个问题可以通过 来解决fmtcount,正如@Simon Dispa 所写,但不幸的是,它不支持阿拉伯语。您可以尝试复制西班牙语或法语文件,但这将是一项艰巨的工作。由于您只需要几个数字,我认为您可以自己动手,查看以下代码并将英语单词替换为阿拉伯语单词。

\newcommand\numberstring[1]{%
  \ifcase #1
  % zero
  \or one%
  \or two%
  \or three%
  \or four%
  \or five%
  \or six%
  \or seven%
  \else I don't know%
  \fi
}

\makeatletter
\renewcommand{\thechapter}{\numberstring{\c@chapter}}
\makeatother

答案2

如果您可以选择 LuaLaTeX(我强烈推荐它),并且您的系统是最新的,请尝试以下序言(文档主体相同)。有几条评论:

\documentclass[11pt,a4paper]{report}

% Basic setup for Arabic. With the second option
% counters are (visually) subsec.sec.chap.
\usepackage[bidi=basic, layout=counters]{babel}

% Load the locale and define a new counter for it, with
% a space-separated list.
\babelprovide[
  import, main,
  counters/alphabetic = واحد إثنان ثلاثة أربعة خمسة]
  {arabic}

\babelfont{rm}{Amiri}

% Redefine the chapter ‘number’. It's now based on the
% counter just defined.
\renewcommand{\thechapter}{\localecounter{alphabetic}{chapter}}

\setlocalecaption{arabic}{chapter}{المبحث}
\setlocalecaption{arabic}{contents}{قائمة المحتويات}

\usepackage{lipsum}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage{tocloft}
\usepackage{titletoc}%

% These are the setting in the OP. Note the overlapping
% because the chapter ‘number’ is long. 
\titlecontents{chapter}% <section-type>
  [0pt]% <left>
  {\bfseries}% <above-code>
  {\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
  {}% <numberless-entry-format>
  {\hfill\contentspage}% <filler-page-format>

\title{\Huge\textsc{اللغة العربية}}
\author{سالم البوزيدي} 

在此处输入图片描述

答案3

我无法用阿拉伯语进行编译,也无法从右到左进行编译,因此我用另一种语言(西班牙语,使用一些假的西班牙语单词)制作了您的文档的模型以避免英语并检查设置。

  1. \pagenumbering{arabic}应该在第一个编号章节之后。

  2. 使用

     \usepackage{fmtcount}
     \renewcommand{\thechapter}{\numberstring{chapter}} % or \Numberstring
    

您可以从第 1 章更改为第 1 章等。还请注意\def\captionsspanish{%将名称从语言的默认名称更改。

  1. \titlecontents{section}定义后,章节和小节对齐看起来正确\titlecontents{subsection}(我重现了您用于章节的相同设置),但我不知道从右到左的书写会发生什么!

A

\documentclass[11pt,a4paper]{report}
%\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage{fontenc}
\usepackage[spanish]{babel}

\usepackage{lipsum}
\usepackage{setspace}
\usepackage{titlesec}
\usepackage{tocloft}

\usepackage{titletoc}%
\titlecontents{chapter}% <section-type>
[0pt]% <left>
{\bfseries}% <above-code>
{\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format>
{}% <numberless-entry-format>
{\hfill\contentspage}% <filler-page-format>

\titlecontents{section} % added <<<<
[0pt]% <left>
{}% <above-code>
{\sectionname\ :\quad}% <numbered-entry-format>
{}% <numberless-entry-format>
{\hfill\contentspage}% <filler-page-format>

\titlecontents{subsection} % added <<<<
[0pt]% <left>
{\small}% <above-code>
{\subsectionname\ :\quad}% <numbered-entry-format>
{}% <numberless-entry-format>
{\hfill\contentspage}% <filler-page-format>

\def\captionsspanish{% % added <<<<
    \def\chaptername{Xapítulo}% 
    \def\sectionname{Xection}% 
    \def\subsectionname{Xubec}% 
    \def\figurename{Figura}%
    \def\tablename{Tabla}%
    \def\partname{Parte}%}
    \def\contentsname{Contenido completo}%
    \def\listtablename{Lista de Tablas}%
}

\title{%
\Huge\textsc{Un titulo}
}
 \author{Mi Nombre}
 
 \usepackage{fmtcount}
 \renewcommand{\thechapter}{\numberstring{chapter}} % or \Numberstring

\begin{document}
\maketitle
\tableofcontents

\pagenumbering{roman}

\clearpage
\setcounter{page}{5}

\chapter*{Presenta}
\addcontentsline{toc}{chapter}{Presenta}

\chapter*{Agradece}
\addcontentsline{toc}{chapter}{Agradece}

\chapter*{Resumen}
\addcontentsline{toc}{chapter}{Resumen}


\chapter{Introduce}
\pagenumbering{arabic}  % move here <<<<

\section{A}
\subsection{aa}
\section{B}
\subsection{bb}
\subsection{cc}

\chapter{Desarrollo}

\chapter{Conclusiones}

%\begin{thebibliography}{99}
%[1]
%من ويكيبيديا، الموسوعة الحرة
%\end{thebibliography}
\end{document}

相关内容