我正在撰写研究计划,我的导师希望我缩写期刊名称(并从出版日期中删除部分月份)。我该怎么做?
编辑: 我正在使用 BibTeX,我的 .bib 文件包含完整的期刊名称。我在 Arch Linux 机器上使用 Emacs 编写。我并不介意切换到其他 LaTeX 格式,但我对它们一无所知。
答案1
不久前,我创建了一个包和一些 BibTeX 样式,用于自动期刊缩写,使用 ISSN 数据库来实现这一点: https://github.com/compholio/jabbrv
现在它已包含在 Overleaf 模板中:https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr
编辑:更改了 git 存储库的链接(旧链接:http://www.compholio.com/latex/jabbrv/)
答案2
编辑:现在 0.9.6 中有一个优雅的方法biber
。与 1.7 一起biblatex
,可以动态更改数据,而无需更改输入.bib
文件本身。它利用了手册第 3.1.1 节中描述的map
功能。文件如下所示:biber
biber.conf
<map>
<bibtex>
BMAP_OVERWRITE 1
<globalfield journal>
BMAP_MATCH Physical\sReview
BMAP_REPLACE "Phys. Rev."
</globalfield>
</bibtex>
</map>
这将替换Physical Review
为Phys. Rev.
请找到详细解释在我对这个问题的回答中。
/编辑
一种可能的方法是想出一个作品缩写。然后,使用您选择的编辑器和search and replace
带有作品缩写的期刊标题。假设期刊是A long journal name
,您将其命名为alj
。您在 bibtex 文件中替换Journal={A long journal name}
为。现在,您可以创建两个文件:和,内容分别为和。只要您愿意,您就可以添加另一种显示期刊标题的方式。Journal=alj
bibtex
short.bib
long.bib
@string{alj="A l. J. N."}
@string{alj="A long journal name"}
MWE(你可以提供):
\documentclass{article}
\begin{document}
Test\cite{brown08}
\bibliography{long,cvpubs}
\bibliographystyle{unsrt}
\end{document}
使用\bibliography{long,cvpubs}
或\bibliography{short,cvpubs}
表示长期刊标题或短期刊标题。
cvpubs.bib:
@article{brown08,
Author = {Seth Brown and Michael Cole and Albert Erives},
Journal = alj,
Title = {Evolution of the holozoan ribosome biogenesis regulon},
Volume = {9},
Year = {2008},
Pages = {113}
简短.bib:
@string{alj="A l. J. N."}
长篇
@string{alj="A long journal name"}
导致
和
答案3
你应该知道缩写不是任意的,因为有标准ISO 4定义了一个标题词缩写列表 (LTWA)据我所知,每个缩写都是独一无二的,因此缩写/取消缩写应该在两个方向上明确地进行。
CAS 有一个小在线工具CASSI可用于搜索期刊名称和/或其官方 LTWA 缩写。
JabRef 有一个期刊名称缩写功能也使用 LTWA。此功能可在选项 → 管理期刊缩写下配置。
答案4
betterbib(我的一个小项目)现在让你可以选择期刊名称;默认是短名称。只需安装
pip install betterbib
并在你的 bib 文件上运行它:
betterbib update your.bib > out.bib
使用--long-journal-name
/-l
切换到长期刊名称。
编辑:该包已更新,现在需要>
进行更新才能工作。