PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hyperref Backref und Table



B-ellanna
09-06-2010, 17:08
Hallo
Ich hab ein Problem mit der Hyperref Package Option backref=page.
Wenn ich diese anschalte, dann rutschen authoryear Zitate in einer Tabelle eine Zeile tiefer.

Wenn ich die Option wieder ausschalte passiert das nicht mehr, allerdings finde ich die so praktisch, das ich sie schon gerne für die elektronische Version der Dissertation verwenden würde.

Was müsste ich denn tun damit das "runterrutschen" nicht mehr passiert? Irgendwie hab ich keine Idee.

Leider hab ich gerade keine Zeit (noch eine Woche da muss die Diss in den Druck...) ein perfektes Minimalbeispiel zu bauen, aber es ist schon ziemlich viel raus geflogen, das mal eben schnell wegging. (Booktabs ist z.B. noch drin, man sieht so besser was ich meine)



\documentclass[a4paper]{scrbook}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[backref=page]{hyperref}

\begin{document}
\bibliographystyle{abbrvnat}

\begin{table}
\begin{tabular}{p{.25\textwidth}p{.5\textwidth}}
\toprule
dings & References\\
\midrule
I & \cite{jon90}\\
II & \cite{jon99}\\
\bottomrule
\end{tabular}
\end{table}

\begin{thebibliography}{jon90}
\bibitem[\protect\citeauthoryear{Jones, Barker,
and Williams}{Jones et al.}{1990}]{jon90}
\bibitem[\protect\citeauthoryear{Jones, Barker,
and Williams}{Jones et al.}{1999}]{jon99}
\end{thebibliography}

\end{document}


Danke für eure Hilfe!
B-ellanna

mechanicus
09-06-2010, 20:40
Hi,


\documentclass[a4paper]{scrbook}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{hyperref}
\hypersetup{backref=page}
\begin{document}
\bibliographystyle{abbrvnat}

\begin{table}
\begin{tabular}{p{.25\textwidth}p{.5\textwidth}}
\toprule
dings & References\\
\midrule
I & \cite{jon90}\\
II & \cite{jon99}\\
\bottomrule
\end{tabular}
\end{table}

\begin{thebibliography}{jon90}
\bibitem[\protect\citeauthoryear{Jones, Barker,
and Williams}{Jones et al.}{1990}]{jon90}
\bibitem[\protect\citeauthoryear{Jones, Barker,
and Williams}{Jones et al.}{1999}]{jon99}
\end{thebibliography}

\end{document}

Gruß
Marco

B-ellanna
09-06-2010, 22:54
Hi Marco,

Danke schon mal das du dich mit meinem Problem befasst hast. Allerdings löst dein Ansatz mein Problem nicht, vielleicht nur auf meinem System?

Ich bekomme (vom Sinn her) folgende Fehlermeldung, wenn ich deine Version anwende:
"Option Backref has already been used (hyperref), setting the option has no effect..."

Und weil die Option nicht gesetzt wird, ist natürlich auch das Problem mit der nächsten Zeile nicht mehr da. Das erreiche ich auch einfach dadurch den Befehl auszukommentieren. Aber ich möchte den Befehl ja nun mal gerne nutzen.

Liebe Grüße und Gute Nacht
B-ellanna

mechanicus
10-06-2010, 16:33
Hi,

dann nutze zum zitieren:

\leavevmode\cite{jon99}
Dann funktioniert es.

Ich würde die aber empfehlen, eine bib-Datei zu nutzen und evtl. wenn du noch am Anfang deiner Arbeit stehst, zu biblatex zu wechseln.

Gruß
Marco

B-ellanna
10-06-2010, 21:07
Hi Marco
Also ich habe natürlich eine Bitex Datei. Aber die geht ja nicht im Minimalbeispiel...
Ich geb nächste Woche schon ab, und bin unglaublich froh von Anfang an mit JabRef meine BibTeX Datei aufgebaut zu haben...

So funktioniert es jetzt.
Für Interessierte jetzt das Minimalbeispiel. Die option \hypersetup{backref=page} benötigt man nicht. Dann kommt eine Warnung und die Meldung das man die Option schon verwendet. Einfach \usepackage[backref=page]{hyperref} einstellen und gut. Und beim entsprechenden Zitat dann \leavevmode\cite{Murrayetal_96}.

Lieben Dank!
B-ellanna





\documentclass[a4paper]{scrbook}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[backref=page]{hyperref}

\begin{document}
\bibliographystyle{abbrvnat}

\begin{table}
\begin{tabular}{p{.25\textwidth}p{.5\textwidth}}
\toprule
dings & References\\
\midrule
I & \leavevmode\cite{Murrayetal_96}\\
II & \leavevmode\cite{Maetal_06a}\\
\bottomrule
\end{tabular}
\end{table}

\bibliography{Mini}

\end{document}



Und hier ein Ausschnitt aus dem JabRef File Mini.bib




% This file was created with JabRef 2.6.
% Encoding: UTF-8

@ARTICLE{Maetal_06a,
author = {Bing Ma and Joanne L Simala-Grant and Diane E Taylor},
title = {{Fucosylation in prokaryotes and eukaryotes}},
journal = {Glycobiology},
year = {2006},
volume = {16},
pages = {158R-184R},
number = {12},
month = {Dec},
doi = {10.1093/glycob/cwl040},
url = {http://dx.doi.org/10.1093/glycob/cwl040}
}

@ARTICLE{Murrayetal_96,
author = {B. W. Murray and S. Takayama and J. Schultz and C. H. Wong},
title = {{Mechanism and specificity of human $\alpha$-1,3-fucosyltransferase
V}},
journal = {Biochemistry},
year = {1996},
volume = {35},
pages = {11183-11195},
number = {34},
month = {Aug},
doi = {10.1021/bi961065a},
url = {http://dx.doi.org/10.1021/bi961065a}
}