5

I'm using BibLaTeX with following options:

\usepackage[citestyle=numeric,style=numeric,backend=biber]{biblatex}

How do I correctly specify pseudonyms?

@misc{kent2016,
  author = {Clark "Superman" Kent},
  title = {Mindset of a Winner},
  year = {2016},
  url = {https://www.supermanhomepage.com/},
  urldate = {2019-03-14}
}

There is a realauthor field but when I enable it with bibstyle=realauthor, it only changes the numeric reference style and does not help otherwise.

  • Could you maybe explain better what you are getting now and how it is wrong? Also please share a mwe for other users to compile and understand your problem :) – Superuser27 Mar 14 at 12:37
  • 1
    What is the expected output here? Would Clark "Superman" Kent be sorted under S for Superman or under K for Kent? What would \textcite/\citeauthor show? You may also want to include a short MWE that shows what you tried so far with realauthor and how it did not work for you. – moewe Mar 14 at 12:42
  • @Superuser27 bibstyle=realauthor overwrites style=numeric. I guess bibstyle and style are the same option. There is nothing wrong, it's just a citation style that I'm not looking for. – mike Mar 14 at 12:44
  • @moewe \citeauthor prints Kent and the entry is sorted under K in the references. I really don't have an expectation for the output. I want to know what the 'BibLatex way' of handling pseudonyms is, so that I can use it accordingly. Other than that, I could just leave the pseudonym in quotes as I did in the question. – mike Mar 14 at 12:50
  • 2
    I have never used the realauthor package, but from what I understand there is a serious limitation: It only works if a work has a single author. If there are multiple authors, it breaks. This was actually the reason I came up with my own solution. I originally had something similar with another name field, but to make it work with multiple authors, you have to use nameparts. – Simifilm Mar 14 at 13:21
5

I am not aware of a biblatex standard solution for pseudonyms. Normally a name consists of the following four parts

  • family (last) name
  • given (first) name
  • name suffix (Sr, Jr.)
  • name prefix ("von part")

If you type in the name as Clark "Superman" Kent "Superman" will just be parsed as a second given name. For many intents and purposes that probably works alright, though the result with giveninits might be subpar.


It is possible to work out a more semantic solution with Biber's extensible name format.

The idea is to add a fifth name part, the pseudonym. It can be treated differently from all other name parts. In the example below the pseudonym is not used for sorting and it is only shown when the name is displayed in given-fmaily order.

See Bibtex/Biber: how to cite an author using Ethiopian conventions? for another more involved application of the extended name format with more explanations. CJK Bibliography Problem, Biblatex-Chicago and Chicago-style citations of CJK documents #2 may also be interesting.

\documentclass{article}
\usepackage{filecontents}

% This defines a new data model
% that is necessary to make the new name part known to Biber.
% In a production environment one would put pseudonym.dbx where
% LaTeX can find it and would not use filecontents.
\begin{filecontents*}{pseudonym.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,pseudonym}
\end{filecontents*}

\begin{filecontents*}{\jobname.bib}
@online{kent2016,
  author  = {family=Kent, given=Clark, pseudonym=Superman},
  title   = {Mindset of a Winner},
  year    = {2016},
  url     = {https://www.supermanhomepage.com/},
  urldate = {2019-03-14}
}
\end{filecontents*}

\usepackage[style=numeric,backend=biber, datamodel=pseudonym]{biblatex}

\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}


% use name:given-pseudonym-family instead of standard name:given-family 
% and add another argument {\namepartpseudonym} at the end
\DeclareNameFormat{given-family}{%
  \ifgiveninits
    {\usebibmacro{name:given-pseudonym-family}
      {\namepartfamily}
      {\namepartgiveni}
      {\namepartprefix}
      {\namepartsuffix}
      {\namepartpseudonym}}
    {\usebibmacro{name:given-pseudonym-family}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}
      {\namepartpseudonym}}%
  \usebibmacro{name:andothers}}

\newcommand*{\mkbibcompletenamegivenpseudonymfamily}[1]{#1}

\renewcommand*{\mkbibnamepseudonym}{\mkbibquote}

% Name formatting macro
% mostly copied from standard name:given-family
% but with the bits for #5 added
% {<family>}{<given>}{<prefix>}{<suffix>}{<pseudonym>}
\newbibmacro*{name:given-pseudonym-family}[5]{%
  \usebibmacro{name:delim}{#2#5#3#1}%
  \usebibmacro{name:hook}{#2#5#3#1}%
  \mkbibcompletenamegivenpseudonymfamily{%
    \ifdefvoid{#2}
      {}
      {\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
    \ifdefvoid{#5}
      {}
      {\mkbibnamepseudonym{#5}\isdot\bibnamedelimd}%
    \ifdefvoid{#3}
      {}
      {\mkbibnameprefix{#3}\isdot
       \ifprefchar
         {}
         {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}%
    \mkbibnamefamily{#1}\isdot
    \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}

\begin{document}
\textcite{sigfridsson,knuth:ct:a,knuth:ct:b,knuth:ct:c,cicero,geer}

\textcite{kent2016}

\printbibliography
\end{document}

The output is not spectacular

Citation: "Kent [3]" Bibliography: [3] Clark “Superman” Kent. Mindset of a Winner. 2016. url: https://www.supermanhomepage.com/ (visited on 03/14/2019).

  • Thanks! :-) I suppose this works with multiple authors e.g. author = {{...}, {...}}? Also, where do you define that double quotes are used? I can't find it in the code. – mike Mar 14 at 13:16
  • 2
    @mike Yes it does, that is one of the great advantages of using the extended name format over a separate field like realauthor. Try author = {Lois Lane and family=Kent, given=Clark, pseudonym=Superman and Emma Sigfridsson},. The quotation marks are added with \renewcommand*{\mkbibnamepseudonym}{\mkbibquote}, where \mkbibnamepseudonym is the analogue to \mkbibnamefamily for pseudonym. – moewe Mar 14 at 13:20
3

I implemented pseudonyms in my style biblatex-fiwi. I don't think any other style supports this. I try to briefly summarise what I did.

BEWARE: THIS IS MESSY CODE, I AM SURE THIS COULD BE DONE IN A MUCH CLEANER WAY

For declaring the name, I make the distinction between the pseudonym which is the name which is normally used on the book (or whatever document it is) and the real name. For this I introduce new name parts: trueprefix,truefamily,truesuffix,truegiven.

These have to be defined with \DeclareDatamodelConstant:

\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,trueprefix,truefamily,truesuffix,truegiven} 

I then defined a test whether an entry actually has a pseudonym:

\newrobustcmd{\ifpseudo}[2]{%
\ifboolexpr{%
        ( not test {\ifdefvoid{\nameparttruefamily}} or not test
        {\ifdefvoid{\nameparttruegiven}})}%
        {#1}{#2}%
}

Now the definition of the name format has to be adapted:

\DeclareNameFormat{family-given}{%
  \ifgiveninits
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiveni}
      {\namepartprefix}
      {\namepartsuffix}
      \ifpseudo%
        {\usebibmacro{name:true:family-given}
        {\nameparttruefamily}
        {\nameparttruegiveni}
        {\nameparttrueprefix}
        {\nameparttruesuffix}}
        {}}
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}%
      {\namepartprefix}%
      {\namepartsuffix}%
      \ifpseudo%
        {\usebibmacro{name:true:family-given}%
        {\nameparttruefamily}%
        {\nameparttruegiven}%
        {\nameparttrueprefix}%
        {\nameparttruesuffix}}%
        {}}%
  \usebibmacro{name:andothers}}

Now we need the macro name:true:family-given:

\newbibmacro*{name:true:family-given}[4]{%
\addthinspace\bibopenbracket{=}%
  \ifuseprefix%
    {\usebibmacro{name:delim}{#3#1}%
    \usebibmacro{name:hook}{#3#1}%
    \ifdefvoid{#3}{}{%
       \ifcapital
         {\mkbibnametrueprefix{\MakeCapital{#3}}\isdot}%
         {\mkbibnametrueprefix{#3}\isdot}%
       }%\ifpunctmark{'}{}{\addhighpenspace}}%
       \mkbibnametruefamily{#1}\isdot%
       \ifdefvoid{#2}
        {}{\addcomma\addlowpenspace\mkbibnametruegiven{#2}\isdot}%
        \ifdefvoid{#4}
        {}{\addcomma\addlowpenspace\mkbibnametruesuffix{#4}\isdot}}%
            {\usebibmacro{name:delim}{#1}%
            \usebibmacro{name:hook}{#1}%
    \mkbibnametruefamily{#1}\addspace\isdot
     \ifdefvoid{#4}
        {}
        {\addlowpenspace\mkbibnametruesuffix{#4}\isdot}%
     \addcomma\ifdefvoid{#3}{}{\addcomma}%
     \ifdefvoid{#2}{}{\addlowpenspace\mkbibnametruegiven{#2}\isdot}%
     \ifdefvoid{#4}{}{\addlowpenspace\mkbibnametruesuffix{#4}\isdot}%
        \addspace\ifdefvoid{#3}
        {}
     {\addlowpenspace\mkbibnametrueprefix{#3}\isdot}}%
     \bibclosebracket
}

The actual entry for a name with a pseudonym looks like this:

@book{Blish.J:1973a,
    Address = {Chicago},
    Author = {given=William, family=Atheling, suffix=Jr., truefamily=Blish, truegiven=James},
    Edition = {2},
    Origdate = {1964},
    Publisher = {Advent Publishers},
    Subtitle = {Studies in Contemporary Magazine Science Fiction},
    Title = {The Issue at Hand},
    Year = {1973}}

The printed bibiliography looks like this with biblatex-fiwi:

enter image description here

Note that I only print the real name in the bibliography and not in the in-text citation

IME there can also be problems with BibTeX GUIs. BibDesk which I use to manage my bibliographic data has a hard time dealing with the unfamiliar name entries.

As I said: I am sure this can be done in a much neater way, but it works …

EDIT If you actually are going to use biblatex-fiwi, simply add the truenameparts to the name, the style will take care of the rest. But in its current form, the style is heavily geared toward German speaking humanities.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.