Eigener Zitierstil - Anpassung authoryear-icomp

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


Dane

Beitrag von Dane »

Anonymous hat geschrieben:
\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}


\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}}}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{seiter2017business,
  author    = {Seiter, Mischa},
  title     = {Business analytics},
  subtitle  = {Effektive Nutzung fortschrittlicher Algorithmen in der Unternehmenssteuerung},
  edition   = {1},
  usera     = {Business Analytics},
  publisher = {Vahlen},
  location  = {München},
  date      = {2017},
}

@article{gluchowski2016business,
  author   = {Gluchowski, Peter},
  journal  = {HMD Praxis der Wirtschaftsinformatik},
  usera    = {Business Analytics},
  number   = {3},
  pages    = {273-286},
  title    = {Business Analytics: Grundlagen, Methoden und Einsatzpotenziale},
  volume   = {53},
  date     = {2016},
  doi      = {10.1365/s40702-015-0206-5},
}

@incollection{becker2016data,
  author    = {Becker, Wolfgang and Ulrich, Patrick and Botzkowski, Tim},
  booktitle = {Data Analytics im Mittelstand},
  edition   = {1},
  location  = {Wiesbaden},
  publisher = {Springer},
  usera     = {Data Analytics},
  editor    = {Becker, Wolfgang and Ulrich, Patrick},
  title     = {Management und Controlling im Mittelstand},
  date      = {2016},
}

@report{nucleus2014analyticspays,
  usera    = {Analytics},
  urldate  = {2018-02-14},
  title    = {Analytics Pays Back \$13.01 For Every Dollar Spent},
  type     = {Report},
  number   = {O204},
  url      = {https://nucleusresearch.com/research/single/analytics-pays-back-13-01-for-every-dollar-spent/},
  date     = {2014-09},
}

@online{elk,
  author  = {Anne Elk},
  title   = {On the Theory of Brontosauruses},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
}
\end{filecontents}

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

\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}
Wenn ich dies in OVerleaf teste, wird leider über den Style: 'ext-authoryear' und 'innamebeforetitle' gemeckert. Wenn ich die Zeilen herausnehme, geht es weiter bei den nächsten Punkten z.B. mit der Zeile: \DeclareDelimAlias (undefined control sequence.

Hat jemand eine Idee?

Danke!

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Dane hat geschrieben:Wenn ich dies in OVerleaf teste, wird leider über den Style: 'ext-authoryear' und 'innamebeforetitle' gemeckert. Wenn ich die Zeilen herausnehme, geht es weiter bei den nächsten Punkten z.B. mit der Zeile: \DeclareDelimAlias (undefined control sequence.

Hat jemand eine Idee?
Die Version von biblatex auf overleaf ist zu alt für diese Kommandos. Aktuell ist 3.11, overleaf nutzt leider IMHO noch 3.4.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

markusv hat geschrieben:Die Version von biblatex auf overleaf ist zu alt für diese Kommandos. Aktuell ist 3.11, overleaf nutzt leider IMHO noch 3.4.
In der Tat. Außerdem ist der Stil biblatex-ext in Overleaf noch nicht verfügbar, denn der ist erst ab TeX live 2018 Teil von TeX live.

Um das mit Overleaf zu erreichen müsste man also nicht nur von biblatex-ext zu biblatexs Standardstilen zurück (ein Anfang dafür findet sich in meinem Beitrag von 22.03.2018, 22:44, da fehlt aber noch Eniges), sondern man müsste auch den restlichen Code an eine inzwischen fast zwei Jahre alte biblatex-Version anpassen. Das würde zumindest einige Änderungen in Makronamen mit extradate erfordern, ebenso müssten wir auf \DeclareDelimAlias und editortypedelim verzichten. Insbesondere letzteres würde den Code doch etwas aufblähen.

Dane

Beitrag von Dane »

Danke! Hatte es nun auch bei einem FAQ Beitrag gelesen. Ich teste derzeit noch sharelatex ob es dort klappt.

Dane

Beitrag von Dane »

Jetzt schaut es besser aus :)

Jedoch gefällt ihm folgende Zeile nicht:
\DeclareDelimAlias{finalnamedelim}{multinamedelim} 
-> Undefined control sequence Latex error: Missing \begin{document}

Gast

Beitrag von Gast »

Sag ich ja. Auch ShareLaTeX stellt nicht die aktuelle Version von biblatex bereit.

Der Code müsste stark angepasst werden, um mit diesen veralteten Systemen noch zu funktionieren.

Dane

Beitrag von Dane »

Schade! Trotzdem danke. Muss wohl doch die lokale Installation her :)

Gast

Beitrag von Gast »

Soweit funktioniert das Beispiel so wie es soll. Was muss ich tun, wenn ich in Fußnote den Vornamen und Nachnamen des Autors abgebildet haben möchte?

Der Vorname sollte hierbei in Initialien abgebildet sein.

Danke vorab für eure Hilfe.
Dane hat geschrieben:
Anonymous hat geschrieben:
\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}


\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}}}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{seiter2017business,
  author    = {Seiter, Mischa},
  title     = {Business analytics},
  subtitle  = {Effektive Nutzung fortschrittlicher Algorithmen in der Unternehmenssteuerung},
  edition   = {1},
  usera     = {Business Analytics},
  publisher = {Vahlen},
  location  = {München},
  date      = {2017},
}

@article{gluchowski2016business,
  author   = {Gluchowski, Peter},
  journal  = {HMD Praxis der Wirtschaftsinformatik},
  usera    = {Business Analytics},
  number   = {3},
  pages    = {273-286},
  title    = {Business Analytics: Grundlagen, Methoden und Einsatzpotenziale},
  volume   = {53},
  date     = {2016},
  doi      = {10.1365/s40702-015-0206-5},
}

@incollection{becker2016data,
  author    = {Becker, Wolfgang and Ulrich, Patrick and Botzkowski, Tim},
  booktitle = {Data Analytics im Mittelstand},
  edition   = {1},
  location  = {Wiesbaden},
  publisher = {Springer},
  usera     = {Data Analytics},
  editor    = {Becker, Wolfgang and Ulrich, Patrick},
  title     = {Management und Controlling im Mittelstand},
  date      = {2016},
}

@report{nucleus2014analyticspays,
  usera    = {Analytics},
  urldate  = {2018-02-14},
  title    = {Analytics Pays Back \$13.01 For Every Dollar Spent},
  type     = {Report},
  number   = {O204},
  url      = {https://nucleusresearch.com/research/single/analytics-pays-back-13-01-for-every-dollar-spent/},
  date     = {2014-09},
}

@online{elk,
  author  = {Anne Elk},
  title   = {On the Theory of Brontosauruses},
  url     = {http://example.edu/~elk/bronto.pdf},
  urldate = {2018-03-26},
}
\end{filecontents}

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

\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}
Wenn ich dies in OVerleaf teste, wird leider über den Style: 'ext-authoryear' und 'innamebeforetitle' gemeckert. Wenn ich die Zeilen herausnehme, geht es weiter bei den nächsten Punkten z.B. mit der Zeile: \DeclareDelimAlias (undefined control sequence.

Hat jemand eine Idee?

Danke!

Gast

Beitrag von Gast »

Einfach
\DeclareNameAlias{labelname}{default}
hinzufügen.
Am besten direkt nach dem \DeclareNameAlias{sortname}{default}.

Gast

Beitrag von Gast »

Das war wirklich leicht. :)

\toggletrue{abx@bool@giveninits}

Habe ich beim citebefehl noch eingesetzt und es hat geklappt.

Danke!
Anonymous hat geschrieben:Einfach
\DeclareNameAlias{labelname}{default}
hinzufügen.
Am besten direkt nach dem \DeclareNameAlias{sortname}{default}.

Antworten