bibtex url 中的下划线

bibtex url 中的下划线

我正在尝试包含指向 OneDrive 上某些代码的链接;该链接包含下划线,这导致了很多麻烦。

我尝试添加如下条目:

@misc{code,
    title = {Code},
    url = {https://1drv.ms/link_link}
}

我使用\usepackage{url}\bibliographystyle{IEEEtran}。一切都编译正常,参考书目显示正确的条目。但是,如果您单击链接,它会打开一个页面https://1drv.ms/link- 因此忽略下划线及其后的所有内容,从而导致错误的页面。即使从 PDF 复制和粘贴也不起作用,因为下划线被复制为空格,这又是一个断开的链接。

我该如何添加链接以便可以正确点击和复制?我尝试了、、、\_不同的 bibtex 条目,但都没有用。而且所有相关的问题/答案都没有回答我的问题。\usepackage{underscore}{{link}}

答案1

对于 IEEE 模板,使用文件时bib,将下划线替换为{\_}应该可以解决问题。对于以下问题:

@misc{code,
    title = {Code},
    url = {https://1drv.ms/link{\_}link}
}

答案2

只是为了正式回答并结束这个问题:正如 Ulrike Fischer 在评论中回答的那样,解决方案是使用\usepackage{hyperref}(或\usepackage[hidelinks]{hyperref}避免使用丑陋的框)和\usepackage[T1]{fontenc}。这允许正确单击和复制粘贴带有下划线的 URL。

但事实证明,hyperref在尝试将论文提交给 IEEE 时不允许使用包。所以我最终只是将 URL 更改为没有下划线的内容,使用谷歌(或者比特利因为 goo.gl 已经关闭)。

平均能量损失

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{hyperref}

\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
    @misc{code,
        title = {Code},
        url = {https://1drv.ms/link_link}
    }
\end{filecontents*}

\begin{document}

\cite{code}

\bibliographystyle{IEEEtran}
\bibliography{\jobname}

\end{document}

结果

在此处输入图片描述

答案3

我不知道为什么,但是其他解决方案对我来说不起作用,但是这个却起作用了:

  1. 删除辅助文件(.bbl)

  2. 在 bib 文件中,将 url 替换为:

    url = {{https://doi.org.123345\_6789}}

请注意,双花括号和非包围\_

答案4

我建议在 Latex 文件中使用源映射。这样,您就不需要调整 bib 文件或任何其他内容,例如,要转义下划线(unicode 中的符号 5F),可以使用以下命令:

\DeclareSourcemap{
    \maps[datatype=bibtex, overwrite]{
        \map{
            \step[fieldsource=url, match=\regexp{\x{5F}}, replace=\regexp{\\\x{5F}}]
        }
    }
}

相关内容