biblatex-Fehler: Bibliographie-Makro nicht definiert

biblatex-Fehler: Bibliographie-Makro nicht definiert

Ich verwende Biblatex und habe den folgenden Code verwendet, um zwei verschiedene Klassen von Fußnoten zu erstellen, eine mit dem Zitat und eine normale Fußnote


\DeclareNewFootnote{A}
\DeclareNewFootnote{B}

\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\makeatletter
\newtoggle{cbx@togcite}

% Citation number superscript in brackets
\renewcommand\@makefntext[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}

% Citation number superscript in brackets (for babel french)
\ifdef{\@makefntextFB}{%
\renewcommand\@makefntextFB[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}}{}

% See https://tex.stackexchange.com/a/71566/35864
\let\cbx@savelist\@empty
\newcounter{cbx@inst@iter}
\newcounter{cbx@inst@lastonpage}
\setcounter{cbx@inst@lastonpage}{0}

\AtDataInput{%
  \csnumgdef{cbx@instcount@\thefield{entrykey}}{-1}}

% user-level citation command
\DeclareCiteCommand{\sfcite}[\cbx@superscript]
  {\usebibmacro{cite:init}%
   \let\multicitedelim\supercitedelim
   \iffieldundef{prenote}{}{\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}{}{\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:super:foot}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

% save instcount, save key and last inline instcount if seen first on page
\newbibmacro*{cite:super:foot}{%
  \xdef\cbx@key{\thefield{entrykey}}%
  \ifsamepage{\value{instcount}}{\csuse{cbx@instcount@\cbx@key}}
    {}
    {\listxadd{\cbx@savelist}{\cbx@key}%
     \ifnumequal{\value{cbx@inst@lastonpage}}{0}%
       {\defcounter{cbx@inst@iter}{\value{instcount}}%
        \loop\ifnum\value{cbx@inst@iter}>0
          \ifsamepage{\value{instcount}}{\value{cbx@inst@iter}}
            {\ifcsundef{blx@fnpage@\the\value{cbx@inst@iter}}
               {\setcounter{cbx@inst@lastonpage}{\value{cbx@inst@iter}}}
               {}%
             \stepcounter{cbx@inst@iter}}
            {\setcounter{cbx@inst@iter}{0}}%
        \repeat}
       {}}%
  \csnumgdef{cbx@instcount@\cbx@key}{\value{instcount}}}

\newrobustcmd*{\cbx@superscript}[1]{%
  \mkbibsuperscript{\mkbibbrackets{#1}}%
  \cbx@footnote}

% defer citation footnotes to last inline reference instance on page
\newrobustcmd*{\cbx@footnote}{%
  \ifboolexpr{ not test {\ifdefempty{\cbx@savelist}}
               and test {\ifnumequal{\value{instcount}}{\value{cbx@inst@lastonpage}}} }
    {\cbx@sortlist@init%
     \let\do\cbx@do
     \dolistloop{\cbx@sortlist}%
     \global\let\cbx@savelist\@empty
     \setcounter{cbx@inst@lastonpage}{0}}
    {}}

% print footnotes in 'sorting' order
\def\cbx@do#1{%
  \ifinlist{#1}{\cbx@savelist}
    {\begingroup
     \blx@resetdata
     \blx@getdata@cite{#1}%
     \blx@setoptions@type\abx@field@entrytype
     \blx@setoptions@entry
     \blx@execute
     \blx@beglang
     \toggletrue{cbx@togcite}%
     \footnotetextA[\thefield{labelnumber}]{\blx@driver\abx@field@entrytype}%
     \blx@endlang
     \endgroup}
    {}}

% access internal list of sorted entry keys
\def\cbx@sortlist@init{%
  \global\letcs{\cbx@sortlist}
    {blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}}
\let\cbx@sortlist\@empty
\makeatother


\newbibmacro{string+doiurlisbn}[1]{%
  \iffieldundef{doi}{%
    \iffieldundef{url}{%
      \iffieldundef{isbn}{%
       \iffieldundef{issn}{%
          #1%
        }{%
          \href{http://books.google.com/books?vid=ISSN\thefield{issn}}{#1}%
        }%
      }{%
        \href{http://books.google.com/books?vid=ISBN\thefield{isbn}}{#1}%
      }%
    }{%
      \href{\thefield{url}}{#1}%
    }%
  }{%
    \href{https://doi.org/\thefield{doi}}{#1}%
  }%
}

\DeclareFieldFormat{journaltitle}{\usebibmacro{string+doiurlisbn}
{\mkbibemph{#1}}}

Dieser Code stammt ausDieser Beitrag

Wenn ich jedoch zitiere, \sfciteohne dass die Fußnotennummer im hochgestellten Index erscheint, erhalte ich die Fehlermeldung, dass cite:initund cite:compundefiniert cite:dumpsind. Ich dachte, dies könnte das Problem verursachen

Falls es relevant ist, verwende ich die folgenden Optionen auf Biblatex

\usepackage[backend=bibtex, bibstyle=nature, citestyle = authoryear, natbib=true ,subentry, mcite, citetracker, pagetracker=page]{biblatex}

Außerdem erscheint das gesamte Zitat in der Fußnote genauso wie in der Bibliographie, aber ich möchte in derAutorJahrStil, aber ich kann nicht herausfinden, was ich ändern muss

Hier ist ein MWE

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{manyfoot}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=bibtex, bibstyle=nature, citestyle = authoryear, natbib=true ,subentry, mcite, citetracker, pagetracker=page]{biblatex}
\usepackage{hyperref}

\DefineBibliographyStrings{ngerman}{
  andothers = {\textit{et~al\adddot}}
}

\DeclareNewFootnote{A}
\DeclareNewFootnote{B}

\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\makeatletter
\newtoggle{cbx@togcite}

% Citation number superscript in brackets
\renewcommand\@makefntext[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}

% Citation number superscript in brackets (for babel french)
\ifdef{\@makefntextFB}{%
\renewcommand\@makefntextFB[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}}{}

% See https://tex.stackexchange.com/a/71566/35864
\let\cbx@savelist\@empty
\newcounter{cbx@inst@iter}
\newcounter{cbx@inst@lastonpage}
\setcounter{cbx@inst@lastonpage}{0}

\AtDataInput{%
  \csnumgdef{cbx@instcount@\thefield{entrykey}}{-1}}

% user-level citation command
\DeclareCiteCommand{\sfcite}[\cbx@superscript]
  {\usebibmacro{cite:init}%
   \let\multicitedelim\supercitedelim
   \iffieldundef{prenote}{}{\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}{}{\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:super:foot}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

% save instcount, save key and last inline instcount if seen first on page
\newbibmacro*{cite:super:foot}{%
  \xdef\cbx@key{\thefield{entrykey}}%
  \ifsamepage{\value{instcount}}{\csuse{cbx@instcount@\cbx@key}}
    {}
    {\listxadd{\cbx@savelist}{\cbx@key}%
     \ifnumequal{\value{cbx@inst@lastonpage}}{0}%
       {\defcounter{cbx@inst@iter}{\value{instcount}}%
        \loop\ifnum\value{cbx@inst@iter}>0
          \ifsamepage{\value{instcount}}{\value{cbx@inst@iter}}
            {\ifcsundef{blx@fnpage@\the\value{cbx@inst@iter}}
               {\setcounter{cbx@inst@lastonpage}{\value{cbx@inst@iter}}}
               {}%
             \stepcounter{cbx@inst@iter}}
            {\setcounter{cbx@inst@iter}{0}}%
        \repeat}
       {}}%
  \csnumgdef{cbx@instcount@\cbx@key}{\value{instcount}}}

\newrobustcmd*{\cbx@superscript}[1]{%
  \mkbibsuperscript{\mkbibbrackets{#1}}%
  \cbx@footnote}

% defer citation footnotes to last inline reference instance on page
\newrobustcmd*{\cbx@footnote}{%
  \ifboolexpr{ not test {\ifdefempty{\cbx@savelist}}
               and test {\ifnumequal{\value{instcount}}{\value{cbx@inst@lastonpage}}} }
    {\cbx@sortlist@init%
     \let\do\cbx@do
     \dolistloop{\cbx@sortlist}%
     \global\let\cbx@savelist\@empty
     \setcounter{cbx@inst@lastonpage}{0}}
    {}}

% print footnotes in 'sorting' order
\def\cbx@do#1{%
  \ifinlist{#1}{\cbx@savelist}
    {\begingroup
     \blx@resetdata
     \blx@getdata@cite{#1}%
     \blx@setoptions@type\abx@field@entrytype
     \blx@setoptions@entry
     \blx@execute
     \blx@beglang
     \toggletrue{cbx@togcite}%
     \footnotetextA[\thefield{labelnumber}]{\blx@driver\abx@field@entrytype}%
     \blx@endlang
     \endgroup}
    {}}

% access internal list of sorted entry keys
\def\cbx@sortlist@init{%
  \global\letcs{\cbx@sortlist}
    {blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}}
\let\cbx@sortlist\@empty
\makeatother


\newbibmacro{string+doiurlisbn}[1]{%
  \iffieldundef{doi}{%
    \iffieldundef{url}{%
      \iffieldundef{isbn}{%
       \iffieldundef{issn}{%
          #1%
        }{%
          \href{http://books.google.com/books?vid=ISSN\thefield{issn}}{#1}%
        }%
      }{%
        \href{http://books.google.com/books?vid=ISBN\thefield{isbn}}{#1}%
      }%
    }{%
      \href{\thefield{url}}{#1}%
    }%
  }{%
    \href{https://doi.org/\thefield{doi}}{#1}%
  }%
}

\DeclareFieldFormat{journaltitle}{\usebibmacro{string+doiurlisbn}
{\mkbibemph{#1}}}

\begin{filecontents}{\jobname.bib}
@article{Frank1953,
  author  = {Frank, F. C.},
  title   = {On spontaneous asymmetric synthesis},
  journal = {Biochim. Biophys. Acta},
  year    = {1953},
  volume  = {11},
  pages   = {459-463},
  doi     = {10.1016/0006-3002(53)90082-1},
  url     =
  {http://www.sciencedirect.com/science/article/pii/0006300253900821},
}

@article{Kagan1986,
  author  = {Puchot, C. and Samuel, O. and Dunach, E. and Zhao, S. and
             Agami, C. and Kagan, H. B.},
  title   = {Nonlinear effects in asymmetric synthesis.
             Examples in asymmetric oxidations and aldolization reactions},
  journal = {J. Am. Chem. Soc.},
  year    = {1986},
  volume  = {108},
  number  = {9},
  pages   = {2353-2357},
  doi     = {10.1021/ja00269a036},
}
@article{Soai1995,
  author  = {Soai, Kenso and Shibata, Takanori and Morioka, Hiroshi 
             and Choji, Kaori},
  title   = {Asymmetric autocatalysis and amplification of
             enantiomeric excess of a chiral molecule},
  journal = {Nature},
  year    = {1995},
  volume  = {378},
  number  = {6559},
  pages   = {767-768},
  doi     = {10.1038/378767a0},
}
@article{Brown2001,
  author  = {Blackmond, Donna G. and McMillan, Christopher R.
             and Ramdeehul, Shailesh and Schorm, Andrea and Brown, John M.},
  title   = {Origins of Asymmetric Amplification
             in Autocatalytic Alkylzinc Additions},
  journal = {J. Am. Chem. Soc.},
  year    = {2001},
  volume  = {123},
  number  = {41},
  pages   = {10103-10104},
  doi     = {10.1021/ja0165133},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\tableofcontents
\newpage
\section{Title}
\null\vfill\noindent
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First citation.\sfcite{Frank1953}
First citation.\sfcite{Kagan1986}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First ``multi'' citation.\sfcite{Frank1953,Kagan1986,Soai1995}
\newpage
\section{Title}
\null\vfill\noindent
Second citation.\sfcite{Frank1953}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
Second citation.\sfcite{Soai1995}
Second citation.\sfcite{Kagan1986}\footnoteB{Vanilla footnote text.}
First citation.\sfcite{Brown2001}
\newpage
\printbibliography
\end{document}

Dies wurde auf der Rückseite zusammengestellt unter Verwendung derpdfLaTeXCompiler, ich habe versucht, Biber als Backend zu verwenden, aber dann erhalte ich den FehlerZitat ist nicht definiertes setzt nur den Referenznamen in die hochgestellte Ziffer, die Fußnote und die Bibliographie verschwinden vollständig

verwandte Informationen