! Undefined control sequence. \AddToHook

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


keiAhnung
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 2. Okt 2021, 11:43

! Undefined control sequence. \AddToHook

Beitrag von keiAhnung »

Hallo, ich schreibe grade ein Protokoll für Physik und bei mir kommt immer wieder folgende Fehlermeldung:

! LaTeX Error: File `AddToHook.sty' not found.Type X to quit or <RETURN> to proceed,or enter new name. (Default extension: sty)Enter file name:! Emergency stop.<read >

Der Fehler ist heute das erste mal aufgetreten, ich habe aber jetzt auch schon ein knappes halbes Jahr nicht mehr mit Latex gearbeitet.
Hier ist mein verkürzter Code mit allen Bibotheken:

%%Layout
\documentclass[a4paper, 11pt, headsepline]{scrartcl}
\usepackage{a4wide}
\RequirePackage{scrlfile}
\ReplacePackage{scrpage2}{scrlayer-scrpage}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage{setspace}
\usepackage{graphicx}

%%Mathematik 
\usepackage{a4,amsfonts,amssymb,amsmath,latexsym}
\usepackage{mathrsfs}
\usepackage{xfrac}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsbsy}
\usepackage{amssymb}
\usepackage{paralist}
\usepackage{polynom}
\usepackage{stmaryrd}
\usepackage[per-mode=fraction, locale=DE, decimalsymbol=comma, obeyall, loctolang={DE:ngerman,UK:english}]{siunitx}
\usepackage{trfsigns}
\usepackage{wasysym}

%\usepackage{AddToHook}

%% Kopfzeile
\ihead{\emph{}}
\chead{\emph{SC - Solar Cell}}
\ohead{\emph{02.04.2019}}
\setheadsepline{0,4pt}

%% Kommandos für Matheumgebung
\renewcommand{\iff}{\Leftrightarrow}    % <=>
\renewcommand{\implies}{\Rightarrow}    % =>
\newcommand{\nach}{\rightarrow}         % ->
\newcommand{\set}[1]{\{#1\}}            % Mengen: \set{1, 2, 3} -> {1, 2, 3}
\newcommand{\sset}[1]{\mathbb{#1}}      % Zahlenmengen 
\newcommand{\N}{\sset{N}}               % Natürliche Zahlen
\newcommand{\Z}{\sset{Z}}               % Ganze Zahlen
\newcommand{\Q}{\sset{Q}}               % Rationale Zahlen
\newcommand{\R}{\sset{R}}               % Reelle Zahlen
\newcommand{\K}{\sset{K}}				% Körper
\newcommand{\C}{\sset{C}}				% Komplexe Zahlen
\newcommand{\I}{\sset{I}}				% Irrationale Zahlen
\renewcommand{\Re}{\operatorname{Re}}	% Realteil
\renewcommand{\Im}{\operatorname{Im}}	% Imaginärteil



\begin{document}


\onehalfspacing
\thispagestyle{plain}
\noindent  blablajsldfoiuhn
\newpage
\begin{center}
Universität \\
Fakultät\\

\

\textbf{Physikalisches Blockpraktikum II (Oktober 2020)}

\

\textbf{\underline{\Large{SC - Solar Cell}}}\\

\
02.04.2019\\
???, ???\\ Gruppe 4\\ Betreuer:???\\ Abgabe: 6.10.2021, 
\end{center}

\
%% Introduction
%\noindent\textbf{\underline{\large{Introduction}}}\\

\noindent Solarzellen \\

\

%% Theoretical Part




\end{document}

Wenn jemand mir helfen könnte, wäre ich dankbar.


Ratgeber

Re: ! Undefined control sequence. \AddToHook

Beitrag von Ratgeber »

Ein Paket "AddToHook" gibt es nicht. Das TeX-System (bzw. der LaTeX-Kernel) sollte nicht in einer Version vor 2020 vorliegen (LaTeX2ε News – Issue 32, 01.10.2020). Wenn das doch der Fall ist, ist eine Aktualisierung notwendig.


Grummelgast

Re: ! Undefined control sequence. \AddToHook

Beitrag von Grummelgast »

Du machst da einige Dinge, die man nicht tun sollte:

  • Warum man a4wide besser nicht verwenden sollte, ist in l2tabu erklärt.

  • In Dokumenten sollte man (nach \documentclass) \usepackage statt \RequirePackage zum Laden von Paketen verwenden.

  • scrlfile wird bereits von der Klasse geladen. Damit ist es sinnlos, das explizit auch noch zu versuchen.

  • Statt

    \ReplacePackage{scrpage2}{scrlayer-scrpage}
    \usepackage{scrpage2}

    sollte man lieber direkt scrlayer-scrpage laden. \ReplacePackage ist eine absolute Notfallanweisung, beispielsweise für den Fall, dass ein Paket in einem anderen Paket oder einer Klasse geladen wird, das/die man aus irgendwelchen Gründen nicht korrigieren kann.

  • Der Seitenstil scrheadings ist übrigens bereits durch das Laden von scrlayer-scrpage voreingestellt.

  • \usepackage[utf8]{inputenc} ist seit LaTeX 2018/04/01 überflüssig. Falls dein LaTeX tatsächlich älter sei sollte, wäre eher ein Update der gesamten TeX-Distribution zu empfehlen.

  • Für das Paket a4 gilt dasselbe wie für a4wide (siehe oben). Es nach a4wide selbst zu laden, überschreibt außerdem diverse Einstellungen von a4wide wieder, so dass das frühere Laden von a4wide sinnlos gemacht wird.

  • Man sollte Pakete generell nur einmal laden. Anderenfalls wird die Dokumentpräambel unübersichtlich und schwer zu warten.

  • \ihead{\emph{}} bringt nicht mehr als \ihead{}, womit zumindest das \emph{} sinnlos ist. Außerdem wäre es sinnvoller für die Font-Auswahl in der Kopfzeile \setkomafont{pagehead}{…} zu verwenden, statt den Font bei den Anweisungen \ihead, \chead etc. zu wiederholen.

  • \setheadsepline ist veraltet. Die Option headsepline stellt übrigens bereits die Dicke 0,4pt ein, so dass die Anweisung sinnlos ist. Für anderen Dicken kann man der Option auch einen Wert übergeben. Näheres ist in der KOMA-Script-Anleitung zu finden.

  • Option decimalsymbol=comma ist für siunitx seit Version 2 veraltet und sollte deshalb schon seit Jahren durch Option output-decimal-marker ersetzt werden. Seit Version 3 wird die veraltete Option nicht mehr unterstützt.

Die obige Liste erhebt keinen Anspruch auf Vollständigkeit. Das ganze sieht mir sehr nach einem Fall von Minimale Vorlage vs. maximale Probleme aus.
Übrigens a4paper und 11pt sind die Voreinstellungen von scrartcl und damit bei \documentclass im Beispiel überflüssig.


keiAhnung
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Sa 2. Okt 2021, 11:43

Re: ! Undefined control sequence. \AddToHook

Beitrag von keiAhnung »

Ok, vielen Dank euch zwei..

ich habe jetzt über MiKTeX alles aktualisieren können und konnte danach den Fehler finden (das \usepackage in Zeile 28 scheint fehlerhaft zu sein).
ich werde jetzt wohl meine Bibliotheken "entrümpeln" müssen.


Grummelgast

Re: ! Undefined control sequence. \AddToHook

Beitrag von Grummelgast »

keiAhnung hat geschrieben:
Sa 2. Okt 2021, 14:28

ich habe jetzt über MiKTeX alles aktualisieren können und konnte danach den Fehler finden (das \usepackage in Zeile 28 scheint fehlerhaft zu sein).

Das die Optionenangabe für siunitx seit Jahren veraltet und inzwischen fehlerhaft ist, habe ich ja in meiner Aufzählung oben explizit erwähnt. Es kann sein, dass du im Dokument noch mehr veraltete Optionen/Befehle von siunitx verwendet hast. Wenn es eilt, kannst du dir diesbezüglich eventuell mit \usepackage{siunitx}[=v2] behelfen. Siehe dazu und was ggf. sonst noch beim Wechsel von Version 2 zu 3 zu beachten ist Abschnitt 5 in der aktuellen siunitx-Anleitung.

Das hat aber nichts mit dem Fehler zu tun, den du in der Frage stehen hast. Ich hoffe, der ist durch das Update weg.


Antworten