我有示例代码test.tex
:
\documentclass[11pt,a4paper]{article}
\usepackage[numbers]{natbib}
\begin{document}
This is a citation~\cite{testArticle}.
\bibliographystyle{apalike}
\bibliography{lit}
\end{document}
还有一个参考书目文件lit.bib
:
@article{testArticle,
title={This is a test article},
author={Lastname, Firstname},
journal={This is a test journal},
year={2021},
pages={1--2},
volume={1},
number={1}
}
如果我使用 pdflatex 和 bibtex 编译它,我会得到该test.bbl
文件:
\begin{thebibliography}{}
\bibitem[Lastname, 2021]{testArticle}
Lastname, F. (2021).
\newblock This is a test article.
\newblock {\em This is a test journal}, 1(1):1--2.
\end{thebibliography}
如您所见,标签[Lastname, 2021]
已添加到 bbl 文件中。
问题:
- 我可以告诉编译器为一些 bibitems 生成不同的、定制的标签吗?
- 我可以完全抑制这些标签的生成吗(对于所有 bibitems)?
答案1
这些可选参数用于\bibitem
控制引文在文本中的显示方式,因此取决于您的参考书目样式。这只是引文在样式中的样子apalike
。要永久修复此问题,您必须选择不同的样式或定义适合您需求的样式(这不是最令人愉快的事情)。
至于你的问题:
- 你可以定义自己的风格,也可以放弃 bibtex,开始使用带有条目的简单
thebibliography
环境\bibitem
,在这种环境中,你可以随心所欲地定义这些标签。也许还可以研究 biblatex 和 biber 后端,那里可能有进行此类定制的空间,但我不知道。 - 如上所述,但实际上这里有一个解决方法。由于您本质上是在导入
test.bbl
充满\bibitem
条目的文件,因此您可以简单地重新定义\bibitem
以忽略其可选参数并将引用显示为纯数字,如接受的答案中所述这个问题。请注意,标签仍会生成,但会被忽略。
对于第二个问题,请将其插入到您的序言中:
\let\oldbibitem\bibitem
\renewcommand{\bibitem}[2][]{\oldbibitem{#2}}
希望这会有所帮助。