bibtex 文件中 Doi 中的下划线

bibtex 文件中 Doi 中的下划线

在我的 bibtex 中,有带下划线的 DOI 的 URL 链接,这会导致编译错误。

以下是 bibtex:

@inproceedings{LVR19,
    author = {Author},
    title = {Title},
    doi = {https://doi.org/10.1007/978-3-030-25543-5_1}
}

这是我的错误:

! Missing $ inserted.
<inserted text>
$
l.72 ...tps://doi.org/10.1007/978-3-030-25543-5_1}
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

我的解决方案没有奏效:

  1. 将 doi 从 url 更改为数字
  2. 包括 \url{} 和 \usepackage{url}
  3. 将 '_' 更改为 '\ _'

有人还有其他我可以尝试的想法吗?

编辑:围兜设置

\documentclass[runningheads]{llncs}
\usepackage{cite}
\usepackage{url}

\begin{document}
content here

\bibliography{bibfile}
\bibliographystyle{splnce04}

\end{document}

答案1

该类llncs定义了一个非常基本的\doi命令,无法处理特殊字符。

\doi我们可以通过返回 url命令来定义我们自己的稍微更强大的版本\url。由于在中llncs定义它,所以我们也必须这样做。建议的解决方案需要或(它可以与任何一个包配合使用)。\doi\AtBeginDocument\usepackage{url}\usepackage{hyperref}

\documentclass[runningheads]{llncs}
\usepackage{cite}
\usepackage{url}

\makeatletter
\AtBeginDocument{%
  \def\doi#1{\url{https://doi.org/#1}}}
\makeatother

%\urlstyle{same}

\begin{filecontents}{\jobname.bib}
@inproceedings{LVR19,
  author = {Author},
  title  = {Title},
  doi    = {10.1007/978-3-030-25543-5_1},
}
\end{filecontents}

\begin{document}
content here \cite{LVR19}

\bibliography{\jobname}
\bibliographystyle{splncs04}
\end{document}

1. 作者:标题。https://doi.org/10.1007/978-3-030-25543-5_1

答案2

对我而言,在 DOI 中使用下划线字符的另一种方法llncs是:

    \usepackage{underscore}

序言中。参见https://ctan.org/pkg/underscore

相关内容