我希望我的引用如下:
克莱恩,迈克尔;尼尔森,米其林:巴黎公社,1871 年。收录于:内斯,伊曼纽尔;赫茨,乔纳 (Hgg.):《国际革命与抗议百科全书》。1500 年至今,第 5 册。奇切斯特 2009 年:2610-2613。
目前它看起来是这样的:
Kline, Michael;Nilsen, Micheline:巴黎公社,1871 年。收录于:《国际革命与抗议百科全书》。1500 年至今。Ness, Immanuel;Herz, Jonah (Hgg.)。Bd. 5。奇切斯特,2009 年,2610-2613。
因此需要改变三件事:
最重要的是,编辑(Hg./Hgg.)必须位于“In:”和书名之间。
年份和页码之间应该有一个冒号,而不是逗号
在卷 (Bd. 5) 之前,我想有一个逗号,没有要点。
我可以在我的序言中做到这一点吗?
如果我的参考书目中有以下内容:
\begin{filecontents}{test.bib}
@inbook{Kline:Commune,
author = {Kline, Michael and Nilsen, Micheline},
title = {Paris Commune, 1871},
editor = {Ness, Immanuel and Herz, Jonah},
booktitle = {The International Encyclopedia of Revolution and Protest},
booksubtitle = {1500 to the Present},
volume = {5},
pages = {2610--2613},
date = {2009},
location = {Chichester},
}
\end{filecontents}
\documentclass[11pt, a4paper]{scrreprt} %Inhaltsverzeichnis andere Schrift.. bei report normal
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%=============BIBLIOGRAPHIE, ZITIERWEISE=================== %
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[%
style=alphabetic,
style=verbose-ibid,
labeldate,
dashed=false, %bei mehreren Werken desselben Autors kein Strich
backend=bibtex8,
idemtracker=false,
ibidtracker=constrict,
]{biblatex}
\renewbibmacro*{byeditor+others}{% %Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\DefineBibliographyStrings{german}{%
andothers = {et\ al\adddot}, %et al. statt u.a.
editor = {\mkbibparens{Hg\adddot}}, %Hg. statt Hrsg.
editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
byeditor = {\mkbibparens {Hg\adddot}},
}
\DeclareFieldFormat{postnote}{#1} %unterdrückt Präfix S.
\DeclareFieldFormat{multipostnote}{#1} %unterdrückt Präfix S.
\DeclareNameAlias{default}{last-first} %Autoren immer Nachname, Vorname sortieren
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nameyeardelim}%
\iffieldundef{labelyear}
{}
{\printtext[\addcolon]{\printtext[bibhyperlink]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}
%\DeclareNameFormat{default}{%
%\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
%\usebibmacro{name:andothers}}
\renewcommand{\multinamedelim}{\addsemicolon\space} %Semikolon zum trennen der Autoren
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space} %Zwischen Autor und Titel Doppelpunkt, kein Punkt
\renewcommand{\postnotedelim}{\addcolon\space} %Zwischen Jahrzahl und Seitenzahl Doppelpunkt, kein Komma
\renewcommand{\nametitledelim}{\addspace}
\renewbibmacro*{publisher+location+date}{% %Zwischen Ort und Jahr kein Komma
\printlist{location}%
{\setunit*{\addspace}}
\usebibmacro{date}%
\newunit}
\DeclareFieldFormat[inbook]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[inbook]{pages}{#1}% S. vor Seitenangabe entfernen
\DeclareFieldFormat[article]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[article]{pages}{#1}% S. vor Seitenangabe entfernen
%\renewcommand{\nametitledelim}{\space}
\bibliography{test} %name des .bib-Files
% Titel nicht schräg
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
% Journal Titel nicht schräg
\DeclareFieldFormat{journaltitle}{#1}
%=============ENDE BIBLIOGRAPHIE, ZITIERWEISE=================== %
\begin{document}
Test\footcite{Kline:Commune}
\end{document}
有人能帮我吗?那就太好了 :)
它现在的样子如下:
答案1
xpatch
这是使用包及其命令的解决方案\xpatchbibdriver
。如果您想要使用 incollection 条目类型,则应以模拟方式修补“ncollection”bib 驱动程序。
\documentclass[11pt, a4paper]{scrreprt} %Inhaltsverzeichnis andere Schrift.. bei report normal
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@inbook{Kline:Commune,
author = {Kline, Michael and Nilsen, Micheline},
title = {Paris Commune, 1871},
editor = {Ness, Immanuel and Herz, Jonah},
booktitle = {The International Encyclopedia of Revolution and Protest},
booksubtitle = {1500 to the Present},
volume = {5},
pages = {2610--2613},
date = {2009},
location = {Chichester},
}
\end{filecontents}
%=============BIBLIOGRAPHIE, ZITIERWEISE=================== %
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[%
style=alphabetic,
style=verbose-ibid,
labeldate,
dashed=false, %bei mehreren Werken desselben Autors kein Strich
backend=biber, %bibtex8,
idemtracker=false,
ibidtracker=constrict,
]{biblatex}
\renewbibmacro*{byeditor+others}{% %Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\DefineBibliographyStrings{german}{%
andothers = {et\ al\adddot}, %et al. statt u.a.
editor = {\mkbibparens{Hg\adddot}}, %Hg. statt Hrsg.
editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
byeditor = {\mkbibparens {Hg\adddot}},
}
\DeclareFieldFormat{postnote}{#1} %unterdrückt Präfix S.
\DeclareFieldFormat{multipostnote}{#1} %unterdrückt Präfix S.
\DeclareNameAlias{default}{last-first} %Autoren immer Nachname, Vorname sortieren
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nameyeardelim}%
\iffieldundef{labelyear}
{}
{\printtext[\addcolon]{\printtext[bibhyperlink]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}
%\DeclareNameFormat{default}{%
%\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
%\usebibmacro{name:andothers}}
\renewcommand{\multinamedelim}{\addsemicolon\space} %Semikolon zum trennen der Autoren
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space} %Zwischen Autor und Titel Doppelpunkt, kein Punkt
\renewcommand{\postnotedelim}{\addcolon\space} %Zwischen Jahrzahl und Seitenzahl Doppelpunkt, kein Komma
\renewcommand{\nametitledelim}{\addspace}
\renewbibmacro*{publisher+location+date}{% %Zwischen Ort und Jahr kein Komma
\printlist{location}%
{\setunit*{\addspace}}
\usebibmacro{date}%
\newunit}
\DeclareFieldFormat[inbook]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[inbook]{pages}{#1}% S. vor Seitenangabe entfernen
\DeclareFieldFormat[article]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[article]{pages}{#1}% S. vor Seitenangabe entfernen
%%\renewcommand{\nametitledelim}{\space}
\addbibresource{test.bib} %name des .bib-Files
% Titel nicht schräg
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
% Journal Titel nicht schräg
\DeclareFieldFormat{journaltitle}{#1}
\usepackage{xpatch}
\xpatchbibdriver{inbook}{%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
}%
{%
\usebibmacro{byeditor+others}%
\setunit{\addcolon\space}\newblock
\usebibmacro{maintitle+booktitle}%
}%
{}{}%
\xpatchbibdriver{inbook}{%
\newunit\newblock
\usebibmacro{chapter+pages}%
}%
{%
\addcolon\space
\usebibmacro{chapter+pages}%
}%
{}{}
\xpatchbibdriver{inbook}{%
\newunit
\iffieldundef{maintitle}
}%
{%
\setunit{\addcomma\space}
\iffieldundef{maintitle}
}%
{}{}
%=============ENDE BIBLIOGRAPHIE, ZITIERWEISE=================== %
\begin{document}
Test\footcite{Kline:Commune}
\printbibliography
\end{document}
答案2
这重新定义了@incollection
格式。它只解决了第 1 点和第 2 点,因为与 Bernard 不同,我没有足够的信心解决第 3 点。(我担心我的解决方案会对其他条目产生不良影响。)
Bernard 的可能更好,但我已经解决了这个问题,所以我还是发布了:
\begin{filecontents}{\jobname.bib}
@incollection{Kline:Commune,
author = {Kline, Michael and Nilsen, Micheline},
title = {Paris Commune, 1871},
editor = {Ness, Immanuel and Herz, Jonah},
booktitle = {The International Encyclopedia of Revolution and Protest},
booksubtitle = {1500 to the Present},
volume = {5},
pages = {2610--2613},
date = {2009},
location = {Chichester},
}
\end{filecontents}
\documentclass[11pt, a4paper]{scrreprt} %Inhaltsverzeichnis andere Schrift.. bei report normal
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[%
style=alphabetic,
style=verbose-ibid,
labeldate,
dashed=false, %bei mehreren Werken desselben Autors kein Strich
backend=bibtex8,
idemtracker=false,
ibidtracker=constrict,
]{biblatex}
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\renewbibmacro*{byeditor+others}{% %Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\DefineBibliographyStrings{german}{%
andothers = {et\ al\adddot}, %et al. statt u.a.
editor = {\mkbibparens{Hg\adddot}}, %Hg. statt Hrsg.
editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
byeditor = {\mkbibparens {Hg\adddot}},
}
\DeclareFieldFormat{postnote}{#1} %unterdrückt Präfix S.
\DeclareFieldFormat{multipostnote}{#1} %unterdrückt Präfix S.
\DeclareNameAlias{default}{last-first} %Autoren immer Nachname, Vorname sortieren
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nameyeardelim}%
\iffieldundef{labelyear}
{}
{\printtext[\addcolon]{\printtext[bibhyperlink]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}
\renewcommand{\multinamedelim}{\addsemicolon\space} %Semikolon zum trennen der Autoren
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space} %Zwischen Autor und Titel Doppelpunkt, kein Punkt
\renewcommand{\postnotedelim}{\addcolon\space} %Zwischen Jahrzahl und Seitenzahl Doppelpunkt, kein Komma
\renewcommand{\nametitledelim}{\addspace}
\renewcommand{\bibpagespunct}{\addcolon\space}
\renewbibmacro*{publisher+location+date}{% %Zwischen Ort und Jahr kein Komma
\printlist{location}%
{\setunit*{\addspace}}
\usebibmacro{date}%
\newunit}
\DeclareFieldFormat[incollection]{title}{#1} %Titel nicht in Anführungszeichen
\DeclareFieldFormat[incollection]{pages}{#1}% S. vor Seitenangabe entfernen
\bibliography{\jobname} %name des .bib-Files
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
\begin{document}
Test\footcite{Kline:Commune}
\fullcite{Kline:Commune}
\printbibliography
\end{document}