Literaturverzeichnis Formatierung

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


scid
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 30. Jul 2015, 18:40

Literaturverzeichnis Formatierung

Beitrag von scid »

Hallo liebe Leute.

Ich sitze derzeit an meiner Diss, mit der ich schon nahezu fertig bin. Derzeit hängt es eigentlich nur noch an minimalen gestalterischen Anpassungen an dem Literaturverzeichnis.

So soll ein Paper-Beitrag dargestellt werden:

Müller, A., Meier, C., Schmidt, H.J., Mayer, D.J., and Schmitt, E.E. (2002). Der kulturelle und soziale Einfluss der Kartoffel: Die unterschätzte Knolle. J Kartoffol, 97, 6634-6639.

Aktuell sieht es so aus
Müller, A., Meier, C., Schmidt, H. J., Mayer, D. J., & Schmitt, E. E. (2002). Der kulturelle und soziale Einfluss der Kartoffel: Die unterschätzte Knolle. J Kartoffol, 97(1), 6634-6639.

Kleiner aber feiner Unterschied, den ich gerne noch verändern würde (der Sinn sei mal dahin gestellt):
- Leerzeichen zwischen den Initialien der Vornamen entfernen (H. J. -> H.J.)
- "&" mit "and" ersetzen [..., ..., & ...] -> [..., ..., and ...]
- 97(1) -> 97

Im Text soll wie folgt zitiert werden (Müller et al., 2002).

Gelöst habe ich das aktuell so:
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=apa,sortcites=true,sorting=nyt,maxcitenames=1,maxbibnames=50,uniquelist=false]{biblatex}
\setlength{\bibhang}{0em}       
\setlength{\bibitemsep}{1em}  

\DeclareLanguageMapping{german}{german-apa}
\addbibresource{literaturrecherche.bib}

\DefineBibliographyStrings{german}{%
andothers = {et al.,}%
}
Bin noch nicht allzu sicher in LaTeX, habt bitte Nachsicht mit mir.

Seht ihr evtl. eine Möglichkeit, wie ich die letzten Feinheiten hinbiegen kann?
Zuletzt geändert von scid am Do 30. Jul 2015, 22:30, insgesamt 1-mal geändert.

Gast

Beitrag von Gast »

Da wir hier am APA-Stil herumpfuschen die obligatorische Warnung: Mit den Änderungen hier verlässt Du den von der APA vorgegebenen Weg, streng genommen ist das also kein APA-Stil mehr.
Da Du nur ein paar kleinere Änderungen vornehmen möchtest verzichten ich auf die Warnung, dass biblatex-apa in einigen Fällen schwieriger zu modifizieren ist als die Standardstile, denn die müssen nicht die Vorgaben der APA in allen Kleinheiten nachbilden und können so etwas modularer bleiben.

Für die Initialen reicht
\renewrobustcmd*{\bibinitdelim}{}
das "&" wird mit
\AtBeginBibliography{\renewcommand*{\finalnamedelim}{%
    \ifthenelse{\value{listcount}>\maxprtauth}
      {}
      {\ifthenelse{\value{liststop}>2}
         {\finalandcomma\addspace\bibstring{and}\space}
         {\addspace\bibstring{and}\space}}}}
ersetzt und mit
\AtEveryBibitem{\ifentrytype{article}{\clearfield{number}}{}}
ignorieren wir die number eines Artikels.

Ich habe außerdem den andothers bibstring mal in biblatex-Sprache geschrieben.
\DefineBibliographyStrings{german}{%
  andothers = {et\addabbrvspace al\adddot}%
}

MWE
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=apa,sortcites=true,sorting=nyt,maxcitenames=1,maxbibnames=50,uniquelist=false]{biblatex}
\setlength{\bibhang}{0em}
\setlength{\bibitemsep}{1em}

\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{biblatex-examples.bib}

\DefineBibliographyStrings{german}{%
  andothers = {et\addabbrvspace al\adddot}%
} 


\AtBeginBibliography{\renewcommand*{\finalnamedelim}{%
    \ifthenelse{\value{listcount}>\maxprtauth}
      {}
      {\ifthenelse{\value{liststop}>2}
         {\finalandcomma\addspace\bibstring{and}\space}
         {\addspace\bibstring{and}\space}}}}

\AtEveryBibitem{\ifentrytype{article}{\clearfield{number}}{}}


\begin{document}
\cite{geer,worman,loh,sigfridsson,aksin}
\printbibliography
\end{document}

scid
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 30. Jul 2015, 18:40

Beitrag von scid »

Hallo!

Vorweg: Vielen Dank, das war mir eine große Hilfe!

Das mit dem APA-Stil ist mir bewusst. Der von meiner Uni geforderte Stil nennt sich "Cell" und ist dem APA relativ ähnlich, warum ich begonnen habe, den APA-Stil zu modifizieren um zu Cell zu gelangen.

Das weglassen der Number hat gut geklappt! Kann man theoretisch auch das "Komma" zwischen BMC Cancer und 12 entfernen?
Beispiel: Iliadis, G., Kotoula, V., Chatzisotiriou, A., Televantou, D., Eleftheraki, A. G., Lambaki, S., ... Fountzilas, G. (2012). Volumetric and mgmt parameters in glioblastoma patients: survival analysis. BMC Cancer, 12, 3. doi:10.1186/1471-2407-12-3

Das mit dem Leerzeichen zwischen den Vornamen-Initialien hat leider nicht geklappt. Woran könnte das liegen?

Interessanterweise entsteht beim Setzen aus im Anhang nun statt dem "&" ein "und", statt dem gewünschten "and"?

Noch eine andere Frage, obwohl ich "maxcitenames=1" festgelegt habe, sehe ich dennoch mehrfach in dem Text, dass trotzdem bei Papern mit wenigen Autoren alle Namen stehen:
Beispiel: (Gerber, Grossman, Zeltzman, Parisi & Kleinberg, 2007)

Außerdem steht trotz "maxbibnames=50" bei mehreren Papern im Literaturverzeichnis ein "..." statt der gesamten Autorenliste.
Beispiel:
Iliadis, G., Kotoula, V., Chatzisotiriou, A., Televantou, D., Eleftheraki, A. G., Lambaki, S., ... Fountzilas, G. (2012). Volumetric and mgmt parameters in glioblastoma patients: survival analysis. BMC Cancer, 12, 3. doi:10.1186/1471-2407-12-3

Vielen Dank! Das übersteigt leider meine eigenen Fähigkeiten.[/u][/b]

Gast

Beitrag von Gast »

Das Komma kann man natürlich auch entfernen
\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}
     \setunit{\addspace}}%
  \printfield{volume}%
  \printfield{number}%
  \setunit{\addspace}\newblock
  \usebibmacro{issuename}%
  \newunit}
Das mit dem Leerzeichen sollte eigentlich funktionieren, ich werde allerdings zugeben, dass ich die relevante Codezeile im MWE am Ende vergessen habe. Der Befehl \renewrobustcmd*{\bibinitdelim}{} tut bei mir aber das Richtige (siehe MWE am Ende dieses Posts).

Nun bei der Geschichte mit dem "und" erwartete ich, dass Dein Dokument deutsch ist? Soll es auf englisch sein? Dann ergibt es keinen Sinn, dass in Deinem Codeausschnitt immer von german die Rede ist. (Der Code gibt "und" in der Dokumentensprache aus.)

Das mit den Namen ist schon wesentlich kritischer. Was Du beobachtest ist die Vorgabe der APA, die recht besonders ist, biblatex-apa verwendet sehr viel Mühe und Code darauf, dieses Format einzuhalten. Eine Konsequenz davon ist, dass die maxnames-Optionen ignoriert werden. Das zurückzudrehen ist gar nicht so einfach und erfordert einiges an Anstrengungen. (Siehe auch hier BibLaTeX APA et al. nicht konsistent).

An dieser Stelle hast Du die kritische Masse an Änderungen in biblatex-apa vielleicht erreicht, und solltest darüber nachdenken einen leichter anpassbaren Stil (in Deinem Fall wohl authoryear) zu modifizieren.

Ein Anfang für die Bibliographie ist vielleicht
\DeclareNameFormat{apaauthor}{%
  \iffieldequalstr{doubtfulauthor}{true}
    {\mkbibbrackets{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}?}}
    {\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}}
  \usebibmacro{name:andothers}}
Wobei da sicher die maxbibnames übergangen werden und einfach alle Namen angezeigt werden.


Solltest Du noch Rückfragen haben, würde ich Dich bitten, ein MWE zu erstellen (Wichtige Hinweise: Erstellung von Literaturverzeichnissen und Was ist ein vollständiges Minimalbeispiel oder kurz VM und wie erstelle ich dieses?) damit wir genau sehen können, was Du in Deinem Dokument eigentlich tust.


MWE
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=apa,sortcites=true,sorting=nyt,maxcitenames=1,maxbibnames=50,uniquelist=false]{biblatex}
\setlength{\bibhang}{0em}
\setlength{\bibitemsep}{1em}

\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{biblatex-examples.bib}

\DefineBibliographyStrings{german}{%
  andothers = {et\addabbrvspace al\adddot}%
} 


\AtBeginBibliography{\renewcommand*{\finalnamedelim}{%
    \ifthenelse{\value{listcount}>\maxprtauth}
      {}
      {\ifthenelse{\value{liststop}>2}
         {\finalandcomma\addspace\bibstring{and}\space}
         {\addspace\bibstring{and}\space}}}}

\AtEveryBibitem{\ifentrytype{article}{\clearfield{number}}{}}

\renewrobustcmd*{\bibinitdelim}{}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}
     \setunit{\addspace}}%
  \printfield{volume}%
  \printfield{number}%
  \setunit{\addspace}\newblock
  \usebibmacro{issuename}%
  \newunit}

\begin{document}
\cite{geer,worman,loh,sigfridsson,aksin}
\printbibliography
\end{document}

scid
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 30. Jul 2015, 18:40

Beitrag von scid »

Hallo unbekannter Helfer,

Zum ersten Problem bin ich in der APA Reference auf folgendes gestoßen:
apamaxprtauth=<num>
This option controls the number of author/editor names which are printed in the References. APA style defaults to 7. You can change this if you really want to fully print all author list references in certain contexts (for example in a CV where you are an author in position 8 ...)
damit hätte ich zumindest die Darstellung im Literaturverzeichnis mit sämtlichen Autoren.

Du hast mich jedoch überzeugt. Ich habe ein wenig mit natbib herumgespielt und tatsächlich festgestellt, dass auch das funktioniert, und der style "Cell" sogar existiert!

Das Literaturverzeichnis sieht tatsächlich aus, wie es soll.

Müller, M., Schmidt, I., Mercel, M. and Pudin, W. (2014). History and social influence of the potato. J Nat Potat 11, 1165–72.

Schön! Mein MWE setzt sich aktuell fehlerfrei, in der gesamten Diss sind noch ein paar Fehlermeldungen, um die ich mich jetzt kümmere.

Ich bedanke mich vielmals für die Hilfe!

Hier mein MWE falls es nach mit jemand noch brauchen sollte
\documentclass[a4paper, 12pt]{scrreprt} 
\usepackage[ngerman]{babel}	
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[onehalfspacing]{setspace}

\usepackage[ngerman]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage{natbib}
\bibliographystyle{cell}

\setlength{\bibhang}{0em}       
\setlength{\bibsep}{1em}  

\begin{document}

\tableofcontents

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua \citep{Müller:2012fk,Schmidt:2004zr}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua\citep{Ente:2002zl}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\bibliography{literaturrecherche}

\end{document}

Zuletzt geändert von scid am Sa 1. Aug 2015, 08:59, insgesamt 2-mal geändert.

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

Beitrag von Johannes_B »

Könntest du dein Minimalbeispiel zu einem echten machen? Subfigure hat mit dem Problem nichts zu tun, das Paket is auch seit 10 Jahren veraltet.

Wer einen doppelten Backslash für einen Absatz macht, begeht den größten Anfängerfehler überhaupt.

Die Pakete fancyhdr und titlesec sollten nicht mit KOMA-script verwendet werden.

Das Umschalten des Seitenstils am Ende des Inhaltsverzeichnisses ist fraglich.

Die Seitenzahl deiner bibliography im TOC wird mit hoher Wahrscheinlichkeit falsch sein. Überhaupt, macht man das mit KOMA-script anders.
Vielleicht ist da noch mehr, was ich jetzt so spät abends nicht mehr sehe.
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.

scid
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 30. Jul 2015, 18:40

Beitrag von scid »

Hallo, vielen Dank für die Hinweise.

Das mit dem Backslash ist mir bewusst. Subfigure war gar nicht in Verwendung, das ist noch ein Relikt in der Präambel aus früheren "Experimenten".

Das Problem ist, dass ich die Funktion von fancyhdr und titlesec nicht anders hinbekommen habe :oops: Nicht schön, hat aber funktioniert. Du hast aber vollkommen recht. Um Alternativvorschläge bin ich aber dankbar :(

Aktuell habe ich noch zwei Probleme. Ich will zwei Online PDFs also folglich Webseiten zitieren, bekomme aber unentweg Fehlermeldungen.

Im Text soll die Website wie folgt zitiert werden (Gesellschaft für Kartoffologie, 2009).

Im Literaturverzeichnis wie folgt
Gesellschaft für Kartoffologie (2014). Wie baut man Kartoffeln richtig an, Registernummer: 001/099. Online: http://www.google.de/kartoffel.html, Stand 01.01.2015

Da diese Website jedoch keinen Autor besitzt, weiß ich zum einen nicht, wie ich es in BibDesk eintrage, und zum anderen nicht, wie ich die Darstellung umstellen soll.

LG

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

Beitrag von Johannes_B »

Ich glaube mit einer realen Seite hast du bessere Chancen. Den Stand einer Webseite kannst du oftmals nicht einsehen, wohl aber das Abrufedatum. Dieses musst du angeben (übrigens auch in der Form des Abrufedatums speichern und verfügbar halten). Einen Autor kannst du meist auch nicht angeben, es sei denn es ist einer explizit angegeben. Für die Organisation welche die Informationen bereit stellt, ist das Feld organization gedacht.

Ist auf einer Webseite eine pdf verfügbar, solltest du einen anderen Typ in Betracht ziehen.


Die titlesec und fancyhdr Problematik gehört in einen anderen Thread und ist hier off-Topic.
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.

Antworten