0

I generate my bibliograhy with biblatex and biblatex-gost. I need to tweak the display of authors in the bibliography:

  1. The whole list of authors should start with \by
  2. The initials should be placed before the surname
  3. The initials should b separated with \,
  4. There should be a ~ between initials and a surname

Thus, I need e.g.

\by C.\,J.~Goodwin, A.~Smith

Point 3 looks solved, but other do not.

MWE:

\documentclass{article}
\usepackage[backend=biber,style=gost-numeric,sorting=none]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{cgood1980,
    Author = {Charles John Goodwin and Alice Smith},
    Journal = {Sociological Inquiry},
    Number = {3-4},
    Pages = {272-302},
    Title = {Restarts at turn-beginning},
    Volume = 50,
    Year = 1984,
}
\end{filecontents}
\addbibresource{\jobname.bib} 

\begin{document}
    \parencite{cgood1980}
    
    \renewcommand*{\bibinitdelim}{\textbackslash,} % Works perfectly!

    % Desired result:
    % \by C.\,J.~Goodwin, A.~Smith

    %\renewcommand*{\bibinitperiod}{\~{\space}} % Does NOT what I need
    
    %\DeclareNameAlias{sortname}{last-first} % No effect!
    %\DeclareNameAlias{sortname}{first-last} % No effect!
    %\DeclareNameAlias{headingname:family-given}{last-first} % No effect!
    %\DeclareNameAlias{headingname:family-given}{first-last} % No effect!

    
    \printbibliography
\end{document}

I realize that (obviously!) it shouldn't be GOST-complaint; indeed, my goal is much more complex: I'm trying to create a workaround which should convert usual biblatex bibliography to amsbib-complaint one (amsbib is a dark Russian magic invented in Steklov Institute of Mathematics; like a guinea pig, it has nothing common neither with AMS nor with BibTeX). De-facto my solution is a wrapper over biblatex2bibitem, see also this question. The problem with authors seems to be the last known one that I have to solve; all the others are rather pathological.

1 Answer 1

1

In biblatex-gost styles the names at the beginning of a bibliography entry are controlled by the heading name format.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[backend=biber,style=gost-numeric,sorting=none]{biblatex}

% 1
\DeclareNameWrapperFormat{heading}{\textbackslash by #1}
% 2
\DeclareNameAlias{heading}{given-family}
% 3
\renewcommand*{\bibinitdelim}{\textbackslash,}
% 4
\renewcommand*{\bibnamedelimd}{\textasciitilde}

\begin{filecontents}{\jobname.bib}
@article{cgood1980,
  Author  = {Charles John Goodwin and Alice Smith},
  Journal = {Sociological Inquiry},
  Number  = {3-4},
  Pages   = {272-302},
  Title   = {Restarts at turn-beginning},
  Volume  = 50,
  Year    = 1984,
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \parencite{cgood1980}

  \printbibliography
\end{document}

\by C.,J.~Goodwin, A.~Smith. Restarts at turn-beginning // Sociological Inquiry. — 1984. — Vol. 50, no. 3/4. — P. 272–302.

1
  • Thank you very much for the quick answer! I encountered the only problem with p.1: I'm stuck to certain biblatex version because I sometimes post article to arXiv. Thus, I couldn't use \DeclareNameWrapperFormat. Instead of it, I (following this question) concluded that amsbib never uses bibdashes, and I can redefine it: \renewbibmacro{bbx:dashcheck}{\textbackslash by } \renewcommand{\bibnamedash}{} (just for reference)
    – NickKolok
    Jul 6, 2020 at 19:12

You must log in to answer this question.

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