我希望收藏中(也称为:InProceedings)源类型需要改变。
所以我希望
主题
(主) 源标题后面有一个“in:”
所述来源标题后的编辑姓名
然后是“:”
书名
其余一切都很好,请不要改变。
它应该是这样的一个例子:
Brandt,A. von / Hoffmann,E. (1987):
位于中心的北欧各州,第 11 个年头至 1448 年,收录于:Seibt,F./Smith,J.(编辑):《欧洲最高层和中层管理》,第 15 期。 2,第 4 版,Klett-Cotta,斯图加特,第 884-917 页。
MWE 制作的现状目前如下所示:
Brandt,A. von / Hoffmann,E. (1987):
1448 年之间位于中间的北欧各州,载于:欧洲的边界地带,Seibt,F./Smith,J. (编辑),号。 2,第 4 版,Klett-Cotta,斯图加特,第 884-917 页。
平均能量损失
\documentclass[
a4paper
]
{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[
language=auto,
style=authoryear-ibid,
backend=bibtex,
hyperref=true,
isbn=false,
doi=false,
citereset=chapter,
maxcitenames=3,
dashed=false,
sorting=nyt,
firstinits=true,
ibidtracker=true,
maxbibnames=99
]{biblatex}
\usepackage{xpatch}
%% comma after every item for bibiliography entries
\renewcommand*{\newunitpunct}{\addcomma\space}
%% parentheses around year in references
\renewbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{%
\printtext[bibhyperref]{%
\printtext[parens]{%
\printfield{labelyear}%
\printfield{extrayear}}}}}
%% correct order of publisher and location
\renewbibmacro*{publisher+location+date}{%
\newunit
\printlist{publisher}%
\newunit
\printlist{location}%
\newunit}
%% right order of words 'volume' und 'issue' with comma in front
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid}
\setunit{\addcomma\space}% THIS LINE CHANGED to add comma
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
%taken from standard.bbx
\renewbibmacro*{issue+date}{%
\printtext{% REMOVED parenthesis here
\iffieldundef{issue}
{\usebibmacro{date}}
{\printfield{issue}%
\setunit*{\addspace}%
\usebibmacro{date}}}%
\newunit}
%% bold bibliography "label" followed by colon and linebreak
\renewbibmacro*{begentry}{\mkbibbold\bgroup}
\xapptobibmacro{date+extrayear}{\addcolon\egroup}{}{}
\renewcommand*{\labelnamepunct}{\par\nobreak}
%% linebreak before URLs and colon before date of last visit
\xpretobibmacro{url+urldate}{\setunit{\newunitpunct\par\nobreak}}{}{}
\DefineBibliographyStrings{english}{%
urlseen = {last visit\addcolon}
}
%% colon before date of last visit
\DeclareFieldFormat{urldate}{\mkbibparens{\bibstring{urlseen}\addcolon\space#1}}
%% no indent
\setlength{\bibhang}{0pt}
%% one empty line between to bib-entries
\setlength{\bibitemsep}{\baselineskip} %% \baselineskip gibt hier an, dass Zeilenabstand unterhalb des Absatzes der dokumentweite Abstand ist
%% ``(editor)'' or ``(editors)''
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{byeditor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}
%% ``(editor)'' or ``(editors)'' instead of ``(ed. by)''
\DefineBibliographyStrings{english}{%
byeditor = {editor},%
byeditor = {editors},%
issue = {\lowercase{i}ss\adddot},%
}
%% edition behind series number ("no.")
\AtEveryBibitem{%
\iffieldequalstr{edition}{1}
{\clearfield{edition}}
{\savefield*{edition}{\savededition}%
\clearfield{edition}}}
\renewbibmacro*{series+number}{%
\restorefield{edition}{\savededition}
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{edition}%
\newunit}
%% all titles in references in normal formatting
\DeclareFieldFormat*{citetitle}{#1\isdot}
%% annul format of any (main) title in bibliography and add comma+space
\DeclareFieldFormat*{title}{#1\addcomma\addspace}
%% annul format of any other (parent) titles in bibliography
\DeclareFieldFormat*{booktitle}{#1\addcomma\addspace}
\DeclareFieldFormat*{journaltitle}{#1\addcomma\addspace}
\DeclareFieldFormat*{issuetitle}{#1\addcomma\addspace}
\DeclareFieldFormat*{maintitle}{#1\addcomma\addspace}
\DeclareFieldFormat*{proceedingstitle}{#1\addcomma\addspace}
\DeclareFieldFormat*{collectiontitle}{#1\addcomma\addspace}
%new
\DeclareFieldFormat*{volume}{\bibstring{volume}~#1\space}
\DeclareFieldFormat*{issue}{\bibstring{issue}~#1}
\DeclareFieldFormat*{number}{\bibstring{number}~#1} %comment to leave number as before
\DeclareFieldFormat*{series}{{#1}\addcomma\space} %comment to leave number as before
%% Names: Lastname, Firstname
\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{sortname}{last-first}
\AtBeginBibliography{%
%% only slash signs between names
\renewcommand{\multinamedelim}{\addslash}
\renewcommand{\finalnamedelim}{\addslash}
%% only slash signs between multiple locations
\renewcommand{\multilistdelim}{\addslash}
\renewcommand{\finallistdelim}{\addslash}
}
\begin{filecontents*}{lit.bib}
@InCollection{brandt,
options = {useprefix=false},
hyphenation = {german},
author = {von Brandt, Ahasver and Hoffmann, Erich},
editor = {Seibt, Ferdinand and Smith, John},
title = {Die nordischen L{\"a}nder von der Mitte des 11.~Jahrhunderts bis 1448},
booktitle = {Europa im Hoch- und Sp{\"a}tmittelalter},
number = {2},
edition = {4},
publisher = {Klett-Cotta},
location = {Stuttgart},
date = {1987},
pages = {884--917}
}
\end{filecontents*}
\addbibresource{lit.bib}
\begin{document}
\begin{itemize}
\item Place holder for \verb+InCollection+.\footcite[See][p. 5--11]{brandt}
\end{itemize}
\printbibliography
\end{document}
答案1
我自己尝试了一下,目前看来是有效的。
{maintitle+booktitle}
我从文件中获取了定义standard.bbx
,然后简单地复制并粘贴为\renewbibmacro*{maintitle+booktitle}
\usebibmacro{booktitle}%
我从上述代码中注释掉了然后我又补充道
\setunit{\addcolon\space} \usebibmacro{booktitle}
对已经包含的重新定义
{byeditor+others}
(参见上文或下文的 MWE),结果为:\documentclass[12pt, a4paper ] {scrreprt} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \renewcommand{\familydefault}{\sfdefault} \usepackage[ language=auto, style=authoryear-ibid, backend=bibtex, hyperref=true, isbn=false, dashed=false, doi=false, citereset=chapter, maxcitenames=3, sorting=nyt, firstinits=true, ibidtracker=true, maxbibnames=99 ]{biblatex} \usepackage{xpatch} %% comma after every item for bibiliography entries \renewcommand*{\newunitpunct}{\addcomma\space} %% parentheses around year in references \renewbibmacro*{cite:labelyear+extrayear}{% \iffieldundef{labelyear} {} {% \printtext[bibhyperref]{% \printtext[parens]{% \printfield{labelyear}% \printfield{extrayear}}}}} %% correct order of publisher and location \renewbibmacro*{publisher+location+date}{% \newunit \printlist{publisher}% \newunit \printlist{location}% \newunit} %% right order of words 'volume' und 'issue' with comma in front \renewbibmacro*{journal+issuetitle}{% \usebibmacro{journal}% \setunit*{\addspace}% \iffieldundef{series} {} {\newunit \printfield{series}% \setunit{\addspace}}% \usebibmacro{volume+number+eid} \setunit{\addcomma\space}% THIS LINE CHANGED to add comma \usebibmacro{issue+date}% \setunit{\addcolon\space}% \usebibmacro{issue}% \newunit} %taken from standard.bbx \renewbibmacro*{issue+date}{% \printtext{% REMOVED parenthesis here \iffieldundef{issue} {\usebibmacro{date}} {\printfield{issue}% \setunit*{\addspace}% \usebibmacro{date}}}% \newunit} %% booktitle after editors \renewbibmacro*{maintitle+booktitle}{% \iffieldundef{maintitle} {} {\usebibmacro{maintitle}% \newunit\newblock \iffieldundef{volume} {} {\printfield{volume}% \printfield{part}% \setunit{\addcolon\space}}}% %\usebibmacro{booktitle}% \newunit} %% bold bibliography "label" followed by colon and linebreak \renewbibmacro*{begentry}{\mkbibbold\bgroup} \xapptobibmacro{date+extrayear}{\addcolon\egroup}{}{} \renewcommand*{\labelnamepunct}{\par\nobreak} %% linebreak before URLs and colon before date of last visit \xpretobibmacro{url+urldate}{\setunit{\newunitpunct\par\nobreak}}{}{} \DefineBibliographyStrings{english}{% urlseen = {last visit\addcolon} } %% colon before date of last visit \DeclareFieldFormat{urldate}{\mkbibparens{\bibstring{urlseen}\addcolon\space#1}} %% no indent \setlength{\bibhang}{0pt} %% one empty line between to bib-entries \setlength{\bibitemsep}{\baselineskip} %% \baselineskip gibt hier an, dass Zeilenabstand unterhalb des Absatzes der dokumentweite Abstand ist %% ``(editor)'' or ``(editors)'' \renewbibmacro*{byeditor+others}{% \ifnameundef{editor} {} {\printnames[byeditor]{editor}% \setunit{\addspace}% \usebibmacro{byeditor+othersstrg}% \clearname{editor}% \newunit}% \usebibmacro{byeditorx}% \usebibmacro{bytranslator+others} \setunit{\addcolon\space} \usebibmacro{booktitle}} \xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{} %% ``(editor)'' or ``(editors)'' instead of ``(ed. by)'' \DefineBibliographyStrings{english}{% byeditor = {editor},% byeditor = {editors},% issue = {\lowercase{i}ss\adddot},% } %% edition behind number (no.) \AtEveryBibitem{% \iffieldequalstr{edition}{1} {\clearfield{edition}} {\savefield*{edition}{\savededition}% \clearfield{edition}}} \renewbibmacro*{series+number}{% \restorefield{edition}{\savededition} \printfield{series}% \setunit*{\addspace}% \printfield{number}% \setunit{\addcomma\space}% \printfield{edition}% \newunit} %% all titles in references in normal formatting \DeclareFieldFormat*{citetitle}{#1\isdot} %% annul format of any (main) title in bibliography and add comma+space \DeclareFieldFormat*{title}{#1\addcomma\addspace} %% annul format of any other (parent) titles in bibliography \DeclareFieldFormat*{booktitle}{#1\addcomma\addspace} \DeclareFieldFormat*{journaltitle}{#1\addcomma\addspace} \DeclareFieldFormat*{issuetitle}{#1\addcomma\addspace} \DeclareFieldFormat*{maintitle}{#1\addcomma\addspace} \DeclareFieldFormat*{proceedingstitle}{#1\addcomma\addspace} \DeclareFieldFormat*{collectiontitle}{#1\addcomma\addspace} %new \DeclareFieldFormat*{volume}{\bibstring{volume}~#1\space} \DeclareFieldFormat*{issue}{\bibstring{issue}~#1} \DeclareFieldFormat*{number}{\bibstring{number}~#1} %comment to leave number as before \DeclareFieldFormat*{series}{{#1}\addcomma\space} %comment to leave number as before %% Names: Lastname, Firstname \DeclareNameAlias{default}{last-first} \DeclareNameAlias{sortname}{last-first} \AtBeginBibliography{% %% only slash signs between names \renewcommand{\multinamedelim}{\addslash} \renewcommand{\finalnamedelim}{\addslash} %% only slash signs between multiple locations \renewcommand{\multilistdelim}{\addslash} \renewcommand{\finallistdelim}{\addslash} } \begin{filecontents*}{lit.bib} @InCollection{brandt, options = {useprefix=false}, hyphenation = {german}, author = {von Brandt, Ahasver and Hoffmann, Erich}, editor = {Seibt, Ferdinand and Smith, John}, title = {Die nordischen L{\"a}nder von der Mitte des 11.~Jahrhunderts bis 1448}, booktitle = {Europa im Hoch- und Sp{\"a}tmittelalter}, number = {2}, edition = {4}, publisher = {Klett-Cotta}, location = {Stuttgart}, date = {1987}, pages = {884--917} } \end{filecontents*} \addbibresource{lit.bib} \begin{document} \begin{itemize} \item Place holder for \verb+InCollection+.\footcite[See][p. 5--11]{brandt} \end{itemize} \printbibliography \end{document}