biblatex Literaturverzeichnis

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


flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

Ich habe nun mal versucht ein lauffähiges Minimalbeispiel zu erstellen. Ich bin mir nicht sicher, wie ich den Quellcode auch bzw. die .bib Datei mitgeben soll.
Der beschriebene Code hilft leider nicht das Problem zu lösen, dafür macht er Punkte hinter den Initialien. Mit style=numeric ist das Problem, dass ich viele andere Sachen anpassen müsste. Das Aussehen stimmt sonst komplett, bis eben auf dieses eine Feld.
\documentclass[a4paper,12pt,twoside,openright,headsepline,bibtotoc,cleardoubleempty]{scrreprt}

\usepackage[a4paper,left=2.5cm,right=2.5cm]{geometry}%dieses Paket benutzen um Ränder einzustellen 
\usepackage{lmodern}%lädt Schrifttyp
\usepackage{setspace}%Zeilenabstand
\onehalfspacing
\usepackage[T1]{fontenc} %Kodierung für europäische Zeichen%
\usepackage[latin1]{inputenc} %europäischer Eingabezeichensatz, ansinew stellt Umlaute dar%
\usepackage[english,ngerman]{babel} %Konventionen für deutsche Sprache%
\usepackage[locale=DE, repeatunits=false, trapambigrange=false]{siunitx}%Paket zum Setzen von Einheiten --> Abstand 
\sisetup{unitsep=cdot, valuesep=thin, decimalsymbol=comma, expproduct=cdot, digitsep=thin, sepfour=false, tophrase=-}%Angaben notwendig für deutsche Notation




\usepackage[backend=bibtex, citestyle=numeric, bibstyle=nejm, sorting=nyt, language=english, maxnames=25]{biblatex} %style legt den Zitierstil fest, maxnames listet alle Autoren (bis 25) auf
\bibliography{Bibliothek} %verweist auf die .bib Datei
\renewcommand*{\finalnamedelim}{\multinamedelim} %kein and vor letztem Autor
\renewcommand*{\entrysetpunct}{\addsemicolon\space}
\setlength{\bibitemsep}{0.8\baselineskip} %definiert den vertikalen Abstand im Literaturverzeichnis zwischen den Einträgen


\begin{document}
Nach neueren Untersuchungen ist die Erde rund \cite{Sankaralingam2015}.



\printbibliography[maxnames=25] %maxnames listet bis 25 Autoren auf
\end{document}

Literaturdaten
@Article{Sankaralingam2015,
  Title                    = {The impact of obesity on the pharmacology of medications used for cardiovascular risk factor control.},
  Author                   = {Sankaralingam, Sowndramalingam and Kim, Richard B. and Padwal, Raj S.},
  Journal                  = {Can J Cardiol},
  Year                     = {2015},

  Month                    = {Feb},
  Number                   = {2},
  Pages                    = {167--176},
  Volume                   = {31},

Gast

Beitrag von Gast »

Bei mir erzeugt der Vorschlag keine zusätzlichen Punkte bei den Initialen.
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage[english,ngerman]{babel} 

\usepackage[backend=bibtex, citestyle=numeric, bibstyle=nejm, sorting=nyt, language=english, maxnames=25]{biblatex} 
\addbibresource{biblatex-examples.bib} 
\renewcommand*{\finalnamedelim}{\multinamedelim} 
\renewcommand*{\entrysetpunct}{\addsemicolon\space}
\setlength{\bibitemsep}{0.8\baselineskip} 

\renewcommand*{\bibpagespunct}{\addcolon\space}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \usebibmacro{issue+date}%
  \setunit*{\addsemicolon\space}
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addcomma\space}%
  \usebibmacro{issue}%
  \newunit}

\begin{document}
Nach neueren Untersuchungen ist die Erde rund \cite{sigfridsson}.

\printbibliography
\end{document}
Ich habe außerdem den Code für number ergänzt. Das Feld wird jetzt wieder angezeigt.

Wenn Dir der Doppelpunkt für die Seiten nicht gefällt, kannst Du die Zeile \renewcommand*{\bibpagespunct}{\addcolon\space} beliebig anpassen.

flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

Mit dem Code klappt es. Genau so sind die Vorgaben. Eine kleine Änderung würde ich gern noch vornehmen. Und zwar soll um die jeweilige "Number" eine runde Klammer.
Nach dem Format: Volume(Number)

Bsp.: 2013; 74(5): 54-67.

Ganz lieben Dank schonmal für die Hilfe. Ich hätte nicht gewusst, wie ich sonst das Problem hätte beheben können, um die Arbeit nächste Woche einreichen zu können.

Gast

Beitrag von Gast »

Ersetze in dem Code von oben den \renewbibmacro*{volume+number+eid}{-Block durch
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  %\setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

Wirklich nochmals vielen Dank! Ich bin so froh. Nun ist es genau so, wie es sein soll. Ich hänge mal ein Bild des Ergebnisses an, falls noch jemand diesen Stil benötigt.
Dateianhänge
nejm.png
nejm.png (23.96 KiB) 2358 mal betrachtet

flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

Hallo,
ich habe nochmal eine Frage. Gibt es eine Möglichkeit, das Literaturverzeichnis genau so aussehen zu lassen, nur dass es ohne die Zahlen dargestellt wird und die erste Zeile eingerückt ist?
Ich habe es zunächst mit der option authoryear versucht, aber da wären noch wesentlich mehr Anpassungen nötig. Im Text habe ich über die Option citestyle=authoryear bereits auf Autoren umgestellt.
Mit den Zahlen ist es eigentlich ok, aber es wird wohl lieber mit Autorennamen gesehen.

Gast

Beitrag von Gast »

Eine Möglichkeit wäre
\defbibenvironment{bibliography}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}
Beachte aber bitte, dass bibstyle=nejm nicht wirklich für einen Autor-Jahr-Stil geeignet ist. Bei solchen Stilen sollte das Jahr recht nah nach dem Autor kommen, damit die Zitate leicht aufzufinden sind.

flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

Super das hat funktioniert.
Danke für den Tipp mit den Jahreszahlen. Dazu noch zwei Fragen:

1) Kann man denn die Jahreszahlen auch in Klammern hinter die Autoren setzen?
Bsp.: Elllis KJ, Abrams DA (2000). The test company......
Eigentlich ist hierfür ja der "authoryear" Stiel eher geeignet. Aber wie gesagt, da müsste ich meines Erachtens noch mehr Dinge anpassen um zu dem Ergebnis zu kommen. Das habe ich leider nicht hin bekommen.

2) Zitieren im Text.
Zum Zitieren im Text verwende ich die Option citestyle=authoryear-icomp. Mit den Optionen maxcitenames=2 lege ich weiter fest, dass mehr als zwei Autoren im Text mit et al. aufgeführt werden. Wenn es genau zwei Autoren gibt, so werden die durch ein Komma getrennt. Ich würde gern, dass sie durch ein "und" getrennt werden. (Ich verwende im Text den Befeht \parencite)

Hier noch einmal die Optionen für Biblatex
[/code]
\usepackage[backend=bibtex, citestyle=authoryear-icomp, bibstyle=nejm, sorting=nyt, language=english, maxcitenames=2, mincitenames=1]{biblatex}
Das Minimalbeispiel ist sonst wie oben.

Gast

Beitrag von Gast »

Da ich keine Ahnung habe, wie genau Deine Vorgaben aussehen, vertraue ich da jetzt mal auf Dein Urteil, dass es komplizierter wäre, authoryear direkt anzupassen, als nejm völlig auszuweiden. Es gibt tatsächlich einige recht leichte Anpassungen, die recht viel Code benötigen und die daher im Internet seltener zu finden sind, aber soweit ich mir nejm.bbx angesehen habe, ist das meiste recht human (und ich bezweifle, dass Du alles davon benutzt).

Wir können das wie folgt machen: Wir laden als Stil style=authoryear und schummeln dann nejm mit einem \input dazu, bevor wir unsere zusätzlichen Anpassungen loslassen.
\usepackage[backend=bibtex, style=authoryear, sorting=nyt, maxbibnames=999, maxcitenames=2]{biblatex}

\makeatletter
\input{nejm.bbx}
\makeatother
Ad 2) Soweit ich weiß, haben wir doch dafür gesorgt, dass im Literaturverzeichnis selbst kein "und" steht. Ich gehe davon aus, dass das so bleiben soll. Dafür haben wir \renewcommand*{\finalnamedelim}{\multinamedelim} benutzt, wenn das nur im Literaturverzeichnis gelten soll, dann brauchen wir stattdessen
\AtBeginBibliography{\renewcommand*{\finalnamedelim}{\multinamedelim}}
Insgesamt
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ngerman]{babel}

\usepackage[backend=bibtex, style=authoryear, sorting=nyt, language=english, maxbibnames=999, maxcitenames=2]{biblatex}
\addbibresource{biblatex-examples.bib}

\makeatletter
\input{nejm.bbx}
\makeatother

\AtBeginBibliography{\renewcommand*{\finalnamedelim}{\multinamedelim}}
\renewcommand*{\entrysetpunct}{\addsemicolon\space}
\setlength{\bibitemsep}{0.8\baselineskip}

\renewcommand*{\bibpagespunct}{\addcolon\space}

\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  %\setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \usebibmacro{issue+date}%
  \setunit*{\addsemicolon\space}
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addcomma\space}%
  \usebibmacro{issue}%
  \newunit}

\defbibenvironment{bibliography}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}

\begin{document}
Nach neueren Untersuchungen ist die Erde rund \cite{sigfridsson}.

\printbibliography
\end{document}

flitzebogen
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Mo 18. Apr 2016, 18:17

Beitrag von flitzebogen »

1) Das Literaturverzeichnis stimmt nun von so weit. Es ergibt sich jedoch nun das Problem, dass die Autoren auf einmal nicht mehr alphabetisch geordnet werden. Nach Jahren auch nicht. Ich glaube nach Vorkommen im Text. Dabei habe ich ja die option sorting=nyt mitgegeben.


2) Zitate im Text:
-bei mehreren Autoren soll nur dort stehen:
-> Herdegen et al 2000

-bei genau zwei Autoren soll dort stehen:
-> Herdegen & Busch 2000
Es wäre gut, wenn ich nur für die Zitate im Text festlegen könnte, dass genau 2 Autoren durch "und" bzw. "&" getrennt werden.

Vielen Dank schon einmal für die bisherige Mühe.

Antworten