I focused on the 'interesting' bit of the style: The author+number citation and rough bibliography layout. The remaining tweaks should be doable with a bit of research on this site.
If we base our style on biblatex-philosophy
's philosophy-modern
we only need to make sure that citations are not 'author year', but 'author number' instead.
I can't think of a simple way to do that at the moment (feature request is out: https://github.com/plk/biblatex/issues/718), so I came up with the following. We pretend that we use an alphabetic style that uses only the author names in its label. Normally style=alphabetic
uses only bits of the author name and the year (e.g. SR98, Knu84). If a label is ambiguous, Biber calculates an extraalpha
value (e.g. Knu86a, Knu86b). Since our labels are the names only, extraalpha
would get us 'Nussbaum' (if there is no other work by 'Nussbaum') and 'Knutha', 'Knuthb'. That extraalpha
is almost our number: If there is no extraalpha
('Nussbaum') we take 1, otherwise extraalpha
is what we go with.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=philosophy-modern, backend=biber, labelalpha, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field{labelname}
}
}
\renewbibmacro*{relateddate}{%
\setunit*{\addspace}%
\printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}
\DeclareFieldFormat{extraalpha}{\mkbibbrackets{#1}}
\renewbibmacro{date+extradate}{%
\postsepyear{%
\usebibmacro{extralabel}}}
\newbibmacro{extralabel}{%
\iffieldundef{extraalpha}
{\printtext[extraalpha]{1}}
{\printfield{extraalpha}}}
\newbibmacro{cite:extralabel}{%
\printtext[bibhyperref]{\usebibmacro{extralabel}}}
\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\usebibmacro{cite:reinit}}
{\iffieldequals{namehash}{\cbx@lasthash}
{\setunit{\addcomma\space}%
\usebibmacro{cite:extralabel}}
{\printnames{labelname}%
\setunit{\addspace}%
\usebibmacro{cite:extralabel}%
\savefield{namehash}{\cbx@lasthash}}}}
\makeatother
\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}
\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}
biblatex
3.12 features a new extraname
counter that we can use here instead of the hack with extraalpha
. Simply replace extraalpha
with extraname
in the code above and drop \DeclareLabelalphaTemplate
and the labelalpha
option.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=philosophy-modern, backend=biber, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}
\renewbibmacro*{relateddate}{%
\setunit*{\addspace}%
\printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}
\renewbibmacro{date+extradate}{%
\postsepyear{%
\usebibmacro{extralabel}}}
\DeclareFieldFormat{extraname}{\mkbibbrackets{#1}}
\newbibmacro{extralabel}{%
\iffieldundef{extraname}
{\printtext[extraname]{1}}
{\printfield{extraname}}}
\newbibmacro{cite:extralabel}{%
\printtext[bibhyperref]{\usebibmacro{extralabel}}}
\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\usebibmacro{cite:reinit}}
{\iffieldequals{namehash}{\cbx@lasthash}
{\setunit{\addcomma\space}%
\usebibmacro{cite:extralabel}}
{\printnames{labelname}%
\setunit{\addspace}%
\usebibmacro{cite:extralabel}%
\savefield{namehash}{\cbx@lasthash}}}}
\makeatother
\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}
\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}
The output is the same.
\bibliography{bib_data_base}
is notbiblatex
with which you tagged your question and which you included in the title... If this is indeed a requirement, please retag and edit the title.biblatex-philosophy
'sphilosophy-modern
style looks very, very remotely like this (if you squint really hard and close one one completely). It's quite different, but it shows that something like this is not entirely impossible. The biggest problem with a style like this is that it is so very unusual. People know and can deal with author-year citations and they know numeric citation styles. They even know numeric citation styles that add the author. But the fact that the number resets for each author is definitely unusual at first.