我使用 bibtex\bibliographystyle{alpha}
运行正常。我的问题与以下商品有关。
@book{sga1,
key = {{SGA1}},
TITLE = {Rev\^etements \'etales et groupe fondamental},
NOTE = {S{\'e}minaire de G{\'e}om{\'e}trie Alg{\'e}brique du Bois
Marie 1960--1961 (SGA 1),
Dirig{\'e} par Alexandre Grothendieck. Augment{\'e} de deux
expos{\'e}s de M. Raynaud,
Lecture Notes in Mathematics, Vol. 224},
PUBLISHER = {Springer-Verlag},
ADDRESS = {Berlin},
YEAR = {1971},
PAGES = {xxii+447},
}
传统上将这本书称为 SGA1。但在文本中,它显示为 SGA71,这合乎逻辑,但很丑陋。有没有办法自定义此特定项目,使其在文本中显示为 SGA1,而不修改其年份?
答案1
以下方法可行。我们创建一个新样式,mylabel
如果存在则使用标签,alpha
否则使用默认标签
查找文件
alpha.bst
(在我的计算机上它位于目录中<TEXMF>/bibtex/bst/base
)并alpha2.bst
在您的工作目录中创建一个名为的副本。在任意编辑器中打开该文件。
在一开始,有一个名为的长列表
ENTRY{...}
,在那里添加一行:mylabel
找到
FUNCTION {output.bibitem}
(在我的版本中它在第 86 行)并按如下方式修改它:FUNCTION {output.bibitem} { newline$ "\bibitem[" write$ mylabel empty$ 'label 'mylabel if$ write$ "]{" write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := }
保存并关闭文件。
打开您的
.bib
文件并添加:mylabel={SGA1},
在您的
.tex
文件中,将您的样式更改为\bibliographystyle{alpha2}
。跑步
latex
,bibtex
,latex
,latex
。TeXing 快乐!