27

How can I cite an authors full name (= first name + last name) in biblatex?

@book{Gladwell2005,
    author = {Gladwell, Malcolm},
    address = {New York, NY},
    publisher = {Back Bay Books},
    title = {Blink: The Power of Thinking Without Thinking},
    year = {2005},
}

I would then like to cite the book with Malcolm Gladwell's full name. So what I'm looking for is some sort of \citefullauthorname macro.

3 Answers 3

25

One may use \DeclarenameAlias{labelname}{<whatever>} inside new author-citation commands.

\documentclass{article}

\usepackage{biblatex}

\DeclareCiteCommand{\citeauthorfirstlast}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \DeclareNameAlias{labelname}{first-last}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\citeauthorlastfirst}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \DeclareNameAlias{labelname}{last-first}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{Knu86,
  author = {Knuth, Donald E.},
  year = {1986},
  title = {The \TeX book},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\citeauthorfirstlast{Knu86}

\citeauthorlastfirst{Knu86}

\citeauthor{Knu86}

\printbibliography

\end{document}

enter image description here

5
  • 7
    Or just use: \newrobustcmd*{\citefirstlastauthor}{\AtNextCite{\DeclareNameAlias{labelname}{first-last}}\citeauthor}.
    – Audrey
    Sep 25, 2012 at 15:51
  • 4
    Could someone expand Audrey's suggestion into a full MWE here? I'm not quite sure what the suggestions entails.
    – Sverre
    Mar 6, 2014 at 12:24
  • I have tried and it does not work.
    – Guuk
    Oct 28, 2017 at 18:26
  • 1
    @Audrey’s suggestion works perfectly well, but for some reason copy&pasting the code results in zero-width spaces at random positions, which breaks the code. You have to remove the zero-width spaces or just retype the code. Nov 29, 2017 at 14:38
  • 4
    Name format 'first-last' deprecated. Use the following instead: \newrobustcmd*{\citefirstlastauthor}{\AtNextCite{\DeclareNameAlias{labelname}{given-family}}\citeauthor}
    – mrclrchtr
    Feb 26, 2019 at 9:57
16

You can define your own cite commands, like this commands, which will print all names in full;

\DeclareCiteCommand*{\citeauthor}
{\defcounter{maxnames}{99}%
\defcounter{minnames}{99}%
\defcounter{uniquename}{2}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexnames{labelname}}{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}

that you can use it like \citeauthor*{Gladwell2005} (be sure to use the starred version).

Source

3
  • 4
    Isn't there any simpler way? A predefined command perhaps, which can achieve this? It should exist, because some bibliography styles can print the full author's name. Jun 5, 2012 at 21:00
  • I only get the last name, like Gladwell, when trying this one. With and without the starred version.
    – Magne
    Nov 21, 2019 at 16:02
  • According to the biblatex doc that should already be pre-defined (added in 2013) or do I read that wrong? (Does not work in my case though.)
    – rugk
    Jun 11, 2020 at 10:45
6

Here's how I did it:

\nocite{reid1806analysis} Thomas Reid (1806, p.~91) pointed out the same problem
and reprimanded Aristotle severely for this and other errors.

Yes, this introduces redundancy and a chance of error if I change the Reid citation. But it generates the correct output, it required no debugging of LaTeX/BibTeX arcana, and I have a Ph.D. to finish.

4
  • 6
    I, too, have a Ph.D. to finish. So why am I leaving this comment? Anyway, I'd think the following would be a little better: Thomas \citet[91]{reid1806analysis} pointed out...
    – DHW
    May 10, 2018 at 0:10
  • 2
    I hope you guys finished your PhD. If not yet, good luck!
    – hola
    Nov 28, 2020 at 17:02
  • 1
    Thanks for the kind words, @hola! I'm just now finishing up the research and will soon be diving back into TeX…
    – Ben Kovitz
    Nov 29, 2020 at 13:03
  • 3
    @BenKovitz Good luck, pal. There are multiple errors in my thesis (the PDF looks normal though), was scratching my head over this. Then I found your comment, "I have a Ph.D. to finish". I shrugged, and decided to ignore those.
    – hola
    Nov 29, 2020 at 16:13

You must log in to answer this question.

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