我收藏了一些文献。其中大部分是人类作者的正常出版物,我用这种alpha
风格引用它们,就像这样 [SDG17]。
对于某些引用,作者不是人类。本标准例如,它是由 发布的On-Road Automated Driving (ORAD) Committee
,这对我来说没问题。但我不希望在我的文本中显示为 [Com21],而是显示为例如 [SAE21] 或甚至 [SAE-J3016]。
我能否以某种方式将不同的引用文本强制放到单个 bib-id 上?
最好的情况是这样的:
\forcecitation{bib-id}{SAE-J3016}
答案1
值得注意的是,使用 biblatex,您只需使用 shortauthor 或速记即可完成此操作。但是,使用 bibtex,除了更改样式文件之外别无他法,所以就这样吧 :)。
将 alpha.bst 复制到 customalpha.bst
在 ENTRY 列表中,添加以下行
customlabel
寻找
FUNCTION {calc.label}
并将现有函数体替换为
FUNCTION {calc.label}
{ customlabel empty$
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
{ type$ "manual" =
'author.key.organization.label
'author.key.label
if$
}
if$
}
if$
duplicate$
year field.or.null purify$ #-1 #2 substring$
*
'label :=
year field.or.null purify$ #-1 #4 substring$
*
sortify 'sort.label :=
}
{ customlabel 'label :=
customlabel 'sort.label :=
}
if$
}
基本上,我将测试添加customlabel empty$
到开头并定义如果它不在结尾处该怎么做(customlabel 'label :=
等等)。
在您想要自定义的条目上,只需添加字段customlabel
即可。