有没有办法可以防止 URL 出现在 \bibentry 引用中?

有没有办法可以防止 URL 出现在 \bibentry 引用中?

我正在使用 Tufte 文档类,其中引用作为由完整参考书目条目组成的侧注出现,使用 (我相信) \bibentry。我的许多参考书目条目都包含 URL(我希望它们在那里),但我不希望这些 URL 出现在引用中。

有没有办法从此类引用中省略 URL 但将其保留在参考书目中?

带有不需要的 URL 的引用示例


\documentclass[]{tufte-handout}

\begin{document}

This,\cite{Sarukkai:2005} includes the URL for the citation, which I don't want; thought I do want it in the bibliography.

\bibliographystyle{unsrtnat}
\bibliography{References}

\end{document}

@article{Sarukkai:2005,
author = {Sarukkai, S},
title = {{Revisiting the 'unreasonable effectiveness' of mathematics}},
journal = {Current science},
year = {2005},
url = {http://www.ias.ac.in/currsci/feb102005/415.pdf},
}

答案1

这可以通过修改 bst 文件来实现。

将文件复制unsrtnat.bst到您的工作文件夹中。我建议将文件重命名为类似MYunsrtnat.bst。在第 285 行,MYunsrtnat.bst您可以找到 url 输出的定义。

FUNCTION {format.url}
{ url empty$
    { "" }
    { new.block "URL \url{" url * "}" * }
  if$
}

将此定义更改如下:

FUNCTION {format.url}
{ url empty$
    { "" }
    { new.block "\urlname{URL} \url{" url * "}" * }
  if$
}

更改后,您可以使用以下示例。有命令\urlname\url吞噬其参数。在将参考书目打印到命令之前,请将其设置为

\renewcommand*{\urlname}[1]{#1}
\renewcommand*{\url}[1]{\texttt{#1}}

这里是例子:

\documentclass[]{tufte-handout}
\usepackage{filecontents}
\begin{filecontents}{References.bib}
@article{Sarukkai:2005,
author = {Sarukkai, S},
title = {{Revisiting the 'unreasonable effectiveness' of mathematics}},
journal = {Current science},
year = {2005},
url = {http://www.ias.ac.in/currsci/feb102005/415.pdf},
}


\end{filecontents}
\providecommand*{\urlname}[1]{}
\renewcommand*{\url}[1]{}
\begin{document}
This,\cite{Sarukkai:2005} includes the URL for the citation, which I don't want; thought I do want it in the bibliography.

\renewcommand*{\urlname}[1]{#1}
\renewcommand*{\url}[1]{\texttt{#1}}
\bibliographystyle{unsrtnat}
\bibliography{References}

\end{document}

在此处输入图片描述

相关内容