自动将书目参考文献中的 URL 字符串中的“{\_}”替换为“_”?

自动将书目参考文献中的 URL 字符串中的“{\_}”替换为“_”?

当我从出口门德利分享乳胶,一些参考文献包含url如下字段:

@misc{15MPEDIA2014,
    title = {{Lista de contactos de los nodos de la Plataforma DRY - 15Mpedia}},
    year = {2014},
    author = {{15MPEDIA}},
    url = {https://15mpedia.org/wiki/Lista{\_}de{\_}contactos{\_}de{\_}los{\_}nodos{\_}de{\_}la{\_}Plataforma{\_}DRY}
}

如果您看到 URL,而不是有_{\_}这显然会破坏链接。也许是 Sharelatex 的问题。他们告诉我他们不知道发生了什么…… :-(

那么,在这种情况下,对于这种类型的“url”,是否有任何方法可以更正这些不正确的 bib 条目,以使链接正常工作?例如,编码始终更改{\_}_内部url = ...字符串。

梅威瑟:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass{DissertateB5}
\captionsetup{labelfont=\rmdefault, textfont=\rmdefault }
\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}

\begin{document}

This is the reference \cite{15MPEDIA2014}

\end{document}

在此处输入图片描述

答案1

这是一个基于 LuaLaTeX 的解决方案。它定义了一个 Lua 函数,用于扫描所有输入行(包括\jobname.bblBibTeX 创建的文件中的行)并查找\url{...}字符串。对于每个这样的字符串,{\_}字符串中的所有 都会被 替换_。这发生在处理的早期阶段,即在 LaTeX 开始其常规操作之前。

唯一的输入要求是包含 URL 的字符串及其封装宏“\url{...}”位于一行上。不允许换行。

_单独的评论:您真的应该尝试弄清楚如何设置所有 Mendeley 参数。指示 Mendeley 不要将URL 中的所有 实例都用 括起来应该不难{\_}

在此处输入图片描述

\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{15MPEDIA2014,
    title = {{Lista de contactos de los nodos de la Plataforma DRY--\mbox{15Mpedia}}},
    year = {2014},
    author = {{15MPEDIA}},
    url = {https://15mpedia.org/wiki/Lista{\_}de{\_}contactos{\_}de{\_}los{\_}nodos{\_}de{\_}la{\_}Plataforma{\_}DRY}
}
\end{filecontents}

\documentclass{article}
%%% Lua-related code begins here
\usepackage{luacode}
\begin{luacode}
function clean_underscore ( s )
    return ( string.gsub ( s , "{\\_}" , "_" ) )
end
function clean_url ( s ) 
    return ( string.gsub ( s , "\\url%b{}" , clean_underscore ) )
end
\end{luacode}
\AtBeginDocument{\luadirect{luatexbase.add_to_callback ( 
    "process_input_buffer", clean_url, "clean_url" )}}
%%% Lua-related code ends here

\usepackage{natbib}
\bibliographystyle{plainnat}

\usepackage{url}
\usepackage[colorlinks,urlcolor=blue]{hyperref} % just for this example

\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}

附录:我刚刚注意到,您加载了apacite引文管理包(带有选项natbibapa)以及apacite参考书目样式。使用这些信息,格式化的 bib 条目如下所示 - 请注意,Lua 函数继续完成工作:

在此处输入图片描述

答案2

Escape LaTeX special characters只需在 Mendeley 偏好设置中禁用即可。

在此处输入图片描述

缺点:如果标题包含特殊字符,则会失败&

我的个人意见:不要使用这种自动生成的 bib 文件,它们远非完美。相反,请将条目复制到您自己的 bib 文件中。您可以在那里进行清理。

自动 bib 文件中存在一些缺陷:

  • Alexa在其条目中重复两次
  • 两次dataanlysis15m2014
  • 应该DENZIN大写吗?

相关内容