Helvetica 字体的 bibtex DOI/URL

Helvetica 字体的 bibtex DOI/URL

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}

在此处输入图片描述

相关内容