von MoeWe » Mo 15. Mär 2021, 18:24
WsEe1 hat geschrieben: ↑Mo 15. Mär 2021, 17:55
Wann nimmst du denn \Declare und wann \renewcommand ?
Es gibt in biblatex verschiedene Objekte (in Ermangelung eines besseren Begriffs), die jeweils mit anderen Befehlen angepasst werden.
So ist in: ein Bibmacro, das mit \renewbibmacro angepasst wird, finalnamedelim ist ein context-sensitive delimiter, der mit \DeclareDelimFormat/\DeclareDelimAlias angepasst wird. \bibpagespunct ist ein einfaches LaTeX-Makro und kann daher mit \renewcommand umdefiniert werden. Das Format für die Ausgabe der Seiten ist ein Feldformat und wird mit \DeclareFieldFormat geändert. Eine kleine Einführung dazu gibt es bei https://tex.stackexchange.com/q/12806/35864. Man wird das wohl am besten durch Beispiele und selber Herumspielen lernen.
WsEe1 hat geschrieben: ↑Mo 15. Mär 2021, 17:55
Wie mache ich denn am Ende und nach der Jahreszahl den Punkt weg?
Die Zeitschrift soll nicht kursiv geschrieben werden.
Der Titel nicht in Anführungszeichen
Der Punkt am Ende ist der Befehl \finentrypunct. Der Punkt nach dem Jahr der context-sensitive delimiter nametitledelim.
Für den Zeitschriftennamen ist das Feldformat journaltitle zuständig, für den Titel title.
WsEe1 hat geschrieben: ↑Mo 15. Mär 2021, 17:55
Das "und" zwischen den letzten beiden Autoren würdest du anders lösen?
Leider verstehe ich nicht ganz worauf Du hinauswillst. \DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim} sorgt dafür, dass das "und" im Literaturverzeichnis zu einem Komma wird. Im Zitat finde ich das etwas albern, da finde ich "Sigfridsson und Ryde 1998" schöner als "Sigfridsson, Ryde 1998". (Du kannst aber mal das [bib] löschen und sehen was sich ändert.) Wenn die Zeile bei Dir nicht dafür sorgt, dass das "und" im Literaturverzeichnis zu einem Komma wird, ist Deine biblatex-Version eventuell zu alt. Du kannst sehen, was ich mit dem Code unten bekomme, wenn Du auf "LaTeX-Ausgabe" klickst.
\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}
[quote=WsEe1 post_id=114860 time=1615827326 user_id=9325]
Wann nimmst du denn \Declare und wann \renewcommand ?
[/quote]
Es gibt in `biblatex` verschiedene Objekte (in Ermangelung eines besseren Begriffs), die jeweils mit anderen Befehlen angepasst werden.
So ist `in:` ein Bibmacro, das mit `\renewbibmacro` angepasst wird, `finalnamedelim` ist ein *context-sensitive delimiter*, der mit `\DeclareDelimFormat`/`\DeclareDelimAlias` angepasst wird. `\bibpagespunct` ist ein einfaches LaTeX-Makro und kann daher mit `\renewcommand` umdefiniert werden. Das Format für die Ausgabe der Seiten ist ein Feldformat und wird mit `\DeclareFieldFormat` geändert. Eine kleine Einführung dazu gibt es bei https://tex.stackexchange.com/q/12806/35864. Man wird das wohl am besten durch Beispiele und selber Herumspielen lernen.
[quote=WsEe1 post_id=114860 time=1615827326 user_id=9325]
Wie mache ich denn am Ende und nach der Jahreszahl den Punkt weg?
Die Zeitschrift soll nicht kursiv geschrieben werden.
Der Titel nicht in Anführungszeichen
[/quote]
Der Punkt am Ende ist der Befehl `\finentrypunct`. Der Punkt nach dem Jahr der *context-sensitive delimiter* `nametitledelim`.
Für den Zeitschriftennamen ist das Feldformat `journaltitle` zuständig, für den Titel `title`.
[quote=WsEe1 post_id=114860 time=1615827326 user_id=9325]
Das "und" zwischen den letzten beiden Autoren würdest du anders lösen?
[/quote]
Leider verstehe ich nicht ganz worauf Du hinauswillst. `\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}` sorgt dafür, dass das "und" im Literaturverzeichnis zu einem Komma wird. Im Zitat finde ich das etwas albern, da finde ich "Sigfridsson und Ryde 1998" schöner als "Sigfridsson, Ryde 1998". (Du kannst aber mal das `[bib]` löschen und sehen was sich ändert.) Wenn die Zeile bei Dir nicht dafür sorgt, dass das "und" im Literaturverzeichnis zu einem Komma wird, ist Deine `biblatex`-Version eventuell zu alt. Du kannst sehen, was ich mit dem Code unten bekomme, wenn Du auf "LaTeX-Ausgabe" klickst.
```latex
\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}
```