von babellsty » Mi 9. Dez 2020, 12:29
Da bei meinem Problem ja überwiegend Fehler im Code der babel.sty oder ngerman.ldf Dokument angezeigt werden, hier nochmal ein anderer Ansatz. Im folgenden steht ein Code-Ausschnitt des babel.sty von unserem Beispielcode "Fehlerbeispiel":
\bbl@trace{Option 'main'}
\ifx\bbl@opt@main\@nnil
\edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}
\let\bbl@tempc\@empty
\bbl@for\bbl@tempb\bbl@tempa{%
\bbl@xin@{,\bbl@tempb,}{,\bbl@loaded,}%
\ifin@\edef\bbl@tempc{\bbl@tempb}\fi}
\def\bbl@tempa#1,#2\@nnil{\def\bbl@tempb{#1}}
\expandafter\bbl@tempa\bbl@loaded,\@nnil
\ifx\bbl@tempb\bbl@tempc\else
\bbl@warning{%
Last declared language option is `\bbl@tempc',\\%
but the last processed one was `\bbl@tempb'.\\%
The main language cannot be set as both a global\\%
and a package option. Use `main=\bbl@tempc' as\\%
option. Reported}%
\fi
\else
\ifodd\bbl@iniflag % case 1,3
\bbl@ldfinit
\let\CurrentOption\bbl@opt@main
\bbl@exp{\\\babelprovide[import,main]{\bbl@opt@main}}
\bbl@afterldf{}%
\else % case 0,2
\chardef\bbl@iniflag\z@ % Force ldf
\expandafter\let\csname ds@\bbl@opt@main\endcsname\bbl@loadmain
\ExecuteOptions{\bbl@opt@main}
\DeclareOption*{}%
\ProcessOptions*
\fi
\fi
\def\AfterBabelLanguage{%
\bbl@error
{Too late for \string\AfterBabelLanguage}%
{Languages have been loaded, so I can do nothing}}
\ifx\bbl@main@language\@undefined
\bbl@info{%
You haven't specified a language. I'll use 'nil'\\%
as the main language. Reported}
\bbl@load@language{nil}
\fi
\endinput
%%
%% End of file `babel.sty'.
Der Ausschnitt beschränkt sich auf line 1113 bis Ende, da hier die Errors konzentriert auftreten.
Könnte es sich da einfach um Syntax-Fehler handeln, die das ganze Dokument beschädigen? Wie sieht denn der babel.sty -Code bei funktionierenden LaTeX-Programmen aus? Ohne zu wissen ob dieser Weg zielführend wäre, aber wäre auf jeden Fall echt toll wenn jemand den babel.sty Code ab Zeile 1113 abgleichen könnte, falls es nicht zu aufwändig wäre. Damit keine Missverständnisse entstehen, diesen Beispielcode:
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\begin{document}
Lorem ipsum dolor
\end{document}
Da bei meinem Problem ja überwiegend Fehler im Code der babel.sty oder ngerman.ldf Dokument angezeigt werden, hier nochmal ein anderer Ansatz. Im folgenden steht ein Code-Ausschnitt des babel.sty von unserem Beispielcode "Fehlerbeispiel":
[code]
\bbl@trace{Option 'main'}
\ifx\bbl@opt@main\@nnil
\edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}
\let\bbl@tempc\@empty
\bbl@for\bbl@tempb\bbl@tempa{%
\bbl@xin@{,\bbl@tempb,}{,\bbl@loaded,}%
\ifin@\edef\bbl@tempc{\bbl@tempb}\fi}
\def\bbl@tempa#1,#2\@nnil{\def\bbl@tempb{#1}}
\expandafter\bbl@tempa\bbl@loaded,\@nnil
\ifx\bbl@tempb\bbl@tempc\else
\bbl@warning{%
Last declared language option is `\bbl@tempc',\\%
but the last processed one was `\bbl@tempb'.\\%
The main language cannot be set as both a global\\%
and a package option. Use `main=\bbl@tempc' as\\%
option. Reported}%
\fi
\else
\ifodd\bbl@iniflag % case 1,3
\bbl@ldfinit
\let\CurrentOption\bbl@opt@main
\bbl@exp{\\\babelprovide[import,main]{\bbl@opt@main}}
\bbl@afterldf{}%
\else % case 0,2
\chardef\bbl@iniflag\z@ % Force ldf
\expandafter\let\csname ds@\bbl@opt@main\endcsname\bbl@loadmain
\ExecuteOptions{\bbl@opt@main}
\DeclareOption*{}%
\ProcessOptions*
\fi
\fi
\def\AfterBabelLanguage{%
\bbl@error
{Too late for \string\AfterBabelLanguage}%
{Languages have been loaded, so I can do nothing}}
\ifx\bbl@main@language\@undefined
\bbl@info{%
You haven't specified a language. I'll use 'nil'\\%
as the main language. Reported}
\bbl@load@language{nil}
\fi
\endinput
%%
%% End of file `babel.sty'.
[/code]
Der Ausschnitt beschränkt sich auf line 1113 bis Ende, da hier die Errors konzentriert auftreten.
[attachment=0]babel_sty.JPG[/attachment]
Könnte es sich da einfach um Syntax-Fehler handeln, die das ganze Dokument beschädigen? Wie sieht denn der babel.sty -Code bei funktionierenden LaTeX-Programmen aus? Ohne zu wissen ob dieser Weg zielführend wäre, aber wäre auf jeden Fall echt toll wenn jemand den babel.sty Code ab Zeile 1113 abgleichen könnte, falls es nicht zu aufwändig wäre. Damit keine Missverständnisse entstehen, diesen Beispielcode:
[code]
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\begin{document}
Lorem ipsum dolor
\end{document}
[/code]