
\documentclass[12pt,a4paper]{mathbook_arabic}
%\newfontfamily\arabicfont[Script=Arabic]{Arial}
\addto\captionsarabic{\renewcommand{\contentsname}{الفهرس}}
% \newfontfamily\arabicfonttt[Script=Arabic]{Arial}
\usepackage{listings}
\usepackage{mathrsfs}
\definecolor{bleu}{cmyk}{0.59,0.11,0,0.59}
\definecolor{vert}{cmyk}{0.78,0,0.74,0.45}
\begin{document}
\tableofcontents
\chapter*{Intro}
some textes
\chapter{ch1}
\end{document}
der Fehler beim Kompilieren ist
Datei wurde beim Scannen der Verwendung von @dottedtocline beendet. \par l.68 \tableofcontents
Antwort1
Vielen Dank für den Link zur Vorlage auf Overleaf. Ich kann Ihren Fehler auf TeX Live 2020 nicht reproduzieren, obwohl ich einen anderen bekomme: \newfontfamily\arabicfonttt
In Zeile 107 von mathbook_arabic.sty
sollte stehen \newfontfamily\arabicfontsf
. In der nächsten Zeile wird es dann erneut deklariert \newfontfamily\arabicfonttt
. Ältere Versionen von fontspec
haben dies zugelassen, aber moderne Versionen kennzeichnen es als Fehler.
Diese Vorlage enthält viele Dinge, die speziell auf das Buch zugeschnitten sind, für das sie geschrieben wurde, und ist etwas veraltet. Wenn Sie die Vorlage verwenden können, die Sie möchten, würde ich vorschlagen, dass Sie mit so etwas beginnen und es nach Bedarf ändern.
\documentclass[a4paper]{book} % Or article, scrbook, etc.
\tracinglostchars=2 % Warn if the current font does not have a character.
%% The previous sample you were using loaded the cmyk color space and manually
%% declared color names in French. This loads the standard color names used in
%% CSS, SVGs and HTML, e.g. Blue and DarkCyan. You can add HTML to allow hex
%% values.
\usepackage[svgnames]{xcolor}
%% Requires LuaHBTeX, or LuaLaTeX from 2020 or later.
\usepackage[bidi=basic, layout=sectioning]{babel}
\usepackage{unicode-math}
\usepackage{microtype}
%% You will certainly want to set more options than this, either here or with
%% \hypersetup.
\usepackage[unicode,
colorlinks]{hyperref}
%% Can substitute import=ar-DZ, import=ar-MA or import=ar-SY for import.
%% To change the numbers from Western to localized, add the maparabic option.
%% Can also change other counters, e.g. alph=alphabetic, Alph=abjad.
\babelprovide[import, main, onchar=ids fonts]{arabic}
\babelprovide[onchar=ids fonts]{english}
\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX, Renderer=HarfBuzz}
%% You can change these to your fonts of choice.
\babelfont{rm}
[Scale=1.0, Ligatures=Common, Script=Default, Language=Default]{Libertinus Serif}
\babelfont[arabic]{rm}
{Amiri}
\babelfont{sf}
[Ligatures=Common, Script=Default, Language=Default]{Libertinus Sans}
\babelfont[arabic]{sf}
[Language=Default]{Noto Sans Arabic}
\babelfont{tt}
[Script=Default, Language=Default]{Libertinus Mono}
\babelfont[arabic]{tt}
{ALM Fixed}
\setmathfont{Libertinus Math}
\babeltags{english=english}
%% \babeltags would fail to redefine \arabic, so provide `\textArabic`, etc.
%% You are unlikely to need them, because babel will switch to Arabic whenever
%% you use the Arabic script.
\babeltags{Arabic=arabic}
\begin{document}
\chapter{A Chapter}
للُّغَة العَرَبِيّة هي أكثر اللغات السامية تحدثاً، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة،
\begin{english}
Arabic (اَلْعَرَبِيَّةُ, al-ʿarabiyyah, [al ʕaraˈbijːa] or عَرَبِيّ, ʿarabīy, [ˈʕarabiː]
or [ʕaraˈbij]) is a Semitic language that first emerged in the 1st to 4th
centuries CE.
\end{english}
\end{document}
Diese Version der Vorlage wechselt automatisch zu Englisch, wenn Sie in lateinischer Schrift schreiben, und zu Arabisch, wenn Sie in arabischer Schrift schreiben. In diesem Beispiel wird ein Sprachtag verwendet, da die IPA-Symbole in der Quelle, die ich kopiert und eingefügt habe, weder das eine noch das andere sind, aber sie sollten in der englischen Schriftart von links nach rechts angezeigt werden. Es wäre möglich, Babel anzuweisen, sie als Englisch zu betrachten. Sie hätten für jedes fehlende Zeichen Neudefinitionen hinzufügen können, wie
\babelcharproperty{`ʕ}{locale}{english}
Als Schriftarten habe ich vor allem Amiri und Libertinus Sans von Khaled Hosny ausgewählt, die beide auf früheren Entwürfen basieren und sich sehr gut ergänzen.
Sie können diese in die Schriftarten Ihrer Wahl ändern. Wenn Sie beispielsweise die neue Version von Arial haben, die mit Windows 10 ausgeliefert wird, statt der alten, die noch mit einigen Betriebssystemen ausgeliefert wird, können Sie \babelfont{sf}
und die drei Zeilen danach durch ersetzen \babelfont{sf}{Arial}
. Die Schriftart wird automatisch skaliert und wählt die richtigen Script
und Language
OpenType-Funktionen aus. (Tatsächlich gibt Ihnen die Funktion falsche Warnungen, sodass Sie diese unterdrücken Language=
können .)\babelfont{sf}[Language=Default]{Arial}
Für Mathematik habe ich sein Libertinus Math in geladen unicode-math
. Das bedeutet, dass Sie keine älteren Mathematik-Schriftpakete wie benötigen (und auch nicht verwenden sollten) amssymb
. Es unterstützt \boldmath
und . Wenn das nicht das ist, was Sie möchten, können Sie stattdessen und die Zeile durch \boldsymbol
ersetzen\usepackage{unicode-math)
\setmathfont
\usepackage{fontspec}
\usepackage[libertine]{newtxmath}
\usepackage{bm}
Ich ändere nicht die Standardformate der Seiten, Titel, Kapitel, Inhaltsverzeichnisse usw., aber Sie können dies mit den Paketen Ihrer Wahl tun, wie z. B. tocloft
und fancyhdr
.