How to enter an author name that has a surname and a Junior component but no first name?
With the upcoming biblatex
3.5/Biber 2.6 Biber supports an extended format to give names. You can specify the nameparts separately and don't have to rely on BibTeX's name parsing. There you could just use
author = {family=XYZ, suffix=translator},
This format can be combined with the standard input form
author = {family=XYZ, suffix=translator and James Miller},
But you could make use of the extended name format to an even higher degree. (See also Bibliography according to icelandic system, Use only the last name as namepartfamily instead of everything after prefix and Bibtex/Biber: how to cite an author using Ethiopian conventions?)
Here I follow my approach from CJK Bibliography Problem, Biblatex-Chicago
We can introduce a new namepart role
with the .dbx
\ProvidesFile{mico.dbx}[2016/08/17 extended name format for biblatex]
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,role}
Then we just need a new macro to print the name with role, say
\newbibmacro*{name:role}[3]{%
\usebibmacro{name:delim}{#2#3#1}%
\usebibmacro{name:hook}{#2#3#1}%
\mkbibnamefamily{#1}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}}%
\ifdefvoid{#3}{}{\addcomma\space\mkbibnamerole{#3}}}
Then we need to make our name format choose this macro if the role
is present
\DeclareNameFormat{given-family}{%
\ifdefvoid{\namepartrole}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
{\usebibmacro{name:role}{\namepartfamily}{\namepartgiven}{\namepartrole}}%
\usebibmacro{name:andothers}}
\DeclareNameAlias{sortname}{given-family}
MWE
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{filecontents}
\begin{filecontents*}{mico.dbx}
\ProvidesFile{mico.dbx}[2016/08/17 extended name format for biblatex]
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,role}
\end{filecontents*}
\begin{filecontents*}{\jobname.bib}
@book{xyz,
title = {A Story},
author = {family=XYZ, role=translator and family=ABC, role=narrator},
year = {2011},
}
\end{filecontents*}
\usepackage[style=authoryear, backend=biber, datamodel=mico]{biblatex}
\addbibresource{\jobname.bib}
\newbibmacro*{name:role}[3]{%
\usebibmacro{name:delim}{#2#3#1}%
\usebibmacro{name:hook}{#2#3#1}%
\mkbibnamefamily{#1}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}}%
\ifdefvoid{#3}{}{\addcomma\space\mkbibnamerole{#3}}}
\DeclareNameFormat{given-family}{%
\ifdefvoid{\namepartrole}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
{\usebibmacro{name:role}{\namepartfamily}{\namepartgiven}{\namepartrole}}%
\usebibmacro{name:andothers}}
\DeclareNameAlias{sortname}{given-family}
\begin{document}
\cite{xyz}
\printbibliography
\end{document}
gives in citations
XYZ and ABC 2011
and in the references
XYZ, translator and ABC, narrator (2011). A Story.
This is my solution:
@book{Surname:2015,
author={Name {Surname Jr.}},
title={Book Title},
publisher={Publisher},
year={2015}
}