我使用的是阿拉伯语,因此对齐应该从右到左。
到目前为止,我的目录是:
我有三个问题:
- 罗马数字不适用于第 1 章之前的页面(标签:阿拉伯语)
- 章节和小节的正确对齐方式是错误的,我尝试了本网站上的所有解决方案,但无法修复。
- 我想将章节编号改为按字母顺序排列。我想要的是第一章,而不是第一章。对于阿拉伯语版本,我想要的是 (المبحث الأول),而不是 (المبحث ١)。
我的代码是
\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}
我建议忘记arabtex
和babel
,而是运行XeTeX
和polyglossia
。
\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
我无法用阿拉伯语进行编译,也无法从右到左进行编译,因此我用另一种语言(西班牙语,使用一些假的西班牙语单词)制作了您的文档的模型以避免英语并检查设置。
\pagenumbering{arabic}
应该在第一个编号章节之后。使用
\usepackage{fmtcount} \renewcommand{\thechapter}{\numberstring{chapter}} % or \Numberstring
您可以从第 1 章更改为第 1 章等。还请注意\def\captionsspanish{%
将名称从语言的默认名称更改。
\titlecontents{section}
定义后,章节和小节对齐看起来正确\titlecontents{subsection}
(我重现了您用于章节的相同设置),但我不知道从右到左的书写会发生什么!
\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}