一些标准的书目样式,例如plain
,附加文字字符串版为 BibTeX 数据库文件中提供的值。
例如,考虑以下内容,
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{refs.bib}
@book{tufte,
title = {The Visual Display of Quantitative Information},
author = {Edward R. Tufte},
year = {1983},
edition = {2nd},
publisher = {Graphics Press}
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{plain}
\bibliography{refs}
\end{document}
输出类似
请注意版本是如何从第二到第二版。
我怎样才能改变版在输出中?
我希望能够将其缩写为编辑,例如。完全摆脱字符串也可能有用如果可能的话,我愿意坚持使用 BibTeX,但也愿意接受其他解决方案。
我知道的一个解决方案是获取生成bbl
文件的内容并用\bibliography
它们替换 TeX 源中的调用,然后编辑它们。如果可能的话,我想避免这种手动且繁琐的步骤。
答案1
我绝对不会在不提供某种替代词的情况下删除“版本”一词。毕竟,如果没有某种限定词,像2nd
和这样的空字符串可能会产生歧义。3rd
为了将字符串缩短edition
为ed.
,我建议您按以下步骤操作:
在您的 TeX 发行版中找到该文件
plain.bst
。复制此文件并将副本命名为 。plain-ed.bst
(不要编辑 TeX 发行版的原始文件。)在文本编辑器中打开该文件
plain-ed.bst
;您用来编辑 tex 文件的编辑器就可以了。在 中
plain-ed.bst
,找到名为 的函数format.edition
。(在我的文件副本中,该函数从第 334 行开始。)在此函数中,将 的两个实例更改
" edition"
为。观察原始字符串中的空格在替换字符串中"~ed."
更改为。~
将文件保存
plain-ed.bst
在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。在您的主 tex 文件中,将指令更改
\bibliographystyle{plain}
为\bibliographystyle{plain-ed}
并执行完整的重新编译循环 - latex、bibtex 和 latex 两次 - 以完全传播所有更改。
祝您 BibTeX 愉快!