von KOMA » Di 16. Mär 2021, 10:46
Das Problem ist Paket arabicore, das von farsi geladen wird. Dieses Paket definiert viele Befehle um, wobei es sich an den Standardklassen orientiert und andere Klassen wenig bis gar nicht berücksichtigt. Damit ist das Paket (und somit auch die Spracheinstellung farsi) mit vielen Klassen, u. a. auch der von dir verwendeten KOMA-Script-Klasse scrbook, inkompatibel. Du solltest das dem Maintainer von arabi melden. Eigentlich kann nur er das wirklich korrigieren.
Als Workaround kannst du zumindest die Änderung, die hier für das Problem verantwortlich ist, dadurch entschärfen, dass du die Überschriftenbefehle von KOMA-Script wiederherstellt. Das geht mit einem einzigen \RedeclareSectionCommands:
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[
twoside,% ÜBERFLÜSSIG, weil VOREINSTELLUNG
11pt,% ÜBERFLÜSSIG, weil VOREINSTELLUNG
ngerman,
listof=totoc,
%listof=entryprefix
]{scrbook}
\usepackage[LAE,T1]{fontenc}
\usepackage[farsi,main=ngerman]{babel} %Ohne "Farsi" fehlerfrei
% Für die Überschriften die Originaldefinitionen von KOMA-Script wiederherstellen
\RedeclareSectionCommands{part,chapter,section,subsection,subsubsection,paragraph,subparagraph}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\chapter{First Chapter}
\section{First section}
\begin{figure}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\end{figure}
\end{document}
Leider kann ich nicht ausschließen, dass es dadurch zu anderen Problemen kommt, beispielsweise, wenn man farsi innerhalb der Überschriften verwendet. Der arabi-Autor sollte seine Änderungen bei KOMA-Script besser durch die durchaus vorhandenen Hooks und Schnittstellen realisieren. Die gibt es extra, um solche Probleme zu verhindern.
Auch sonst sollte man bei Verwendung von arabi zusammen mit KOMA-Script mit Problemen rechnen. Beispielsweise werden auch interne Befehle für \caption umdefiniert. Dadurch funktionieren diese dann eher wieder wie bei den Standardklassen, als wie bei KOMA-Script. Die ganze Erweiterungen von KOMA-Script an der Stelle sind dann eher kaputt. Das kann man eventuell dadurch lösen, dass man zusätzlich Paket caption (und dann natürlich dessen Erweiterungen) nutzt.
Übrigens: Für den ersten Beitrag was das ein perfektes Minimalbeispiel! Meine Hochachtung!
Das Problem ist Paket [tt]arabicore[/tt], das von [tt]farsi[/tt] geladen wird. Dieses Paket definiert viele Befehle um, wobei es sich an den Standardklassen orientiert und andere Klassen wenig bis gar nicht berücksichtigt. Damit ist das Paket (und somit auch die Spracheinstellung [tt]farsi[/tt]) mit vielen Klassen, u. a. auch der von dir verwendeten KOMA-Script-Klasse [ctan]scrbook[/ctan], inkompatibel. Du solltest das dem Maintainer von [ctan]arabi[/ctan] melden. Eigentlich kann nur er das wirklich korrigieren.
Als Workaround kannst du zumindest die Änderung, die hier für das Problem verantwortlich ist, dadurch entschärfen, dass du die Überschriftenbefehle von KOMA-Script wiederherstellt. Das geht mit einem einzigen [tt]\RedeclareSectionCommands[/tt]:
[code]
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[
twoside,% ÜBERFLÜSSIG, weil VOREINSTELLUNG
11pt,% ÜBERFLÜSSIG, weil VOREINSTELLUNG
ngerman,
listof=totoc,
%listof=entryprefix
]{scrbook}
\usepackage[LAE,T1]{fontenc}
\usepackage[farsi,main=ngerman]{babel} %Ohne "Farsi" fehlerfrei
% Für die Überschriften die Originaldefinitionen von KOMA-Script wiederherstellen
\RedeclareSectionCommands{part,chapter,section,subsection,subsubsection,paragraph,subparagraph}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\chapter{First Chapter}
\section{First section}
\begin{figure}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\caption{This is a dummy text for testing.}
\end{figure}
\end{document}
[/code]
Leider kann ich nicht ausschließen, dass es dadurch zu anderen Problemen kommt, beispielsweise, wenn man farsi innerhalb der Überschriften verwendet. Der [tt]arabi[/tt]-Autor sollte seine Änderungen bei KOMA-Script besser durch die durchaus vorhandenen Hooks und Schnittstellen realisieren. Die gibt es extra, um solche Probleme zu verhindern.
Auch sonst sollte man bei Verwendung von [tt]arabi[/tt] zusammen mit KOMA-Script mit Problemen rechnen. Beispielsweise werden auch interne Befehle für [tt]\caption[/tt] umdefiniert. Dadurch funktionieren diese dann eher wieder wie bei den Standardklassen, als wie bei KOMA-Script. Die ganze Erweiterungen von KOMA-Script an der Stelle sind dann eher kaputt. Das kann man eventuell dadurch lösen, dass man zusätzlich Paket [ctan]caption[/ctan] (und dann natürlich dessen Erweiterungen) nutzt.
Übrigens: Für den ersten Beitrag was das ein perfektes Minimalbeispiel! Meine Hochachtung!