I need a pretty specific human-science citation style, that's why things got a bit difficult. I would like to use the et al. (andothers) in my short citations only. So when I cite something the first time and get a full citation and in my bibliography, there should be all names. But when I cite the same thing, only the first name and et al. should appear. I tried maxnames and maxbibnames, but the first one adresses both short and full citations and the second one only adresses the bibliography and not the full citations. Is there any way to make a difference between short and full citations for the et al.? Here the MWE
\begin{filecontents}{MWE.bib}
@book{Pfister:Strom,
author = {Christian Pfister and Muster, Hans and Muster, Beat and Muster, Friedrich},
title = {Im Strom der Modernisierung},
subtitle = {Bevölkerung, Wirtschaft und Umwelt 1700-1914},
booktitle = {Geschichte des Kantons Bern seit 1798, Bd. 4},
editor = {Junker, Beat and Pfister, Christian and Muster, Hans and Muster, Beat},
date = {1995},
location = {Bern},
}
\end{filecontents}
\documentclass[11pt, a4paper, tablecaptionabove]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%=============BIBLIOGRAPHIE, ZITIERWEISE=================== %
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[%
style=alphabetic,
style=verbose-ibid,
labeldate,
dashed=false, %bei mehreren Werken desselben Autors kein Strich
backend=bibtex8,
idemtracker=false,
ibidtracker=constrict,
citepages=omit,
]{biblatex}
\usepackage{xpatch}
%Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor und vor Titel
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}
\setunit{\addcolon\space}
\usebibmacro{booktitle}}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}
\DefineBibliographyStrings{german}{%
andothers = {et\ al\adddot}, %et al. statt u.a.
editor = {\mkbibparens{Hg\adddot}}, %Hg. statt Hrsg.
editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
byeditor = {\mkbibparens {Hg\adddot}},
}
\DeclareFieldFormat{postnote}{#1} %unterdrückt Präfix S.
\DeclareFieldFormat{multipostnote}{#1} %unterdrückt Präfix S.
\DeclareNameAlias{default}{last-first} %Autoren immer Nachname, Vorname sortieren
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nameyeardelim}%
\iffieldundef{labelyear}
{}
{\printtext[\addcolon]{\printtext[bibhyperlink]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}
%Edition Feld superscript, wenn erlaubt
\DeclareFieldFormat{edition}{%
\ifinteger{#1}
{\textsuperscript{#1}}
{\isdot\setunit{}}}
%\DeclareNameFormat{default}{%
%\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
%\usebibmacro{name:andothers}}
\renewcommand{\multinamedelim}{\addsemicolon\space} %Semikolon zum trennen der Autoren
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space} %Zwischen Autor und Titel Doppelpunkt, kein Punkt
\renewcommand{\postnotedelim}{\addcolon\space} %Zwischen Jahrzahl und Seitenzahl Doppelpunkt, kein Komma
\renewcommand{\nametitledelim}{\addspace}
\renewbibmacro*{publisher+location+date}{% %Zwischen Ort und Jahr kein Komma
\printlist{location}%
{\setunit*{\addspace}}
\printfield{edition}%
\usebibmacro{date}%
\newunit}
%überflüssiges Editionsfeld entfernen
\newcommand{\replaceedition}[1]
{%
\xpatchbibdriver{#1}
{\printfield{edition}%
\newunit}
{}%
{}
{\typeout{failed to patch driver #1}}
}
\replaceedition{book}
\replaceedition{collection}
\replaceedition{inbook}
\replaceedition{incollection}
\replaceedition{manual}
\renewbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
\setunit{\addcolon\space}}}%
%\usebibmacro{booktitle}%
\newunit}
\xpatchbibdriver{inbook}{%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
}%
{%
\usebibmacro{byeditor+others}%
\setunit{\addcolon\space}\newblock
\usebibmacro{maintitle+booktitle}%
}%
{}{}%
\xpatchbibdriver{inbook}{%
\newunit\newblock
\usebibmacro{chapter+pages}%
}%
{%
\addcolon\space
\usebibmacro{chapter+pages}%
}%
{}{}
\xpatchbibdriver{inbook}{%
\newunit
\iffieldundef{maintitle}
}%
{%
\setunit{\addcomma\space}
\iffieldundef{maintitle}
}%
{}{}
\xpatchbibdriver{incollection}{%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
}%
{%
\usebibmacro{byeditor+others}%
\setunit{\addcolon\space}\newblock
\usebibmacro{maintitle+booktitle}%
}%
{}{}%
\xpatchbibdriver{incollection}{%
\newunit\newblock
\usebibmacro{chapter+pages}%
}%
{%
\addcolon\space
\usebibmacro{chapter+pages}%
}%
{}{}
\xpatchbibdriver{incollection}{%
\newunit
\iffieldundef{maintitle}
}%
{%
\setunit{\addcomma\space}
\iffieldundef{maintitle}
}%
{}{}
\xpatchbibdriver{inproceedings}{%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
}%
{%
\usebibmacro{byeditor+others}%
\setunit{\addcolon\space}\newblock
\usebibmacro{maintitle+booktitle}%
}%
{}{}%
\xpatchbibdriver{inproceedings}{%
\newunit\newblock
\usebibmacro{chapter+pages}%
}%
{%
\addcolon\space
\usebibmacro{chapter+pages}%
}%
{}{}
\xpatchbibdriver{inproceedings}{%
\newunit
\iffieldundef{maintitle}
}%
{%
\setunit{\addcomma\space}
\iffieldundef{maintitle}
}%
{}{}
%Titel nicht in Anführungszeichen; S. vor Seitenangabe entfernen
\DeclareFieldFormat[inproceedings]{title}{#1}
\DeclareFieldFormat[inproceedings]{pages}{#1}
\DeclareFieldFormat[inbook]{title}{#1}
\DeclareFieldFormat[inbook]{pages}{#1}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{pages}{#1}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{pages}{#1}
%\renewcommand{\nametitledelim}{\space}
% Titel nicht schräg
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
% Journal Titel nicht schräg
\DeclareFieldFormat{journaltitle}{#1}
\bibliography{MWE} %name des .bib-Files
%=============ENDE BIBLIOGRAPHIE, ZITIERWEISE=================== %
\begin{document}
\autocite{Pfister:Strom}
\autocite{irrelevant}
\autocite{Pfister:Strom}
\printbibliography
\end{document}
This will get me:
So the short citation (Pfister et al. 1995) is good, but the full citation (the first one) and the bibliography should include all names given in the author field.
Thanks in advance!
\fullcite
to usemaxbibnames
rather thanmaxcitenames
?. Where you would obviously set themaxbibname
to a very high value (999
or thereabouts).