beamer + biblatex + biber + hyperref: Verlinkungsfehler!

Alles rund um das System für Linux, Mac & Windows.


gnu-che
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 27. Aug 2012, 23:16

beamer + biblatex + biber + hyperref: Verlinkungsfehler!

Beitrag von gnu-che »

Hallo Forum,

ich kämpfe schon 2 Wochen mit einem Verlinkungsproblem meiner Präsentationen. Die Kompilierung mit Latex ist anscheinend fehlerfrei, nur führen die verlinkten Abschnitten (Inhaltsverzeichnis etc.) nicht (immer) zum Ziel. oft landet man eine Seite zu weit nach vorne. Verlinkten Webseiten funktonieren fehlerfrei. Bei der Verwendung der Option backref=true gibt es ebenfalls Verlinkungsfehler: um den Link anzuklicken, muss man in der Umgebung des verlinkten Zeichens suchen, denn auf dem Zeichen selbst bleibt die Maus tod, dabei funktioniert es beim anklicken der aktiven Stelle doch nicht.

Im Internet habe ich einige ähnliche Fehlerbeschreibung gefunden, doch keine Lösung, die bei mir funktionieren konnte.

Hier ein vollständiges Minimal-Beispiel:
% Präsentation mit Latex beamer biblatex  biber
\documentclass[xcolor=dvipsnames]{beamer}  
\let\Tiny=\tiny
\usepackage[ngerman]{babel,varioref,layout}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=authoryear,sorting=nyt,backref=true]{biblatex}
\bibliography{biblatex.bib} % Verzeichnis der Bib-Datei muss angepasst werden.
%% --- Antrag in der Bib-Datei: -----
% @book{spie006,
%   hyphenation =	 {german},
%   Author =       {André Spiegel},
%   title =	 {Die Befreiung der Information. GNU, Linux und die Folgen},
%   pages =	 {175 S.},
%   publisher =	 {MSB Matthes und Seitz},
%   year =	 2006,
%   Adress =       {Berlin},
%   edition =      {}, 
%   isbn =	 {},
%   annote =	 {Regalbestand},
% }
%% ------- Ende der Bib-Datei ------------

\bibhang1.5em 
\definecolor{links}{HTML}{2A1B81}
\hypersetup{hyperindex,bookmarksopenlevel=1,colorlinks,linkcolor=blue,,citecolor=blue,urlcolor=links,pdfstartview={Fit}}

\mode<presentation>
{
    \usetheme{tree} 
}

\title[] 
{Freie Software für die empirische Sprachverarbeitung}
\author[]
{Dozent: Mustermann}
\institute[Institut]
{Freie Uni}
\date 
{WS 2012/13}

\subject{Präsentationstitel}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\section{Inhaltsverzeichnis}
\label{sec:Inhalt}
\begin{frame}
    \tableofcontents
\end{frame}

\section{Freie Software für unabhängige moderne  Sprachforscher}
\label{sec:soft}
\begin{frame}
\frametitle{Freie Software für unabhängige moderne  Sprachforscher}
\end{frame}

\subsection{Softwarepaket R: statistische Analyse}
\label{R}
\begin{frame}
\frametitle{Softwarepaket R}
\textbf{Statistik für Linguisten mit dem Softwarepaket R}
\end{frame}

\section{GNU/Linux: Ein vollständig freies Betriebssystem }
\label{gnu}
\begin{frame}
 \frametitle{GNU/Linux: Ein vollständig freies Betriebssystem}
\textbf{Stabiler, frei und kostenlos!}
  \textcite{spie006}:
  \url{http://www.die-befreiung-der-information.de/}\\
PDF runterladen: \url{http://www.die-befreiung-der-information.de/download/befreiung.pdf}
\end{frame}

\section{Literatur}
\label{sec:literatur}
\begin{frame}{Bibliographie} 
\printbibliography
\end{frame}

\end{document}

Ich bedanke mich im voraus für Eure Hilfe!

Viele Grüße
gnu-che
Zuletzt geändert von gnu-che am Mi 28. Nov 2012, 20:45, insgesamt 2-mal geändert.

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Also meine erste schnelle Idee wäre: hyperref wird von beamer bereits geladen. Lösch also mal das \usepackage[]{hyperref}. Zumal du auch keine [] machen solltest, wenn du keine Optionen übergeben willst.
Zweite Idee ist: veraltete aux-Datei. Einfach ein zweiter LaTeX-Lauf ohne Änderungen an der Datei.

PS: Dein Beispiel ist zwar vollständig, aber keineswegs minimal. Kannst du nicht eine Folie raussuchen, die das beschriebene Verhalten zeigt?

gnu-che
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 27. Aug 2012, 23:16

Beitrag von gnu-che »

Hallo Sudo,

danke für die Hinweise!
Also meine erste schnelle Idee wäre: hyperref wird von beamer bereits geladen. Lösch also mal das \usepackage[]{hyperref}. Zumal du auch keine [] machen solltest, wenn du keine Optionen übergeben willst.
Zweite Idee ist: veraltete aux-Datei. Einfach ein zweiter LaTeX-Lauf ohne Änderungen an der Datei.
Beides hatte ich schon mehrfach gemacht. Jetzt habe ich es widerholt, leider ohne Neuigkeiten.
PS: Dein Beispiel ist zwar vollständig, aber keineswegs minimal. Kannst du nicht eine Folie raussuchen, die das beschriebene Verhalten zeigt?
[\quote]

Da das Problem nur Folienübergreifend zu prüfen/testen ist, ist die Beibehaltung einige Folie unabdingbar. Daher auch die Bibliographie, wo man versuchen kann, auf den blauen '5' zu klicken, der bon 'bachref=true' gesetzt wurde. Ich habe dennoch einige Folien entfernt, die in der Tag nicht fehlen.

Was mir noch eingefallen ist: Wenn ich dvi ausgeben lasse statt pdf (pdflatex), funktonieren die Links. Nur dann tauchen andere Probleme auf: Bibliographie wird nicht richtig angezeit und die URLs werden nicht in mehreren Zeilen verteilt (ragen am Rande hinaus).

Ah, mit biber habe ich vor etwa einem Monat begonnen, weil somit bestimmte zusätzliche Zeichen (UTF...) unterstützt werden, Dafür habe ich in .emacs bestimmte Einträge gemacht. Doch fiel mir auf, dass biber beim Aufruf immer biber finished successfully ausgibt, obwohl häufig eindeutig gravierende Fehler vorhanden waren. O das was mit dem Verlinkungsproblem zu tun haben kann, kann bezweifelt werden.

Jemand eine Idee?

Viele Grüße
gnu-che

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Soweit ich das auf die Schnelle prüfen konnte, funktionieren alle Links tadellos. Ist dein System aktuell? Wenn ja: hast du in der log-Datei geprüft, ob irgendwelche veralteten lokalen Dateien benutzt werden?

gnu-che
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 27. Aug 2012, 23:16

Beitrag von gnu-che »

Hallo,

Ulricke hat geschrieben:
Soweit ich das auf die Schnelle prüfen konnte, funktionieren alle Links tadellos.
Hast du es ebenfalls mit pdftex kompiliert?
Ist dein System aktuell? Wenn ja: hast du in der log-Datei geprüft, ob irgendwelche veralteten lokalen Dateien benutzt werden?
Ich benutze die Debian-Testing-Version ( http://packages.debian.org/testing/) und aktualisiere sie regelmäßig. Wie kann ich eigentlich prüfen, ob dennoch "veraltete lokalen Dateien benutzt werden"?

Ich habe die log-Datei nach Fehlern durchsucht und konnte folgendes finden:
Package biblatex Warning: Patching footnotes failed.
(biblatex) Footnote detection will not work.
------------------
Package rerunfilecheck Info: File `beamhyp.out' has not changed.
------------------
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
------------------
Package ifluatex Info: LuaTeX not detected.
----------------------
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
-------------------
Package pdftexcmds Info: LuaTeX not detected.
------------------------
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
)
-----------------------
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
)
Ob das relevant ist?

Grüße,
gnu-che

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

gnu-che hat geschrieben: Hast du es ebenfalls mit pdftex kompiliert?
Natürlich.
gnu-che hat geschrieben:
Ist dein System aktuell? Wenn ja: hast du in der log-Datei geprüft, ob irgendwelche veralteten lokalen Dateien benutzt werden?
Ich benutze die Debian-Testing-Version ( http://packages.debian.org/testing/) und aktualisiere sie regelmäßig.
"Linux-eigene" TeX-Systeme sind eigentlich nie aktuell. Überprüfe deine hyperref-Version. Ich habe

hyperref.sty 2012/11/06 v6.83m Hypertext links for LaTeX
gnu-che hat geschrieben: Wie kann ich eigentlich prüfen, ob dennoch "veraltete lokalen Dateien benutzt werden"?
Pfade + Versionen in der log-Datei überprüfen.

gnu-che
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 27. Aug 2012, 23:16

Beitrag von gnu-che »

Hallo Ulrike,

danke für deine Tipps. Sie halfen mir, das Problem zu identifizieren!

Ulrike hat geschrieben:
"Linux-eigene" TeX-Systeme sind eigentlich nie aktuell. Überprüfe deine hyperref-Version. Ich habe hyperref.sty 2012/11/06 v6.83m Hypertext links for LaTeX
Das möchte ich bezweifeln! Unter Debian steht die sogenannte stabile (etwas unaktuell), die Testing (ein guter Kompromiss zwischen Stabilität und Aktualität) und die unstabile Version (aktuelle Paketversionen) zur Verfügung. Unter Testing ist zurzeit folgendes Paket installiert:
Package: hyperref 2012/05/13 v6.82q
Also ist nicht veraltet! Und ist gut so! Denn das Problem lag voanders: an meinem PDF-Anzeigerprogramm. Nach deinem Hinweis habe ich jetzt mal mit anderen Programmen die pdf-Datei geöffnet und alles funktionierte, wie du schon gesagt hattest, 'tadellos'! So ist es manchmal: man sucht lange nach der Ursache eines Problems, das gar nicht existiert!

Vielen Dank an allen für die Hilfe und alles Beste!

Viele Grüße,
gnu-che

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

gnu-che hat geschrieben:Testing ist zurzeit folgendes Paket installiert:
Package: hyperref 2012/05/13 v6.82q
Also ist nicht veraltet!
5 Monate sich bei hyperref schon viel. Da gab es diverse Fehlerkorrekturen/Ergänzungen dazwischen.

Aber wichtiger ist: Das zeigt, dass du kein TeXLive-Manager (tlmgr) für Paket-Updates hast (oder ihn nicht verwendest). Und das kann bei Paketen, die zur Zeit aktiv weiterentwickelt werden (z.B. biblatex/biber, l3-Pakete, siunitx, hyperref) schon wichtig sein.

gnu-che
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 27. Aug 2012, 23:16

Beitrag von gnu-che »

Hallo Ulrike,

über TeXLive-Manager (tlmgr) habe ich in der Tat noch nicht gehört. Mit den aktuellen Einträge in meine sources.list des Debian-Systems kann ich dieses Paket nicht finden. Ich habe die Beschreibung im Manual nicht so ganz kappiert, insbesondere nicht, ob dieses Paket wie jedes andere einfach zusätzlich auf Debian installiert werden kann. Wie hast du es eingentlich gemacht (ich vermute, dass du auch ein freies Betribssysteme verwendest!)?

Jetzt hätte ich doch noch eine Frage zu Hyperref oder so. Ich möchte eine Webseite-Adresse hinter einem Link verbergen/hinterlegen, so dass sich die Webseite öfnet, wenn ich HIER klicke. Ich habe wie folgt probiert, das funktioniert jedoch nicht:

\hyperlink{http://www.debian.org}{HIER}

Danke und viele Grüße,
gnu-che

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

gnu-che hat geschrieben: über TeXLive-Manager (tlmgr) habe ich in der Tat noch nicht gehört. Mit den aktuellen Einträge in meine sources.list des Debian-Systems kann ich dieses Paket nicht finden. Ich habe die Beschreibung im Manual nicht so ganz kappiert, insbesondere nicht, ob dieses Paket wie jedes andere einfach zusätzlich auf Debian installiert werden kann. Wie hast du es eingentlich gemacht (ich vermute, dass du auch ein freies Betribssysteme verwendest!)?
Wenn du dir den Link in meiner Signatur angesehen hättest, wüsstest du, dass ich meistens Miktex benutze.

Abgesehen davon: Wenn du ein komplettes TeXLive willst, musst du es am Paketmanagers von Debian vorbei manuell installieren.
http://www.tug.org/texlive/quickinstall.html

Das machen viele. Es gibt auch Leute, die der Meinung sind, dass man mit derartigen manuellen Installationen sein Linuxsystem hochgradig gefährdet und dass man dafür in die Hölle kommt.
Jetzt hätte ich doch noch eine Frage zu Hyperref oder so. Ich möchte eine Webseite-Adresse hinter einem Link verbergen/hinterlegen, so dass sich die Webseite öfnet, wenn ich HIER klicke. Ich habe wie folgt probiert, das funktioniert jedoch nicht:
Siehe Dokumentation (manual.pdf) von hyperref. 4 Additional user macros.[/quote]

Antworten