Ich habe eine .sty
Datei wie diese erstellt:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{printready}[2017/04/19 Defines "ready" and "notready"]
%%%
\newif\if@ready
\DeclareOption{ready}{%
\@readytrue%
}
\ProcessOptions\relax
\def\ready#1{%
\if@ready
#1
\else
\fbox{Here goes a picture}
\fi
}
\def\notready#1{%
\if@ready
{\PackageError{printready}{Custom error message}{Custom error text}}
\else
\fbox{Here will be a picture; It's not ready yet.}
\fi
}
\endinput
Es definiert die Befehle \ready
und \notready
. Ihr Verhalten hängt davon ab, ob die Option ready
mit dem Paket geladen wird oder nicht.
Betrachten Sie nun das folgende MWE:
\documentclass[a4paper]{article}
\usepackage[ready]{printready}% Ready option activated
\usepackage{mathtools}
\begin{document}I found that this must mean that
%%% Let's call this Equation 1
\[waaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyy toooooooooooooooooooooo loooooooooooooooooooooooooooooooooong\]
%
%%% Let's call this Equation 2
\[p= \frac{2q}{2-q}(1-2g) \implies p(2-q)=2q(1-2g) \implies p|2q(1-2g) \implies p \leq 2q(1-2g).\]
\begin{figure}[htbp]\centering
\notready%
{%
Picture1
}\caption{caption}
\end{figure}
\end{document}
Wenn ich nur Gleichung 1 eingebe (und nicht Gleichung 2), verhält sich alles wie erwartet, d. h.: Meine benutzerdefinierte Fehlermeldung wird angezeigt.
Wenn ich Gleichung 2 eingebe, dann passiert das Ungewöhnlichste: Mein Lauf stoppt einfach, ohne anzuzeigenbeliebigFehlermeldung. Die letzten Zeilen der Konsolenausgabe (in TeXWorks) sind
Overfull \hbox (4.37506pt too wide) detected at line 11 \OML/cmm/m/it/10 p \OT1/cmr/m/n/10 = [](1 \OMS/cmsy/m/n/10
Danach passiert nichts mehr.
Noch merkwürdiger ist, dass das Weglassen des Finales g).
aus Gleichung 2 (und damit die Vermeidung eines Überfüllens \hbox
)tutverhält sich wie erwartet.
Wie können die Inhalte \[ \]
den Ablauf meines Dokuments auf diese Weise beeinflussen?
NB: Der Fehler tritt nur auf, wenn Gleichung 2 und \notready
zusammen verwendet werden, während die Option ready
geladen ist. Ansonsten läuft alles wie erwartet.