我正在使用 apacite 和 natbib,并将所有文献存储在 Mendeley 中。
我刚刚发现了当 DOI 存在时如何在参考书目中隐藏 URL(网址中换行)。但是,我想抑制所有条目的 URL 和 DOI,但网页除外 - 网页上应显示 URL 和上次修订的字段。我不确定如何更改上述示例中的代码(URL 中的 Linkebreak)或如何做到这一点 - 有什么想法吗?
梅威瑟:
\documentclass{article}
\usepackage[natbibapa]{apacite}
\usepackage{etoolbox}
\usepackage{environ}
\newtoggle{bibdoi}
\newtoggle{biburl}
\makeatletter
\undef{\APACrefURL}
\undef{\endAPACrefURL}
\undef{\APACrefDOI}
\undef{\endAPACrefDOI}
\long\def\collect@url#1{\global\def\bib@url{#1}}
\long\def\collect@doi#1{\global\def\bib@doi{#1}}
\newenvironment{APACrefURL}{\global\toggletrue{biburl}\Collect@Body \collect@url}{\unskip\unskip}
\newenvironment{APACrefDOI}{\global\toggletrue{bibdoi}\Collect@Body\collect@doi}{}
\AtBeginEnvironment{thebibliography}{
\pretocmd{\PrintBackRefs}{%
\iftoggle{bibdoi}
{\iftoggle{biburl}{\unskip\unskip}{}}
{\iftoggle{biburl}{\unskip\unskip }{}}
\togglefalse{bibdoi}\togglefalse{biburl}%
}{}{}
}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{PwC2013,
author = {PwC},
mendeley-groups = {Sharing},
title = {{The sharing economy - sizing the revenue opportunity}},
url = {http://www.pwc.co.uk/issues/megatrends/collisions/sharingeconomy/the-sharing-economy-sizing-the-revenue-opportunity.html},
urldate = {2015-10-29},
year = {2013}
}
\end{filecontents*}
\begin{document}
\citet{PwC2013}
\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document}
通过此代码,我可以摆脱所有的 URL 和 DOI,但是,我需要它们来获取网页条目(此处为杂项)。