对于一篇论文,我需要采用一种与其他来源(例如专著、合集)完全不同的百科全书参考文献的引用风格:
<LastName>, <FirstName>, Art. <ArticleTitle>, in: <Encyclopedia>^<Edition> <Volume> (<Year>), <Pages>.
使用 BibLatex 可以实现吗?我的文档其余部分运行正常,因此解决方案只需要针对此条目类型起作用。
在我正在使用的文档中,style=ext-verbose-inote
做了一些修改:
\documentclass[paper=A4,12pt, parskip=half, pointednumbers]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{setspace}
\usepackage{lmodern}
\usepackage[left=25mm, right=50mm, top=25mm, bottom=20mm]{geometry}
\setlength{\parindent}{0pt}
\onehalfspacing
\usepackage[
backend=biber,
style=ext-verbose-inote,
autocite=footnote,
sortlocale=de_DE,
innamebeforetitle=true,
natbib=true,
url=false,
doi=true,
eprint=false
]{biblatex}
\addbibresource{literatur.bib}
\renewcommand{\footnotesize}{\fontsize{10pt}{12pt}\selectfont}
\renewbibmacro*{pubinstorg+location+date}[1]{%
\setunit{\addcomma\space}%
\printlist{location}%
\iflistundef{#1}
{\setunit*{\locdatedelim}}
{\setunit*{\locpubdelim}}%
\printlist{#1}%
\setunit*{\pubdatedelim}%
\usebibmacro{date}%
\newunit}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}}
\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\DeclareDelimFormat{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat{editortypedelim}{\space}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1}
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[book]{booktitle}{#1}
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
\DefineBibliographyStrings{ngerman} {%
andothers = {et al.}, % "et al." statt "u. a."
editor = {\mkbibparens{Hg.\adddot}}, % Hrsg. in Klammern
editors = {\mkbibparens{Hg.\adddot}} % Hrsg. in Klammern
}
\begin{document}
\begin{titlepage}
\begin{spacing}{1}
\centering
Some Text
\end{spacing}
\end{titlepage}
\newpage
\tableofcontents
\addtocontents{toc}{\protect\thispagestyle{empty}}
\newpage
\setcounter{page}{1}
% TEXT BEGINNT HIER
\section{Introduction}
\section{Part 1}
\subsection{Section}
\subsection{Section}
\subsection{Section}
Testtext\Footcite[Vgl.][100-105]{kampf}
\subsection{Section}
Testext\Footcite[Vgl.][]{dbwnf}\Footcite[Vgl.][]{nachfolge}\Footcite[Vgl.][100-200]{rgggnade}
\section{Schluss}
\newpage
\printbibliography[keyword=pl, title={Primärliteratur}]
\printbibliography[keyword=sl, title={Sekundärliteratur}]
\end{document}
参考Bib文件:
@inreference{rgggnade,
Author = {Saarinen, Risto},
Booktitle = {RGG},
Date-Modified = {2019-08-04 19:13:13 +0200},
Edition = {4},
Keywords = {sl},
Title = {Gnade/Gnade Gottes. V. Systematisch-theologisch},
Volume = {3},
Year = {2000}}
@book{nachfolge,
Address = {Stuttgart},
Author = {Liebend{\"o}rfer, Bernd},
Date-Added = {2019-08-04 17:32:06 +0200},
Date-Modified = {2019-08-04 17:45:58 +0200},
Keywords = {sl},
Title = {Der Nachfolge-Gedanke Dietrich Bonhoeffers und seine Potentiale in der Gegenwart},
Year = {2016}}
@book{kampf,
Address = {Osnabr{\"u}ck},
Author = {Schlegel, Thomas and Schwarze, Andreas},
Date-Added = {2019-08-04 16:53:38 +0200},
Date-Modified = {2019-08-04 16:57:04 +0200},
Keywords = {sl},
Subtitle = {Studien zu Dietrich Bonhoeffer},
Title = {Der Kampf um die teure Gnade},
Year = {2002}}
@incollection{dbwnf,
Address = {M{\"u}nchen},
Author = {Dietrich Bonhoeffer},
Booktitle = {Dietrich Bonnhoeffer Werke (DBW 4)},
Date-Added = {2019-08-04 14:01:21 +0200},
Date-Modified = {2019-08-04 17:31:25 +0200},
Editor = {Kuske, Martin and T{\"o}dt, Ilse},
Keywords = {pl},
Title = {Nachfolge},
Year = {1989}}
答案1
通常@inreference
是的别名@incollection
,但所需的输出与有很大不同,@incollection
因此定义一个专门用于产生所需输出的新书目驱动程序是有意义的。
\DeclareBibliographyDriver{inreference}
只是一份副本\DeclareBibliographyDriver{incollection}
(v0.7a 第 338-369 行ext-standard.bbx
)用.incollection
代替,完成所有繁重的工作。inreference
inreference:parent
条目@inreference
几乎总是应该有一个字段,所以我添加了一个。我还稍微重新排列了定义,以便我更容易跟踪正在发生的事情,并修改了一些小东西。(例如,如果您使用文档语言加载@pages
,则不需要)。sortlocale=de_DE,
babel
ngerman
\documentclass[paper=A4,12pt, parskip=half, numbers=enddot]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=ext-verbose-inote,
autocite=footnote,
innamebeforetitle=true,
natbib=true,
url=false,
doi=true,
eprint=false,
]{biblatex}
\DeclareNameAlias{default}{family-given}
\DeclareNameAlias{sortname}{default}
\DeclareDelimFormat{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\space}
\DeclareFieldFormat[incollection,inbook,book]{title}{#1}
\DeclareFieldFormat[inreference]{title}{\bibstring{article}~#1}
\DeclareFieldFormat[incollection,inbook]{booktitle}{#1}
\DeclareFieldFormat[reference,inreference]{date}{\mkbibparens{#1}}
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}}
\renewbibmacro*{pubinstorg+location+date}[1]{%
\setunit{\addcomma\space}%
\printlist{location}%
\iflistundef{#1}
{\setunit*{\locdatedelim}}
{\setunit*{\locpubdelim}}%
\printlist{#1}%
\setunit*{\pubdatedelim}%
\usebibmacro{date}%
\newunit}
\DeclareBibliographyDriver{inreference}{%
\usebibmacro{introcite:plain}%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{title}%
\newunit
\usebibmacro{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{crosscite}{inreference:parent}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\usebibmacro{isbn}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\ifboolexpr{togl {bbx:related} and not test {\iffieldxref{related}}}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\newbibmacro*{inreference:parent}{%
\iftoggle{bbx:innamebeforetitle}
{\usebibmacro{in:editor+others}%
\setunit{\printdelim{innametitledelim}}\newblock}
{}%
\ifboolexpr{
test {\iffieldundef{booktitle}}
and
test {\iffieldundef{booksubtitle}}
}
{}
{\printtext[booktitle]{%
\printfield[titlecase]{booktitle}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{booksubtitle}}%
\setunit{}%
\printfield[superedition]{edition}}%
\printfield{booktitleaddon}%
\setunit{\addspace}%
\printfield{volume}%
\printfield{part}%
\setunit{\addspace}%
\printdate}
\NewBibliographyString{article}
\DefineBibliographyStrings{german}{%
article = {Art\adddot},
andothers = {et al\adddot},
editor = {Hg\adddot},
editors = {Hg\adddot},
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inreference{rgggnade,
author = {Saarinen, Risto},
booktitle = {RGG},
edition = {4},
keywords = {sl},
title = {Gnade/Gnade Gottes. V. Systematisch-theologisch},
volume = {3},
year = {2000},
pages = {100-103},
}
@book{nachfolge,
address = {Stuttgart},
author = {Liebendörfer, Bernd},
keywords = {sl},
title = {Der Nachfolge-Gedanke Dietrich Bonhoeffers
und seine Potentiale in der Gegenwart},
year = {2016},
}
@book{kampf,
address = {Osnabrück},
author = {Schlegel, Thomas and Schwarze, Andreas},
keywords = {sl},
subtitle = {Studien zu Dietrich Bonhoeffer},
title = {Der Kampf um die teure Gnade},
year = {2002},
}
@incollection{dbwnf,
address = {München},
author = {Dietrich Bonhoeffer},
booktitle = {Dietrich Bonnhoeffer Werke (DBW 4)},
editor = {Kuske, Martin and Tödt, Ilse},
keywords = {pl},
title = {Nachfolge},
year = {1989},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Testtext\Autocite[Vgl.][100-105]{kampf}
Testext\Autocite[Vgl.][]{dbwnf}
dolor\Autocite[Vgl.][]{nachfolge}
sit\Autocite[Vgl.][100-200]{rgggnade}
\printbibliography[keyword=pl, title={Primärliteratur}]
\printbibliography[keyword=sl, title={Sekundärliteratur}]
\end{document}