Konflikt in ntheorem mit thref und todonotes Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Caldo

Konflikt in ntheorem mit thref und todonotes

Beitrag von Caldo »

Hallo,
ich habe ein sehr sehr spezielles Problem und versucht aus dem riesigem TeX-File alle unnötigen Zeilen zu löschen für ein schönes Minibeispiel.

Die Sache ist folgende: Ich nutze das Paket ntheorem. Und das ist auch gut. Weiter nutze ich zum Referenzieren auf meine Sätze und Lemmata etc. den Befehl \thref. Das hat den Vorteil, dass automatisch auch der Umgebungsname mit eingefügt wird.
Weiter mache ich folgendes: In jeder Umgebung (zB. in einem Lemma) wird per Paket "todonotes" eine Randnotiz gemacht, in der ein Counter-Wert geschrieben wird. Ich könnte erklären wieso ich das mache aber der Text wäre länger als der gesamte Post bisher... Und mit dem Problem hat es ja nichts zu tun.

Das Problem ist nun folgendes (Beispiel wie im Minibeispiel):
Habe ich 2 Lemmata und verweise im zweiten via \thref auf das erste, dann erzeugt TeX doch nur die Referenz "0.1" statt "Lemma 0.1".
Dieser Fehler kommt irgendwie wegen der Randnotiz, denn lasse ich diese nicht erzeugen (einfach im Minibeispiel die eine Zeile mit einkommentieren), so läuft alles einwandfrei und Tex erzeugt "Lemma 0.1"...

Könnt ihr mir irgendwie helfen. Ich verstehe nicht, was da schief gehen kann...

Minibeispiel:
\documentclass{scrartcl}

\usepackage{todonotes}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage[hyperref,thref,thmmarks,amsmath]{ntheorem}

\newcounter{myCounter}

\makeatletter
\renewtheoremstyle{plain}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\!\! \theorem@separator]\stepcounter{myCounter}\label{my\arabic{myCounter}}\dhsafnum}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ \normalfont{(##3)}\bfseries\theorem@separator]}
\makeatother

\newtheorem{lemma}{Lemma}[section]
\newcommand{\note}[1]{\todo[noline]{#1}}
\newcommand\dhsafnum{\note{\arabic{section}.\arabic{myCounter}}}

%%  Das hier einkommentieren, dann funktioniert alles:
%\let\dhsafnum=\empty

\begin{document}
	\begin{lemma}
		Testdefinition.
	\end{lemma}
	
	\begin{lemma}
		Wie in \thref{my1} gesehen gilt...
	\end{lemma}
\end{document}
[/code]