Seite 1 von 1
Reihe in Klammern hinter Titel
Verfasst: Di 17. Sep 2019, 17:40
von Gast
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=authortitle, backend=biber
]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{test2019,
Author = {Max Mustermann and Maria Musterfrau and Peter Pan},
title = {Test},
pages ={123-234},
series = {Eine Reihe von Buechern}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
Test.\footcite[123]{test2019}
\printbibliography
\end{document}
Wie bekomme ich die Reihe (=series) direkt hinter den Titel in Klammern, also Titel (Reihe). ...
Verfasst: Di 17. Sep 2019, 18:06
von Gast
\DeclareFieldFormat{series}{\mkbibparens{#1}}
Verfasst: Di 17. Sep 2019, 18:14
von Gast
Danke schonmal für den Tipp, nur leider steht noch zwischen Titel und Reihe ein Komma: Titel, (Reihe).
Verfasst: Di 17. Sep 2019, 21:35
von MoeWe
Ich möchte zu bedenken geben, dass series sehr häufig zusammen mit number auftritt und es dann höchstwahrscheinlich gewünscht ist, die beiden Angaben zusammen in der gleichen Klammer zu haben. Ferner kann ein .bib-Eintrag mehr Felder beinhalten als in dem Beispiel und dann kann zwischen Titel und Reihe noch etwas stehen.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{liggett:ips,
author = {Liggett, Thomas M.},
title = {Interacting Particle Systems},
date = {1985},
publisher = {Springer},
location = {New York},
series = {Grundlehren der mathematischen Wissenschaften},
number = {276},
edition = {3},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{liggett:ips}
\printbibliography
\end{document}
Für die erwartete Klammerung würde ich
\renewbibmacro*{series+number}{%
\iffieldundef{series}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}%
\newunit}}
nutzen. Ich war hier etwas faul und habe den Fall, dass es zwar ein number-Feld aber keine series gibt, unter den Tisch fallen lassen. Das sollte aber eigentlich nicht passieren.
In dem Beispiel steht dann aber noch etwas zwischen Titel und Reihe. Willst Du wirklich absolut sicher sein, dass zwischen Titel und Reihe nichts mehr steht, ist mehr Arbeit erforderlich.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle, backend=biber]{biblatex}
\renewbibmacro*{series+number}{}
\newbibmacro*{series+number:aftertitle}{%
\iffieldundef{series}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}%
\newunit}}
\renewbibmacro*{maintitle+title}{%
\iffieldsequal{maintitle}{title}
{\clearfield{maintitle}%
\clearfield{mainsubtitle}%
\clearfield{maintitleaddon}}
{\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}}%
\usebibmacro{title}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\renewbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}%
\usebibmacro{booktitle}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{liggett:ips,
author = {Liggett, Thomas M.},
title = {Interacting Particle Systems},
date = {1985},
publisher = {Springer},
location = {New York},
series = {Grundlehren der mathematischen Wissenschaften},
number = {276},
edition = {3},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{liggett:ips}
\printbibliography
\end{document}
Verfasst: Di 17. Sep 2019, 22:22
von Gast
MoeWe hat geschrieben:Ich möchte zu bedenken geben, dass series sehr häufig zusammen mit number auftritt und es dann höchstwahrscheinlich gewünscht ist, die beiden Angaben zusammen in der gleichen Klammer zu haben. Ferner kann ein .bib-Eintrag mehr Felder beinhalten als in dem Beispiel und dann kann zwischen Titel und Reihe noch etwas stehen.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{liggett:ips,
author = {Liggett, Thomas M.},
title = {Interacting Particle Systems},
date = {1985},
publisher = {Springer},
location = {New York},
series = {Grundlehren der mathematischen Wissenschaften},
number = {276},
edition = {3},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{liggett:ips}
\printbibliography
\end{document}
Für die erwartete Klammerung würde ich
\renewbibmacro*{series+number}{%
\iffieldundef{series}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}%
\newunit}}
nutzen. Ich war hier etwas faul und habe den Fall, dass es zwar ein number-Feld aber keine series gibt, unter den Tisch fallen lassen. Das sollte aber eigentlich nicht passieren.
In dem Beispiel steht dann aber noch etwas zwischen Titel und Reihe. Willst Du wirklich absolut sicher sein, dass zwischen Titel und Reihe nichts mehr steht, ist mehr Arbeit erforderlich.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle, backend=biber]{biblatex}
\renewbibmacro*{series+number}{}
\newbibmacro*{series+number:aftertitle}{%
\iffieldundef{series}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}%
\newunit}}
\renewbibmacro*{maintitle+title}{%
\iffieldsequal{maintitle}{title}
{\clearfield{maintitle}%
\clearfield{mainsubtitle}%
\clearfield{maintitleaddon}}
{\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}}%
\usebibmacro{title}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\renewbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}%
\usebibmacro{booktitle}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{liggett:ips,
author = {Liggett, Thomas M.},
title = {Interacting Particle Systems},
date = {1985},
publisher = {Springer},
location = {New York},
series = {Grundlehren der mathematischen Wissenschaften},
number = {276},
edition = {3},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{liggett:ips}
\printbibliography
\end{document}
Danke für die Mühe, jetzt sieht es genauso aus wie gewünscht.
Verfasst: Mi 18. Sep 2019, 10:31
von Gast
Hat sich doch noch eine Frage ergeben. Zeitschriften sollen anders angegeben werden. Wie kann ich den bereits erstellte Macro nur für Bücher nutzen, während Zeitschriften die Standardauflistung haben, also Titel, Reihe ...
Verfasst: Mi 18. Sep 2019, 18:10
von MoeWe
Kannst Du dazu bitte ein
Minimalbeispiel erstellen? Zumindest mit Zeitschriften-@articlen scheint alles gut zu gehen
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle, backend=biber]{biblatex}
\renewbibmacro*{series+number}{}
\newbibmacro*{series+number:aftertitle}{%
\iffieldundef{series}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}}%
\newunit}}
\renewbibmacro*{maintitle+title}{%
\iffieldsequal{maintitle}{title}
{\clearfield{maintitle}%
\clearfield{mainsubtitle}%
\clearfield{maintitleaddon}}
{\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}}%
\usebibmacro{title}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\renewbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}%
\usebibmacro{booktitle}%
\usebibmacro{series+number:aftertitle}%
\newunit}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{liggett:ips,
author = {Liggett, Thomas M.},
title = {Interacting Particle Systems},
date = {1985},
publisher = {Springer},
location = {New York},
series = {Grundlehren der mathematischen Wissenschaften},
number = {276},
edition = {3},
}
@article{gillies,
author = {Gillies, Alexander},
title = {Herder and the Preparation of {Goethe's} Idea of World
Literature},
journaltitle = {Publications of the English Goethe Society},
date = 1933,
series = {newseries},
volume = 9,
pages = {46-67},
}
@article{reese,
author = {Reese, Trevor R.},
title = {Georgia in {Anglo-Spanish} Diplomacy, 1736--1739},
journaltitle = {William and Mary Quarterly},
date = 1958,
series = 3,
volume = 15,
pages = {168-190},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{liggett:ips,gillies,reese}
\printbibliography
\end{document}
Wenn mir die Anmerkung erlaubt ist: Es erhöht die Lesbarkeit und Übersichtlichkeit etwas, wenn Du nicht den ganzen vorherigen Beitrag in Deiner Antwort zitierst.