是否有人使用 biblatex/biber 解决方案实现了美国汽车工程师学会 (SAE) 风格的书目?

是否有人使用 biblatex/biber 解决方案实现了美国汽车工程师学会 (SAE) 风格的书目?

已经存在SAE 等级在 CTAN 上,由 Axel Franke 贡献,虽然它已有 15 年历史(上次更新时间为 2000-11-14),但我认为只要稍加调整,它仍然可以使用。我面临的问题是,据我所知,没有 SAE 书目样式文件(我正在寻找用于传统 bibtex 的 SAE.bst)。我开始创建一个基于 ieeetr 样式的新 bst 文件(它本身基于普通样式),但我发现这很麻烦,而且仍然很难获得满足特定需求的确切内容SAE 出版要求。我想修改 SAE 类以使其保持最新状态,并提供 biblatex 解决方案(类似于 biblatex-phys 包)。

不幸的是,SAE 非常以 MSWord 为中心,而且他们只有 MSWord 中的模板文件。我认识的大多数人目前使用 Endnote/Word 处理引文,并使用自定义 Endnote 输出样式和 SAE 论文的参考类型(主要是在引文中包含文本“SAE 技术论文 YYYY-01-NNNN”作为论文编号的一部分)。

我不确定 biblatex-phys 包是否是开始这项工作的最佳地点,或者是否有人以前对 SAE 论文做过类似的事情?

答案1

格式指南缺少一些biblatex数据类型并且看起来有点不一致。

以下内容应该可以帮助您入门。我们修改了numeric的标准样式biblatex,但您可以采用任何其他标准numeric-...样式作为基础。

\documentclass[american]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=numeric,firstinits=true]{biblatex}

\addbibresource{biblatex-examples.bib}

\renewcommand*{\newunitpunct}{\addcomma\space}

\DeclareFieldFormat{pages}{#1}
\renewcommand*{\bibpagespunct}{\addcolon\space}

\DeclareNameAlias{default}{last-first}

\DeclareFieldFormat*{title}{\mkbibquote{#1\isdot}}

\renewbibmacro*{in:}{}

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

\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  %\setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\renewbibmacro*{note+pages}{%
  \printfield{note}%
  \setunit{\bibpagespunct}%
  \printfield{pages}%
  \newunit
  \usebibmacro{date}}

\renewbibmacro*{publisher+location+date}{%
  \printtext[parens]{%
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \printlist{publisher}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}}%
    \newunit}

\DeclareFieldFormat{url}{\url{#1}}
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addcomma\space}%
     \usebibmacro{urldate}}}

\DefineBibliographyStrings{american}{urlseen = {accessed}}

\begin{document}
\cite{sigfridsson,kullback,geer,markey}

\printbibliography
\end{document}

答案2

大约 20 年前,我在攻读博士学位期间写过一种风格。它仍然可以在 Dante 上使用:ftp://ftp.dante.de/tex-archive/macros/latex2e/contrib/sae/

答案3

我刚刚发布了 Axel Franke 的 SAE 模板的更新版本。对于参考书目,我使用了 ieee 事务的样式:\bibliographystyle{ieeetr}它足够接近,因此 SAE 编辑可以按原样接受它。

我的模板可以在 overleaf 上找到:https://www.overleaf.com/latex/templates/sae-tech-papers-updated-template/mkzqytmhrszt

相关内容