使用 revtex 删除超链接中的边框

使用 revtex 删除超链接中的边框

我需要revtex4-1为我的文章使用该类,但该包似乎hyperref无法正确处理该类。我的大多数引文都包含一个doi字段,但没有url字段。我想为引文创建超链接,该hyperref包应该可以做到这一点。但是,似乎选项传递不正确,因为我试图摆脱链接周围的框。请注意,使用revtex4-1natbib因此不能使用 BibTeX。

那么,在这个 MWE 中,我怎样才能摆脱围绕链接的框呢?

\documentclass[aps,showpacs,twocolumn,prl,amsmath,amssymb,superscriptaddress,intlimits]{revtex4-1}                                                       
\usepackage{lipsum}
\usepackage[hidelinks]{hyperref}

\usepackage{filecontents}
\begin{filecontents}{main.bib}

@article{einstein,
    author =       "Albert Einstein",
    title =        "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
        [{On} the electrodynamics of moving bodies]",
    journal =      "Annalen der Physik",
    volume =       "322",
    number =       "10",
    pages =        "891--921",
    year =         "1905",
    doi =          "10.1002/andp.19053221004"
}

\end{filecontents}

\bibliographystyle{unsrtnat}  % Natbib is loaded with revtex

\begin{document}

Let us cite \cite{einstein}.

\lipsum[1]

\bibliography{main}

\end{document}

出刊

答案1

此 URL 样式链接由插入natbib加载者revtex4-1。你可以使用以下技巧来避免这种情况:

\let\oldbibitem\bibitem
\renewcommand{\bibitem}{%
  \renewcommand{\doi}[1]{doi: ##1}% Override \doi
  \let\bibitem\oldbibitem% Restore \bibitem
  \oldbibitem% Call old \bibitem
}

这将更新(第一次使用)\bibitem以覆盖如何\doi{<doi>}打印其参数。它不会像 URL 那样打印它,而是只打印带有前缀的 DOI doi:。第一次使用后,将完全恢复\bibitem原始定义。\bibitem

在此处输入图片描述

\documentclass{revtex4-1}

\usepackage{lipsum}
\usepackage[hidelinks]{hyperref}

\let\oldbibitem\bibitem
\renewcommand{\bibitem}{%
  \renewcommand{\doi}[1]{doi: ##1}% Override \doi
  \let\bibitem\oldbibitem% Restore \bibitem
  \oldbibitem% Call old \bibitem
}

\begin{filecontents}[overwrite]{main.bib}
@article{
  einstein,
  author = "Albert Einstein",
  title =  "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
      [{On} the electrodynamics of moving bodies]",
  journal = "Annalen der Physik",
  volume = "322",
  number = "10",
  pages = "891--921",
  year = "1905",
  doi = "10.1002/andp.19053221004"
}
\end{filecontents}

\bibliographystyle{unsrtnat}  % Natbib is loaded with revtex

\begin{document}

Let us cite \cite{einstein}.

\lipsum[1]

\bibliography{main}

\end{document}

相关内容