1
%Type de document
\documentclass[11pt, a4paper]{article}
%Caractères spéciaux
\usepackage{MnSymbol}
\usepackage{mathrsfs}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%Mise en page
\usepackage[a4paper,includeheadfoot, margin=3cm]{geometry}
\linespread{1.5}
\usepackage{fancyhdr}
\renewcommand{\headrulewidth}{0pt}
\setlength{\skip\footins}{2.5\baselineskip}
\usepackage{csquotes}
%Langue 
\usepackage[french]{babel}
%Biblatex
\usepackage[backend=biber, style=philosophy-classic, scauthors=bib, natbib=true]{biblatex}
%\usepackage{hyperref}
\renewcommand*{\volnumpunct}{}
\DeclareFieldFormat{volume}{{#1}}
\DeclareFieldFormat{number}{(#1)}
\DeclareFieldFormat{pages}{pp. #1}
\renewcommand*{\postnotedelim}{: }
\DeclareFieldFormat{postnote}{#1}
\setlength{\bibnamesep}{3\itemsep}
\DeclareNameAlias{sortname}{family-given}
\addbibresource{Bibliography.bib}

Using bibilatex-philosophy, I tried to keep LASTNAME first in every circumstance since when an entry has two authors, the second one is displayed with his FIRSTNAME first (apparently it's the correct way but this goes against the Harvard norm). I used:

\DeclareNameAlias{sortname}{family-given}

This worked. However, now my smallcaps are gone (?!?). So I tried to withdraw the option:

scauthors=bib %smallcaps authors only in bibliography.

And replaced it with:

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}

But this failed.

What's even more disturbing is that

scauthors=all

solved the issue but I don't want my authors in smallcaps in-text.

I tried to read attentively the readme. The only hint I got is this (I use the french version):

The french.lbx localization module redefines \mkbibnamefamily in order to get the family name
in small caps shape. We do not like this approach because an author could use a localization module
without adhering to the typographical standards which should be indipendent from the linguistic
standards. For this reason we prefer to reset it to the default deffnition.

If anyone has a clue...

Thanks

1
  • 3
    Welcome to TeX.se. Please don't post code fragments. Instead, put the fragments into a complete and compilable document that people can play with. You can also include a sample .bib file entry as well. And please change your title: behaviour that is unexpected to you isn't the same thing as a bug.
    – Alan Munn
    Commented Apr 21, 2020 at 17:33

1 Answer 1

1

The definition of the name format sortname in philosophy-standard includes the line

\iftoggle{bbx:scauthorsbib}{\usebibmacro{bbx:scswitch}}{}%

With \DeclareNameAlias{sortname}{family-given} we set a different name format that does not include this switch. But we can easily get it back.

Note that this solution uses the new name wrappers and requires biblatex v3.12 (2018-10-30) or above. If you are using an older solution, longer code is needed.

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=philosophy-classic, scauthors=bib, natbib=true]{biblatex}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameWrapperFormat{sortname}{%
  \iftoggle{bbx:scauthorsbib}{\usebibmacro{bbx:scswitch}}{}%
  #1}

\addbibresource{biblatex-examples.bib}

\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}

No small caps in citations, small caps in bibliography.

NB: \mkbibnamefamily is always a bit tricky if French is in the mix, because biblatex's localisation module then redefines \mkbibnamefamily to produce small caps. See How to remove small capitals when using biblatex with babel in french? and Keep lowercase in biblatex. biblatex-philosophy's French language module explicitly redefines \mkbibnamefamily to apply no formatting. Depending on what exactly one wants to achieve it may still be necessary to issue \DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}.

We don't need to worry about all that here, though, since bbx:scswitch is called late enough that all of that is taken care of.

2
  • Thank you very much ! Works like a charm.
    – jfk
    Commented Apr 25, 2020 at 18:17
  • @jfk Glad I could help. If the answer helped you, you may want to consider accepting it by clicking on the green checkmark on the top left. That way the question is marked as resolved. See tex.stackexchange.com/help/someone-answers.
    – moewe
    Commented Apr 25, 2020 at 18:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .