• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Problem mit hyperref und shadethm

Lord Mobi

Zuccalmaglios Renette
Registriert
12.09.06
Beiträge
258
Hallo :)
Ich habe ein etwas komplizierteres Problem mit der Verwendung von hyberref für die Verlinkung in Kombination mit Theoremen (Sätzen, Definitionen,...), die ich mit der shadethm-Umgebung einbinde.

Zunächst ein paar allgemeine Informationen:

  • Die Dokumentklasse ist scrbook.
  • hyperref wird direkt vor \begin{document} eingebunden
Ich habe das Dokument so eingerichtet, dass ein gemeinsamer Zähler "definitions" über die Sätze, Lemmata, Korollare und Definitionen zählt und jeweils zu Begin eines Chapters zurückgesetzt wird.
Hier liegt anscheinend das Problem. Hyperref weist den shadethm-Umgebungen identifier der Form "definitions.nummer" zu, wobei "nummer" die jeweilige Nummer innerhalb eines Kapitels ist, die natürlich in jedem Kapitel von neuem anfängt. Daraus resultiert das Problem, dass die identifier nicht mehr eindeutig sind, Beispiel:
[86.86]pdfTeX warning (ext4): destination with the same identifier (name{definitions.19}) has been already used, duplicate ignored
Ich erzeuge ein Theorem (in diesem Fall eine Definition (Nummer 3.12)) wie folgt:
Code:
\begin{defi}[Stichwort]\label{def:3-12} 
Hier steht der Inhalt des Theorems
\end{defi}
Das wäre also das 12. Theorem in Kapitel 3.

Ich verweise später auf diese Theoreme dann mittels
Code:
\ref{def:3-12}
Die richtige Nummer (also 3.12) wird auch automatisch angezeigt. Nur das Linkziel ist nicht Definition 3.12 sondern das 12. Theorem in Kapitel 1 (dort kam der Identifier definitions.12) als 1. vor.


Hier noch meine Konfiguration des Zählers und der Theoreme:
Code:
\newshadetheorem{definitions}{Definition}[chapter]
\newshadetheorem{thms}[definitions]{Satz}
\newshadetheorem{lemma}[definitions]{Lemma}
\newshadetheorem{cors}[definitions]{Korollar}
\newshadetheorem{zuss}[definitions]{Zusammenfassung}
\newshadetheorem{axioms}[definitions]{Axiom}

\newenvironment{satz}[1][]{%
\renewcommand{\labelenumi}{\textbf{\alph{enumi})}}
\renewcommand{\labelenumii}{\textbf{(\roman{enumii})}}
  \definecolor{shadethmcolor}{rgb}{.9,.9,.95}%
  \definecolor{shaderulecolor}{rgb}{0.0,0.0,0.0}%
  \setlength{\shadeboxrule}{1pt}%
  \begin{thms}[#1]\hspace*{1mm}%
  \vspace*{0.5em}\\\rm
}{\end{thms}}

\newenvironment{defi}[1][]{%
\renewcommand{\labelenumi}{\textbf{\alph{enumi})}}
\renewcommand{\labelenumii}{\textbf{(\roman{enumii})}}
  \definecolor{shadethmcolor}{rgb}{.9,.9,.95}%
  \definecolor{shaderulecolor}{rgb}{0.0,0.0,0.0}%
  \setlength{\shadeboxrule}{1pt}%
  \begin{definitions}[#1]\hspace*{1mm}%
      \vspace*{0.5em}\\\rm
}{\end{definitions}}

\newenvironment{lem}[1][]{%
\renewcommand{\labelenumi}{\textbf{\alph{enumi})}}
\renewcommand{\labelenumii}{\textbf{(\roman{enumii})}}
  \definecolor{shadethmcolor}{rgb}{.9,.9,.95}%
  \definecolor{shaderulecolor}{rgb}{0.0,0.0,0.0}%
  \setlength{\shadeboxrule}{1pt}%
  \begin{lemma}[#1]\hspace*{1mm}%
        \vspace*{0.5em}\\\rm
}{\end{lemma}}

\newenvironment{corr}[1][]{%
    \renewcommand{\labelenumi}{\textbf{\alph{enumi})}}
    \renewcommand{\labelenumii}{\textbf{(\roman{enumii})}}
  \definecolor{shadethmcolor}{rgb}{.9,.9,.95}%
  \definecolor{shaderulecolor}{rgb}{0.0,0.0,0.0}%
  \setlength{\shadeboxrule}{1.5pt}%
  \begin{cors}[#1]\hspace*{1mm}%
   \vspace*{0.5em}\\\rm
}{\end{cors}}
Ich hoffe, dass ich das Problem verständlich schildern konnte.

Danke schon mal für die Hilfe!