18

In supplying an answer to this question: Preserve lowercase in bibtex I discovered that the way biblatex handles name prefixes is a bit odd, since it appears to be "all or nothing".

Update This question has been modified from the original to further clarify the problem.

From the biblatex manual:

useprefix=true, false default: false

Whether the name prefix (von, van, of, da, de, della, etc.) is considered when printing the last name in citations. This also affects the sorting and formatting of the bibliography as well as the generation of certain types of labels. If this option is enabled, biblatex always precedes the last name with the prefix. For example, Ludwig van Beethoven would be cited as “Beethoven” and alphabetized as “Beethoven, Ludwig van” by default. If this option is enabled, he is cited as “van Beethoven” and alphabetized as “Van Beethoven, Ludwig” instead. With Biber, this option is also settable on a per-type basis.

In a very similar question: How can I put a name's prefix in front in citations but *not* in the bibliography?, lockstep proposes a solution whereby the use of the prefix is turned on at the beginning of the document (and thereby used with in text citations) but turned off at the beginning of the bibliography (and thereby not used in the sorting of the bibliography.)

Here's an example:

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
% Use useprefix=false to ignore name prefixes
\usepackage[style=authoryear,backend=biber,useprefix=false]{biblatex}
\usepackage{ifpdf}
\makeatletter
\AtBeginDocument{\toggletrue{blx@useprefix}}
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother
\begin{filecontents}{\jobname.bib}
@book{Saussure1995,
    Author = {Ferdinand de Saussure},
    Origyear = {1916},
    Publisher = {Payot},
    Title = {Cours de Linguistique G{\'e}n{\'e}rale},
    Year = {1995}}

@book{Labov1972,
    Address = {Philadelphia},
    Author = {William Labov},
    Publisher = {University of Pennsylvania Press},
    Title = {Sociolinguistic Patterns},
    Year = {1972}}

\end{filecontents}
\addbibresource{\jobname}
\begin{document}
The relation between the the sign and the signified is arbitrary \autocite{Saussure1995,Labov1972}. 

Language change is driven by language variation. \autocite{Labov1972}.

\printbibliography


\end{document}

This correctly yields "de Saussure" in the in text citations and "Saussure, Ferdinand de" in the bibliography, but it still has one side effect. In a list of citations, because useprefix is set to true, the in text citation yields "(de Saussure 1995; Labov 1972)" instead of "(Labov 1972; de Saussure 1995)".

So here's the question:

How can we make biblatex use the prefix in citations, not use the prefix in the bibliography, and sort lists of in text citations correctly so that we get "de Saussure" in the citation lists to sort with S rather than D?

This is a generic problem for any authoryear or author style, so I've created a new question to reflect that, and added both the and the tags.

Alan Munn
  • 218,180
  • @lockstep: It isn't the same -- the output of the prefix is in front of the first name. – Marco Daniel Oct 02 '11 at 19:16
  • Is "Saussure, de F." the desired bibiliography formatting? – lockstep Oct 02 '11 at 19:22
  • @lockstep No, it should be Saussure, Ferdinand de. – Alan Munn Oct 02 '11 at 19:25
  • 1
    I've updated the question so it's no longer an exact duplicate. – Alan Munn Oct 02 '11 at 20:00
  • An issue not addressed so far is the fact that usage regarding the preferred placement of the "von part" or "prefix" depends importantly on whether the author being cited is/was in Europe or in North America. E.g., the names of people in the Netherlands whose names include "van" (as in "van Dijck", "van der Gugten", "Van Dixhorn") are usually sorted without regard to the "van" or "van der" part. However, if their forefathers moved to the US, their names in the phone book and in citations will be listed under "V", since the "von part" is generally considered a part of the last name in the US. – Mico Oct 05 '11 at 18:49
  • @Mico Right. That's why biblatex allows the useprefix on a per-entry basis. The quick solution to that, however is to put such names (i.e. the Anglicized ones) in braces. – Alan Munn Oct 05 '11 at 20:37
  • Excellent. But how does biblatex deal with two co-authors whose names both have a prefix, but one uses the prefix as part of her family name and the other does not. E.g., consider "Jeanne de Lorraine" and "Giuglietta di Verona", the former having grown up in North America and the latter having recently moved there from Italy. Other than by using braces, can one instruct biblatex to include the prefix for Jeanne's name but to ignore it for Giuglietta's? Left to its own devices, will biblatex cite them as de Lorraine and di Verona, Lorraine and Verona, or (best) de Lorraine and Verona? – Mico Oct 05 '11 at 21:13
  • @Mico My head hurts. :-) But I think braces is the way to go for such cases. It's quite common in Anglicized names that the prefix is capitalized, and by default biblatex will include such prefixes as part of the last name. (So with useprefix=false set, Van Kamp will use the prefix, but van Kamp won't. – Alan Munn Oct 05 '11 at 21:31
  • The sorting by "van Knapen" or "Knapen" depends of the country, but also of journal styles and even personal preferences. There are not a clear convention about this in Spanish, but I see the same problem in English international journals. Just because the lack of a universal rules, it is very confusing for the reader use the prefix for the cite and not in references or viceversa. That is, when I see a cite of "van Knapen" or "De la Torre, I expect find this reference after "Vadillo" and "Dafonte", not after "Kim" and "Turing". – Fran Mar 09 '14 at 09:37
  • I use the latest BibLaTeX, and useprefix=true seems to do what I want. I use sortfirstinits=true, and \DeclareNameAlias{sortname}{last-first} \DeclareNameAlias{author}{first-last}. It prints the prefix in references such as (de la Peña, Cetto, and Brody, 1972), and also sorts on Peña (without the "de la") in the citation list. >...

    P. Pearle (1970). “Hidden-variable example based upon data rejection”. Phys. Rev. D 2, 1418–1425. doi: 10.1103/PhysRevD.2.1418.
    L. de la Peña, A. Cetto, and T. Brody (1972). “On hidden-variable theories and Bell’s inequality”. Lettere al Nuovo Cime

    – Jan-Åke Larsson Mar 06 '14 at 10:34
  • This issue is addressed in the Chicago Manual of Style (§ 8.5 and following in the 16th ed.), and summarized in Refering to someone whose name has an aristocratic particle on English Language and Usage. Basically, the particle should be ommited in both citation and bibliography, except for Dutch names (starting with van) and a few recent Italian names. Actual customs (e.g. for foreigners in the US) prevails on this rule. – ebosi Jul 15 '17 at 10:36

2 Answers2

11

Now the correct one ;-)

The option sortcites should work:

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}

\usepackage[style=authoryear,backend=biber,useprefix=false,sortcites=true]{biblatex}
\usepackage{ifpdf}
\makeatletter
\AtBeginDocument{\toggletrue{blx@useprefix}}
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother
\begin{filecontents}{\jobname.bib}
@book{Saussure1995,
    Author = {Ferdinand de Saussure},
    Origyear = {1916},
    Publisher = {Payot},
    Title = {Cours de Linguistique G{\'e}n{\'e}rale},
    Year = {1995}}

@book{Labov1972,
    Address = {Philadelphia},
    Author = {William Labov},
    Publisher = {University of Pennsylvania Press},
    Title = {Sociolinguistic Patterns},
    Year = {1972}}

\end{filecontents}
\addbibresource{\jobname}
\begin{document}
The relation between the the sign and the signified is arbitrary \autocite{Saussure1995,Labov1972}. 

Language change is driven by language variation. \autocite{Labov1972}.

\printbibliography


\end{document}

enter image description here

Marco Daniel
  • 95,681
3

I actually have an option for this implemented in my personal style. Taking Marco's example I add a toggle citeprefix and also define a BibliographyOption citeprefix:

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,backend=biber]{biblatex}
\defbibheading{bibliography}{\centering Works Cited}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Saussure1995,
    Author = {Ferdinand de Saussure},
    Origyear = {1916},
    Publisher = {Payot},
    Title = {Cours de Linguistique G{\'e}n{\'e}rale},
    Year = {1995}}

@book{Labov1972,
    Address = {Philadelphia},
    Author = {William Labov},
    Publisher = {University of Pennsylvania Press},
    Title = {Sociolinguistic Patterns},
    Year = {1972}}
\end{filecontents}
\addbibresource{\jobname.bib}

\providetoggle{citeprefix}
\toggletrue{citeprefix}
\DeclareBibliographyOption{citeprefix}[true]{\settoggle{citeprefix}{#1}}
\ExecuteBibliographyOptions{citeprefix=true}
\renewbibmacro*{name:last}[4]{%
  \iftoggle{citeprefix}
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}
       {}
       {\ifcapital
          {\mkbibnameprefix{\MakeCapital{#3\isdot}}}
          {\mkbibnameprefix{#3\isdot}}%
        \ifpunctmark{'}{}{\bibnamedelimc}}}
    {\ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}
       {}
       {\ifcapital
          {\mkbibnameprefix{\MakeCapital{#3\isdot}}}
          {\mkbibnameprefix{#3\isdot}}%
        \ifpunctmark{'}{}{\bibnamedelimc}}}
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}}}%
  \mkbibnamelast{#1}}%
\begin{document}
The relation between the the sign and the signified is arbitrary \autocite{Saussure1995}. 

Language change is driven by language variation. \autocite{Labov1972}.

\printbibliography


\end{document}

enter image description here

Simifilm
  • 3,168
  • 23
  • 29
  • Thanks for your answer Simon. I've updated the question a bit, unfortunately. With your solution, the sorting of multiple in text citations still uses the prefix. (so de Saussure sorts with D not S). (BTW, your image doesn't match the code, I don't think.) – Alan Munn Oct 02 '11 at 20:19
  • @Alan: Simifilm has updated his answer, too. – lockstep Oct 02 '11 at 20:25
  • @Marco: I've updated the code and the image, are you sure it's not what you want? The Sorting is under S. – Simifilm Oct 02 '11 at 20:26
  • 1
    As @Marco has pointed out in chat, adding sortcites=true to your solution will solve the list of in text citations problem. So your solution works well. – Alan Munn Oct 02 '11 at 20:27