在 BibTeX 中编码季节(春季、夏季、秋季、冬季)的最佳方式

在 BibTeX 中编码季节(春季、夏季、秋季、冬季)的最佳方式

我有一篇发表于“1972 年夏季”的文章。在 BibTeX 条目中包含此信息的最佳方法是什么?文字

year = {Summer 1972}

可能不推荐,因为Summer不会被翻译成其他语言。

顺便说一句,“夏季”可能不是一个准确的时间定义。任何来自澳大利亚的人都会证实这一点。

答案1

year = {Summer 1972}

不推荐。不仅因为它不会被翻译,而且如果你碰巧按年份排序,它会严重扰乱排序。理想情况下,该year字段应该只包含“年份范围”内的整数;这绝对是这种情况biblatex,否则你会收到投诉。

使用 BibTeX(.bst样式),您可以使用

month = {Summer}

这仍然不会被自动翻译,从技术上来说也不正确,而且有些样式可能需要month数字而失败。

biblatex例如,使用month = {Summer}还不够好,因为biblatex期望month是一个数字。如果你引用的作品发表在期刊的夏季刊上,你可以使用

issue = {Summer}

甚至issue = {\bibstring{summer}}(仅限较新版本)使用biblatex。但issue对于非@articles 的条目,它基本上会被忽略,因此在这里可能不合适。

biblatex为您提供了另一种方法来指定 1972 年夏季作为日期。使用 ISO 8601(第 2 部分,第 1 级)功能(https://www.loc.gov/standards/datetime/ISO_DIS%208601-2.pdf)您可以在日期字段中指定季节(https://www.loc.gov/standards/datetime/ISO_DIS%208601-2.pdf,第 4.7.1 节)

对于年份和月份表达式(例如 1984-04),月份部分可以采用 21 或更大的值(代替月份值 01 到 12)。[...] 值 21、22、23、24 可分别用于表示“春季”、“夏季”、“秋季”、“冬季”。

所以你可以说

date = {1972-22}

举个例子。

我让你来决定是否指定“夏季”有意义。你正确地指出夏季是一个与地点相关的术语。如果你指定“1972 年夏季”而不是“1972 年”,你的读者通常不会获得太多见解(除非确切日期很重要,或者你需要建立优先权,但“夏季”可能太模糊了)。

答案2

BibTeX 并不是真正的多语言,因此最好的近似方法是定义一个字符串:

\begin{filecontents*}{\jobname.bib}
@string{summer="Summer"}

@article{test,
  author={A. Uthor},
  title={Title},
  journal={Journal},
  month=summer,
  year=2016,
}
\end{filecontents*}

\documentclass{article}

\begin{document}

\cite{test}

\bibliographystyle{plain}
\bibliography{\jobname}

\end{document}

在此处输入图片描述

相关内容