texworks authoryear-comp“!包 etoolbox 错误:布尔值‘\ifcbx:loccit’未定义。”错误

texworks authoryear-comp“!包 etoolbox 错误:布尔值‘\ifcbx:loccit’未定义。”错误

我是 Latex 新手,在将 bib 样式从“authoryear-ibid”转换为“authoryear-comp”时遇到了麻烦。当我更改样式时,似乎什么都不起作用了,我不知道为什么。

这是我的测试.tex:

\documentclass[12pt,a4paper,oneside]{scrartcl}
\usepackage[nottoc,numbib]{tocbibind}
\usepackage[left=3.0cm,right=2.0cm,top=3.0cm,bottom=2.5cm]{geometry}            
\usepackage{setspace}
\renewcommand{\baselinestretch}{1.5}
\usepackage[utf8]{inputenc}                                                                                       
\usepackage[ngerman]{babel}                                                                                    
\usepackage[T1]{fontenc}            
\usepackage{mathptmx}
\setkomafont{disposition}{\bfseries}                                                                            
\usepackage{url}    
\newcommand*\oldurlbreaks{}
\let\oldurlbreaks=\UrlBreaks
\renewcommand{\UrlBreaks}{\oldurlbreaks\do\a\do\b\do\c\do\d\do\e%
\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m\do\n\do\o\do\p\do\q%
\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z\do\?\do\&}                                                                          
\urlstyle{same}                                                                                                    

\usepackage{graphicx}                                           

\usepackage[titles]{tocloft}
\renewcommand{\contentsname}{Table of contents}
\renewcommand{\cftsecfont}{\normalfont\bfseries}% titles in bold
\renewcommand{\cftsecpagefont}{\normalfont\bfseries}% page numbers in bold
\renewcommand{\cftdotsep}{1}
\renewcommand{\cftsecleader}{\bfseries\cftdotfill{\cftsecdotsep}}% dot leaders in bold
                                                        
\usepackage[labelfont=bf, justification=centering, font={small,bf}{caption}                 
\newcommand{\source}[1]{\hfill \footnotesize Quelle: {#1}}
\renewcommand{\cftfigpresnum}{Abb.~}
\renewcommand{\cftfigaftersnum}{:}
\renewcommand{\cfttabpresnum}{Tab.~}
\renewcommand{\cfttabaftersnum}{:}
\newlength{\fignumw}\settowidth{\fignumw}{\bfseries\sffamily
 Abbildung~99}
\newlength{\tabnumw}\settowidth{\tabnumw}{\bfseries\sffamily
 Tabelle~99}

 \setlength{\cftfignumwidth}{\fignumw}
 \setlength{\cfttabnumwidth}{\tabnumw}

 \usepackage{tabularx}                              
 \usepackage{multirow}                                          
 \usepackage{booktabs}                                  
 \setlength\parindent{0pt}                                              %Absatz
 \usepackage{csquotes}

 \usepackage[backend=biber, style=authoryear-comp, autocite=footnote, urldate =comp, url=false]{biblatex} %literatur

 % Schrägstrich als Trennzeichen zwischen AutorInnen
 \renewcommand*{\multinamedelim}{\addslash}
 \renewcommand*{\finalnamedelim}{\addslash}


 \DefineBibliographyStrings{ngerman}{
  andothers = {{et\,al\adddot}},
   }

  \setlength\bibitemsep{1.5\itemsep}
  \DefineBibliographyStrings{ngerman}{%
    urlseen = {Zugriffsdatum:}}
  \newbibmacro*{cite:labelyear+extrayear:paren}{%
  \iffieldundef{labelyear} {}
   {\printtext[parens]{\usebibmacro{cite:labelyear+extrayear}}}}

  \renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
   {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
   {\usebibmacro{cite:ibid}}
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
      {\usebibmacro{cite:label}%
       \setunit{\addspace}}
      {\printnames{labelname}%
       \setunit{\nameyeardelim}}%
    \usebibmacro{cite:labelyear+extrayear:paren}}}
{\usebibmacro{cite:shorthand}}}


  \addbibresource{lit.bib}                                                              

  \begin{filecontents}{lit.bib}
   @Online{bmbf,
    author  = {Bundesministerium\hspace{2pt}für\hspace{2pt}Bildung\hspace{2pt}und\hspace{2pt}Forschung},
    journal = {Bundesministerium für Bildung und Forschung - BMBF Digitale Zukunft},
     month   = jan,
     title   = {Förderung von Datentreuhandmodellen - BMBF digitale zukunft},
     url     = {https://www.bildung-forschung.digital/digitalezukunft/de/wissen/forschungsdaten/datentreuhandmodelle/foerderung-von-datentreuhandmodellen},
     urldate = {2022-03-20},
     year    = {2021},
      },
     @Article{datenzugang,
    author = {Richter,Frederick},
    title  = {DATENZUGANG, DATENTEILUNG,DATENTREUHAND Neue Instrumente der Datenpolitik},
    year   = {2020},
    url    = {https://stiftungdatenschutz.org/fileadmin/Redaktion/Presse/24_BvD-News_2020-3_web.pdf},
     },
     @Online{dwa,
      author  = {Deutsche\hspace{2pt}Vereinigung\hspace{2pt}für\hspace{2pt}Wasserwirtsc\hspace{2pt}, Abwasser\hspace{2pt}und Abfall e. V. (DWA)},
      title   = {Geodaten in der Wasserwirtschaft},
      url     = {https://de.dwa.de/de/presseinformationen-volltext/geodaten-in-der-wasserwirtschaft.html},
      urldate = {2022-02-24},
      year    = {o.\,J.},
       }
      \end{filecontents}

    %\usepackage{hyperref}                                              %für Hyperlinks
    \usepackage[printonlyused]{acronym}
    \usepackage[titletoc,title]{appendix}                                       %für Anhänge    
    \usepackage{pdfpages}
   %%%% Dokument    
   \begin{document}

    \includepdf{Deckblatt}
    \cleardoubleemptypage

    \pagenumbering{Roman} % Römischen Ziffern

     \clearpage
     \setcounter{page}{2}

     %%%% Verzeichnisse aufrufen

     %Aufruf Inhaltsverzeichnis
      \tableofcontents
      \newpage
     %Aufruf Abbildungsverzeichnis
     \listoffigures 
      \newpage
     %Aufruf Tabellenverzeichnis
      \listoftables
     \newpage

      %%%% Abkürzungsverzeichnis
      \addsec{Abkürzungsverzeichnis}
     \input{Kapitel/Abk}
     \newpage

     %%%% Beginn der Arbeit
     \pagenumbering{arabic} % Umstellung auf Arabische Ziffern
      \section{Einleitung}
     BlablablBLa bla \autocite[Vgl.]{dwa}, blBLa. \autocite[Vgl.][10]{ datenzugang}
     blabla \autocite[Vgl.]{dwa} 
     blalbla.\autocite[Vgl.]{bmbf} 


      \newpage
       \printbibliography
       \end{document}

我收到的错误如下:

在此处输入图片描述

我不知道该怎么办了,希望有人能帮助我。

答案1

您对cite宏的重新定义(以 开头的代码\renewbibmacro*{cite})是专门针对的style=authoryear-ibid,(实际上它是针对该样式的过时版本)。如果您更改样式,则不能保证该定义有效,并且在您的情况下甚至会导致错误。

据我所知,代码应该在脚注引用的年份周围添加括号。使用biblatex-ext(参见年份周围加括号,脚注中加“正常数字”以及脚注前加单词例如)。

仅是参考书目/引文设置的简单示例

\documentclass[12pt,a4paper,oneside]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{csquotes}

\usepackage[
  backend=biber,
  style=ext-authoryear-comp,
  autocite=footnote,
  urldate=comp,
  url=false,
]{biblatex}

\DeclareInnerCiteDelims{footcite}{\bibopenparen}{\bibcloseparen}

\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DefineBibliographyStrings{ngerman}{
  andothers = {et\,al\adddot},
  urlseen   = {Zugriffsdatum},
}
\DeclareFieldFormat{urldate}{\mkbibparens{\bibstring{urlseen}\addcolon\space#1}}

\addbibresource{biblatex-examples.bib}

\begin{document}
  BlablablBLa bla \autocite[Vgl.][]{sigfridsson},
  blBLa. \autocite[Vgl.][10]{worman}
  blabla \autocite[Vgl.][]{geer}
  blalbla.\autocite[Vgl.][]{sigfridsson}


  \printbibliography
\end{document}

1 维吉尔。西格弗里德森/赖德(1998)。 2 Vgl。 Worman (2002),S.10.3 Vgl。吉尔(1985)。 4 Vgl。西格弗里德森/赖德(1998)。

相关内容