
\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}
o erro quando compilo isso é
O arquivo foi encerrado durante a verificação do uso de @dottedtocline. \par l.68 \tabela de conteúdo
Responder1
Obrigado por vincular ao modelo no Overleaf. Não consigo reproduzir seu bug no TeX Live 2020, embora consiga um diferente: \newfontfamily\arabicfonttt
na linha 107 do mathbook_arabic.sty
deveria ser \newfontfamily\arabicfontsf
. Em seguida, ele é declarado novamente \newfontfamily\arabicfonttt
na próxima linha. Versões mais antigas fontspec
permitiam isso, mas as modernas sinalizam isso como um bug.
Esse modelo contém muitas coisas específicas do livro para o qual foi escrito e ficou um pouco desatualizado. Se você estiver livre para usar qualquer modelo que desejar, sugiro que comece com algo assim e modifique-o conforme necessário.
\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 versão do modelo mudará automaticamente para inglês sempre que você digitar na escrita latina e para árabe sempre que você digitar na escrita árabe. Ele usa uma tag de idioma neste exemplo, porque os símbolos IPA na fonte que copiei e colei não são nenhum dos dois, mas devem ser exibidos da esquerda para a direita na fonte em inglês. Seria possível dizer a Babel para considerá-los ingleses. Você poderia ter adicionado redefinições para cada caractere ausente, como
\babelcharproperty{`ʕ}{locale}{english}
As principais fontes que selecionei foram Amiri e Libertinus Sans de Khaled Hosny, ambas baseadas em designs anteriores e se complementam muito bem.
Você pode alterá-los para as fontes de sua preferência. Por exemplo, se você tiver a nova versão do Arial distribuída com o Windows 10 em vez da antiga que ainda acompanha alguns sistemas operacionais, poderá substituir \babelfont{sf}
e as três linhas seguintes por \babelfont{sf}{Arial}
. A fonte será dimensionada automaticamente e selecionará os recursos corretos Script
e Language
OpenType. (Na verdade, o Language=
recurso fornecerá avisos falsos, para que você possa usá-los \babelfont{sf}[Language=Default]{Arial}
para suprimi-los.)
Para matemática, carreguei seu Libertinus Math no formato unicode-math
. Isso significa que você não precisará (e não deverá usar) nenhum pacote de fontes matemáticas herdado, como amssymb
. Ele suporta \boldmath
e \boldsymbol
. Se não é isso que você deseja, você pode substituir \usepackage{unicode-math)
e a \setmathfont
linha por
\usepackage{fontspec}
\usepackage[libertine]{newtxmath}
\usepackage{bm}
Eu não altero os formatos padrão das páginas, títulos, capítulos, índice ou assim por diante, mas você pode fazer isso com os pacotes de sua preferência, como tocloft
e fancyhdr
.