Literaturverzeichnis-Einträge mit URL verlinken

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


henge321
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 4. Okt 2011, 17:23

Literaturverzeichnis-Einträge mit URL verlinken

Beitrag von henge321 »

Hallo TeXer!

Ich schreibe gerade an meiner Diss. Für die Bibliografie verwende ich BibTeX und den Stil unsrtdin. Das sieht so weit auch ganz schick aus, nur hätte ich gerne, dass in der per pdflatex erstellten PDF eine Angabe wie zB.

Phys. Rev. Lett., 12:1234-5678, 2011

mit dem zugehörigen anklickbaren Link versehen wird.

Angabe einer URL in der bib-Datei und Einbinden des hyperref Pakets führt dazu, dass die URL anklickbar hinter dieser Angabe erscheint, was ich für wenig sinnvoll halte, da aus der gedruckten Version wohl niemand die kryptischen Links zu solchen Artikeln abtippen würde:

Phys. Rev. Lett., 12:1234-5678, 2011. URL http://prl.aps.org

Ich kann natürlich in der erstellten bbl-Datei manuell bei jedem Eintrag die URL an der entsprechenden Stelle mit dem hyperref-Makro \href{URL}{text} eintragen, aber das wird auf Dauer doch etwas mühsam.

Wie ich die unsrtdin.bst ändern müsste um das gewünschte zu erreichen ist mir völlig schleierhaft - da müsste ich wohl erstmal die Syntax lernen.

Gibt es evtl. schon einen Stil, der das tut, was ich möchte? Oder weiß jemand eine elegante Art, wie ich hier an mein Ziel kommen könnte?

Danke schonmal im Voraus!

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ich weiß nicht, was deinen Stil ausmacht, aber wenn er nicht allzu speziell ist würde ich dir zu einem Wechsel auf biblatex raten. Wenn du das in erwägung ziehen könntest, würde ich mir gedanken zur Umsetzung des URL-Problems machen. Das dürfte nicht allzu schwer sein, aber ich mag jetzt nicht viel Code für nix zaubern müssen ;-)

Grüße
Tobi

cliffhanger
Forum-Century
Forum-Century
Beiträge: 137
Registriert: Di 25. Aug 2009, 11:25
Wohnort: Regensburg

Beitrag von cliffhanger »

Hi Henge,

um sich das Abtippen kryptischer Links zu ersparen, gibt es doch die DOIs. Wieder ein Grund mehr, auf Biblatex umzusteigen:dort werden DOIs automatisch mit Hyperlink versehen, wenn ich mich recht erinnere. Falls ich mich nicht mehr recht erinnere, dann hab ich mir einen Code-Fetzen selbst geschrieben, der das erledigt. Diesen würde ich dir bei Interesse selbstverständlich zur Verfügung stellen.

Grüße
Benedikt

henge321
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 4. Okt 2011, 17:23

Beitrag von henge321 »

Danke schonmal für die Antworten!

Ich hab mir jetzt mal biblatex angeschaut und bin damit jetzt in etwa da, wo ich vorher mit bibtex auch schon war.
Ich binde biblatex folgendermaßen ein:
\usepackage[style=numeric-comp,sorting=none]{biblatex}
\bibliography{literature.bib}
Wenn ich in der literature.bib jetzt bei einem Artikel einen URL oder DOI angebe, wird dieser verbatim und als anklickbarer Link in das Literaturverzeichnis gedruckt.
Ich hätte aber nach wie vor gerne, dass URL/DOI nicht gedruckt erscheinen, sondern nur hinter der Angabe "Journal, Ausgabe, Seiten, Jahr..." im fertigen PDF der entsprechende Link "versteckt" ist (wie oben beschrieben).

Das biblatex Handbuch ist ja verdammt umfangreich... :(

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Hallo,

ich habe leider gerade wenig Zeit, daher hier kein Code sondern nur meine Ideen.
  • Dei Ausgabe der URL unterdürcken, in dem man das Bibmacro url (oder so ähnlich) umdefiniert, bzw. leer macht, so dass es zu keiner Ausgabe führt.
  • Dann das Macro, dass den Titel ausgibt anpassen:
  • MIt \iffieldundef prüfen, ob überhaupt einer URL angeben ist
  • Wenn ja dann diese und den Tietl mit \printfield in \href ausgeben
  • Eventuell muss man die URL zuerst mit \urldef (oder so, siehe url.sty-Doku) zwischenspeichern.
Ich hoffe, du kannst damit ein Bisschen was Anfangen. Wenn nicht musst du dich einfach noch ein Bisschen gedulden ;-)

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

bitte erstelle ein komplettes Minimalbeispiel.

was du zuerst machen musst.

Nutze die Option url=false, doi=false und Redefiniere mittels DeclareFieldFormat die entsprechenden Einträge.

Gruß
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

henge321
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Di 4. Okt 2011, 17:23

Beitrag von henge321 »

OK. Ich hab es jetzt soweit, dass der Titel der zitierten Paper mit dem Link unterlegt wird. Nicht ganz, was ich eigentlich wollte, aber schon mal nah dran. Hier mal ein (Minimal?)beispiel wie es jetzt aussieht:

main.tex
\documentclass[a4paper,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage[style=numeric-comp,sorting=none,url=false]{biblatex}
\bibliography{literature.bib}

\newbibmacro{string+url}[1]{%
  \iffieldundef{url}{#1}{\href{\thefield{url}}{#1}}}
\DeclareFieldFormat[article]{title}{%
\usebibmacro{string+url}{\mkbibquote{#1\isdot}}}

\begin{document}
Text mit Verweis auf \cite{test01}.

\printbibliography
\end{document}
literature.bib
@article{test01,
  author = {Mustermann, M. and Musterfrau, K.},
  title = {Testartikel Titel},
  journal = {Journal of Testing},
  volume = {12},
  pages = {3456--7890},
  url = {http://de.wikipedia.org/wiki/Test},
  year = {2011}
}
Eigentlich wollte ich den Link hier hinter die Angabe "Journal of Testing 12 (2011), S. 3456-7890" platziert haben, weiß aber nicht wie ich das hinkriegen sollte, da diese Angabe (soweit ich das verstehe) in biblatex aus mehreren Feldern zusammengesetzt ist (journaltitle, volume, pages...)

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Das sieht doch schonmal gut aus!


Du könntest die Macros, die "Journal of Testing 12 (2011), S. 3456-7890" erzeugen, rauswerfen (aus dem BibliographyDriver) und ein neues schreiben, das dann den Link erzeugt und alle Felder ausgibt ...
Ich glaube, dass sollte keine unerwünschten Seiteneffekte haben.


Viele Grüße
Tobi

Antworten