The original definition of the bibmacro used to print the journal information is
\newbibmacro*{journal}{%
\iffieldundef{journaltitle}
{}
{\printtext[journaltitle]{%
\printfield[titlecase]{journaltitle}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{journalsubtitle}}}}
Thus the instruction \DeclareFieldFormat[article]{titlecase}{\MakeSentenceCase*{#1}}
impact the journal title as well. The solution is to modify the definition of the journal
bib macro
\newbibmacro*{journal}{%
\iffieldundef{journaltitle}
{}
{\printtext[journaltitle]{%
\printfield[myplain]{journaltitle}%
\setunit{\subtitlepunct}%
\printfield[myplain]{journalsubtitle}}}}
where we can define a myplain
field format that just produce an unformatted value.
\DeclareFieldFormat{myplain}{#1}
This problem is due to biblatex-apa
's (apa.bbx
's) apaauthor
name format; you might want to notify the author of this small bug.
The string and others
in the author list sets ifmorenames
to true. apaauthor
checks for this case whenever a name is printed, not just at the very end of the list; consequently it prints the andothers
string ("et al.") after each name.
The fix is to add the following lines to your preamble.
\DeclareNameFormat{apaauthor}{%
\ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots\addspace}
{\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\ifthenelse{\iffieldequalstr{doubtfulauthor}{true}}
{\mkbibbrackets{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}?}}
{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}}}}%
\ifthenelse{\value{listcount}=\value{listtotal}}% this test is new
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{}}
The MWE
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{boker2011,
Author = {Boker, S. and Neale, M. and Maes, H. and Wilde, M. and
Spiegel, M. and Brick, T. and Spies, J. and Estabrook,
R. and Kenny, S. and Bates, T. and others},
Title = {Open{M}x: {A}n open source extended structural
equation modeling framework},
Journal = {Psychometrika},
Volume = {76},
Number = {2},
Pages = {306--317},
year = 2011
}
\documentclass{apa6}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa,maxnames=999,sortcites=true,sorting=nyt,apabackref=true,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\DeclareNameFormat{apaauthor}{%
\ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots\addspace}
{\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\ifthenelse{\iffieldequalstr{doubtfulauthor}{true}}
{\mkbibbrackets{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}?}}
{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}}}}%
\ifthenelse{\value{listcount}=\value{listtotal}}
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{}}
\shorttitle{IFA}
\begin{document}
OpenMx \parencite{boker2011,aksin,wilde,murray}
\printbibliography
\end{document}
then yields
Update 2013-10: This has been corrected in biblatex-apa
version 6.4 according to a comment below the question from user PLK.
Best Answer
Internally the
journal
field is calledjournaltitle
(to be precise, the field is calledjournaltitle
andjournal
is only an alias that gets automatically remapped tojournal
). So you need to redefine the field format forjournaltitle
I also suggest you use
instead of
\textit
in\DeclareFieldFormat
directives. You could also use\mkbibemph
if you want to allow toggling between italics and upright font.In the MWE you seem to misuse the starred version of
\DeclareFieldFormat
. The starred version clears all type-specific formatting, so directly using the optional type argument seem superfluous. The entire block with redefinitions fortitle
andcitetitle
can probably be compressed down to\DeclareNameAlias{author}{first-last}
should be replaced bybut that should be the default setting, so should not be necessary at all.
Finally,
finalnamedelim
need usually not be redefined in\DefineBibliographyExtras
and should nowadays be redefined using the context sensitive delimiter interface. In your case I guess the cleanest approach would be