PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hyperref: unterbrochene Links bei benutzung mit natbib



tral
22-01-2010, 15:44
Hallo,

wenn ich hyperref zusammen mit natbib verwende, werden zwar für Zitate Links erzeugt, diese sind jedoch bei bestimmten BibTeX-Styles (z.B. apalike) zweigeteilt, d.h. es werden pro Zitat zwei Links erzeugt, einer für den Author-Namen und einer für das Jahr. Dies sieht sehr unschön aus (Beispieldatei findet sich unten):

http://www.mrunix.de/forums/attachment.php?attachmentid=3506&stc=1&d=1264171314

Ohne natbib wird nur ein zusammenhängender Link erzeugt, wie es sein sollte.

Ich vermute mal, hyperref kommt irgendwie nicht mit der Umdefinierung von \bibcite durch natbib zurecht. In der .aux Datei steht:


\bibcite{example}{{1}{2010}{{Mustermann}}{{}}}

Daraus wird ja dann irgendwie der Literatur-Verweis gebastelt...


Beispielcode:



\documentclass{article}

\usepackage{natbib}
\usepackage[final]{hyperref}

\begin{document}

\cite{example}

\bibliographystyle{apalike}

\begin{thebibliography}{}
\bibitem[Mustermann, 2010]{example}
Mustermann, H. (2010).
\newblock Test.
\end{thebibliography}

\end{document}


Ich habe schon reichlich gegoogelt, aber leider keine Lösung gefunden. Weiß jemand Rat bei diesem Problem?

Viele Grüße,

Christian.

tral
25-01-2010, 17:27
Einer der Autoren von hyperref, Heiko Oberdiek, hat mir folgende Notlösung empfohlen:



\makeatletter
\let\hyper@natlinkbreak\@firstoftwo
\makeatother


Jetzt gibt es nur noch einen Link, allerdings ist die schließende Klammer nicht mehr dabei...

http://www.mrunix.de/forums/attachment.php?attachmentid=3509&stc=1&d=1264436442

Lustig oder?

Er hat mir empfohlen, mich an die natbib-Autoren zu wenden, was ich auch getan habe. Ich halte euch auf dem Laufenden...

Oder hat jemand noch eine Lösungsidee?

Hier nochmal das Gesamtbeispiel:


\documentclass{article}

\usepackage{natbib}
\usepackage[final]{hyperref}

\makeatletter
\let\hyper@natlinkbreak\@firstoftwo
\makeatother

\begin{document}

\cite{example}

\bibliographystyle{apalike}

\begin{thebibliography}{}
\bibitem[Mustermann, 2010]{example}
Mustermann, H. (2010).
\newblock Test.
\end{thebibliography}

\end{document}


Christian.

lockstep
25-01-2010, 18:31
Jetzt gibt es nur noch einen Link, allerdings ist die schließende Klammer nicht mehr dabei...


Deiner ursprünglichen Graphik nach zu schließen war die schließende Klammer auch vorher nicht dabei.



Oder hat jemand noch eine Lösungsidee?


Auch wenn ich dir die Daumen drücke: Wenn Heiko Oberdiek, der neben der Betreuung von hyperref schon etliche andere Best-Practice-Beispiele für (La)TeX-Code geliefert hat, dir eine Notlösung empfiehlt, liegt eine bessere Lösung zumindest nicht auf der Hand.

lockstep