Fehler mit dem Inhaltsverzeichnis in der arabischen Vorlage

Fehler mit dem Inhaltsverzeichnis in der arabischen Vorlage
\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\arabicfontttIn Zeile 107 von mathbook_arabic.stysollte stehen \newfontfamily\arabicfontsf. In der nächsten Zeile wird es dann erneut deklariert \newfontfamily\arabicfonttt. Ältere Versionen von fontspechaben 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 Scriptund LanguageOpenType-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 \boldmathund . Wenn das nicht das ist, was Sie möchten, können Sie stattdessen und die Zeile durch \boldsymbolersetzen\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. tocloftund fancyhdr.

verwandte Informationen