使用超链接发布到 Arxiv

使用超链接发布到 Arxiv

在回答这个问题时,首先要注意的是,在我的计算机上一切都能正常工作、编译和显示。但是,当我将文档上传到 arXiv.org 时,有时情况会发生变化。特别是,将参考书目中的 URL 发布到 arXiv.org (显然)非常困难。

问题 1:参考书目根本没有显示。

问题 1 已解决:使用 Biblatex-Biber 发布到 Arxiv

问题 2:参考书目显示文档边框之外的 URL。它不会将 URL 文本包装在参考书目项目中。同样,它在我的计算机上运行良好,但在网站 arXiv.org 上却不行。

问题 2 已解决:biblatex 书目中的长 URL 的换行符?

问题 3:使用前两个问题中的设置,我现在遇到了一个新问题。如果 URL 换行,如下所示

[5] Author. Title. PhD thesis. Place, May 2011. url: http://aaaaaaaaaaa.a
    aaaaaaa/aaaaaaa.aaaaaaaa/aaaaaaa.aaa.aaaaaa.

arXiv.org 禁用了超链接。同样,超链接没有被禁用,在我的系统上工作得很好。但 arXiv.org 上的包装网址不再有超链接。如果书目项目看起来像

[6] Author. Title. PhD thesis. Place, May 2011. DOI: aaaa.aaa/a.aaa.aa

这样它就不会中断,超链接保持完整。

我该如何解决问题 3?考虑到 arXiv 的广泛使用,我很惊讶这不是一个更常见的问题。

梅威瑟:

测试.TEX

%Document Type
\documentclass[reqno]{amsart}
%Bibliography Commands
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp,firstinits=true,backend=bibtex,%backref=true,
]{biblatex}
\bibliography{test.bib}
\DeclareFieldFormat[article,book,incollection,phdthesis,misc]{volume}{\mkbibbold{#1}}
\DeclareFieldFormat[article]{publisher}{\textnormal{#1}}
\DeclareFieldFormat[article,book,phdthesis]{title}{\mkbibemph{#1}}
\setcounter{biburlnumpenalty}{7000}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}
%Packages
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{enumerate}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{tikz,caption}
\usetikzlibrary{arrows,shapes,trees}
\usepackage{verbatim}
\usepackage{url}
\usepackage[hyperindex,breaklinks]{hyperref}
\hypersetup{linkcolor=blue, citecolor=red, colorlinks=true}
\usepackage{array}
\begin{document}
Reference \cite{one} and \cite{two}. 
\printbibliography
\end{document}

测试版

@ARTICLE{one,
url = {http://www.google.com}}
@Article{two,
url = {https://tex.stackexchange.com/questions/182523/publishing-to-arxiv-with-hyperlinks?noredirect=1#comment420451_182523}}

如果你在本地系统上编译它,它工作正常。但如果你尝试将其发布到 arXiv,它不再具有第二项的超链接。

答案1

通过 MWE,我可以看到 arXiv 正在使用latex而不是 来处理您的提交pdflatex。您可以pdflatex通过添加一行来强制执行

\pdfoutput=1

在提交的前 5 行内,在这种情况下一切似乎都正常。参见关于这一点的 arXiv 帮助

答案2

由于所有答案(包括链接问题)都不适用于我的情况,因此这里是最终对我有用的特定设置在 arxiv 上。该hyperref包已经被 arxiv 预加载,因此再次加载会导致编译错误。

\usepackage{url}
\usepackage{breakurl}
%\usepackage[breaklinks]{hyperref}

\def\UrlBreaks{\do\/\do-}

答案3

arXiv 的默认行为是将 hyperref 值设置为breaklinksfalse这可能会在将来发生变化,但您\hypersetup只需设置此键值即可在您的数据库中考虑到这一点。

相关内容