我使用 IEEEtran 作为参考书目样式。我想在文本中的引用处和文档末尾添加一个字母(例如 R)。
我能够解决参考文献列表的问题。这是通过插入来实现的
\makeatletter
\renewcommand\@biblabel[1]{[R#1]}
\makeatother
序言部分。现在参考文献列表如下:
[R1] ...
[R2] ...
但是,我无法让它在文本中发挥作用。更具体地说,我希望我的文本如下:“[R1] 中的作者做了...”而不是“[1] 中的作者做了...”。有什么建议吗?
答案1
正如原帖所言,重新定义\@biblabel
可以解决参考列表的问题。要纠正实际\cite
文本,\bibcite
必须重新定义。
在我的 MWE 中,我保存了原始版本的副本,并根据原始版本重新表达了新定义的宏。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{junk.bib}
@ARTICLE{bake67,
TITLE = "Prediction and scaling of reflected impulse from
strong blast waves",
AUTHOR = "Baker, W. E.",
JOURNAL = "International Journal of Mechanical Sciences",
VOLUME = "9",
NUMBER = "1",
PAGES = "45--51",
YEAR = "1967" }
\end{filecontents}
\let\svbibcite\bibcite
\def\bibcite#1#2{\svbibcite{#1}{R#2}}
\makeatletter
\let\svbiblabel\@biblabel
\def\@biblabel#1{\svbiblabel{R#1}}
\makeatother
\begin{document}
cite \cite{bake67}
\bibliographystyle{IEEEtran}
\bibliography{junk}
\end{document}