如何才能实现所需的参考风格?

如何才能实现所需的参考风格?

以下是格式指南期刊提供的引文标注和格式化书目条目国际经济评论

在此处输入图片描述

不幸的是,该期刊没有提供可以实现这些指导方针的 BibTeX 书目样式文件,也没有可用的模板https://www.overleaf.com/learn/latex/Bibtex_bibliography_styles

我想知道是否有一个百科全书可供我选择。或者,我应该如何自己定制它?

答案1

您可以根据自己的喜好定制自己的风格biblatex

下面,您可以找到一个带有您所指示的链接中列出的参考资料的示例。

可能需要进行一些改进,因为我只测试了那些情况。

下面的例子可以用 Overleaf 运行。
当然,你不需要

\begin{filecontents*}[overwrite]{bibliography.bib}
...
\end{filecontents*}

如果您已经有自己的.bib文件。

\begin{filecontents*}[overwrite]{bibliography.bib}
@book{arrow2012social,
  title={{Social Choice and Individual Values}},
  author={Arrow, Kenneth J},
  year={1963},
  publisher={Wiley},
  edition={2nd},
  address={New York},
}
@article{hellwig1977model,
  title={A model of borrowing and lending with bankruptcy},
  author={Hellwig, Martin F},
  journal={Econometrica},
  volume={45},
  pages={1879--1906},
  year={1977},
  month={11},
  publisher={JSTOR}
}
@article{kramer1973class,
  title={{On a Class of Equilibrium Conditions for Majority Rule}},
  author={Kramer, Gerald H},
  journal={Econometrica},
  volume={41},
  pages={285--297},
  year={1973},
  month={03},  
  publisher={JSTOR},
}
@book{krantz1971,
  title={Foundations of Measurement},
  author={Krantz, H. D. and Luce, R D and  Suppes, P. and Tversky, A.},
  year={1971},
  publisher={Academic Press},
  address={New York},
}
@inproceedings{samuelson1969pure,
  author    = {Samuelson, Paul A},
  title   = {{Pure Theory of Public Expenditure and Taxation}},
  pages     = {98-123},
  booktitle = {Public Economics},
  publisher = {MacMillan},
  year      = {1969},
  editor    = {Margolis, Julius and Guitton, Henri},
  address   = {New York}
}
@phdthesis{chiang1983,
  author  = {Chiang, S. C.},
  title   = {{Imperfection Information and Quality Upgrading}},
  school  = {Cornell University},
  year    = {1983},
}
@misc{halvorsen1991test,
  title={{A Test of the Theory of Exhaustible Resources}},
  author={Halvorsen, Robert and Smith, Tim},
  year={1986},
  howpublished={mimeo},
  organization={University of Washington}
}
@misc{schworm1977,
  title={{User Cost of Capital}},
  author={Schworm, W. E.},
  year={1977},
  month={07},
  howpublished={Discussion Paper No. 77-22},
  organization={Department of Economics, University of British Columbia}
}
\end{filecontents*}

\documentclass{article}
\usepackage[american]{babel}

\usepackage[
    style=authoryear,
    giveninits=true,
    uniquename=init,
    dateabbrev=false,
    maxbibnames=99
    ]{biblatex}
    
\usepackage{csquotes}
\usepackage{xurl}
\usepackage{hyperref}

% General setting
% no comma before "and"
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\addspace}

% Citation setting
% \textcite as default for inline citations
\DeclareAutoCiteCommand{inline}{\textcite}{\textcite}

% comma before "et al."
\DeclareDelimFormat{andothersdelim}{\addcomma\addspace}

% In case you need to cite all authors una-tantum
\newcommand{\longtextcite}{%
  \AtNextCite{\defcounter{maxnames}{99}}%
  \textcite}

% Bibliography settings
% no space between initials
\renewcommand*{\bibinitdelim}{}

% comma instead of dot as unit separator
\renewcommand*{\newunitpunct}{\addcomma\space} 

% Author without date (macro from authoryear.bbx)
\makeatletter
\renewbibmacro*{author}{%
  \ifboolexpr{
    test \ifuseauthor
    and
    not test {\ifnameundef{author}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\usebibmacro{bbx:savehash}%
        \printnames{author}%
        \iffieldundef{authortype}
          {\setunit{\printdelim{nameyeardelim}}}
          {\setunit{\printdelim{authortypedelim}}}}%
     \iffieldundef{authortype}
       {}
       {\usebibmacro{authorstrg}%
        \setunit{\printdelim{nameyeardelim}}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameyeardelim}}}%
  %\usebibmacro{date+extradate}<--- this commented
  }
\makeatother

% leave out "pp." from pages
\DeclareFieldFormat{pages}{#1}

% Modified version of "article" (you can find the standard version in standard.bbx at the biblatex path of your distribution)
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\addcomma\addspace}\newblock
  \usebibmacro{title}%
  \setunit{\addcomma\addspace}\newblock%
  \usebibmacro{journal}%
  \setunit{\addspace}\newblock%
  \printfield{volume}%
  \setunit{\addspace}\newblock%
  \usebibmacro{date+extradate}%  
  \usebibmacro{addendum+pubstate}%
  \setunit{\addcolon\addspace}\newblock
  \usebibmacro{note+pages}%
  \newunit\newblock%
  \usebibmacro{doi+eprint+url}%
  \usebibmacro{finentry}%
  }

% "edition" after edition number
\DefineBibliographyStrings{american}{%
    edition = {edition},%
}
\newbibmacro*{edition}{%
     \iffieldundef{edition}{}{%
      \printtext{%
          \printfield{edition}%
          \setunit*{\addspace}%%
          \bibstring{edition}%%
      }%
    }
}

% (City of Publication: Publisher, Year) in parentheses
\renewbibmacro*{publisher+location+date}{%
  \nopunct\printtext[parens]{%
    \printlist{location}%
    \iflistundef{publisher}
      {\setunit*{\addcomma\space}}
      {\setunit*{\addcolon\space}}%
   \printlist{publisher}%
   \setunit*{\addcomma\space}%
   \printfield{year}\printfield{extrayear}%
   }%   
}%

% Modified version of "book" (you can find the standard version in standard.bbx at the biblatex path of your distribution)
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{maintitle+title}%
  \setunit*{\addcomma\addspace}\newblock%
  \printlist{language}%
  \setunit*{\addcomma\addspace}\newblock
  \usebibmacro{byauthor}%
  \setunit*{\addcomma\addspace}\newblock
  \usebibmacro{byeditor+others}%
  \setunit*{\addcomma\addspace}\newblock
  \usebibmacro{edition}%
  \setunit*{\addspace}\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit\newblock
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \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}}

% modified string
\DefineBibliographyStrings{american}{%
    editor = {\lowercase{ed}\adddot},%
    editors = {\lowercase{eds}\adddot},%
    phdthesis = {Ph.D. Dissertation}
}

% editors
\renewbibmacro*{in:}{\bibstring{in}\addspace}
\renewbibmacro*{byeditor+others}{% 
    \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
        \addcomma\addspace%
        \usebibmacro{editorstrg}%
        \clearname{editor}%
        \newunit}%
    \usebibmacro{byeditorx}%
    \usebibmacro{bytranslator+others}}
  
% Modify "inproceeding"
\DeclareBibliographyDriver{inproceedings}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{event+venue+date}%
  \newunit\newblock
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit
  \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}}

% month year without parenthesis
\newbibmacro*{miscdate}{% 
    \iffieldundef{month}
      {\addcomma\addspace}
      {\mkbibmonth{\thefield{month}}}%
    \addspace%  
    \iffieldundef{year}{}{\mkyearzeros{\thefield{year}}}%
}

% modified "thesis"
\DeclareBibliographyDriver{thesis}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \usebibmacro{institution+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \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}}
    {}%
  \newunit\newblock
  \usebibmacro{miscdate}%
  \usebibmacro{finentry}}

% title in quotes in "misc"
\DeclareFieldFormat[misc]{title}{\mkbibquote{#1}} 

% modified "misc"
\DeclareBibliographyDriver{misc}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{howpublished}%
  \newunit\newblock
  \printfield{type}%
  \newunit
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{organization+location+date}%
  \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}}
    {}%
  \newunit\newblock
  \usebibmacro{miscdate}%
  \usebibmacro{finentry}}
% END Bibliography and citation customization

\addbibresource{bibliography.bib}

\begin{document}
A similar procedure is explored by \autocite [10-12]{arrow2012social}.

This argument is discussed in \autocite{krantz1971}.

This argument is discussed in \longtextcite{krantz1971}.

\parencite[See][for a detailed discussion]{hellwig1977model}.

or 

(See \cite{hellwig1977model} for a detailed discussion).

Autocite: \autocite{samuelson1969pure}

Textcite: \textcite{kramer1973class}

Cite: \cite{schworm1977}

Parencite: \parencite{halvorsen1991test}

Footnote cite:\footcite{chiang1983}

\printbibliography
\end{document}

在此处输入图片描述

相关内容