UWE Harvard 的 BibTex 样式文件

UWE Harvard 的 BibTex 样式文件

2011 年,西英格兰大学开发了自己的哈佛参考文献系统 [1]。遗憾的是,他们不正式支持 BibTex,因此不提供 bst 文件。

我想知道是否有任何以前或现在的学生创建了这样的文件并愿意分享它。

[1]http://www1.uwe.ac.uk/students/studysupport/studyskills/referencing/uweharvard.aspx

答案1

定义这种引用样式并不biblatex难。我不太想实现所有 95 种(!)不同的条目类型,但@book@inbook@collection@incollection@article应该@online可以。

基础是标准authoryear风格。

加载biblatex并将\usepackage[backend=biber, style=authoryear, maxnames=999, maxcitenames=3, firstinits=true, urldate=long]{biblatex}其添加到您的序言中

\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat{edition}{%
  \ifinteger{#1}
    {\ifnumequal{#1}{1}%
     {}%
     {\mkbibordedition{#1}~\bibstring{edition}}%
    }
    {#1\isdot}}

\DeclareFieldFormat[article,inbook,incollection]{title}{#1\isdot}
\DeclareFieldFormat[article,inbook,incollection]{citetitle}{#1\isdot}

\newrobustcmd{\MakeTitleCase}[1]{%
  \ifboolexpr{test {\ifentrytype{article}} or test {\ifentrytype{inbook}} or test {\ifentrytype{incollection}}}
    {#1}
    {\MakeSentenceCase{#1}}}

\DeclareFieldFormat{urldate}{\bibsentence\mkbibbrackets{\bibstring{urlseen}\space#1}}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}

\renewbibmacro*{journal}{%
  \iffieldundef{journaltitle}
    {}
    {\printtext[journaltitle]{%
       \printfield[titlecase]{journaltitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{journalsubtitle}}
       \ifboolexpr{
         not test {\iffieldundef{url}}
         or
         not test {\iffieldundef{urldate}}
         or
         not test {\iffieldundef{doi}}
         or
         not test {\iffieldundef{eprint}}
       }
         {\nopunct\bibstring[\mkbibbrackets]{online}}%
         {}}}

\newbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \newunit
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\NewBibliographyString{online}
\DefineBibliographyStrings{english}{%
  urlseen    = {accessed},
  online     = {online},
}

考虑 MWE

\documentclass[british]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear, maxnames=999, maxcitenames=3, firstinits=true, urldate=long]{biblatex}

\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}

\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat{edition}{%
  \ifinteger{#1}
    {\ifnumequal{#1}{1}%
     {}%
     {\mkbibordedition{#1}~\bibstring{edition}}%
    }
    {#1\isdot}}

\DeclareFieldFormat[article,inbook,incollection]{title}{#1\isdot}
\DeclareFieldFormat[article,inbook,incollection]{citetitle}{#1\isdot}

\newrobustcmd{\MakeTitleCase}[1]{%
  \ifboolexpr{test {\ifentrytype{article}} or test {\ifentrytype{inbook}} or test {\ifentrytype{incollection}}}
    {#1}
    {\MakeSentenceCase{#1}}}

\DeclareFieldFormat{urldate}{\bibsentence\mkbibbrackets{\bibstring{urlseen}\space#1}}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}

\renewbibmacro*{journal}{%
  \iffieldundef{journaltitle}
    {}
    {\printtext[journaltitle]{%
       \printfield[titlecase]{journaltitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{journalsubtitle}}
       \ifboolexpr{
         not test {\iffieldundef{url}}
         or
         not test {\iffieldundef{urldate}}
         or
         not test {\iffieldundef{doi}}
         or
         not test {\iffieldundef{eprint}}
       }
         {\nopunct\bibstring[\mkbibbrackets]{online}}%
         {}}}

\newbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \newunit
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\NewBibliographyString{online}
\DefineBibliographyStrings{english}{%
  urlseen    = {accessed},
  online     = {online},
}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{PearECP,
  author    = {Alan Pearson and John Field and Zoe Jordan},
  title     = {Evidence-Based Clinical Practice in Nursing and Health Care},
  subtitle  = {Assimilating Research, Experience and Expertise},
  year      = {2007},
  publisher = {Blackwell},
  address   = {Oxford},
  edition   = {2},
}
@article{LangLC,
  author    = {Langman, S. and Smith, J. and Athens, D.A. and Gibbs, Y.},
  title     = {Life cycles: manufacturing techniques in the new millennium},
  year      = {2000},
  journal   = {Manufacturing Weekly},
  volume    = {15},
  number    = {1},
  pages     = {12-18},
}
@article{KellTFAC,
  author    = {Bridget Kelly and Jason C.G. Halford and Emma J. Boyland and Kathy Chapman and Inmaculada Bautista-Castano and Christina Berg and Margherita Caroli and Brian Cook and Janine G. Coutinho and Tobias Effertz and Evangelia Grammatikaki and Kathleen Keller and Raymond Leung and Yannis Manios and Renata Monteiro and Claire Pedley and Hillevi Prell and Kim Raine and Elisabetta Recine and Lluis Serra-Majem and Sonia Singh and Carolyn Summerbell},
  title     = {Television Food Advertising to Children},
  subtitle  = {A Global Perspective},
  date      = {2010-09},
  journal   = {American Journal of Public Health},
  volume    = {100},
  number    = {9},
  pages     = {1730–-1736},
  doi       = {10.2105/AJPH.2009.179267},
  urldate   = {2013-09-28},
}
@online{RCN,
  author    = {{Royal College of Nursing}},
  title     = {Learning and Education},
  date      = {2009},
  url       = {http://www.rcn.org.uk/development/learning},
  urldate   = {2010-12-22},
}
@incollection{CarNaM,
  title     = {Nursing and Medicine},
  author    = {Havi Carel},
  editor    = {Sebastian Luft and Soren Overgaard},
  booktitle = {The Routledge Companion to Phenomenology},
  date      = {2011},
  publisher = {Routledge},
  location  = {London},
  chapter   = {57},
}
@collection{BoxSE,
  title     = {Sports Ethics},
  subtitle  = {An Anthology},
  editor    = {Jan Boxill},
  date      = {2003},
  publisher = {Blackwell},
  location  = {Oxford},
}
\end{filecontents*}

\begin{document}
  Citations \parencite{wilde}, \parencite{herrmann} and \parencite{baez/article}
  The Greek philosophers must have known something \parencite{aristotle:anima}.
  Again \parencite{westfahl:space} and \parencite{angenendt} and \parencite{companion}.
  \nocite{PearECP,LangLC,KellTFAC,RCN,CarNaM,knuth:ct,nietzsche:ksa,BoxSE}

  \printbibliography
\end{document}

答案2

我认为在这种情况下使用 biblatex 是个好主意。这就是我接受 moewe 答案的原因。但是,我尚未确认他的代码是否产生了正确的样式。

如果有人想坚持使用普通的 BibTex,我尝试通过创建一种样式latex makebst。我上传了结果和一些评论这里

相关内容