Anzeige:
Ergebnis 1 bis 15 von 15

Thema: Hyperref erstellt falsche Links!

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.08.2006
    Beiträge
    20

    Hyperref erstellt falsche Links!

    Hallo,

    habe ein Problem mit den Hyperrefs-Links. Kann mich erinnern, mal ein ähnliches Problem gehabt zu haben und sollte eigentlich schon gelöst sein. Aus irgendeinem Grund funktionieren die Links für Bild und Tabellen-Links bis zu einer gewissen Stelle ohne Probleme und nummerieren sich ab dann wieder neu. Während das bei Bildern wilder durcheinander geht, ist das bei den Tabellen zB erst ab Tabelle 8.

    In der AUX-Datei steht z.B. bei Tabelle 7 noch:

    Code:
    \@writefile{lot}{\contentsline {table}{\numberline {5.7}{\ignorespaces Messergebnisse zur Messung Sp\"ulen und Vorlegen mit $f_{abtast}=4000\tmspace  +\thinmuskip {.1667em}Hz$}}{31}{table.7}}
    in Tabelle 8 dann aber auf einmal

    Code:
    \@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Definition der Soll-Kriterien}}{33}{table.1}}}
    D.h. dann ja anscheinend, dass er auf Tabelle1 zeigt mit {table.1}, was auch so stimmt. Ähnlich verhält es sich bei Abbildungen.

    Das Paket hyperref wird schon als letztes Paket aufgerufen mit folgenden Parametern:

    Code:
    \usepackage[breaklinks=true,pdftex,linkbordercolor=000,citebordercolor=000,citecolor=black,urlcolor=blue,
    plainpages=false,pdfpagelabels=true,
    pdfstartview=FitV, 												%FitV=vertikale Seitenanpassung,FitH=horizontale
    hypertexnames=TRUE, colorlinks=true,linkcolor=black,pdfkeywords={Diplomarbeit},
    pdftitle={Diplomarbeit},pdfauthor={Name des Autors}]{hyperref}
    Auch habe ich vor den \addcontentline den Befehl \phantomsection gepackt. Das Projekt habe ich auch schon bereinigt und neu kompiliert.

    Habt Ihr eine Idee, woran es liegen könnte. Weiss auch nicht, wie ich Euch da mit einem Minimalbeispiel weiterhelfen könnte.

    Gruß, Notwist

  2. #2
    Registrierter Benutzer Avatar von knu
    Registriert seit
    13.04.2005
    Beiträge
    95
    Hallo, Notwist,

    also ein Minimalbeispiel mit meinetwegen acht Tabellen könnte schon weiterhelfen, denn sonst ist es schwierig das nachzuvollziehen.

    Eine mögliche Ursache sehe ich aber: Je nachdem was Du für eine Dokumentenklasse benutzt und welche sonstige Einstellungen Du vorgenommen hast, werden Bilder und Tabellen kapitelweise von vorn nummeriert. Und da Du in Deinem Beispiel anscheinend von Kapitel 5 auf 6 übergehst, könnte das zu Deinem Problem führen.

    Um das jedoch genau einschätzen zu können und Dein Problem richtig zu verstehen, bräuchte ich wirklich eine Minimalbeispiel, das es mir erlaubt, Dein Problem nachzuvollziehen.

    Gruß,
    Knu
    Zed is dead!

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.08.2006
    Beiträge
    20
    Hallo,

    ich glaube, ich habe den Fehler gefunden. Als ich mein Minimalbeispiel gebaut habe, ist mir aufgefallen, dass es an den Kapitelwechseln liegt. Du hattest also Recht mit Deiner Vermutung. Habe zB 10 Kapitel gemacht und in jedem Kapitel eine Tabelle und später eine Referenz. Jede Referenz ist immer auf die erste Tabelle gesprungen, weil ja in jedem Kapitel nur eine Tabelle war. Im AUX-File wiesen dann auch alle auf {table1}. Als ich dann noch in einem Kapitel Tabelle 10.2 und Tabelle 10.3 erstellt hatte und auf diese verwiesen habe, sprang er auf die korrekten Tabellen 10.2 und 10.3, weil diese ja nur einmal vorhanden waren.

    Was kann ich jetzt machen? Muss ich bei jedem Kapitelwechsel den Counter für Tabellen und Abbildungen retten oder gibt es eine einfache Option?

    Hier mal das "Minimalbeispiel".

    Code:
    \documentclass[a4paper,12pt,DIV13,idxtotoc,bibtotocnumbered]{scrartcl} 
    
    \usepackage{tabularx}
    \usepackage{capt-of}
    \usepackage{color,colortbl}			%Farben aktivieren  
    \definecolor{hellgrau}{gray}{0.9}
    \usepackage{listings}
    \usepackage[automark]{scrpage2}	
    \setlength{\headheight}{2.1\baselineskip}
    \pagestyle{scrheadings}
    \clearscrheadings
    \setlength{\headsep}{1.5cm}
    
    \renewcommand{\headfont}{\footnotesize\itshape\bfseries}
    \ofoot{-\hspace{10pt}\pagemark\hspace{10pt}-}		% Seitenzahlen
    \setheadsepline{0.5pt}					%Dicke der Trennlinie Kopfzeile - Text
    \setfootsepline{0.5pt}					%Dicke der Trennlinie Fusszeile - Text
    
    \pagestyle{scrheadings}					%gemachte Einstellungen anwenden
    
    \ihead{\vspace{-0,9cm}\headmark}								% kapitel oben links in Kopfzeile
    \automark[subsection]{section} %[rechts]{links}
    
    %+++Automatische Beschriftungen konfigurieren++++++++++++++++++++++++++++++++++++++++++++++++
    \renewcommand{\thefigure}{\thesection.\arabic{figure}}		% Anzeige Bildunterschrift: 5-2
    \makeatletter\@addtoreset{figure}{section}\makeatother		% Rücksetzen der Bildnummer nach Kapitel
    
    \renewcommand{\thetable}{\thesection.\arabic{table}}		% Anzeige Tabellenunterschrift: 5-2
    \makeatletter\@addtoreset{table}{section}\makeatother		% Rücksetzen der Tabellennummer nach Kapitel
    
    \renewcommand{\theequation}{\thesection.\arabic{equation}}		% Anzeige Tabellenunterschrift: 5-2
    \makeatletter\@addtoreset{equation}{section}\makeatother		% Rücksetzen der Tabellennummer nach Kapitel
    
    \renewcommand{\thelstlisting}{\thesection.\arabic{lstlisting}}		% Anzeige Listingunterschrift: 5-2
    \makeatletter\@addtoreset{lstlisting}{section}\makeatother		% Rücksetzen der Listingnummer nach Kapitel
    
    %\renewcommand*{\captionformat}{~--~}
    \setkomafont{caption}{\small\it}													% Format für Text bei Abbildungen etc.
    \setkomafont{captionlabel}{\small\itshape\bfseries}				% Format für Abbildung
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%% Hyperrefs aufrufen %%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%% Immer als Letztes aufrufen %%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    \usepackage[breaklinks=true,pdftex,linkbordercolor=000,citebordercolor=000,citecolor=black,urlcolor=blue,
    plainpages=true,pdfpagelabels=true,
    pdfstartview=FitV, 												%FitV=vertikale Seitenanpassung,FitH=horizontale
    hypertexnames=TRUE, colorlinks=true,linkcolor=black,pdfkeywords={Diplomarbeit},
    pdftitle={Titel},pdfauthor={Autor}]{hyperref}
    
    
    \begin{document}
    
    \section{Kapitel 1}
     
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle1}
    	\label{tab:Tabelle1}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle1}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 2}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle2}
    	\label{tab:Tabelle2}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle2}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 3}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle3}
    	\label{tab:Tabelle3}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle3}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 4}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle4}
    	\label{tab:Tabelle4}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle4}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 5}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle5}
    	\label{tab:Tabelle5}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle5}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 6}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle6}
    	\label{tab:Tabelle6}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle6}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 7}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle7}
    	\label{tab:Tabelle7}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle7}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 8}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle8}
    	\label{tab:Tabelle8}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle8}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 9}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle9}
    	\label{tab:Tabelle9}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle9}
    
    \newpage Platzhalter \newpage Platzhalter \newpage
    
    \section{Kapitel 10}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle10}
    	\label{tab:Tabelle10}
    \end{center}
    
    Hier ist die Referenz zu Tabelle \ref{tab:Tabelle10}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle11}
    	\label{tab:Tabelle11}
    \end{center}
    
    \begin{center}
    	\begin{tabular}{|l|c|}
    	\hline  	\rowcolor{hellgrau}	
    		\textbf{Leer}	&  \textbf{Leer}\\ \hline
    		Leer	& Leer \\ \hline	 
    	\end{tabular}		
    	\captionof{table}{Tabelle12}
    	\label{tab:Tabelle12}
    \end{center}
    
    \newpage Hier ist die Referenz zu Tabelle \ref{tab:Tabelle11} \newpage Hier ist die Referenz zu Tabelle \ref{tab:Tabelle12} \newpage
    
    \end{document}
    Mein Ausgabeprofil lautet:

    Code:
    "%bm" -l -g -s "%dm"\Einstellungen\index.ist
    Gruß, Notwist
    Geändert von Notwist (05-01-2007 um 12:25 Uhr)

  4. #4
    Registrierter Benutzer Avatar von knu
    Registriert seit
    13.04.2005
    Beiträge
    95
    Hallo, Notwist,

    meiner Meinung nach liegt das Problem an Deiner Umdefinition der Unterschriften:

    Code:
    %+++Automatische Beschriftungen konfigurieren++++++++++++++++++++++++++++++++++++++++++++++++
    \renewcommand{\thefigure}{\thesection.\arabic{figure}}		% Anzeige Bildunterschrift: 5-2
    \makeatletter\@addtoreset{figure}{section}\makeatother		% Rücksetzen der Bildnummer nach Kapitel
    
    \renewcommand{\thetable}{\thesection.\arabic{table}}		% Anzeige Tabellenunterschrift: 5-2
    \makeatletter\@addtoreset{table}{section}\makeatother		% Rücksetzen der Tabellennummer nach Kapitel
    
    \renewcommand{\theequation}{\thesection.\arabic{equation}}		% Anzeige Tabellenunterschrift: 5-2
    \makeatletter\@addtoreset{equation}{section}\makeatother		% Rücksetzen der Tabellennummer nach Kapitel
    
    \renewcommand{\thelstlisting}{\thesection.\arabic{lstlisting}}		% Anzeige Listingunterschrift: 5-2
    \makeatletter\@addtoreset{lstlisting}{section}\makeatother		% Rücksetzen der Listingnummer nach Kapitel
    Nimmt man dieses raus, dann werden die Bilder in fortlaufender Reihenfolge beschriftet (1, 2, 3, ... und nicht 1.1, 1.2, 2.1, 3.1, 3.2, ...). Auch die Links funktionieren dann einwandfrei. Das heißt, nimmst Du diese fehlerhafte Umdefinition raus, hast du keine Probleme mehr.

    Jetzt weiß ich jedoch nicht, ob Du deine Bilder, Tabellen usw. vielleicht unbedingt nach jedem Kapitel neu nummerieren willst; das ist ja durchaus üblich - gerade bei größeren Dokumenten.

    Wenn Du das willst solltest Du eigentlich eine andere Dokmentklasse wählen - eine die echte Kapitel anbietet und nicht wie scrartcl nur sections als oberste Ebene, also z. B. scrreprt.

    Ansonsten könntest Du auch das paket chngcntr nutzen und Deinen Code wie folgt abändern - dann wird je section der Unterschriftencounter zurückgesetzt.

    Code:
    ...
    
    %+++Automatische Beschriftungen konfigurieren++++++++++++++++++++++++++++++++++++++++++++++++
    \renewcommand{\thefigure}{\thesection.\arabic{figure}}		% Anzeige Bildunterschrift: 5-2
    %was hier stand, LÖSCHEN
    
    \renewcommand{\thetable}{\thesection.\arabic{table}}		% Anzeige Tabellenunterschrift: 5-2
    %was hier stand, LÖSCHEN
    
    \renewcommand{\theequation}{\thesection.\arabic{equation}}		% Anzeige Gleichungsnummer: 5-2
    %was hier stand, LÖSCHEN
    
    \renewcommand{\thelstlisting}{\thesection.\arabic{lstlisting}}		% Anzeige Listingunterschrift: 5-2
    %was hier stand, LÖSCHEN
    
    %\renewcommand*{\captionformat}{~--~}
    \setkomafont{caption}{\small\it}													% Format für Text bei Abbildungen etc.
    \setkomafont{captionlabel}{\small\itshape\bfseries}				% Format für Abbildung
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%% Hyperrefs aufrufen %%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%% Immer als Letztes aufrufen %%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    \usepackage[breaklinks=true,pdftex,linkbordercolor=000,citebordercolor=000,citecolor=black,urlcolor=blue,
    plainpages=true,pdfpagelabels=true,
    pdfstartview=FitV, 												%FitV=vertikale Seitenanpassung,FitH=horizontale
    hypertexnames=TRUE, colorlinks=true,linkcolor=black,pdfkeywords={Diplomarbeit},
    pdftitle={Titel},pdfauthor={Autor}]{hyperref}
    
    \usepackage{chngcntr} %unbedingt nach hyperref einbinden
    
    \counterwithin{table}{section}
    \counterwithin{figure}{section}
    \counterwithin{equation}{section}
    \counterwithin{lstlisting}{section}
    
    \begin{document}
    
    ...
    Gruß,
    René
    Zed is dead!

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.08.2006
    Beiträge
    20
    Genau das mit dem chngcntr-Paket hatte ich auch rausbekommen, dachte auch schon, dass es die Lösung ist. Aber leider werden dann die Abbildungen und alles andere durchnummeriert und nicht mehr kapitelweise behandelt, was ich aber unbedingt brauche für das Dokument. Also nicht 1,2,3..., sondern 1.1, 1.2, 1.3, 2.1!

    Ich weiss, dass es auch mit scrartcl gehen muss. Vielleicht hat ja noch jemand eine Idee.

    Warum muss das chngcntr-Paket nach dem hyperref aufgerufen werden? Dachte immer, hyperref muss unter allen Umständen als letztes aufgerufen werden!

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Zitat Zitat von Notwist Beitrag anzeigen
    Genau das mit dem chngcntr-Paket hatte ich auch rausbekommen, dachte auch schon, dass es die Lösung ist. Aber leider werden dann die Abbildungen und alles andere durchnummeriert und nicht mehr kapitelweise behandelt, was ich aber unbedingt brauche für das Dokument. Also nicht 1,2,3..., sondern 1.1, 1.2, 1.3, 2.1!

    Ich weiss, dass es auch mit scrartcl gehen muss. Vielleicht hat ja noch jemand eine Idee.
    Code:
    \documentclass{scrartcl}
    :
    \usepackage{chngcntr}
    \usepackage{hyperref}
    \counterwithin{figure}{section}
    \renewcommand{\theHfigure}{\theHsection.\arabic{figure}}
    :
    der \counterwithin bindet dabei figure an section und passt Afair das Aussehen des Zaehlers (\thefigure) entsprechend mit an (den Teil hattest Du selbst schon drin, wenn es auch etwas umstaendlicher aussah).
    Mit \theHfigure wird eine Abbildung von hyperref referenziert, der sollte also entsprechend mit angepasst werden und schon...
    Zitat Zitat von Notwist Beitrag anzeigen
    Warum muss das chngcntr-Paket nach dem hyperref aufgerufen werden? Dachte immer, hyperref muss unter allen Umständen als letztes aufgerufen werden!
    wo steht das?
    D.h. evtl sorgt chngcntr dann dafuer, dass die entspr. \theH... gleich mit umdefiniert werden? Mal testen...
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    27.12.2006
    Beiträge
    62
    wo steht das?
    Z.B. hier http://www.jkrieger.de/tools/latex/hyperref.html aber ich hab das auch schon woanders gelesen. In irgendso einer Einführung, weiß jetzt aber auch nicht mehr genau welche das war. Oben steht jedenfalls dazu:
    "Das paket wird mit \usepackage[Optionen]{hyperref} eingebunden. Es sollte als letztes Paket in das Dokument eingebunden werden, damit keines seiner Eigenschaften überschrieben wird. "

  8. #8
    Registrierter Benutzer
    Registriert seit
    09.08.2006
    Beiträge
    20
    Hallo,

    @rais: Genau so ist es. Perfekt. Ich weiss zwar nicht genau, was ich anders gemacht habe, außer die Reihenfolge der Befehle und dass ich

    Code:
    \renewcommand{\thefigure}{\thesection.\arabic{figure}}
    anstatt

    Code:
    \renewcommand{\theHfigure}{\theHsection.\arabic{figure}}
    verwendet habe, aber jetzt funktioniert es. Im AUX-File steht jetzt immer {figure.2.1} usw., so dass kein Eintrag mehr doppelt ist. Und auch die Einteilung ist so geblieben, wie ich sie haben wollte.

    Das mit Hyperref am Ende hatte ich in anderen Threads bezüglich Problemen mit Sprungmarken gelesen bzw. in der Doku (Saschabo).

    Vielen Dank, auch Dir knu nochmal.

    P.S.: Gerade nochmal was gefunden: Hyperref benutzt wohl \theHfigure zum Referenzieren. Der muss immer eindeutig sein und deshalb muss auch dieser in den \renewcommand. Denke, das war der Knackpunkt.
    Geändert von Notwist (05-01-2007 um 17:07 Uhr)

  9. #9
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Gern geschehen
    Bei Deinem zuvor geposteten Code hat eigentlich nur \theHfigure etc. gefehlt, also
    Code:
    \renewcommand{\thefigure}{\thesection.\arabic{figure}}      %Anzeige Bildunterschrift: 5-2
    \makeatletter\@addtoreset{figure}{section}\makeatother     %Rücksetzen der Bildnummer nach Kapitel
    \renewcommand{\theHfigure}{\theHsection.\arabic{figure}} %Hyperref Abbildungsreferenz
    @saschabo: sorry, da hab ich n Satz zuviel von Notwist zitiert. Eigentlich wollte ich wissen, warum changecntr nach hyperref geladen werden soll bzw. wo das steht.
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  10. #10
    Registrierter Benutzer
    Registriert seit
    09.08.2006
    Beiträge
    20
    Das musst Du knu fragen, steht so in seinem Quellcode weiter oben.

  11. #11
    jean
    Gast

    Wie bekommt man richtige Links bei equation?

    Ich will Gleichungen im Format (section-equation) numerieren,
    doch hyperref verweist immer auf die erste Gleichung, und dies trotz
    einer Neudefinition vo Hequation

    Hier ein Beispiel

    Code:
    \documentclass{report}
    \usepackage{amsmath}
    \usepackage{hyperref}
    \renewcommand{\theequation}{\arabic{section}-\arabic{equation}}
    \makeatletter\@addtoreset{equation}{section}\makeatother    
    \renewcommand{\theHequation}{\theHsection..\arabic{equation}}
    \begin{document}
    \chapter{One}
    \section{One one}
    This is \ref{B}.
    \section{One two}
    \begin{equation}
      x=y+1\label{A}
    \end{equation}
    \chapter{Two}
    \section{Two one}
    This is \ref{B}.
    \section{Two two}
    \begin{equation}
      x=y-1\label{B}
    \end{equation}
    \end{document}
    In der AUX file steht
    Code:
    \newlabel{A}{{2-1}{1}{One two\relax }{equation.2-1}{}}
    \newlabel{B}{{2-1}{2}{Two two\relax }{equation.2-1}{}}
    Wie bekomme ich die richtigen Links ?

  12. #12
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo und Herzlich Willkommen an Board
    Zitat Zitat von jean Beitrag anzeigen
    In der AUX file steht
    Code:
    \newlabel{A}{{2-1}{1}{One two\relax }{equation.2-1}{}}
    \newlabel{B}{{2-1}{2}{Two two\relax }{equation.2-1}{}}
    Wie bekomme ich die richtigen Links ?
    kA warum der \theHsection in Deiner Definition für \theHequation nicht greift, OTOH: Du hast doch zweimal Gleichung 2-1... einmal in Kapitel 1, Abschnitt 2 und dann nochmal in Kapitel 2, Abschnitt 2? Vllt solltest Du einfach
    Code:
    \renewcommand{\theequation}{\arabic{chapter}-\arabic{section}-\arabic{equation}}
    verwenden und gut ist -- für den Leser allemal, wenn die Gleichungen schon pro Abschnitt gezählt werden;-)
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  13. #13
    jean
    Gast

    theHequation versus theHfigure

    Alle theH Definitionen funktionieren ausser theHequation. Wenn man durch tracingmacros nachschaut, sieht man dass theHequation einfach theequation ergibt und alle andren Definitionen ueberspringt.

    Gibt's einen Umweg, derdas verhindert?

  14. #14
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Zitat Zitat von jean Beitrag anzeigen
    Alle theH Definitionen funktionieren ausser theHequation. Wenn man durch tracingmacros nachschaut, sieht man dass theHequation einfach theequation ergibt und alle andren Definitionen ueberspringt.

    Gibt's einen Umweg, derdas verhindert?
    wenn Du darauf bestehst...
    Code:
    \makeatletter
      \@removefromreset{equation}{chapter}
      \@addtoreset{equation}{section}
      \renewcommand\make@stripped@name[1]{\relax}
    \makeatother
    \newcommand{\newname}{\theHsection.\arabic{equation}}
    %\renewcommand{\theHequation}{\theHsection.\arabic{equation}}
    den \@removefromreset aus dem remreset-Paket brauchst Du glaub' ich nicht wirklich, ich sorge lieber dafür, daß ein Zähler ungebunden ist, bevor ich ihn an einen anderen Zähler binde;-)
    Jedenfalls wird bei hyperrefs Neudefinition von z.B. der equation-Umgebung \theHequation auf \newname gesetzt, welcher normalerweise in diesem \make@stripped@name aus \theequation gewonnen wird.
    Aber ich halte das immer noch für eine schlechte Idee (abgesehen davon: kA, was Du Dir damit wohlmöglich aushebelst), den Gleichungszähler an den Abschnittszähler zu binden und in der Anzeige den Kapitelzähler (an den der Abschnittszähler ja gebunden ist) beim Gleichungszähler zu unterdrücken.

    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  15. #15
    jean
    Gast

    Ein Traum

    Zitat Zitat von rais Beitrag anzeigen
    wenn Du darauf bestehst...

    Aber ich halte das immer noch für eine schlechte Idee (abgesehen davon: kA, was Du Dir damit wohlmöglich aushebelst), den Gleichungszähler an den Abschnittszähler zu binden und in der Anzeige den Kapitelzähler (an den der Abschnittszähler ja gebunden ist) beim Gleichungszähler zu unterdrücken.

    MfG,
    Besten Dank! Es geht wirklich! Jetzt kann ich Dir auch sagen, warum ich das so will und wovon ich eigentlich träume:

    In vielen Mathematikbüchern werden die Sätze, Gleichungen usw. Kapitelweise numeriert, und die Kapitelnummer ist impliziert. Das ist auch gut so weil Verweise normalerweise im Kapitel bleiben. Wenn man etwas aus einem andren Kapitel will, dann gibt man noch zusätzlich die Kapitel nummer an. Z. B. Satz 7.2 ist im laufenden Kapitel, Satz III.7.2 ist aus dem dritten Kapitel, zitiert in einem andren Kapitel. Damit de Verweis in hyperref funktioniert, müsste ich die Kapitelnummer immer mitschleppen was nicht sehr elegant ist. Ich chreibe also die Kapitelnummer explizit davor im Text, wenn est nötig ist.

    Wovon ich träume, ist dass das von allein geht: wenn das current chapter verschieden ist von dem, wohin der Link zeigt, wird die Nummer geschrieben, sonst aber nicht. Ich habe das früher gekonnt, bevor hyperref alles neu definiert hat. Jetzt habe ich keine Ahnung, wie man das machen könnte.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •