答案1
这实际上只是让您了解 的功能biblatex
。它不会为您提供其他参考类型的输出。但以此为起点并查看文件standard.bbx
和biblatex
手册,您应该能够根据需要进行设置。
\documentclass{article}
\usepackage[dateabbrev=false]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@conferencepaper{rhomberg:1945,
author = {Rhomberg, Richard R.},
title = {A Short-term World Trade Model},
eventtitle = {First World Congress of the Econometric Society},
venue = {Rome},
eventdate = {1945-09-09/1945-09-14},
related = {rhomberg:related},
relatedstring = {summarized}
}
@suppperiodical{rhomberg:related,
journaltitle = {Econometrica},
volume = {34},
date = {1966},
pages = {90-91}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\DeclareBibliographyDriver{conferencepaper}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{title}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printtext[parens]{\usebibmacro{conf:event+venue+date}}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\newbibmacro*{conf:event+venue+date}{%
\printtext{Paper presented at the}%
\setunit{\addspace}%
\printfield{eventtitle}%
\newunit
\printfield{venue}%
\newunit
\printeventdate}
\DeclareFieldFormat[conferencepaper]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{labelnumberwidth}{#1\adddot}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat[suppperiodical]{volume}{#1}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\bibpagespunct}{\addcolon}
\renewcommand*{\intitlepunct}{\addspace}
% the following section ensures that punctuation is inside quotation
% marks and formats the date as in your example: Day, Month Year
% (though why you would want a comma after the Day is a complete mystery
% to me)
\DefineBibliographyExtras{english}{%
\uspunctuation
\protected\def\mkdaterangecomp{%
\mkdaterangetrunc{long}}%
\protected\def\mkdaterangeterse{%
\mkdaterangetrunc{short}}%
\protected\def\mkdaterangecompextra{%
\mkdaterangetruncextra{long}}%
\protected\def\mkdaterangeterseextra{%
\mkdaterangetruncextra{short}}%
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#3}
{}
{\thefield{#3}%
\iffieldundef{#2}{}{\addcomma\nobreakspace}}%
\iffieldundef{#2}
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
}
\begin{document}
Filler text \autocite{rhomberg:1945}.
\printbibliography
\end{document}