我是 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}