svmono v5.6: richtige Namen vorhandener Theoremumgebungen mit cleveref
Hier reproduzieren wir den in [http://texwelt.de/wissen/fragen/24620/svmono56-richtige-namen-eigener-theoremumgebungen-mit-cleveref][1] erwähnten Fehler mit bereits vorhandenen Umgebungen (und vereinfachen wir [http://texwelt.de/wissen/fragen/24620/svmono56-richtige-namen-eigener-theoremumgebungen-mit-cleveref][1] die Problemstellung somit ein wenig, indem wir keine eigene Umgebung erstellen:
wenig). Dafür machten wir das Beispiel realistischer für die deutsche Leserschaft durch die Einstellungen der deutschen Sprache. Lassen wir also `pdflatex` auf die folgende Eingabe los:
\documentclass[deutsch,envcountsame,envcountsect]{hacked-svmono}%%% V5.6 aus https://www.springer.com/gp/authors-editors/book-authors-editors/resources-guidelines/rights-permissions-licensing/manuscript-preparation/5636, without the block that loads ntheorem (otherwise error).
%\documentclass[deutsch,envcountsame]{hacked-svmono}%%% Doens't work in a similar way.
%\documentclass[deutsch,envcountsect]{hacked-svmono}%%% Works, but the counters are different.
\usepackage[ngerman]{babel}
\usepackage[ngerman]{cleveref}
\crefname{corollary}{Kor.}{Kore.}
\Crefname{corollary}{Korollar}{Korollare}
\begin{document}
\chapter{MeinKapitel}
\section{MeinAbschnitt}
\section{MeinUnterabschnitt}
\begin{theorem}[MeinSatz]1+1=2\end{theorem}
\begin{corollary}[MeinKorollar]
\label{corl:MyCorl}
%\label[corollary]{corl:MyCorl}%%% Ulrike's solution (less automatic than above).
0+1+1=2.\end{corollary}
Verweisen wir mal drauf: \cref{corl:MyCorl}.
\end{document}
Dafür machten wir das Beispiel realistitischer für die deutsche Leserschaft durch die Einstellungen der deutschen Sprache.
Die letzte Zeile der Ausgabe
[![pdflatex output][2]][2]
ist falsch, denn es gibt kein Theorem 1.2.2. Nimmt man Ulrike's Lösung mit dem optionalen Argument für `\label`, so erscheint die letzte Zeile richtig:
> Verweisen wir mal drauf: Kor. 1.2.2.
Jedoch muss man wohl bei der Lösung bei allen Theoremumgebungen nummerierten Theoremumgebungen, auf die verwiesen wird, immer an das optionale Argument denken; vergisst man's einmal, so erhält man möglicherweise unbemerkte Fehler. Kann man nicht irgendeine Änderung in der Präambel, in svmono oder in cleveref machen, derart dass der Hauptteil `\begin{document}...\end{document}` nicht verändert werden muss?
[1]: http://texwelt.de/wissen/fragen/24620/svmono56-richtige-namen-eigener-theoremumgebungen-mit-cleveref
[2]: https://texwelt.de/wissen/upfiles/screenshot_5.png