DOI in Literaturverzeichnis ausgeben

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


jens298

DOI in Literaturverzeichnis ausgeben

Beitrag von jens298 »

Hallo Leute,

ich schaffe es nicht - obwohl ich die entsprechenden Felder im *.bib-File eingetragen habe - dass die DOI im Literaturverzeichnis als Link ausgegeben wird. Außerdem verstehe ich nicht, dass bei der Angabe eines Seitenbereiches ständig "pages" anstelle von "Seiten" ausgegeben wird obwohl ich sämtliche Spracheinstellungen auf deutsch habe.

Hier ist das zugehörige Minimalbeispiel (mit allen von mir verwendeten Packages):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fix-cm}
\documentclass[
a4paper,
11pt,
BCOR8mm,
numbers=noenddot,
oneside,
parskip=half, 
openright, 
fleqn,
bibliography=totoc, 
table,
DIV=14
]{scrbook}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ae}
\usepackage{aecompl}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amstext}
\usepackage[ngerman]{babel}
\usepackage{bibgerm}
\usepackage{bigstrut}
\usepackage{blkarray}
\usepackage{blindtext}
\usepackage{bm}
\usepackage{booktabs}
\usepackage{courier}
\usepackage{chngcntr}
\usepackage{float}
\usepackage{graphicx}

\usepackage[
  %pdftex=true,
  hypertexnames=false,
  plainpages=false,
  pdfpagelabels,
  pagebackref=false, 
  colorlinks=false, 
  bookmarks=true, 
  bookmarksopen=true, 
  bookmarksnumbered=true, 
  pdftitle={Dissertation},
  pdfauthor={Lorem},
  pdfsubject={Ipsum},
  pdfcreator={Accomplished with LaTeX2e and pdfLaTeX with hyperref-package.},
  pdfproducer={},                      
  pdfkeywords={Lorem, Ipsum, Dolor},
  pdfstartview=Fit, 
  pdfpagemode={UseOutlines},
]{hyperref}

\usepackage{ifthen}
\usepackage[latin1]{inputenc} 
\usepackage{listings} 
\usepackage{lmodern}
\usepackage{mathtools}
\usepackage{marvosym}
\usepackage{multirow} 
\usepackage[square]{natbib}
\usepackage{ngerman} 
\usepackage[intoc]{nomencl}
\usepackage{overpic} 
\usepackage{pdfpages}
\usepackage{pgfplots}
\usepackage{pifont} 

\usepackage{rotating}
\usepackage[automark]{scrpage2} 
\usepackage{scrhack}
\usepackage{setspace}
\usepackage{siunitx}
\usepackage{stmaryrd}
\usepackage{subcaption}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{todonotes}
\usepackage{units} 
\usepackage{upgreek}
\usepackage{url}
\usepackage{ucs}
\usepackage{wrapfig}
\usepackage{wasysym}
\usepackage{xfrac}

\graphicspath{{./img/bin/}} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepgfplotslibrary{external}

%% Tikz
\usetikzlibrary{arrows}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{backgrounds}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.text}
\usetikzlibrary{external}
\usetikzlibrary{math}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes}

\tikzexternalize 
\tikzsetexternalprefix{img_exp/}

\setlength{\headheight}{2.5\baselineskip}
\setlength\belowcaptionskip{10pt}    % Abstand der Tabellenüberschriften

\pagestyle{scrheadings}
\setheadsepline{.4pt}
\automark[section]{chapter}
\clearscrheadfoot

\ohead[]{\footnotesize{\headmark}}
\ifoot{\footnotesize{Lorem ipsum}}
\ofoot[\footnotesize{\pagemark}]{\footnotesize{\pagemark}}

\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\small}
\setkomafont{captionlabel}{\sffamily\bfseries}

\bibliographystyle{apalike}

%%% Zurueckcksetzen des Fussnotenzaehlers pro Kapitel stoppen -> Fussnoten sollen durchnummeriert werden
\counterwithout{footnote}{chapter}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
 \chapter{Lorem ipsum dolor}
 ,,\textit{\blindtext[3]}``, so steht das nicht in \citep[]{bazant1989}.
 \bibliography{literature}
\end{document}
Und hier das File "literature.bib":
@INCOLLECTION{bazant1989,
   AUTHOR={Zden\v{e} Pavel Ba\v{z}ant and Santosh Prasannan},
   TITLE={{Solidification Theory for Concrete Creep. I: Formulation}},
   BOOKTITLE={{Journal of Engineering Mechanics Vol. 115 No. 8}},
   PUBLISHER={{American Society of Concrete Engineering}},
   MONTH={aug},
   YEAR={1989},
   PAGES={1691--1703},
   DOI={10.1061/(ASCE)0733-9399(1989)115:8(1691)},
   URL={http://dx.doi.org/10.1061/(ASCE)0733-9399(1989)115:8(1691)},
   ADDRESS={Reston, United States of America}
}
... vielleicht kann mir jemand weiterhelfen, das wäre toll!

Danke im Voraus,
Jens298

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Du hast deine Pakete sehr fein sortiert.
Leider ist das absolut sinnlos und unvorteilhaft.

Ehrlich gesagt, schmeiß das weg und Fang ohne Pakete von vorn an. Und lade nur die, welche du brauchst.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

jens298

Beitrag von jens298 »

Sooh, ich habs nun "abgespeckt", geändert hat das - zumindest vorerst - nichts ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fix-cm}
\documentclass[
a4paper,
11pt,
BCOR8mm,
numbers=noenddot,
oneside,
parskip=half,
openright,
fleqn,
bibliography=totoc,
table,
DIV=14
]{scrbook}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{lmodern}

\usepackage{blindtext}

\usepackage[ngerman]{babel}
\usepackage{bibgerm}
\usepackage[square]{natbib}
\bibliographystyle{apalike}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\chapter{Lorem ipsum dolor}
,,\textit{\blindtext[3]}``, so steht das nicht in \citep[]{bazant1989}.
\bibliography{literature}
\end{document}
Ich weiß ja nicht mal, wonach ich suchen sollte um das Problem herauszubekommen, damit ich es dann beheben kann ...

LG,
Jens289

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Das war nicht auf das Beispiel bezogen, sondern auf dein reales Dokument. Die Pakete sind teilweise veraltet. Du nutzt das alte BibTeX System, mit einem veralteten Paket und einem englischen Stil. Klar, da muss auch was englisches rauskommen.

Wenn du wissen willst, wie man ein Literaturverzeichnis in Dokumentsprache macht, dann wirf einen Blick in die wichtigen Hinweise dieses Unterforums.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Gast

Beitrag von Gast »

apalike.bst ist bis auf eine Lizenzklarstellung seit 1988 nicht mehr geändert worden. DOIs gibt es seit frühestens 2000 (Wikipedia). Da ist es nicht verwunderlich, dass apalike keine DOIs kennt. Es hat ja noch nicht einmal ein eigenes Feld für URLs.

Du musst also einen Stil verwenden, der mit DOIs umgehen kann. Nicht alle BibTeX-Stile können das, da sie teilweise schon sehr lange stabil sind. Bei bestimmten natbib-Stilen könnte es klappen (siehe z.B. hier). Ich würde aber wie Johannes und die wichtigen Hinweise biblatex mit Biber vorschlagen. Da können alle Standardstile und auch eigentlich alle anderen Stile mit DOIs und URLs ohne Probleme umgehen.

Für biblatex gibt es keinen Stil, der genau apalike entspricht. Wahrscheinlich bist Du mit style=authoryear schon ganz gut beraten. Nur wenn Du wirklich den Vorgaben der APA folgen musst, solltest Du style=apa verwenden, der Stil implementiert exakt die APA-Vorgaben und ist daher weniger dafür geeignet, angepasst zu werden.

Dein .bib-Eintrag hat den falschen Typ und ist auch sonst ausbaufähig.
@article{bazant1989,
  author  = {Zden\v{e}k P. Bažant and Santosh Prasannan},
  title   = {Solidification Theory for Concrete Creep. I: Formulation},
  journal = {Journal of Engineering Mechanics},
  volume  = {115},
  number  = {8},
  date    = {1989-08},
  pages   = {1691--1703},
  doi     = {10.1061/(ASCE)0733-9399(1989)115:8(1691)},
}
scheint mir deutlich sinnvoller.

Das Tolle an biblatex ist dass Biber mit Unicode umgehen kann und das korrekt sortiert. Dafür musst Du natürlich von latin1 zu utf8 wechseln. (Ich musste hier \v{e} statt ě schreiben, da die Forumssoftware das im Code sonst umgewandelt hat, hrmpf. Also ist hier nur ž in Unicode...)

Mein Vorschlag (ohne unnötigen Kladderadatsch, aber mit filecontents, das heißt, dass eine eventuell vorhandene .bib-Datei mit demselben Namen wie die .tex-Datei ohne Warnung überschrieben wird. Probier das also in einem leeren Ordner aus.)
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{bazant1989,
  author  = {Zden\v{e}k P. Bažant and Santosh Prasannan},
  title   = {Solidification Theory for Concrete Creep. I: Formulation},
  journal = {Journal of Engineering Mechanics},
  volume  = {115},
  number  = {8},
  date    = {1989-08},
  pages   = {1691--1703},
  doi     = {10.1061/(ASCE)0733-9399(1989)115:8(1691)},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{bazant1989,sigfridsson}
\printbibliography
\end{document}
Johannes hat vollkommen recht, Du hast viel zu viel unnützen Kram in Deiner Präambel. Ich bin mir fast sicher, dass Du nicht alle Pakete nutzt, die Du lädst. Da solltest Du mal einen ordentlichen Frühjahrsputz durchführen. Es ist übrigens in den seltensten Fällen sinnvoll, Pakete alphabetisch zu laden. So gibt es bestimmte Pakete, bei denen eine Reihenfolge einzuhalten ist, hyperref muss bis auf wenige ausnahmen immer als letztes geladen werden. Ich finde es sinnvoll, fontenc und inputenc möglichst früh zu laden und sehe das auch häufig so, habe aber gerade keinen Link mit Empfehlungen, die das auch so sehen, zur Hand. Einige Deiner Pakete laden schon andere Pakete, die Du noch explizit in Deiner Präambel hast, da ließe sich bestimmt noch etwas einsparen. Das Paket blindtext nutzt Du in Deinem Beispiel nicht und in einem echten Dokument ist es fast immer unnütze. Das Paket ngerman sollte man nicht laden, Du hast ja schon \usepackage[ngerman]{babel} das ist genug. Etc. pp.
Ein Frühjahrsputz ist also in den Fall wahrscheinlich zu wenig. Abbrennen und neubauen scheint mir sinnvoller.

jens298

Beitrag von jens298 »

Vielen Dank für eure Hinweis,
ich war in der Zwischenzeit auch nicht untätig und bin eigentlich auch auf eine ähnliche Lösung wie die von meinem Vorposter gekommen:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fix-cm}
\documentclass[
a4paper,
11pt,
BCOR8mm,
numbers=noenddot,
oneside,
parskip=half, 
openright, 
fleqn,
bibliography=totoc, 
table,
DIV=14
]{scrbook}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[latin1]{inputenc} 
\usepackage{lmodern}

\usepackage{blindtext}

\usepackage[ngerman]{babel}
\usepackage[
backend=biber,
style=apa,
natbib
]{biblatex}

\usepackage{csquotes}
\makeatletter
  \newrobustcmd*{\parentexttrack}[1]{%
    \begingroup
    \blx@blxinit
    \blx@setsfcodes
    \blx@bibopenparen#1\blx@bibcloseparen
    \endgroup}
  \AtEveryCite{%
    \let\parentext=\parentexttrack%
    \let\bibopenparen=\bibopenbracket%
    \let\bibcloseparen=\bibclosebracket}
\makeatother
\addbibresource{literature.bib}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
 \chapter{Lorem ipsum dolor}
 ,,\textit{\blindtext[3]}``, so steht das nicht in \parencite{bazant1989} , \citep[3]{bazant1989} %\citep[]{bazant1989}.
 \printbibliography
\end{document}
Ich nutze hier den apa-Stil, wobei ich die runden Klammern durch eckige ersetzt habe.

Das mit dem Laden der Pakete war mir nicht ganz so bewusst ehrlichgesagt; scheint so, als werde ich hier mal zusammenräumen müssen ...

Antworten