Error con la tabla de contenidos en la plantilla árabe

Error con la tabla de contenidos en la plantilla árabe
\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}

el error cuando compilo esto es

El archivo finalizó mientras se escaneaba el uso de @dottedtocline. \par l.68 \tableofcontents

Respuesta1

Gracias por vincular a la plantilla en el dorso. No puedo reproducir su error en TeX Live 2020, aunque aparece uno diferente: \newfontfamily\arabicfonttten la línea 107 de mathbook_arabic.stydebería estar \newfontfamily\arabicfontsf. Luego vuelve a declarar \newfontfamily\arabicfonttten la línea siguiente. Las versiones anteriores fontspecpermitían esto, pero las modernas lo señalan como un error.

Esa plantilla tiene muchas cosas que son específicas del libro para el que fue escrita y está un poco desactualizada. Si eres libre de usar la plantilla que quieras, te sugiero que comiences con algo como esto y lo modifiques según sea necesario.

\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}

Esta versión de la plantilla cambiará automáticamente a inglés cada vez que escriba la escritura latina y a árabe cada vez que escriba la escritura árabe. En este ejemplo se utiliza una etiqueta de idioma, lo cual se debe a que los símbolos IPA en la fuente que copié y pegué no son ninguno de los dos, pero deberían mostrarse de izquierda a derecha en la fuente en inglés. Sería posible decirle a Babel que los considerara ingleses. Podrías haber agregado redefiniciones para cada carácter faltante, como

\babelcharproperty{`ʕ}{locale}{english}

Las fuentes principales que seleccioné fueron Amiri y Libertinus Sans de Khaled Hosny, las cuales se basan en diseños anteriores y se complementan muy bien entre sí.

Puede cambiarlos a las fuentes que prefiera. Por ejemplo, si tiene la nueva versión de Arial distribuida con Windows 10 en lugar de la anterior que todavía se incluye con algunos sistemas operativos, puede reemplazar \babelfont{sf}y las tres líneas posteriores con \babelfont{sf}{Arial}. La fuente se escalará automáticamente y seleccionará las características correctas Scripty LanguageOpenType. (En realidad, la Language=función le dará advertencias falsas, por lo que puede utilizarlas \babelfont{sf}[Language=Default]{Arial}para suprimirlas).

Para matemáticas, cargué su Libertinus Math en formato unicode-math. Esto significa que no necesitará (y no deberá utilizar) ningún paquete de fuentes matemáticas heredadas, como amssymb. Soporta \boldmathy \boldsymbol. Si eso no es lo que desea, puede reemplazar \usepackage{unicode-math)y la \setmathfontlínea con

\usepackage{fontspec}
\usepackage[libertine]{newtxmath}
\usepackage{bm}

No cambio los formatos predeterminados de las páginas, títulos, capítulos, tabla de contenidos, etc., pero puedes hacerlo con los paquetes que elijas, como toclofty fancyhdr.

información relacionada