Как сослаться на статью, автор которой указал только свое имя и не указал фамилию?

Как сослаться на статью, автор которой указал только свое имя и не указал фамилию?

Мне нужно сослаться на элемент, у автора которого нет фамилии, только имя (псевдоним). Я бы хотел, чтобы система распознавала его как имя (потому что при полиглоссии и французском варианте фамилии пишутся малыми буквами). Моя цель — писать имена в метках или записях обычными буквами, а не малыми буквами.

Я использую biblatex, но, полагаю, может быть, есть решение для обычного использования biblio?

Я уже попробовал эти две вещи:

@book{one,
     author={{}, William},    % Results in    [ , William]
     author={William},        % Results in    [WILLIAM]
     ...
}

но в первом случае метка пустая и в списке отображается запятая, а во втором случае предполагается, что имя является фамилией.

Есть ли у вас какие-либо идеи, как действовать дальше?


\documentclass{article}


\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
    @book{test,
      title={Le petit prince},
      author={de Saint-Exup{\'e}ry, Antoine},
      year={1943},
    }
    @book{one,
      author = {William},
      title = {First try},
      year = {2001},
    }
    @book{two,
      author = {{}, William},
      title = {Second try},
      year = {2001},
    }
\end{filecontents*}


\usepackage{polyglossia}
    \setmainlanguage{french}

\usepackage[
    backend=biber,
    style=authoryear,
    sorting=anyt,
    labelalpha,
]{biblatex}
\addbibresource{\jobname.bib}

\DeclareNameAlias{sortname}{family-given}

\begin{document}
    Look at book [\cite{one}] ! And book [\cite{two}]!
    And look at book [\cite{test}]!
    \printbibliography
\end{document}

решение1

Адаптирован изhttps://tex.stackexchange.com/a/429110/263192

\documentclass{article}

\begin{filecontents*}[overwrite]{\jobname.bib}
    @book{test,
      title={Le petit prince},
      author={de Saint-Exup{\'e}ry, Antoine},
      year={1943},
    }
    @book{three,
      author = {William},
      author+an = {=pseudonym},
      title = {Third try},
      year = {2022},
    }
\end{filecontents*}

\usepackage{polyglossia}
\setmainlanguage{french}

\usepackage[
    backend=biber,
    style=authoryear,
    sorting=anyt,
    labelalpha,
]{biblatex}
\addbibresource{\jobname.bib}

\renewcommand*{\mkbibnamefamily}[1]{%
  \iffieldannotation{pseudonym}
    {#1}
    {\textsc{#1}}
}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

\DeclareNameAlias{sortname}{family-given}

\begin{document}
    [\cite{test}]
    
    [\cite{three}]
    
    \printbibliography
\end{document}

введите описание изображения здесь

Связанный контент