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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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