我正在使用 Tufte 文档类,其中引用作为由完整参考书目条目组成的侧注出现,使用 (我相信) \bibentry
。我的许多参考书目条目都包含 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}