在我的 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.
我的解决方案没有奏效:
- 将 doi 从 url 更改为数字
- 包括 \url{} 和 \usepackage{url}
- 将 '_' 更改为 '\ _'
有人还有其他我可以尝试的想法吗?
编辑:围兜设置
\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}