我使用 amsalpha 作为参考书目样式,并滥用 NOTE 字段链接到 arXiv 和 DOI。(是的,我知道这是黑客行为,但我没办法。:|)通常情况下,这很有效;例如,条目
@article {FGKS,
AUTHOR = {Arthur {Fischer} and Martin {Goldstern} and Jakob {Kellner} and Saharon {Shelah}},
TITLE = {{Creature Forcing and Five Cardinal Characteristics in {Cicho{\'n}'s} Diagram}},
JOURNAL = {Arch. Math. Logic},
FJOURNAL = {Archive for Mathematical Logic},
VOLUME = {56},
YEAR = {2017},
NUMBER = {7--8},
PAGES = {1045--1103},
ISSN = {0933-5846},
CODEN = {AMLOEH},
NOTE = {\href{https://dx.doi.org/10.1007/s00153-017-0553-8}{\textsc{doi}:~10.1007/S00153-017-0553-8}, \href{https://arxiv.org/abs/1402.0367}{arXiv:~1402.0367 [math.LO]}},
URL = {http://arxiv.org/abs/1402.0367},
}
输出为
[FGKS17] Arthur Fischer、Martin Goldstern、Jakob Kellner 和 Saharon Shelah,Cichoń 图表中的生物强迫和五大基本特征、数学逻辑学56(2017),第7-8期,1045-1103,DOI: 10.1007/S00153-017-0553-8,arXiv: 1402.0367 [math.LO]。
我的问题是 @incollection 条目格式不正确。例如,
@incollection {Blass93,
AUTHOR = {Andreas {Blass}},
TITLE = {{Simple Cardinal Characteristics of the Continuum}},
BOOKTITLE = {{S}et {T}heory of the {R}eals},
EDITOR = {Haim {Judah}},
PAGES = {63--90},
SERIES = {Israel Mathematics Conference Proceedings},
VOLUME = {6},
PUBLISHER = {Gelbart Research Institute for Mathematical Sciences, Bar-Ilan University, Ramat-Gan},
YEAR = {1993},
NOTE = {\href{http://arxiv.org/abs/9405202}{arXiv:~9405202 [math.LO]}},
URL = {http://www.math.lsa.umich.edu/~ablass/sccc.pdf},
}
输出为
[Bla93] 安德烈亚斯·布拉斯,连续体的简单基本特征,实数集合论(Haim Judah 编辑),以色列数学会议论文集,第 6 卷,盖尔巴特数学科学研究所,巴伊兰大学,拉马特甘,1993 年,arXiv: 9405202 [math.LO],第 63-90 页。
…与页面后笔记。
我做错了什么吗?这是预期的行为吗(如果是,为什么)?有没有一种相当简单的方法来改变这种行为?
答案1
以下是文件中amsalpha.bst
格式化类型条目的代码@incollection
:
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
crossref missing$
{ format.incoll.title.editors "booktitle" output.check
format.bookvolume.series.number output
publisher "publisher" output.check
address output
format.edition output
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
}
if$
note output
format.book.pages output
format.language *
fin.entry
}
无需过多了解细节,请注意,该pages
字段设置为输出后,不在之前,note
领域。
你问,
... 附有注释后的页面。... 这是预期的行为吗(如果是,为什么)?
是的,这是预期的行为。恐怕我无法解决您的问题为什么问题。
你还问过,
有没有一个相当简单的方法来改变这种行为?
在您的 TeX 发行版中找到该文件amsalpha.bst
。复制此文件并将副本命名为 。myamsalpha.bst
(不要编辑 TeX 发行版中未重命名的原始文件。)myamsalpha.bst
在文本编辑器中打开该文件并找到函数incollection
。(它应该看起来像上面显示的代码。)交换行的顺序
note output
format.book.pages output
这样它们看起来就像这样:
format.book.pages output
note output
将文件保存myamsalpha.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。在主 tex 文件中,将指令更改\bibliographystyle{amsalpha}
为\bibliographystyle{myamsalpha}
并重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
最后一条评论:我假设您使用amsalpha
围兜样式是因为您必须这样做。如果是这样,那么修改围兜样式几乎肯定是一个坏主意。