I have said this before, but for the benefit of other readers: It is usually a bad idea to try to modify specialised styles like biblatex-apa
and biblatex-chicago
so heavily. These styles were specifically written to conform to very strict (and sometimes complicated and slightly inconsistent) rules of an authoritative style guide. That means that the code is much more complicated than the standard styles, which were meant to be modified as needed. For future project I strongly advise to build your customised style upon one of the standard styles (probably authoryear
in this case) \begin{advertising}
or upon one of the style of my biblatex-ext
family \end{advertising}
It is a feature of APA style that location
and publisher
are dropped if the DOI is present for chapters like @incollection
or @inbook
. That can be turned off by redefining the macro location+publisher
.
The volume
field in Castells_2010
and Foucault_2004
is not shown because the entries lack a maintitle
field. Usually the maintitle
+volume
are used together like
@book{Castells_2010,
langid = {english},
location = {Oxford},
maintitle = {The Information Age},
mainsubtitle = {Economy, Society, and Culture},
title = {The Rise of the Network Society},
volume = {I},
edition = {2. Aufl.},
isbn = {978-1-4443-1951-4},
volumes = {III},
publisher = {Wiley-Blackwell},
date = {2010},
author = {Castells, Manuel},
doi = {10.1002/9781444319514}
}
@book{Foucault_2004,
langid = {ngerman},
location = {Frankfurt am Main},
maintitle = {Geschichte der Gouvernmentalit{\"a}t},
volume = {II},
title = {Die Geburt der Biopolitik},
subtitle = {Vorlesung am Coll{\`e}ge de France 1978\textendash{}1979},
isbn = {978-3-518-58393-7},
shorttitle = {Die Geburt der Biopolitik},
volumes = {II},
pagetotal = {517},
series = {Taschenbuch Wissenschaft},
publisher = {Suhrkamp},
date = {2004},
author = {Foucault, Michel},
editor = {Sennelart, Michel},
translator = {Brede-Konersmann, Claudia and Schr{\"o}der, J{\"u}rgen}
}
(note that I also split up fields into ...title
and ...subtitle
where appropriate).
Since both entries refer only to one (pyhsical) book of a a multi-volume project, @book
is the appropriate entry type. I would use @mvbook
only if I wanted to refer to the entire multi-volume work at once for example
@mvbook{knuth:ct,
author = {Knuth, Donald E.},
title = {Computers \& Typesetting},
date = {1984/1986},
volumes = 5,
publisher = {Addison-Wesley},
location = {Reading, Mass.},
}
Similarly volumes
(in plural) only makes sense if a work consists of several volumes, and that will always be a @mvbook
/@mvcollection
. Your entries, however, refer to just one book and so volumes
is not really needed (except as an volume 2 of 3 sort of thing, which I don't think any style does).
The two code-level changes have been marked with today's date 2018-09-24
so they are easier to spot.
\documentclass[11pt,a4paper,toc=listof]{scrartcl}
\usepackage[left=3cm, right=2cm, bottom=3cm, top=2cm]{geometry}
\usepackage[english,ngerman]{babel} % Sprachpakete
\usepackage[utf8]{inputenc} % Direkte Eingabe von Umlauten
\usepackage[T1]{fontenc} % Worttrennung bei Umlauten
\usepackage{microtype} % Verbesserter Randausgleich
% Anführungszeichen
\usepackage[
babel,
german=quotes,
german=guillemets
]{csquotes}
% ––––––––––––––––––––––––––––––––––––––––––––––––––
% Bibliographie
% ––––––––––––––––––––––––––––––––––––––––––––––––––
\usepackage[
style = apa,
citestyle = authoryear,
citetracker = false, % immer Kurzform (= ab 3 Autoren et al.)
uniquelist = false, % immer nur 1. Autor + et al.
sorting = nyt,
sortcites = true,
autocite = inline,
maxbibnames = 99,
maxcitenames = 2,
backend = biber,
bibliography = totoc,
isbn = false,
doi = true,
urldate = short
]{biblatex}
\DeclareLanguageMapping{german}{german-apa}
\DeclareFieldFormat{apacase}{#1}
\DefineBibliographyStrings{ngerman}{%
andothers = {{et\,al\adddot}},
}
% increase vertical space between bibliography items.
\setlength\bibitemsep{1.3ex}
\setlength\bibnamesep{1.0ex}
% ––––––––––––––––––––––––––––––––––––––––––––––––––
% Zitation
% ––––––––––––––––––––––––––––––––––––––––––––––––––
% remove comma in (Beadle and Tautum, 1941) This applies to citation only
\renewcommand*{\nameyeardelim}{\addspace}
% change delimiters
% since the delimiters use several contexts, some format clearing needs to happen
\DeclareDelimFormat*{multinamedelim}{\,/\,}
\DeclareDelimFormat*{finalnamedelim}{}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat*{finalnamedelim:apa:family-given}{}
\DeclareDelimAlias{finalnamedelim:apa:family-given}{multinamedelim}
% Umbrüche in URL und DOI bei Zahlen zulassen
\setcounter{biburlnumpenalty}{100} % allow breaks at numbers
% Reihen in Bibliographie
\DeclareFieldFormat{number}{\bibstring{number}~#1}
% name sort always last, first
\DeclareNameAlias{editor}{family-given}
% Anpassungen um Schriftenreihe mit Nummer vor Ort und Verlag zu platzieren
\renewbibmacro*{addinfo}{%
\ifthenelse{\iffieldundef{edition}\AND%
\iffieldundef{chapter}\AND%
\iffieldundef{volumes}\AND%
\iffieldundef{pages}\AND%
\(\iffieldundef{volume}\OR\boolean{bbx:volseen}\)}
{}
{\printtext{\bibopenparen}%
\printfield{edition}%
\setunit*{\addcomma\addspace}%
\printfield{chapter}%
\setunit*{\addcomma\addspace}%
\notbool{bbx:volseen}%
{\iffieldundef{volume}{}{\global\booltrue{bbx:volseen}}%
\printfield{volume}%
\iffieldundef{part}{}{\printfield{part}}}{}%
\setunit*{\addcomma\addspace}%
\printfield{volumes}%
\setunit*{\addcomma\addspace}%
\printfield{pages}%
\setunit{}%
\printtext{\bibcloseparen}%
\newunit}}
\renewbibmacro*{maintitle+title}{%
\iffieldsequal{maintitle}{title}
{\clearfield{maintitle}%
\clearfield{mainsubtitle}%
\clearfield{maintitleaddon}}
{\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\setunit{\global\booltrue{bbx:volseen}}%
\printfield{volume}%
\printfield{part}%
\setunit{\adddot\space}}}}%
\usebibmacro{title}%
\newunit}
\renewbibmacro*{maintitle+booktitle}{%
\ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}
{}
{\usebibmacro{in}%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\setunit{\addspace\global\booltrue{bbx:volseen}}%
\printfield{volume}%
\printfield{part}%
\setunit{\adddot\addspace}}}%
\usebibmacro{booktitle}}}
\renewbibmacro*{series+number}{%
\printfield{series}%
\setunit{\addcomma\space}%
\printfield{number}%
\newunit}
\usepackage{xpatch}
\xpatchbibdriver{book}
{\printfield{series}}
{\usebibmacro{series+number}}
{}{}
\xpatchbibdriver{inbook}
{\printfield{series}}
{\usebibmacro{series+number}}
{}{}
\xpatchbibdriver{incollection}
{\printfield{series}}
{\usebibmacro{series+number}}
{}{}
\xpatchbibdriver{collection}
{\printfield{number}}
{}
{}{}
\xpatchbibdriver{collection}
{\printfield{series}}
{\usebibmacro{series+number}}
{}{}
% * * *
% 2018-09-24:1
\renewbibmacro*{location+publisher}{%
\printlist[default][1-1]{location}%
\setunit*{\addcolon\space}%
\printlist{publisher}%
\newunit}
% Eintragsart Bericht (report) Anpassung
\DeclareFieldFormat[report]{number} {\bibcpstring{number}~\apanum{#1}}
\renewbibmacro*{apa:reportnum}{%
\newunit\newblock
\printfield{type}%
\setunit*{\addcomma\space}%
\printfield{number}}
\xpatchbibdriver{report}
{\printlist{institution}}
{}
{}{}
\newbibmacro*{location+institution}{%
\printlist[default][1-1]{location}%
\setunit*{\addcolon\space}%
\printlist{institution}%
\newunit}
\xpatchbibdriver{report}
{\usebibmacro{location+publisher}}
{\usebibmacro{location+institution}}
{}{}
% bei allen Eintragsarten andere Editortypen missachten
\AtEveryBibitem{
\iffieldequalstr{editortype}{redactor}
{\global\clearname{editor}\typeout{delete editor (type: redactor) in \thefield{citekey}}}{}%
\iffieldequalstr{editoratype}{redactor}
{\global\clearname{editora}\typeout{delete editora (type: redactor) in \thefield{citekey}}}{}%
\iffieldequalstr{editorbtype}{redactor}
{\global\clearname{editorb}\typeout{delete editorb (type: redactor) in \thefield{citekey}}}{}%
\iffieldequalstr{editorctype}{redactor}
{\global\clearname{editorc}\typeout{delete editorc (type: redactor) in \thefield{citekey}}}{}%
}
% Angabe "S." vor Seitenzahlen bei Journals
\DeclareFieldFormat*{pages}{\mkpageprefix[bookpagination]{#1}}
% 2018-09-24:2
% Subtitel nach Titel mit "––"
\renewcommand*{\subtitlepunct}{\addspace\textemdash\space}
\DeclareFieldFormat{volumes}{#1 \bibstring{volumes}}
\renewbibmacro*{maintitle}{%
\ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{mainsubtitle}}
{}
{\printtext[maintitle]{%
\printfield[apacase]{maintitle}%
\setunit{\subtitlepunct}%
\printfield[apacase]{mainsubtitle}}%
\setunit{\addspace}}
\printfield{maintitleaddon}%
\addcolon\space}
% ––––––––––––––––––––––––––––––––––––––––––––––––––
% Quellen
% ––––––––––––––––––––––––––––––––––––––––––––––––––
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Backhaus.etal_2016,
langid = {ngerman},
location = {Berlin},
title = {Multivariate Analysemethoden},
subtitle = {Eine anwendungsorientierte Einf{\"u}hrung},
edition = {14., {\"u}berarb. u. akt. Aufl.},
isbn = {978-3-662-46075-7},
publisher = {Springer Gabler},
date = {2016},
author = {Backhaus, Klaus and Erichson, Bernd and Plinke, Wulff and Weiber, Rolf},
doi = {10.1007/978-3-662-46076-4}
}
@report{Revelle_2017b,
langid = {english},
location = {Evanston, IL},
title = {How To: {Use} the psych package for Factor Analysis and data reduction},
url = {http://personality-project.org/r/psych/HowTo/factor.pdf},
institution = {Department of Psychology, Northwestern University},
urldate = {2018-07-01},
date = {2017},
author = {Revelle, William}
}
@incollection{Revelle.Condon_2018,
langid = {english},
location = {Chichester},
title = {Reliability},
volume = {II},
isbn = {978-1-118-48977-2},
booktitle = {The Wiley Handbook of Psychometric Testing},
booksubtitle = {A Multidisciplinary Reference on Survey, Scale and Test Development},
publisher = {J.~Wiley \& Sons},
date = {2018},
pages = {709-749},
author = {Revelle, William and Condon, David M.},
editor = {Irwing, Paul and Booth, Tom and Hughes, David J.},
doi = {10.1002/9781118489772.ch23}
}
@article{Wright.Herrington_2011,
langid = {english},
title = {Problematic Standard Errors and Confidence Intervals for Skewness and Kurtosis},
volume = {43},
issn = {1554-3528},
doi = {10.3758/s13428-010-0044-x},
number = {1},
journaltitle = {Behavior Research Methods},
date = {2011},
pages = {8-17},
author = {Wright, Daniel B. and Herrington, Joshua A.}
}
@book{Castells_2010,
langid = {english},
location = {Oxford},
maintitle = {The Information Age},
mainsubtitle = {Economy, Society, and Culture},
title = {The Rise of the Network Society},
volume = {I},
edition = {2},
isbn = {978-1-4443-1951-4},
publisher = {Wiley-Blackwell},
date = {2010},
author = {Castells, Manuel},
doi = {10.1002/9781444319514}
}
@book{Foucault_2004,
langid = {ngerman},
location = {Frankfurt am Main},
maintitle = {Geschichte der Gouvernmentalit{\"a}t},
volume = {II},
title = {Die Geburt der Biopolitik},
subtitle = {Vorlesung am Coll{\`e}ge de France 1978\textendash{}1979},
isbn = {978-3-518-58393-7},
shorttitle = {Die Geburt der Biopolitik},
pagetotal = {517},
series = {Taschenbuch Wissenschaft},
publisher = {Suhrkamp},
date = {2004},
author = {Foucault, Michel},
editor = {Sennelart, Michel},
translator = {Brede-Konersmann, Claudia and Schr{\"o}der, J{\"u}rgen}
}
\end{filecontents}
\addbibresource{\jobname.bib}
% ******************* T E X T *******************%
\begin{document}
Source 1: \cite[8]{Wright.Herrington_2011}\par
Source 2: \cite{Revelle_2017b}\par
Source 3: \cite{Backhaus.etal_2016}\par
Source 4: \cite{Castells_2010}\par
Source 5: \cite{Revelle.Condon_2018}\par
Source 6: \cite{Foucault_2004}
\printbibliography[title=Literaturverzeichnis]
\end{document}
Best Answer
I think the reason I didn't do this automatically is that by the time you get to the style, names have been split up into components and it's not clear what to compare any more. APA 6th just says to do this if "they are the same" which could be interpreted a number of ways. For it to be automatic, it has to be string equality, but I'm sure they also would say that "Fred Smith" and "F. Smith" were the same. What about AUTHOR="Fred Smith", PUBLISHER="Smith" - are they the same? For these reasons, I think it's probably better to just do this in the .bib. I could perhaps implement this in biber's config file mapping feature to compare fields before they are parsed and then do something. Will look into it.