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.

NickKolok
  • 657

1 Answers1

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.

moewe
  • 175,683
  • 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 06 '20 at 19:12