Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 5

21 Apr '19, 20:30

user0's gravatar image

user0
1021329

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 die Problemstellung somit ein wenig). Dafür machen wir das Beispiel realistischer für die deutschsprachige Leserschaft durch die Einstellungen der deutschen Sprache. Lassen wir also deutschprachenspezifische Pakete und Optionen und lassen `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 as an alternative to the line above. (It works but is less automatic than above). we wish it to be.) 0+1+1=2.\end{corollary} Verweisen wir mal drauf: \cref{corl:MyCorl}. \end{document} 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 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
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

20 Apr '19, 01:38

user0's gravatar image

user0
1021329

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 die Problemstellung somit ein wenig). Dafür machten machen wir das Beispiel realistischer für die deutsche deutschsprachige 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} 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 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
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

20 Apr '19, 01:38

user0's gravatar image

user0
1021329

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

20 Apr '19, 01:21

user0's gravatar image

user0
1021329

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

20 Apr '19, 01:20

user0's gravatar image

user0
1021329