zitieren mit (Autor(Jahr))

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
eisa
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 10. Apr 2020, 22:01

zitieren mit (Autor(Jahr))

Beitrag von eisa »

Ich möchte gerne wenn ich zitiere folgendes Layout erhalten: bla bla bla (Autor(Jahr)). Leider habe ich es auch nach langem goolen nicht hinbekommen. Vielleicht kann mir jemand hier ja helfen. Das ist meine Präambel und ich habe es schon mit /citep, /parenctie usw versucht ...

Code: Alles auswählen

 
%Dokumentklasse
\documentclass[a4paper,12pt]{scrreprt}
\usepackage[left= 4cm,right = 2cm, bottom = 2cm]{geometry}
\usepackage[onehalfspacing]{setspace}
% ============= Packages =============

% Standard Packages
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx, subfig}
\graphicspath{{img/}}
\usepackage{fancyhdr}
\usepackage{lmodern}
\usepackage{color}

%Literaruverzeichnis
\usepackage[bibstyle=authoryear, citestyle=authoryear, backend=biber,natbib=true]{biblatex}
\addbibresource{Literatur.bib}
\DeclareNameAlias{default}{family-given}
%macht titel bei article kursiv
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
%macht, dass journal titel nicht kursiv ist
\DeclareFieldFormat{journaltitle}{#1}

%löscht in for Journal
\renewbibmacro*{in:}{}
%Komma statt Punkt
\renewcommand*{\newunitpunct}{\addcomma\space} 
%Doppelpunkt statt Komma hinter Autoren  
\renewcommand{\labelnamepunct}{\addcolon\space} 
\nocite{*}  
 
Zuletzt geändert von eisa am Sa 11. Apr 2020, 07:20, insgesamt 1-mal geändert.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2156
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mit der Vorschau des Editors kannst Du überprüfen, ob der BBCode bei Deinem unvollständigen Beispiel richtig benutzt wurde.

Der zweite Befehl des Pakets biblatex-ext scheint Dir die Klammern zu geben, die Du suchst. Mit dieser Einstellung wird allerdings der Verschachtelungsmechanismus der Klammern ausgehebelt, der mit den Klammerbefehlen in dem auskommentierten ersten Befehl funktioniert.

Code: Alles auswählen

\documentclass[fontsize=12pt]{scrreprt}
\usepackage[left= 4cm,right = 2cm, bottom = 2cm]{geometry}
\usepackage[onehalfspacing]{setspace}
% Das Paket darf mit der Option seit April 2018 entfallen.
% Näheres erfährst Du in ltnews auf CTAN.
%\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
% Falls es benötigt wird, sollte es besser durch das Paket der Klasse ersetzt werden.
%\usepackage{fancyhdr}
\usepackage{lmodern}
% Wechsel zu dem Autor-Jahr-Stil des Pakets biblatex-ext
\usepackage[style=ext-authoryear]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareNameAlias{default}{family-given}
%macht titel bei article kursiv
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
%macht, dass journal titel nicht kursiv ist
\DeclareFieldFormat{journaltitle}{#1}

%löscht in for Journal
\renewbibmacro*{in:}{}
%Komma statt Punkt
\renewcommand*{\newunitpunct}{\addcomma\space}
% Doppelpunkt statt Komma hinter Autoren
%\renewcommand{\labelnamepunct}{\addcolon\space}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}

%\DeclareInnerCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
\DeclareInnerCiteDelims{parencite}{(}{)}

\begin{document}
\autocite{herrmann}
\printbibliography
\end{document}

eisa
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 10. Apr 2020, 22:01

Beitrag von eisa »

Danke dir für deine schnelle Hilfe!
Wie schaffe ich es jetzt noch, dass die Klammern um die Jahreszahlen rund sind?

MoeWe
Forum-Guru
Forum-Guru
Beiträge: 264
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Die Klammern sollten rund sein, da Bartman hier explizit nicht die sonst bevorzugte Version \DeclareInnerCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}, die dafür sorgt, dass verschachtelte Klammern auf unterschiedlichen Ebenen automatisch zwischen runden und eckigen Klammern wechseln, gewählt hat, sondern die hart-codierte Version

Code: Alles auswählen

\DeclareInnerCiteDelims{parencite}{(}{)}
die keinerlei solcher kontextsensitiven Untersuchungen durchführt.

Wenn das bei Dir nicht die gewünschte Ausgabe gibt, dann würde ich erwarten, dass Du Warnungen oder Fehlermeldungen in der .log-Datei bekommst. Steht da etwas? Hast Du Bartmans Code schon in Dein eigentliches Dokument eingebaut oder hast Du erstmal nur den gezeigten Code in einem neuen Dokument getestet? (Letzteres solltest Du auf jeden Fall tun, Du musst den Code von Bartman wirklich gar nicht ändern, denn sogar die Datei biblatex-examples.bib ist auf Deinem System vorhanden und wird automatisch gefunden, wenn biblatex ordnungsgemäß installiert ist.)

Ich empfinde die exzessive Klammerung
(Sigfridsson und Ryde (1998))
übrigens eher als störend und ablenkend als als sinnvoll,
(Sigfridsson und Ryde 1998)
oder
(Sigfridsson und Ryde, 1998)
sieht doch viel harmonischer aus.

Man beachte, dass

Code: Alles auswählen

%löscht in for Journal
\renewbibmacro*{in:}{}
entgegen dem Kommentar das "in:" für alle Typen löscht, also auch für @inbook und @incollection. Wenn das nicht gewünscht ist, bist Du vielleicht mit der biblatex-ext-Option articlein=false, besser aufgehoben.

Deine Randeinstellungen sorgen übrigens für eine sehr am Blattende kratzende Seitenzahl. Eventuell sollte man das etwas anders gestalten.

eisa
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 10. Apr 2020, 22:01

Beitrag von eisa »

Jetzt habe ich leider das nächste Problem. Ich soll den Titel von TechReports nicht kursiv im Literaturverzeichnis schreiben.
Wie kriege ich das hin? Bei journal schaffe ich das, bei TechReports klappt es aber einfach nicht

Code: Alles auswählen

%macht titel bei article kursiv
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
%macht, dass journal titel nicht kursiv ist
\DeclareFieldFormat{journaltitle}{#1}

MoeWe
Forum-Guru
Forum-Guru
Beiträge: 264
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

Für biblatex gibt es den Typen @techreport gar nicht. @techreport wird von Biber (oder BibTeX), schon bevor biblatex es sieht, zu dem etwas generischeren Typen @report umgewandelt. Daher wird es nicht funktionieren, wenn Du \DeclareFieldFormat[techreport]{title}{#1} probierst.

Mit report gehts aber

Code: Alles auswählen

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\DeclareFieldFormat[report]{title}{#1}

\begin{filecontents}{\jobname.bib}
@techreport{padhye,
  author       = {Padhye, Jitendra and Firoiu, Victor and Towsley, Don},
  title        = {A Stochastic Model of {TCP Reno} Congestion Avoidance and
                  Control},
  institution  = {University of Massachusetts},
  date         = 1999,
  number       = {99-02},
  location     = {Amherst, Mass.},
  file         = {ftp://gaia.cs.umass.edu/pub/Padhey99-markov.ps},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\autocite{padhye}
\printbibliography
\end{document}
In https://github.com/plk/biblatex/issues/862 ist ein ähnliches Problem mit @phdthesis und @thesis erklärt.

eisa
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Fr 10. Apr 2020, 22:01

Re: zitieren mit (Autor(Jahr))

Beitrag von eisa »

Super, Danke!

Jetzt würde ich noch gerne etwas im Literaturverzeichnis verstellen.
Statt das Erscheinungsjahr durch Klammern abzutrennen hätte ich dies lieber durch Komma.
Hat da jemand eine Idee?


Bartman
Forum-Meister
Forum-Meister
Beiträge: 2156
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: zitieren mit (Autor(Jahr))

Beitrag von Bartman »

Es wäre wohl keine schlechte Idee, für solche Fragen ein neues Thema zu starten, da die Wünsche aus dem Eröffnungsbeitrag bereits erfüllt wurden.

Code: Alles auswählen

% Komma einfügen
\DeclareDelimFormat[bib]{nameyeardelim}{\addcomma\space}% biblatex.pdf
% Klammern entfernen
\DeclareFieldFormat{biblabeldate}{#1}% biblatex-ext.pdf
\DeclareFieldAlias{biblistlabeldate}{biblabeldate}% s.o.

Antworten