PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bigfoot stört Autoref



ElEsido
31-05-2010, 17:51
Hallo!

Bigfoot stört die Autoref-Ausdrücke. Das folgende MB zeigt das Problem: Ohne bigfoot funzten die autorefs wie gewünscht, bigfoot setzt andere Begriffe ein und behält die Zahlen, auf die es zu referenzieren gilt. Kennt jemand einen Workaround?

Beispiel zwei mal mit und zwei mal ohne Bigfoot laufen lassen.

\documentclass[ngerman]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{bigfoot}
\usepackage{varioref}
\usepackage{hyperref}

% Randnummern
\usepackage{marginnote}
\marginparsep = 0pt%Abstand der Randbemerkungs-Spalte zum Text
\newcounter{randnummer}[chapter]
\renewcommand\therandnummer{\arabic{chapter}.\arab ic{randnummer}}
\newcommand{\rn}[1]{%
\refstepcounter{randnummer}{#1}%
\marginnote{\quad\footnotesize\therandnummer}} %als Grösse kann \tiny \scriptsize \footnotesize \small \normalsize verwendet werden

\newcommand{\randnummerautorefname}{Rn.} % erklärt dem Paket Varioref, dass für den Befehl \autoref die Bezeichnung Randnummer verwendet werden soll

\begin{document}
\chapter{Kapitel}
\section{Der Text}
Etwas Text\footnote{Eins} um Fusnoten\footnote{Zwei} anzuhängen.\footnote{Drei}

Etwas Text ohne Randnummer\label{etwastextohne}.\footnote{Eine Fussnote\label{fn:eine}} Etwas mehr Text ohne Randnummer. Etwas Text, um den leeren Raum ein wenig aufzufüllen. Etwas Text, um den leeren Raum ein wenig aufzufüllen. Etwas Text, um den leeren Raum ein wenig aufzufüllen.

\rn{Etwas} Text mit Randnummer\label{etwastextmit}.\footnote{Noch eine Fussnote\label{fn:nocheine}} Etwas mehr Text ohne Randnummer. Etwas Text, um den leeren Raum ein wenig aufzufüllen. Etwas Text, um den leeren Raum ein wenig aufzufüllen.

\section{Die Referenzen}
Hier die Referenzen auf den Text ohne (\autoref{etwastextohne}) und mit Randnummer (\autoref{etwastextmit}) sowie die erste problematische Fussnote im Textblock ohne Randnummer (\autoref{fn:eine}) und schliesslich die problematische Fussnote im Textblock mit Randnummer (\autoref{fn:nocheine}). Die Zahlen der Fussnoten werden jeweils übernommen, aber die Begriffe stimmen nicht.
\end{document}

u_fischer
31-05-2010, 19:26
bigfoot setzt \hyperfootnotes=falsch, und daraufhin ändert hyperref \footnote nicht mehr, und kann daher sich auch nicht mehr merken, dass der \label in einer Fußnote ist. Ob es dafür eine vernünftige Lösung gibt, kann ich nicht sagen, frag mal in c.t.t. oder direkt Heiko. Sowas könnte ein Workaround sein:


\documentclass[ngerman]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[hyperfootnotes=false]{hyperref}
\makeatletter
\newcommand\fnlabel{\def\@currentHref{footnote}\la bel}
\makeatother
\begin{document}

\makeatletter
\chapter{Kapitel}
\section{Der Text}
Etwas Text\footnote{Eins\fnlabel{fn:1}}
um Fußnoten\footnote{zwei\label{fn:2}}\label{sec:1}

\section{Die Referenzen}
Fußnote 1: \autoref{fn:1} (richtig)

Fußnote 2: \autoref{fn:2} (falsch)

Sec: \autoref{sec:1}

\end{document}

ElEsido
02-06-2010, 21:04
Danke, das funktioniert als Notlösung. Habs dennoch mal in c.t.t gepostet.

ElEsido
02-07-2010, 15:46
Wie könnte hier die Bezeichnung der Fussnote geändert werden? Folgendes funktioniert nicht:


\documentclass[ngerman]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[hyperfootnotes=false]{hyperref}

%% Referenz von Autoref auf Fussnoten umbenennen
\renewcommand\Hfootnoteautorefname{TESTFUSSNOTE}

\makeatletter
\newcommand\fnlabel{\def\@currentHref{footnote}\la bel}
\makeatother
\begin{document}

\makeatletter
\chapter{Kapitel}
\section{Der Text}
Etwas Text\footnote{Eins\fnlabel{fn:1}}
um Fußnoten\footnote{zwei\label{fn:2}}\label{sec:1}

\section{Die Referenzen}
Fußnote 1: \autoref{fn:1} (richtig)

Fußnote 2: \autoref{fn:2} (falsch)

Sec: \autoref{sec:1}

\end{document}

u_fischer
02-07-2010, 18:28
Indem man mal in manual.pdf nach autoref sucht.


\addto\extrasngerman{%
\def\footnoteautorefname{TESTFUSSNOTE}%
}

ElEsido
02-07-2010, 23:19
Vielen Dank!