Bibtex 似乎强制使用 Times 字体样式来表示 DOI 编号,而我的字体样式是 Helvetica。
请咨询:
\begin{filecontents*}{test.bib}
@article{foo2010,
author = "Foo Bar",
journal = "J.P.B.",
year = 2010,
title = "Where the wild things are.",
doi = {10.1.1/jpb001},
url = {http://dx.doi.org/10.1.1/jpb001}
}
\end{filecontents*}
\documentclass{article}
\usepackage{natbib,hyperref}
\usepackage{helvet} % helvetica font
\renewcommand{\familydefault}{\sfdefault}
\usepackage{sfmath} % helvetica for math mode too
\begin{document}
test \citet{foo2010}
\bibliographystyle{plainnat}
\bibliography{test}
\end{document}
截屏:
答案1
natbib
在存在的情况下hyperref
使用url
包来格式化这些,并且该包定义了一种无衬线样式,您可以使用它来调用
\urlstyle{sf}
对于 DOI 字段,通过类似命令
natbib
定义命令,您可以使用以下命令覆盖该命令\doi
\providecommand{\doi}[1]{doi: #1}
\newcommand{\doi}[1]{doi: \url{#1}}
\begin{filecontents*}{test.bib}
@article{foo2010,
author = "Foo Bar",
journal = "J.P.B.",
year = 2010,
title = "Where the wild things are.",
doi = {10.1.1/jpb001},
url = {http://dx.doi.org/10.1.1/jpb001}
}
\end{filecontents*}
\documentclass{article}
\usepackage{natbib,hyperref}
\usepackage{helvet} % helvetica font
\renewcommand{\familydefault}{\sfdefault}
\usepackage{sfmath} % helvetica for math mode too
\urlstyle{sf}
\newcommand{\doi}[1]{doi: \url{#1}}
\begin{document}
test \citet{foo2010}
\bibliographystyle{plainnat}
\bibliography{test}
\end{document}
答案2
您可以重新定义 rm-urlstyle:
\documentclass{article}
\usepackage{natbib,hyperref}
\usepackage{helvet} % helvetica font
\renewcommand{\familydefault}{\sfdefault}
%\usepackage{sfmath} % helvetica for math mode too
\makeatletter
\def\url@rmstyle{%
\def\UrlFont{\sffamily}}
\makeatother
\begin{document}
test \citet{foo2010}
\bibliographystyle{plainnat}
\bibliography{test}
\end{document}