通过删除括号中的年份,更改 biblatex 书目显示以符合天体物理学期刊规范

通过删除括号中的年份,更改 biblatex 书目显示以符合天体物理学期刊规范

我已经梳理了之前的问题一段时间,但还没有找到我具体问题的答案。所以我现在希望这里有人能帮助我

我正在完成一篇将提交给《天体物理学杂志》(ApJ)的文章,它有一些非常具体的格式说明(见这里)。我特别想使用 biblatex 包来正确格式化参考书目。ApJ 参考书目格式化说明 (这里)告诉您文章应这样引用:

author1_last, author1_first_init. author1_middle_init., author2_last, author2_first_init. author2_middle_init., author3_last, author3_first_init. author3_middle_init., & author4_last, author4_first_init. author4_middle_init. YEAR, JournalName, 卷号, 首页

author1_last, author1_first_init. author1_middle_init., author2_last, author2_first_init. author2_middle_init., author3_last, author3_first_init. author3_middle_init., et al. YEAR, JournalName, 卷号, 首页

例如,以下书目条目:

@article{Bennett93,
author = {Bennet, C. L. and N. W. Boggess and E. S. Cheng and M. G. Hauser and  T. Kelsall and J. C. Mather and S. H. Moseley, Jr.
          and T. L. Murdock and R. A. Shafer and R. F. Silverberg and G. F. Smoot and R. Weissi and E. L. Wright},
title = {Scientific Results from COBE},
journal = {AdSpR},
volume = {13},
number = {12},
year = {1993}
}

@article{Gupta08,
author = {Gupta, Shashikant and Saini, Tarun Deep and Laskar, Tanmoy},
title = {Direction dependence and non-Gaussianity in the high-redshift supernova data},
journal = {MNRAS},
volume = {388},
number = {1},
pages = {242-246},
year = {2008},
doi = {10.1111/j.1365-2966.2008.13377.x},
URL = { + http://dx.doi.org/10.1111/j.1365-2966.2008.13377.x},
eprint = {/oup/backfile/content_public/journal/mnras/388/1/10.1111_j.1365-2966.2008.13377.x/2/mnras0388-0242.pdf}
}

应产生以下参考书目条目:

Bennet, CL 等,1993,AdSpR 13, 409

Gupta, S.、Saini, TD 和 Laskar, T. 2008,MNRAS 388, 242

通过搜索以前类似的问题,我设法让我的 biblatex 文件产生接近但不完全正确的结果:

Bennet, CL 等 (1993). AdSpR 13, 409

Gupta, S.、Saini, TD 和 Laskar, T. (2008)。MNRAS 388, 242

所以我需要做以下更改:

(1)年份不应放在括号中

(2)年份后面应该有一个逗号,而不是句号

这是一个最小的工作示例:

\documentclass[10pt]{article}

\usepackage[minnames=1,maxnames=1,maxbibnames = 5, style=authoryear, bibstyle = authoryear, backend=biber, giveninits=true, block = none, isbn = false, url = false, doi = false, eprint = false]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat[article]{journaltitle}{#1}
\renewbibmacro{in:}{ }
\AtEveryBibitem{\clearfield{title}}
\AtEveryBibitem{\clearfield{month}}
\AtEveryBibitem{\clearfield{number}}
\addbibresource{mwe_refs.bib}
\renewbibmacro*{issue+date}{%
  \setunit{\addcomma\space}%
    \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
       \setunit*{\addspace}%
       \usebibmacro{date}}% 
  \newunit}
\renewcommand*{\intitlepunct}{\space}
\AtBeginBibliography{%
  \renewcommand*{\finalnamedelim}{%
    \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
    \addspace\&\space}%
}
\DeclareFieldFormat{pages}{\mkfirstpage{#1}}
\renewcommand{\finentrypunct}{}

\begin{document} 
Here is the first reference \parencite{Bennett93}.
And here is the second reference \parencite{Gupta08}.

\printbibliography 
\end{document}

其中 mwe_refs.bib 是与上面提到的 Gupta 和 Bennet 参考文献位于同一目录中的文本文件。

输出截图: 在此处输入图片描述

在此先感谢您的帮助,如果需要任何进一步说明,请告诉我。

—萨沙

答案1

删除括号包括如何(正确地)删除 authoryear 样式中年份周围的括号?(v3)

要修复标点符号,您可以更改\newunitpunct

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

结合这两个修复,我们得到:

示例输出

\documentclass[10pt]{article}

\usepackage{xpatch}
\usepackage[minnames=1,maxnames=1,maxbibnames = 5, style=authoryear, bibstyle = authoryear, backend=biber, giveninits=true, block = none, isbn = false, url = false, doi = false, eprint = false]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat[article]{journaltitle}{#1}
\renewbibmacro{in:}{ }
\AtEveryBibitem{\clearfield{title}}
\AtEveryBibitem{\clearfield{month}}
\AtEveryBibitem{\clearfield{number}}
\addbibresource{mwe_refs.bib}
\xpatchbibmacro{date+extradate}{%
  \printtext[parens]%
}{%
  \setunit*{\addcomma\space}%
  \printtext%
}{}{}

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

\AtBeginBibliography{%
  \renewcommand*{\finalnamedelim}{%
    \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
    \addspace\&\space}%
}

\DeclareFieldFormat{pages}{\mkfirstpage{#1}}
\renewcommand{\finentrypunct}{}

\begin{document}
Here is the first reference \parencite{Bennett93}.
And here is the second reference \parencite{Gupta08}.

\printbibliography
\end{document}

答案2

AAS 稿件准备指南强烈鼓励作者使用 AASTeX 类

强烈建议作者使用最新版本的 AASTeX 宏包准备手稿,并以电子方式提交。

AASTeX 指南列出了创建书目的几种方法

  1. 手册thebibliography
  2. natbib以及aasjournal.bst风格

    还鼓励作者使用 BibTex 等参考文献管理软件来组织参考文献并生成正确的参考书目。使用 BibTeX 时,需要一个 .bst 文件来生成符合 AAS 期刊格式的正确参考文献输出。作者aasjournal.bst在使用 BibTex 处理 AAS 期刊手稿时应使用新文件。

    或者

  3. 环境references

该指南还指出

它们是标准 LaTeXthebibliography环境和 AASTeXreferences环境。强烈建议作者使用thebibliography

这段文字中没有提到 BibTeX,严格来说,BibTeX 会产生thebibliography,因此人们可能会认为使用 BibTeX 也是可以的。对于提交,thebibliography.bblBibTeX 生成的 粘贴正确的.bst可能是最好的解决方案。


我非常怀疑 AAS 是否会乐意接受使用 的投稿biblatex。Biber 的工作流程biblatex与传统的 BibTeX 有很大不同。另请参阅Biblatex:向期刊投稿

这不仅仅是生成相同的 PDF 输出的问题。许多期刊实际上并不关心 TeX 生成的 PDF,他们会将提交的论文转换.tex为他们喜欢的格式。使用非标准软件包会使事情变得更加困难,并可能破坏期刊的工作流程。

特别是如果有如此详细的 TeX 提交指南,您应该有充分的理由不遵循指南并使用未列出的参考书目系统。


综上所述,这里有一个解决方案biblatex-ext。即使他们接受的机会biblatex很小,但他们喜欢的机会biblatex-ext几乎不存在。biblatex-ext是今年春季推出的一种非常新型的软件包(因此 TeX live < 2018 将不会有它),而且出版商并不是更新爱好者。

它并不涵盖所有https://journals.aas.org/authors/references.html完美,但它应该是一个开始,应该给出正确的结果@article

\documentclass{article}

\usepackage[style=ext-authoryear, backend=biber, giveninits=true, uniquename=init, isbn = false, url = false, doi = false, eprint = false, minnames=1,maxnames=1,maxbibnames = 5, date=year, articlein=false]{biblatex}

\AtEveryBibitem{%
  \ifentrytype{book}{}{\clearfield{title}}%
  \clearfield{number}}

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

\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addcomma\space\&\space}
\DeclareDelimFormat{andothersdelim}{\addcomma\space}

\DeclareFieldFormat{biblabeldate}{#1}
\DeclareDelimFormat[bib]{nameyeardelim}{\addspace}

\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat{issuetitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
\DeclareFieldFormat{booktitle}{#1}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \ifboolexpr{not test {\iflistundef{location}} or not test {\iflistundef{#1}}}
    {\setunit{\addspace}%
     \printtext[parens]{%
       \printlist{location}%
       \iflistundef{#1}
         {\setunit*{\locdatedelim}}
         {\setunit*{\locpubdelim}}%
       \printlist{#1}%
       \setunit*{\pubdatedelim}%
       \usebibmacro{date}}}%
  \newunit}

\DeclareFieldFormat{pages}{\mkfirstpage{#1}}
\renewcommand{\finentrypunct}{}

%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bennett93,
author = {Bennet, C. L. and N. W. Boggess and E. S. Cheng and M. G. Hauser and  T. Kelsall and J. C. Mather and S. H. Moseley, Jr.
          and T. L. Murdock and R. A. Shafer and R. F. Silverberg and G. F. Smoot and R. Weissi and E. L. Wright},
title = {Scientific Results from COBE},
journal = {AdSpR},
volume = {13},
number = {12},
year = {1993}
}

@article{Gupta08,
author = {Gupta, Shashikant and Saini, Tarun Deep and Laskar, Tanmoy},
title = {Direction dependence and non-Gaussianity in the high-redshift supernova data},
journal = {MNRAS},
volume = {388},
number = {1},
pages = {242-246},
year = {2008},
doi = {10.1111/j.1365-2966.2008.13377.x},
}
\end{filecontents}

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

\begin{document}
\nocite{sigfridsson,knuth:ct:a,knuth:ct:b,Bennett93,Gupta08}
\printbibliography
\end{document}

在此处输入图片描述

相关内容