Biblatex: bbl einschließen, Problem mit dem Feld „Verb“

Biblatex: bbl einschließen, Problem mit dem Feld „Verb“

Dies ist eine Folgefrage zuBiblatex: Einreichen bei einer Zeitschrift.

Wie in den Kommentaren zuHerberts Antwort, einige Benutzer haben Probleme mit seiner Lösung, da beim Kompilieren der Fehler auftritt Use of \blx@bbl@verbadd@i doesn't match its definition \blx@bblfile@biber ...2004} \verb {eprint} \verb cond-mat/0407066 \endverb.

Ich habe das Problem eingegrenzt: Das Problem sind \verb"Felder" in der bbl. Wenn diese vorhanden sind (zum Beispiel für DOI oder URL), wird der obige Fehler ausgegebenes sei denndie bbl ist über enthalten \input.

Siehe folgendes MWE:

\documentclass[a4paper,10pt]{article}
\usepackage{biblatex}

%-------------- start insert modified commands ------------------
\makeatletter
\def\blx@bblfile@biber{%
  \blx@secinit
  \begingroup
  \blx@bblstart

\refsection{0}
  \sortlist{entry}{nty}
    \entry{Agarwal2007}{article}{}
      \verb{doi}
      \verb 10.2139/ssrn.943524  %%--PROBLEM--%%
      \endverb
    \endentry
  \endsortlist
\endrefsection

  \blx@bblend
  \endgroup
  \csnumgdef{blx@labelnumber@\the\c@refsection}{0}}
\makeatother
%-------------- end insert modified commands --------------

\begin{document}

Some words \cite{Agarwal2007}.

\printbibliography

\end{document}

Das Kompilieren funktioniert nicht ohne Kommentieren \verb 10.2139/ssrn.943524.

Bearbeiten: Der Code zum Generieren des BBL lautet

@article{Agarwal2007,
author = {Agarwal, S.},
doi = {10.2139/ssrn.943524},
year = {2006}
}

Antwort1

Der problematische Teil sollte sich in einer externen Datei befinden. Verwenden Sie daher die Dateiinhaltsumgebung, um diese zu erstellen:

\documentclass[a4paper,10pt]{article}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{testinput-bbl.bbl}
\refsection{0}
  \sortlist{entry}{nty}
    \entry{Agarwal2007}{article}{}
      \verb{doi}
      \verb 10.2139/ssrn.943524  
      \endverb
    \endentry
  \endsortlist
\endrefsection
\end{filecontents}
%-------------- start insert modified commands ------------------
\makeatletter
\def\blx@bblfile@biber{%
  \blx@secinit
  \begingroup
  \blx@bblstart
  \input{testinput-bbl.bbl}%<------------
  \blx@bblend
  \endgroup
  \csnumgdef{blx@labelnumber@\the\c@refsection}{0}}
\makeatother
%-------------- end insert modified commands --------------

\begin{document}

Some words \cite{Agarwal2007}.

\printbibliography

\end{document}

Bearbeiten April 2017

Aufgrund von Änderungen in BibLatex funktioniert die Neudefinition \blx@bblfile@bibernicht mehr, da der Befehl nicht mehr existiert. Folgendes ist ein Ersatz. Es sollte auch mit älterem BibLatex funktionieren. Es wird auch eine Warnung ausgegeben, wenn der Inhalt des BBL nicht zur BibLatex-Version passt.

\documentclass[a4paper,10pt]{article}
\usepackage{biblatex}
\usepackage{filecontents}
%Use the starred version of filecontents to avoid comments in the written file
%Insert the complete bbl in the environment including the starting comments!

\begin{filecontents*}{testinput-bbl.bbl}
% $ biblatex auxiliary file $
% $ biblatex bbl format version 2.8 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{[email protected]}
  {\@latex@error
     {Missing 'biblatex' package}
     {The bibliography requires the 'biblatex' package.}
      \aftergroup\endinput}
  {}
\endgroup


\refsection{0}
  \sortlist[entry]{nty/global/}
    \entry{doody}{article}{}
      \name{author}{1}{}{%
        {{hash=936cee5fdd47aac6238f650db8b23a07}{%
           family={Doody},
           familyi={D\bibinitperiod},
           given={Terrence},
           giveni={T\bibinitperiod}}}%
      }
      \strng{namehash}{936cee5fdd47aac6238f650db8b23a07}
      \strng{fullhash}{936cee5fdd47aac6238f650db8b23a07}
      \strng{authornamehash}{936cee5fdd47aac6238f650db8b23a07}
      \strng{authorfullhash}{936cee5fdd47aac6238f650db8b23a07}
      \field{sortinit}{D}
      \field{sortinithash}{d10b5413de1f3d197b20897dd0d565bb}
      \field{labelnamesource}{author}
      \field{labeltitlesource}{title}
      \field{annotation}{An \texttt{article} entry cited as an excerpt from a \texttt{collection} entry. Note the format of the \texttt{related} and \texttt{relatedstring} fields}
      \field{journaltitle}{The Journal of Narrative Technique}
      \field{langid}{english}
      \field{langidopts}{variant=american}
      \field{number}{3}
      \field{relatedstring}{\autocap{e}xcerpt in}
      \field{title}{Hemingway's Style and {Jake's} Narration}
      \field{volume}{4}
      \field{year}{1974}
      \field{related}{1e63d4bbc14872275675171be2dfa906}
      \field{pages}{212\bibrangedash 225}
      \range{pages}{14}
    \endentry
    \entry{1e63d4bbc14872275675171be2dfa906}{collection}{dataonly}
      \name{editor}{1}{}{%
        {{hash=cf369effe2b1de0066543cc38f7f8369}{%
           family={Matuz},
           familyi={M\bibinitperiod},
           given={Roger},
           giveni={R\bibinitperiod}}}%
      }
      \list{location}{1}{%
        {Detroit}%
      }
      \list{publisher}{1}{%
        {Gale}%
      }
      \strng{namehash}{cf369effe2b1de0066543cc38f7f8369}
      \strng{fullhash}{cf369effe2b1de0066543cc38f7f8369}
      \strng{editornamehash}{cf369effe2b1de0066543cc38f7f8369}
      \strng{editorfullhash}{cf369effe2b1de0066543cc38f7f8369}
      \field{sortinit}{M}
      \field{sortinithash}{c26a05ef03e4429073ed5c825140fac3}
      \field{labelnamesource}{editor}
      \field{labeltitlesource}{title}
      \field{clonesourcekey}{matuz:doody}
      \field{annotation}{A \texttt{collection} entry providing the excerpt information for the \texttt{doody} entry. Note the format of the \texttt{pages} field}
      \field{langid}{english}
      \field{langidopts}{variant=american}
      \field{title}{Contemporary Literary Criticism}
      \field{volume}{61}
      \field{year}{1990}
      \field{pages}{204\bibrangedash 208}
      \range{pages}{5}
    \endentry
  \endsortlist
\endrefsection
\endinput
\end{filecontents*}

\usepackage{xpatch}

%Patch the biblatex input command.
%replace "testinput-bbl" if you change the name above.
%disable if you want to run biblatex/biber normally
\makeatletter         
\patchcmd\blx@bblinput{\blx@blxinit}
                      {\blx@blxinit
                       \def\jobname{testinput-bbl}%new jobname
                      }{}{\fail}
\makeatother

\addbibresource{biblatex-examples.bib} %not needed but doesn't harm either

\begin{document}

Some words \cite{doody}.

\printbibliography

\end{document}

Antwort2

für die beiden Verbzeilen verwenden:

...
  \field{doi}{10.2139/ssrn.943524}
...

Bei mir hat es funktioniert:

Bildbeschreibung hier eingeben

verwandte Informationen