![使用 biblatex 引用 RFC](https://linux22.com/image/251026/%E4%BD%BF%E7%94%A8%20biblatex%20%E5%BC%95%E7%94%A8%20RFC.png)
我想以 [RFCxxxx] 格式引用 RFC,而不是使用作者姓名首字母和出版年份。目前我使用的是alphabetic
附带的样式biblatex
。到目前为止,我尝试使用命令\DeclareCiteCommand
来使用文件key
中的字段.bib
,但似乎不起作用。我非常感激任何有关如何解决这个问题的想法。
答案1
IETF 提供官方 BibTeX 条目
https://datatracker.ietf.org/doc/<RFC>/bibtex/
例如,RFC 9405 下的条目https://datatracker.ietf.org/doc/rfc9405/bibtex/产量
@misc{rfc9405,
series = {Request for Comments},
number = 9405,
howpublished = {RFC 9405},
publisher = {RFC Editor},
doi = {10.17487/RFC9405},
url = {https://www.rfc-editor.org/info/rfc9405},
author = {},
title = {{AI Sarcasm Detection: Insult Your AI without Offending It}},
pagetotal = 5,
year = 2023,
month = apr,
day = 1,
abstract = {This RFC proposes a framework for detecting sarcasm in AI systems and provides guidelines for using sarcasm without causing offense. By training AI systems to identify linguistic patterns that indicate sarcasm, we can improve their understanding of human communication. The guidelines offer a lighthearted approach to using sarcasm in a way that is both effective and respectful, without crossing the line into offensive language.}, }
相比之下,“互联网草案”(ID)draft-carpenter-rfc-citation-recs-01 § 5.2建议使用@techreport
@techreport{rfc1654,
AUTHOR = "Yakov Rekhter and Tony Li",
TITLE = "{A Border Gateway Protocol 4 (BGP-4)}",
HOWPUBLISHED = {Internet Requests for Comments},
TYPE="{RFC}",
NUMBER=1654,
PAGES = {1-56},
YEAR = {1995},
MONTH = {July},
ISSN = {2070-1721},
PUBLISHER = "{RFC Editor}",
INSTITUTION = "{RFC Editor}",
URL={https://www.rfc-editor.org/rfc/rfc1654.txt}
}
请注意,虽然 IETF 发布了 I-D,但它们并不是官方的(每个人可以创建ID)。
您可以添加shorthand = {RFC1654}
如下解释:
另一个解决方案是使用natbib 包
\defcitealias{jon90}{Paper~I}
\citetalias{jon90} Paper I
\citepalias{jon90} (Paper I)
我使用以下代码测试了最后一个解决方案:
\usepackage{natbib}
\defcitealias{rfc6749}{RFC6749}
\citepalias{rfc6749}
\bibliographystyle{plain}
但我得到的结果是:
[RFC6749]
并且它没有在列表中进行更改。
答案2
您可以使用shorthand
字段覆盖由样式自动生成的标签alphabetic
:
\documentclass{article}
\usepackage[style=alphabetic]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@report{Cro69,
shorthand = {RFC0001},
author = {Crocker, S.},
year = {1969},
month = {4},
title = {Host Software},
note = {RFC 1},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{A01,Cro69}.
\printbibliography
\end{document}