Literaturverzeichnis, Custom Style

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Literaturverzeichnis, Custom Style

von MoeWe » So 16. Feb 2020, 13:49

Sam85 hat geschrieben:Kurze Zwischenfrage: Kann man das so umsetzen oder laufe ich in die falsche Richtung bezüglich der Anwendung? Sind die Felder in der Bibliothek eigentlich fix oder kann ich die Umbenennen?
\DeclareBibliographyDriver{monographie}
	{%
		\usebibmacro{bibindex}%
			\usebibmacro{begentry}%
				\mkbibitalic{\usebibmacro{nachname/institution}}%
					\setunit{\addcomma\space}%
				\mkbibitalic{\usebibmacro{vorname}}%
					\setunit{\space\bibopenparen}%
				\usebibmacro{stichwort}%	
					\setunit{\addcomma\space}%
				\usebibmacro{erscheinungsjahr}%	
					\setunit{\bibcloseparen\addcolon\space}%
				\usebibmacro{titel}%
					\setunit{\addcomma\space}%
				\usebibmacro{auflage}%
					\setunit{\addcomma\space}%
				\usebibmacro{verlagsort}%
					\setunit{\addcolon\space}%
				\usebibmacro{verlag}%
					\setunit{\addcomma\space}%
				\usebibmacro{erscheinungsjahr}%
			\usebibmacro{finentry}%
	}
In diesem Code gibt es einige Problemchen.

Zunächst gibt es im Standard-Data-Model von biblatex keinen Typen @monographie. Der passende Standardtyp wäre wohl @book. Du kannst eigene Typen, die im Standard-Data-Model nicht enthalten sind, definieren, aber dafür brauchst Du eine .dbx-Datei. Siehe https://tex.stackexchange.com/q/175776/35864. Hier sehe ich aber den Bedarf nicht, da es ja schon @book gibt.

Der gezeigte Code referenziert Makros, die Standardmäßig nicht definiert sind, z.B. \usebibmacro{nachname/institution}: Es gibt kein Bibmakro namens nachname/institution, ebenso stichwort etc. etc. Wenn man undefinierte Makros ausführt, dann gibt es Fehler der Art
! Package biblatex Error: Bibliography macro 'nachname/institution' undefined.
Es kann natürlich sein, dass Du die Makros alle definiert hast. Dann hast Du aber wahrscheinlich schon existenten Code mehr oder weniger gedoppelt. Das Standard-Bibmakro für den Verlag, Ort und das Datum sieht z.B. so aus
\newbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}
und sorgt schon für die Ausgabe von Verlagsort, Verlag und Erscheinungsjahr (der andere Code, den Du gezeigt hast, basiert auf ext-authoryear, da ist das Makro etwas anders definiert, standardmäßig tut es aber das gleiche). Die echte Ausgabe der Felder wird nicht von \usebibmacro{...} besorgt, sondern von \printfield-, \printlist-, \printnames-Befehlen in einem Bibmakro.

Der letzte Problempunkt ist das \mkbibitalic um das \usebibmacro. Zum Formatieren der Ausgabe von Feldern sollte \DeclareFieldFormat genutzt werden. Befehle wie \mkbibitalic sollten in einem Driver und auch in einem Bibmakro nie direkt eingesetzt werden. Das liegt daran, dass biblatex dann verhindern kann, dass leere Formatbefehle überbleiben, wenn ein Feld leer ist. Das ist nicht möglich, wenn man diese Formatbefehle selbst außerhalb von \DeclareFieldFormat einsetzt. Außerdem kann so der punctuation tracker von biblatex nicht richtig arbeiten (mehr dazu in Abschnitt §4.11.7 Using the Punctuation Tracker der biblatex-Anleitung).

Vergleiche mal die beiden Codeblöcke in
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

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

% nicht so gut
%
\DeclareFieldFormat{edition}{%
  \ifinteger{#1}
    {\mkbibordedition{#1}~\bibstring{edition}}
    {#1\isdot}}
\renewbibmacro{edition}{%
  \mkbibparens{\printfield{edition}}%
}

% besser
%
%\DeclareFieldFormat{edition}{%
%  \mkbibparens{%
%    \ifinteger{#1}
%      {\mkbibordedition{#1}~\bibstring{edition}}
%      {#1\isdot}}}
%\renewbibmacro{edition}{%
%  \printfield{edition}%
%}

\begin{filecontents}{\jobname.bib}
@book{appleby11,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  edition = {14},
  date    = {2011},
}
@book{appleby80,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  date    = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{appleby11,appleby80}
\printbibliography
\end{document}
Prinzipiell ist es zwar möglich, vorhandene Felder umzubenennen (bzw. neue zu definieren). Das ist sowohl in https://tex.stackexchange.com/q/175776/35864 als auch https://tex.stackexchange.com/q/163303/35864 ausführlich erklärt, aber es ist meiner Meinung nach wenig sinnvoll, das zu tun, da durch die Nutzung eigener Feldnamen die Kompatibilität mit anderen Stilen sinkt. Gerade wenn es für diese Felder schon Entsprechungen im Standard-Data-Model gibt ist das wenig zielführend. Es ist mit der Sourcemap aber sehr einfach möglich, eigene Namen auf vorhandene Felder umzubiegen. Auch das finde ich nicht sonderlich sinnvoll, aber es geht.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

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

\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=auflage, fieldtarget=edition]
    }
  }
}

\begin{filecontents}{\jobname.bib}
@book{appleby11,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  auflage = {14},
  date    = {2011},
}
@book{appleby81,
  author  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  auflage = {2},
  date    = {1981},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{appleby11,appleby81}
\printbibliography
\end{document}

von MoeWe » So 16. Feb 2020, 13:21

Du hast zwei Minimalbeispiele gepostet, die sowohl Code für die Anpassung des Literaturverzeichnisses als auch Code für die Anpassung der Zitate beinhalten. Es wäre nicht sinnvoll, den Code des einen Beispiels in die .cbx und den des anderen in die .bbx zu schreiben. Zunächst musst Du aus den beiden (oder noch mehr) Vorschlägen eine Komplettlösung für Zitate und Literaturverzeichnis aussuchen oder zusammensetzen. Dann kannst Du darüber nachdenken, daraus .bbx und .cbx zu machen.

Meiner Meinung nach ist es nicht immer notwendig oder gar zielführend, gleich alle Modifikationen in .bbx- und .cbx-Dateien auszulagern. Der Code funktioniert genauso gut, wenn er in der Präambel steht. Gut, es mag einen Punkt geben, ab dem der Code in der Präambel so lang wird, dass es etwas unübersichtlich wird, je nach Geschmack, kann dieser Punkt recht schnell erreicht sein, wenn man darauf bedacht ist, dass man seine Präambel frei von viel Code halten möchte (eigentlich gar keine schlechte Einstellung: hier im Forum sieht man zu häufig Präambeln, die sich über Jahre entwickelt haben und dann in einem furchtbaren Zustand verkrustet sind, es ist immer eine gute Idee, all den Code, den man nicht braucht, wegzulassen). Wenn es also zu lang wird, kann man den Code auch in eine separate .tex-Datei auslagern und dann einfach mit \input einbinden. Dann ist es auch weg aus der Präambel, aber immer noch in einer Datei, die man schnell ansehen und ändern kann. .bbx und .cbx-Dateien sind nach meiner Erfahrung erst sinnvoll, wenn man wirklich einen wohldefinierten Stil implementieren möchte, den man plant, in der Zukunft häufiger zu benutzen.

Aber OK, gehen wir davon aus, dass eine ausgelagerte .tex-Datei nicht genug ist, und es .bbx- und .cbx-Dateien sein müssen. Dann musst Du als erstes identifizieren, welcher Code zu den Zitaten gehört und welcher zum Literaturverzeichnis. Das ist nicht immer ganz eindeutig, im Großen und Ganzen kann man sich aber an die Aufteilungen der Standardstile halten (wobei bei biblatex.def sowohl .bbx-Code als auch .cbx-Code enthält). Bei manchen Stilen ist es sehr schwer, genau zu separieren, was wohin gehört. Hier sollte es weitestgehend noch machbar sein: \renewbibmacro*{cite}, \renewbibmacro*{postnote}, \DeclareFieldFormat*{citetitle}, \DeclareLabeldate, \DeclareNameFormat{family-given:init}, \DeclareNameAlias{labelname} gehören in die .cbx, der Rest eher in die .bbx. Wobei ein paar Dinge (\renewcommand*{\mkbibcompletename}, \DeclareDelimAlias{finalnamedelim}) sowohl für Zitate als auch für das Literaturverzeichnis relevant sind. Wenn Du die .bbx und .cbx immer zusammen nutzt, dann ist es eigentlich eh wurscht, was Du wohin schreibst, aber es ist schon sinnvoll, sich zu bemühen, die Aufteilung sinnvoll zu gestalten. Außerdem ist es sinnvoll, die biblatex-Optionen auf die zwei Dateien zu verteilen und dort mit \ExecuteBibliographOptions auszuführen. Wenn die Dateien keine vollständigen Neuentwicklungen sind, sondern auf bestehenden Stilen aufbauen, dann sollten sie das mit \RequireBibliographyStyle (.bbx) bzw. \RequireCitationStyle (.cbx) anmelden. Die erste Codezeile der .bbx- oder .cbx-Datei sollte die Datei identifizieren und ein Änderungsdatum sowie, wenn gewünscht, eine Versionsnummer und kurze Beschreibung beinhalten.

sam.bbx
\ProvidesFile{sam.bbx}[2020/02/16 v0.1 bibliography style for sam85]

\RequireBibliographyStyle{ext-authoryear}

\ExecuteBibliographyOptions{
  maxbibnames=999,
  mincrossrefs=1,
  mergedate=false,
  innamebeforetitle, dashed=false,
  isbn=false,
  alldates=ymd,}

\setlength{\bibinitsep}{.5\baselineskip}

\setlength\bibhang{1cm}

\renewcommand*{\finentrypunct}{}

\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat{titleyeardelim}{\newunitpunct}

\renewcommand*{\mkbibcompletename}{\mkbibemph}

\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}


\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}

\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space}


\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}

\newbibmacro*{organization+location}[1]{%
  \printlist{location}%
  \setunit*{\locdatedelim}%
  \printlist{organization}%
  \newunit}

\usepackage{xpatch}
\xpatchbibdriver{online}
  {\usebibmacro{organization+location+date}}
  {\usebibmacro{organization+location}}
  {}{}

\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}

\DeclareFieldFormat{url}{<\url{#1}>}% oder {$\langle$\url{#1}$\rangle$} oder \textlangle/\textrangle
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\addcolon\space#1}}
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit{\addspace}%
     \usebibmacro{date}}
    {}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\renewbibmacro*{date+extradate}{%
  \printtext[parens]{%
    \printfield{usera}%
    \setunit{\printdelim{titleyeardelim}}%
    \printlabeldateextra}}

\renewbibmacro*{date}{%
  \usebibmacro{bbx:ifmergeddate}
    {}
    {\iffieldundef{year}
       {\printtext[date]{\bibstring{nodate}}}
       {\printdate}}}

\DefineBibliographyStrings{german}{
  nodate    = {{}o.\adddot \addabbrvspace J\adddot},
  andothers = {et\addabbrvspace al\adddot},
  urlseen   = {Zugriff},
}

\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pernottype{set}
      \step[notfield=translator, final]
      \step[notfield=editor, final]
      \step[fieldset=author, fieldvalue={\string{o.\noexpand\,V\noexpand\adddot\string}}, final]
      \step[fieldset=sortname, fieldvalue={zzzzzzzzz}]
    }
    \map{
      \pernottype{online}
      \step[fieldset=location, fieldvalue={o.\noexpand\,O\noexpand\adddot}]
    }
  }
}
sam.cbx
\ProvidesFile{sam.cbx}[2020/02/16 v0.1 citation style for sam85]

\RequireCitationStyle{ext-authoryear}

\ExecuteBibliographyOptions{maxcitenames=2, labeldate=year,
  autocite=footnote}

\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{origdate}
  \literal{nodate}
}

\DeclareNameFormat{family-given:init}{%
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}%
  \usebibmacro{name:andothers}}
  
\DeclareNameAlias{labelname}{family-given:init}

\DeclareFieldFormat*{citetitle}{#1}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonametitledelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nametitledelim}}}%
     \printfield{usera}%
     \setunit{\printdelim{titleyeardelim}}%
     \usebibmacro{cite:labeldate+extradate}}
    {\usebibmacro{cite:shorthand}}}

\renewbibmacro*{postnote}{%
  \setunit{\postnotedelim}%
  \iffieldundef{postnote}
    {\printtext{o\adddot\addabbrvspace S\adddot}}
    {\printfield{postnote}}}
Testdatei
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage[autostyle, german=guillemets]{csquotes}
\usepackage[backend=biber, style=sam]{biblatex}

\renewcommand*{\bibfont}{\normalfont\normalsize\singlespacing}

\begin{filecontents*}{\jobname.bib}
@online{test1Mit,
  author  = {Artur Autor},
  title   = {Internetquelle mit Datum},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
  date    = {2000-06-09},
  usera   = {Test Stichwort1},
}
@online{test1Ohne,
  author  = {Artur Autor},
  title   = {Internetquelle ohne Datum},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
  usera   = {Test Stichwort2},
}
@book{test2Mit,
  author    = {Artur Autor},
  title     = {Buch mit Datum},
  edition   = {1},
  usera     = {Test Stichwort3},
  publisher = {FOMVerlag},
  location  = {Essen},
  date      = {2000}
}
@book{test2Ohne,
  author    = {Artur Autor},
  title     = {Buch ohne Datum},
  edition   = {1},
  usera     = {Test Stichwort4},
  publisher = {FOMVerlag},
  location  = {Essen},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
 
\begin{document}
Lorem\autocite{test1Mit,test1Ohne}
ipsum\autocite{test2Mit}
dolor\autocite{test2Ohne}
\printbibliography[nottype=online]
\printbibliography[type=online,title={Internetquellen}]
\end{document}

von Sam85 » Sa 15. Feb 2020, 23:22

Kurze Zwischenfrage: Kann man das so umsetzen oder laufe ich in die falsche Richtung bezüglich der Anwendung? Sind die Felder in der Bibliothek eigentlich fix oder kann ich die Umbenennen?
\DeclareBibliographyDriver{monographie}
	{%
		\usebibmacro{bibindex}%
			\usebibmacro{begentry}%
				\mkbibitalic{\usebibmacro{nachname/institution}}%
					\setunit{\addcomma\space}%
				\mkbibitalic{\usebibmacro{vorname}}%
					\setunit{\space\bibopenparen}%
				\usebibmacro{stichwort}%	
					\setunit{\addcomma\space}%
				\usebibmacro{erscheinungsjahr}%	
					\setunit{\bibcloseparen\addcolon\space}%
				\usebibmacro{titel}%
					\setunit{\addcomma\space}%
				\usebibmacro{auflage}%
					\setunit{\addcomma\space}%
				\usebibmacro{verlagsort}%
					\setunit{\addcolon\space}%
				\usebibmacro{verlag}%
					\setunit{\addcomma\space}%
				\usebibmacro{erscheinungsjahr}%
			\usebibmacro{finentry}%
	}

von Sam85 » Sa 15. Feb 2020, 21:43

Und das hier zum Literaturverzeichnis. Gleiche Frage wie zuvor, kann ich das in eine separte .bbx Datei einfügen und wenn ja was alles davon ist notwendig? Also gemeint ist, was alles vor \begin{document} und begin{filecontents}.
\documentclass[12pt, a4paper, ngerman,
  toc=chapterentrydotfill, bibliography=totoc,
  listof=nochaptergap, listof=totoc,
  captions=figureheading, hidelinks,  fleqn]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage{lipsum}
\usepackage[a4paper,
  left=4cm, right=2cm, top=1.5cm, bottom=2cm,
  headsep=2cm, headheight=0.5cm, includehead=true,
  footskip=0cm, includefoot=true,]{geometry}

\usepackage[autostyle, german=guillemets]{csquotes}
\usepackage[backend=biber, style=ext-authoryear,
  isbn=false,
  maxcitenames=2, maxbibnames=999,
  mergedate=false,
  innamebeforetitle, dashed=false,
  autocite=footnote, mincrossrefs=1,
  alldates=ymd, labeldate=year,]{biblatex}

 

\renewcommand*{\bibfont}{\normalfont\normalsize\singlespacing}

\setlength{\bibinitsep}{.5\baselineskip}

\setlength\bibhang{1cm}

\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{origdate}
  \literal{nodate}
}

\renewcommand*{\finentrypunct}{}

\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat{titleyeardelim}{\newunitpunct}

\renewcommand*{\mkbibcompletename}{\mkbibemph}

\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameFormat{family-given:init}{%
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareNameAlias{labelname}{family-given:init}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}

\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space}

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}

\newbibmacro*{organization+location}[1]{%
  \printlist{location}%
  \setunit*{\locdatedelim}%
  \printlist{organization}%
  \newunit}

\usepackage{xpatch}
\xpatchbibdriver{online}
  {\usebibmacro{organization+location+date}}
  {\usebibmacro{organization+location}}
  {}{}

\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}

\DeclareFieldFormat{url}{<\url{#1}>}% oder {$\langle$\url{#1}$\rangle$} oder \textlangle/\textrangle
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\addcolon\space#1}}
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit{\addspace}%
     \usebibmacro{date}}
    {}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\renewbibmacro*{date+extradate}{%
  \printtext[parens]{%
    \printfield{usera}%
    \setunit{\printdelim{titleyeardelim}}%
    \printlabeldateextra}}

\renewbibmacro*{date}{%
  \usebibmacro{bbx:ifmergeddate}
    {}
    {\iffieldundef{year}
       {\printtext[date]{\bibstring{nodate}}}
       {\printdate}}}

\DefineBibliographyStrings{german}{
  nodate    = {{}o.\adddot \addabbrvspace J\adddot},
  andothers = {et\addabbrvspace al\adddot},
  urlseen   = {Zugriff},
}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pernottype{set}
      \step[notfield=translator, final]
      \step[notfield=editor, final]
      \step[fieldset=author, fieldvalue={\string{o.\noexpand\,V\noexpand\adddot\string}}, final]
      \step[fieldset=sortname, fieldvalue={zzzzzzzzz}]
    }
    \map{
      \pernottype{online}
      \step[fieldset=location, fieldvalue={o.\noexpand\,O\noexpand\adddot}]
    }
  }
}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonametitledelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nametitledelim}}}%
     \printfield{usera}%
     \setunit{\printdelim{titleyeardelim}}%
     \usebibmacro{cite:labeldate+extradate}}
    {\usebibmacro{cite:shorthand}}}

\renewbibmacro*{postnote}{%
  \setunit{\postnotedelim}%
  \iffieldundef{postnote}
    {\printtext{o\adddot\addabbrvspace S\adddot}}
    {\printfield{postnote}}}


\begin{filecontents*}{\jobname.bib}
@online{test1Mit,
  author  = {Artur Autor},
  title   = {Internetquelle mit Datum},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
  date      = {2000-06-09},
  usera   = {Test Stichwort1} ,
}
@online{test1Ohne,
  author  = {Artur Autor},
  title   = {Internetquelle ohne Datum},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
  usera   = {Test Stichwort2},
}
@book{test2Mit,
  author    = {Artur Autor},
  title     = {Buch mit Datum},
  edition   = {1},
  usera     = {Test Stichwort3},
  publisher = {FOMVerlag},
  location  = {Essen},
  date      = {2000}
}
@book{test2Ohne,
  author    = {Artur Autor},
  title     = {Buch ohne Datum},
  edition   = {1},
  usera     = {Test Stichwort4},
  publisher = {FOMVerlag},
  location  = {Essen},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
 
\begin{document}
\cite{test1Mit}
\cite{test1Ohne}
\cite{test2Mit}
\cite{test2Ohne}
\printbibliography[nottype=online]
\printbibliography[type=online,title={Internetquellen}]
\end{document}

von Sam85 » Sa 15. Feb 2020, 21:18

So ich habe in einen Thread das hier gefunden und wollte nun folgendes wissen, kann ich den Zitierstil auch in eine separte .cbx packen? Und wenn ja, was davon muss alles in die .cbx.

Hier der Link zum Thread.
eigener-zitierstil-anpassung-authoryear ... rt,20.html
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=ext-authoryear, maxcitenames=2, maxbibnames=999, mergedate=false, innamebeforetitle, dashed=false, autocite=footnote]{biblatex}

\setlength\bibhang{1cm}

\renewcommand*{\finentrypunct}{}

\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat{titleyeardelim}{\newunitpunct}
\renewcommand*{\mkbibnamefamily}{\mkbibemph}
\renewcommand*{\mkbibnamegiven}{\mkbibemph}
\renewcommand*{\mkbibnamesuffix}{\mkbibemph}
\renewcommand*{\mkbibnameprefix}{\mkbibemph}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareNameAlias{labelname}{default}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}
\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space}

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}


\usepackage{xpatch}
\xpatchbibdriver{online}
  {\usebibmacro{organization+location+date}\newunit\newblock}
  {}
  {}{}

\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit*{\addspace}%
     \iffieldundef{year}
       {\printtext[date]{keine Datumsangabe}}
       {\usebibmacro{date}}}%
    {}%
  \setunit*{\addspace}%
  \iffieldundef{urlyear}
    {}
    {\usebibmacro{urldate}}}


\renewbibmacro*{date+extradate}{%
  \printtext[parens]{%
    \printfield{usera}%
    \setunit{\printdelim{titleyeardelim}}%
    \printlabeldateextra}}

\DefineBibliographyStrings{german}{
  nodate    = {{}o.\adddot J\adddot},
  andothers = {et\addabbrvspace al\adddot}
}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[notfield=translator, final]
      \step[notfield=editor, final]
      \step[fieldset=author, fieldvalue={{{o\noexpand\adddot V\noexpand\adddot}}}]
    }
    \map{
      \pernottype{online}
      \step[fieldset=location, fieldvalue={o\noexpand\adddot O\noexpand\adddot}]
    }
  }
}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonametitledelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nametitledelim}}}%
     \printfield{usera}%
     \setunit{\printdelim{titleyeardelim}}%
     \usebibmacro{cite:labeldate+extradate}}
    {\usebibmacro{cite:shorthand}}}

\renewbibmacro*{postnote}{%
  \setunit{\postnotedelim}%
  \iffieldundef{postnote}
    {\printtext{o.S\adddot}}
    {\printfield{postnote}}}

\begin{document}
Lorem\autocite[201]{seiter2017business}
ipsum\autocite{gluchowski2016business}
dolor\autocite[201]{becker2016data}
sit\autocite{nucleus2014analyticspays}
amet\autocite{ctan,aksin,vizedom:related,sigfridsson,markey,elk}.
\printbibliography[nottype=online]
\printbibliography[type=online, title={Internetquellen}]
\end{document}
Das hier stand da noch separat und soll zum "cite" Befehl hinzugefügt werden. Wo genau befindet sich denn diese Zeile?
\toggletrue{abx@bool@giveninits}
Freue mich über antworten.
Grüße
Sam

von Sam85 » Sa 15. Feb 2020, 11:37

Ja ist es auch. Komisch in unserem Leitfaden schreiben Sie für den Zitierstil Chicago, nur für den Literatur Stil nichts. Aber wenn es hier schon was zur FOM gibt, ist das wohl der beste Ansatz. Danke.

von MoeWe » Sa 15. Feb 2020, 08:55

Auf den ersten Blick kann ich da wenig APA-Stil erkennen, maximal in dem Sinne, den Gast oben angesprochen hat: Du hast Autor und Jahr im Literaturverzeichnis nah beieinander. Die Fußnote ist auch nicht im "Chicago-Stil" wie ihn das CMS definiert, daher ist diese Bezeichnung meiner Meinung nach absolut nicht sinnvoll.

Das alles riecht nach dem Stil der FOM. Da gibt es hier im Forum schon ein paar Diskussionen zu. Such da mal nach. Bei GitHub gibt es auch eine Vorlage: https://github.com/andygrunwald/FOM-LaTeX-Template Da "der Leitfaden" sich aber in regelmäßigen Abständen zu ändern scheint und durchaus Variationen zugelassen sind, musst Du natürlich trotzdem genau überprüfen, dass das, was Du da bekommst, Deinen Vorgaben entspricht.

von Sam85 » Fr 14. Feb 2020, 22:47

Hallo,

ich hab den Literatur Stil meiner Fakultät mal angehängt, ich vermute das es APA ist, von welcher Version abgeleitet weiß ich nicht wenn überhaupt, bin leider nicht so bewandert was das betrifft. Kommt das jemanden bekannt vor?

PS: Wie binde ich eigentlich die eigene .cbx und .bbx in meine Arbeit ein?
Grüße
Sam

Literaturverzeichnis
Monographie=[i]Mustermann, Max, Musterfrau, Martha[/i] (Stichwort, Erscheinungsjahr): Titel, Auflage, Verlagsort: Verlag, Erscheinungsjahr
  • Strich für die Folge Autoren wenn ein Autor Mehrfach hintereinander vorkommt, ausser bei Seitenumbruch
    Autoren kursiv
    Alle Autoren nennen und durch Komma trennen
    Nach Verlagsort Doppelpunkt
    nicht mehr als drei Verlagsorte stattdessen "Erster Verlagsort und u. a."
    sortiert nach Familienname, Erscheinungsjahr (aufsteigend)
    Einrückung ab der zweiten Zeile um 1 cm
    Literatur Eintrags Ende ohne Punkt
    Einzelne Titelangaben beinhalten einen einfachen Zeilenabstand
    zwischen den einzelnen Literaturangaben besteht ein 1facher Abstand. Aber zwischen den Buchstaben (z. B. von A nach B) wird eine Leerzeile mit einem 1,5fachen Abstand vollzogen.
    „von“, „van“ oder Ähnliches wird wie folgt gehandhabt: Michael von Schubert unter S, Walther Busse von Colbe unter B
    Internetquellen separat
Bei der Fußnote ist es der Chicago Stil:
[i]Mustermann, M., Musterfrau, M.,[/i], Titel, Erscheinungsjahr, S. 1-2.
  • Name des Verfassers (kursiv),
    abgekürzte Vorname (kursiv),
    Stichwort,
    Erscheinungsjahr,
    Seitenzahl (abgekürzt)
    Abschluss mit Punkt und der erste Buchstabe immer groß.
    "ebd." ab der zweiten gleichen Quelle wenn hintereinander zitiert
    Kleinbuchstabe im Erscheinungsjahr bei gleichem Autor und Erscheinungsjahr
    Mehrere Quellen auf einer Fußnote werden mit Semikolon getrennt und chronologisch sortiert (absteigend)
    Bei mehr als einen Autor nur "Ersten Autor, et al."
Dateianhänge
Stile Literatur.pdf
(204.58 KiB) 181-mal heruntergeladen

von MoeWe » Fr 14. Feb 2020, 17:19

Das ist ein sehr guter Punkt: Mir ist es auch schon untergekommen, dass ein Stil als "Chicago-Stil" beschrieben wurde, der mit dem Chicago-Stil des Chicago Manual of Style nicht viel gemein hatte. Man kann sich bei solchen Beschreibungen also nicht unbedingt darauf verlassen, dass der erwähnte Stil wirklich die beste Wahl als Basis ist.

Auf der anderen Seite werden manchmal Begriffe wie "Harvard-Stil" verwendet, die keinen vollständig festgelegten und wohldefinierten Stil bezeichnen, sondern nur eine Stil-Familie ("Harvard-Stil" bedeutet eigentlich nur Autor-Jahr-Zitate, alles andere ist nicht festgelegt und kann daher von den Verfassern der Vorgaben beliebig interpretiert werden, gerade in Großbritannien scheint das beliebt zu sein, dort gibt es dann Stile wie "Harvard Bath" oder "MMU Harvard").

Vergleich Deine Vorgaben also lieber genauer mit APA-Stil (6. oder 7. Auflage), bevor Du Dich darauf verlässt, dass APA wirklich eine passender Ausgangsstil ist.

von Gast » Fr 14. Feb 2020, 10:33

Wobei ich schon die abstrusesten Dinge als APA-Stil verkauft bekommen habe. Letztlich waren das eher (leichte) Abwandlungen von authoryear oder authoryear-comp als APA. Leider wird von einigen APA ganz allgemein für Autor-Jahr-Stile verwendet, obwohl eigentlich sehr genau festgelegt ist, was APA wirklich ist. Gerade deshalb wäre es in der Tat wichtig zu sehen, was denn tatsächlich verlangt wird. Mit biblatex-ext sind manche der Anforderungen letztlich nicht viel mehr als eine Frage der richtigen Einstellung.

Nach oben