我在使用命令\nocite{*}
避免在正文中引用时遇到了一些麻烦。我编译了很多次,它一直在\nocite{*}
的位置显示问号。无论我使用哪种参考书目样式,它仍然会显示问号。此外,我也尝试过使用该listbib
包,但效果并不好。
请不要将此问题标记为已问,因为与此相关的唯一一个问题是其他问题
这是(希望如此) MWE:
\documentclass[12pt ,a4paper]{article}
\usepackage[brazil]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ae}
\usepackage{harvard}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{parskip}
\usepackage{indentfirst}
\usepackage{hyperref}
\usepackage{amssymb,fancyhdr,fancybox,epsfig,psfrag,amsmath,tabularx}
\usepackage[paperwidth=8.5in,paperheight=11in,hmargin={25mm,20mm},vmargin={20mm,20mm}]{geometry} %tamanho letter
\usepackage{fancyhdr}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{key,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
\end{filecontents}
\begin{document}
Hello world
\nocite{key}
\thispagestyle{empty}
\newpage
\bibliographystyle{abbrv}
\bibliography{\jobname} % or \addbibressource{/jobname.bib}
\end{document}
答案1
MWE 可以简化为以下代码:
\documentclass{article}
\usepackage{harvard}
\usepackage{filecontents}
\bibliographystyle{abbrv}
\begin{filecontents}{\jobname.bib}
@book{key,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
\end{filecontents}
\begin{document}
Hello world \nocite{key}
\bibliography{\jobname}
\end{document}
问题仍然存在。我没有查看harvard
软件包代码以了解详细信息,但它似乎无法\nocite
与 LaTeX 内置支持或其他软件包一致地处理宏。
解决方法是,可以通过替换以下代码迁移文档,natbib
同时仍使用提供的所有引用命令:harvard
\usepackage{harvard}
和
\usepackage{natbib}
\usepackage{har2nat}
以下是完整修订的 MWE:
\documentclass{article}
\usepackage{natbib}
\usepackage{har2nat}
\usepackage{filecontents}
\bibliographystyle{abbrv}
\begin{filecontents}{\jobname.bib}
@book{key,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
\end{filecontents}
\begin{document}
Hello world \nocite{key}
\bibliography{\jobname}
\end{document}
结果输出如下(没有问号!:-) :