Newbib Macro genaue Vorgabe erfüllen.

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: Newbib Macro genaue Vorgabe erfüllen.

Re: Newbib Macro genaue Vorgabe erfüllen.

von MoeWe » Fr 4. Mär 2022, 11:47

Wenn ich es richtig verstehe, dann sollte es ausreichen, das Bibmakro in: etwas anders umzudefinieren. Insbesondere sollte das \printunit nur ausgeführt werden, wenn auch das "in" ausgegeben wurde. Es lohnt an der Stelle übrigens nicht, auf den Typen @periodical zu testen, da da sowieso nie ein "in" ausgegeben wird.
\documentclass[a4paper, 11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage[
  backend=biber,
  style=authoryear,
  sortcites=true,
  maxcitenames=2, maxbibnames=3,
  mincitenames=1, minbibnames=1,
  giveninits=true,
  uniquename=init,
  dashed=false,
  doi=false, isbn=false,
]{biblatex}

\renewcommand*{\finentrypunct}{}

\DeclareNameAlias{sortname}{family-given}

\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}

\DeclareDelimFormat[bib]{nametitledelim}{\addspace}

\renewbibmacro{in:}{%
  \ifentrytype{article}
    {}
    {\bibstring{in}%
     \printunit{\intitlepunct}}}

\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat[article]{title}{#1}

\renewcommand*{\bibpagespunct}{%
  \ifboolexpr{
       test {\ifentrytype{article}}
    or test {\ifentrytype{periodical}}}
    {\addcolon}
    {\addcomma\space}%
}

\DeclareFieldFormat[article,periodical]{pages}{#1}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pertype{article}
      \pertype{periodical}
      \step[fieldset=number, null]
    }
  }
}

\begin{filecontents*}{\jobname.bib}
@article{crawford2001fmr1,
  author    = {Crawford, Dana C. and Acuña, Juan M.
               and Sherman, Stephanie L.},
  journal   = {Genetics in Medicine},
  title     = {{FMR1} and the Fragile~{X} Syndrome:
               Human Genome Epidemiology Review},
  year      = {2001},
  number    = {5},
  pages     = {359--371},
  volume    = {3},
  comment   = {Einleitung FMR, Zahlen zu Inzidenz},
  publisher = {Nature Publishing Group},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Hier wird zitiert \autocite{crawford2001fmr1} und dann endet das Beispiel
\autocite{sigfridsson}
\printbibliography
\end{document}

Newbib Macro genaue Vorgabe erfüllen.

von WsEe1 » Fr 4. Mär 2022, 08:56

Liebes Forum,

meine bisheriges Beispiel erfüllt die strenge Vorgabe meiner Uni fast.
Leider habe ich selber keine Ahnung von Newbib Macro und bin daher auf eure Hilfe angewiesen
\documentclass[a4paper, 11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage[
  backend=biber,
  style=authoryear,
  sortcites=true,
  maxcitenames=2, maxbibnames=3,
  mincitenames=1, minbibnames=1,
  giveninits=true,
  uniquename=init,
  dashed=false,
  doi=false, isbn=false,
]{biblatex}

\renewcommand*{\finentrypunct}{}

\DeclareNameAlias{sortname}{family-given}

\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}

\DeclareDelimFormat[bib]{nametitledelim}{\addspace}

\renewbibmacro{in:}{%
  \ifboolexpr{
       test {\ifentrytype{article}}
    or test {\ifentrytype{periodical}}}
    {}
    {\bibstring{in}}%
  \printunit{\intitlepunct}}

\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat[article]{title}{#1}

\renewcommand*{\bibpagespunct}{%
  \ifboolexpr{
       test {\ifentrytype{article}}
    or test {\ifentrytype{periodical}}}
    {\addcolon}
    {\addcomma\space}%
}

\DeclareFieldFormat[article,periodical]{pages}{#1}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pertype{article}
      \pertype{periodical}
      \step[fieldset=number, null]
    }
  }
}

\begin{filecontents*}{\jobname.bib}
@Article{crawford2001fmr1,
  author    = {Crawford, Dana C. and Acuña, Juan M.
               and Sherman, Stephanie L.},
  journal   = {Genetics in Medicine},
  title     = {{FMR1} and the Fragile~{X} Syndrome:
               Human Genome Epidemiology Review},
  year      = {2001},
  number    = {5},
  pages     = {359--371},
  volume    = {3},
  comment   = {Einleitung FMR, Zahlen zu Inzidenz},
  publisher = {Nature Publishing Group},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Hier wird zitiert \autocite{crawford2001fmr1} und dann endet das Beispiel
\autocite{sigfridsson}
\printbibliography
\end{document}[/MWE]

Zwischen Titel und Journal muss ein Punkt . stehen. Der nachfolgende Doppelpunkt zwischen Band und Seitenzahl soll jedoch beibehalten werden.

Nach oben