9

In both the LaTeX source file's directory and in my local texmf tree (namely, in ~/Library/texmf/tex/latex/biblatex/bbx) I've placed the following .bbx file:

\ProvidesFile{mybooknumeric.bbx}
%[\abx@bbxid]
\RequireBibliographyStyle{standard}
\RequireBibliographyStyle{numeric}
%
\DeclareBibliographyOption[boolean]{dashed}[true]{%
  \ifstrequal{#1}{true}
    {\ExecuteBibliographyOptions{pagetracker}%
     \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}}
    {\renewbibmacro*{bbx:savehash}{}}}
%
\newbibmacro*{bbx:savehash}{%
  \savefield{fullhash}{\bbx@lasthash}}

The purpose of that is simply to used horizontal lines to replace the author name for subsequent bibliography entries having the same author.

But when I process my source, such as the one below, I get an error:

(/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/biblatex.def) (./mybooknumeric.bbx (/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/bbx/standard.bbx) (/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx))

/usr/local/texlive/2016/texmf-dist/tex/latex/biblatex/biblatex.sty:13002: Packa ge biblatex Error: Style 'mybooknumeric' not found. ...

l.13002 \RequireCitationStyle{\blx@cbxfile}

What's wrong?

The source:

\documentclass[12pt]{memoir}

\usepackage[style=mybooknumeric,backend=bibtex,,dashed=true]{biblatex}

\begin{filecontents}{euler.bib}
@article{EulerE1776,
    Author = {Euler, Leonhard},Title = {All about E},
    Journal = {Math.\ Psychol.},
    Year = {1776},Volume = {4},number={1},
    pages={1--2718}
}
@article{EulerE1748,
    Author = {Euler, Leonhard},Title = {My formula},
    Journal = {Math.\ Formulas},
    Year = {1748},Volume = {4},
    pages={233--234}
}
\end{filecontents}

\addbibresource{euler.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}
  • 2
    It is finding the .bbx from what you've shown. But you don't seem to have a corresponding .cbx file. Note that there are the options style=, bibstyle=, and citestyle= when it comes to biblatex. – jon Oct 26 '16 at 1:21
  • 1
    @jon 's comment is correct. By using style instead of bibstyle, you tell biblatex to look for both a .bbx and .cbx file. Since you don't have the latter, you should use bibstyle instead. @jon you should turn your comment into an answer. – Alan Munn Oct 26 '16 at 1:36
7

Among biblatex's 'load-time' options are (biblatex version 3.5, §.3.1.1):

style=<file>                                             default: numeric 
Loads the bibliography style file .bbx and the citation style file .cbx.
See § 3.3 for an overview of the standard styles.

bibstyle=<file>                                           default: numeric
Loads the bibliography style file .bbx. See § 3.3.2 for an overview of the
standard bibliography styles.

citestyle=<file>                                          default: numeric
Loads the citation style file .cbx. See § 3.3.1 for an overview of the
standard citation styles.

So, if you use style=mybooknumeric, biblatex will try to find both mybooknumeric.bbx and mybooknumeric.cbx. In your case, it managed to find the former, but cannot (obviously) find the latter.

So you probably want to load biblatex in the following way:

% strictly speaking, naming the `citestyle` is not needed 
% if you want the 'numeric' style
\usepackage[bibstyle=mybooknumeric, citestyle=numeric, backend=bibtex, dashed=true]{biblatex}

... or create a mybooknumeric.cbx.

  • oops: I forgot about the .cbx vs. .bbx distinction. (I'm still overcoming my addiction to a single style name with plain bibtex instead of biblatex. Thanks! – murray Oct 26 '16 at 3:23

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.