arXiv 不会像 Overleaf 和我本地安装的那样对较长的参考书目条目进行自动换行,但对于完全相同的最小工作示例

arXiv 不会像 Overleaf 和我本地安装的那样对较长的参考书目条目进行自动换行,但对于完全相同的最小工作示例

在与芭芭拉·比顿在聊天室里,后来大卫·卡莱尔在同一个地方,他们都建议我在这里写下我的问题;我花了几个小时将所有内容精简为尽可能最少的工作示例,并且仍然可以通过 arXiv 神秘的 TeX 环境重现该问题。

正如 Tom Hejda (在 Overleaf 工作) 所建议的那样,我选择将 TeX Live 2017 与 Overleaf 结合使用,以便尽可能地模拟 arXiv 的环境。在 Overleaf 中,我的 MWE(最小工作示例)会产生一个 3 行书目条目,它会环绕,使得前两行完全右对齐:

相同的 MWE 在 arXiv 中编译时没有错误,但右对齐不太好:
在此处输入图片描述

两个 PDF 均使用以下 MWE 代码生成:

\documentclass[amsmath,amssymb,aps,twocolumn]{revtex4-1}
\listfiles
\begin{document}
    \cite{Daday2012}
%\input{main.bbl}
    
\begin{thebibliography}{48}
\makeatletter
\providecommand \bibnamefont  [1]{#1}%
\providecommand \bibfnamefont [1]{#1}%
\providecommand \citenamefont [1]{#1}%
\let\auto@bib@innerbib\@empty

\bibitem [{\citenamefont {Daday}\ \emph {et~al.}(2012)\citenamefont {Daday},
  \citenamefont {Smart}, \citenamefont {Booth}, \citenamefont {Alavi},\ and\
  \citenamefont {Filippi}}]{Daday2012}%
  \BibitemOpen
  \bibfield  {author} {\bibinfo {author} {\bibfnamefont {C.}~\bibnamefont
  {Daday}}, \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont {Smart}},
  \bibinfo {author} {\bibfnamefont {G.~H.}\ \bibnamefont {Booth}}, \bibinfo
  {author} {\bibfnamefont {A.}~\bibnamefont {Alavi}}, \ and\ \bibinfo {author}
  {\bibfnamefont {C.}~\bibnamefont {Filippi}},\ }\href {\doibase
  10.1021/ct300486d} {\bibfield  {journal} {\bibinfo  {journal} {Journal of
  {C}hemical {T}heory and {C}omputation}\ }\textbf {\bibinfo {volume} {8}},\
  \bibinfo {pages} {4441} (\bibinfo {year} {2012})}\BibitemShut {NoStop}
\end{thebibliography}
    
\end{document}

我曾经\listfiles确认过,arXiv 的环境与 Overleaf 相比,具有几乎相同的包。对于 Overleaf,我们有:

  *File List* 
 revtex4-1.cls    2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for  documentation)   
 aps4-1.rtx
 aps10pt4-1.rtx 
 textcase.sty    2004/10/07 v0.07   Text only upper/lower case changing (DPC)  
 amssymb.sty     2013/01/14 v3.01   AMS font symbols
 amsfonts.sty    2013/01/14 v3.01   Basic AMSFonts support  
 amsmath.sty     2016/11/05 v2.16a  AMS math features  
 amstext.sty     2000/06/29 v2.01   AMS text   
 amsgen.sty      1999/11/30 v2.0    generic functions  
 amsbsy.sty      1999/11/29 v1.2d   Bold Symbols   
 amsopn.sty      2016/03/08 v2.02   operator names
 url.sty         2013/09/16 ver 3.4 Verb mode for urls, etc.   
 natbib.sty      2010/09/13 8.31b   (PWD, AO) 
 revsymb4-1.sty  2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)  
 ***********

对于 arXiv,我们有相同的包,除了amsmath.sty 比 arXiv 的版本新 5 个月,但这没什么区别,因为我在自己的笔记本电脑上使用 TeX Live 2015 时,得到的结果与 Overleaf 完全相同,尽管 amsmath.sty 比 arXiv 的版本早 3 个月。以下是 arXiv 的软件包:

 *File List*
revtex4-1.cls  2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)
aps4-1.rtx
aps10pt4-1.rtx
textcase.sty   2004/10/07 v0.07    Text only upper/lower case changing (DPC)
amssymb.sty    2013/01/14 v3.01    AMS font symbols
amsfonts.sty   2013/01/14 v3.01    Basic AMSFonts support
amsmath.sty    2016/06/28 v2.15d   AMS math features
amstext.sty    2000/06/29 v2.01    AMS text
amsgen.sty     1999/11/30 v2.0     generic functions
amsbsy.sty     1999/11/29 v1.2d    Bold Symbols
amsopn.sty     2016/03/08 v2.02    operator names
url.sty        2013/09/16 ver 3.4  Verb mode for urls, etc.
natbib.sty     2010/09/13 8.31b    (PWD, AO)
revsymb4-1.sty 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)

不幸的是,arXiv 也包含这些,而这些都没有被 Overleaf 的编译器列出,我自己的本地编译器也没有列出:

hyperref.sty        2016/06/24 v6.83q Hypertext links for LaTeX
hobsub-hyperref.sty 2016/05/16 v1.14  Bundle oberdiek, subset hyperref (HO)
hobsub-generic.sty  2016/05/16 v1.14  Bundle oberdiek, subset generic (HO)
hobsub.sty          2016/05/16 v1.14  Construct package bundles (HO)
infwarerr.sty       2016/05/16 v1.4   Providing info/warning/error messages (HO)
ltxcmds.sty         2016/05/16 v1.23  LaTeX kernel commands for general use (HO)
ifluatex.sty        2016/05/16 v1.4   Provides the ifluatex switch (HO)
ifvtex.sty          2016/05/16 v1.6   Detect VTeX and its facilities (HO)
intcalc.sty         2016/05/16 v1.2   Expandable calculations with integers (HO)
ifpdf.sty           2016/05/14 v3.1   Provides the ifpdf switch
etexcmds.sty        2016/05/16 v1.6   Avoid name clashes with e-TeX commands (HO)
kvsetkeys.sty       2016/05/16 v1.17  Key value parser (HO)
kvdefinekeys.sty    2016/05/16 v1.4   Define keys (HO)
pdftexcmds.sty      2016/05/21 v0.22  Utility functions of pdfTeX for LuaTeX (HO)
pdfescape.sty       2016/05/16 v1.14  Implements pdfTeX's escape features (HO)
bigintcalc.sty      2016/05/16 v1.4   Expandable calculations on big integers (HO)
bitset.sty          2016/05/16 v1.2   Handle bit-vector datatype (HO)
uniquecounter.sty   2016/05/16 v1.3   Provide unlimited unique counter (HO)
letltxmacro.sty     2016/05/16 v1.5   Let assignment for LaTeX macros (HO)
hopatch.sty         2016/05/16 v1.3   Wrapper for package hooks (HO)
xcolor-patch.sty    2016/05/16        xcolor patch
atveryend.sty       2016/05/16 v1.9   Hooks at the very end of document (HO)
atbegshi.sty        2016/06/09 v1.18  At begin shipout hook (HO)
refcount.sty        2016/05/16 v3.5   Data extraction from label references (HO)
hycolor.sty         2016/05/16 v1.8   Color options for hyperref/bookmark (HO)
keyval.sty          2014/10/28 v1.15  key=value parser (DPC)
ifxetex.sty         2010/09/12 v0.6   Provides ifxetex conditional
auxhook.sty         2016/05/16 v1.4   Hooks for auxiliary files (HO)
kvoptions.sty       2016/05/16 v3.12  Key value format for package options (HO)
pd1enc.def          2016/06/24 v6.83q Hyperref: PDFDocEncoding definition (HO)
hyperref.cfg        2009/12/28 v1.0   hyperref configuration at arXiv.org
hdvips.def          2016/06/24 v6.83q Hyperref driver for dvips
pdfmark.def         2016/06/24 v6.83q Hyperref definitions for pdfmark specials
rerunfilecheck.sty  2016/05/16 v1.8   Rerun checks for auxiliary files (HO)
nameref.sty         2016/05/21 v2.44  Cross-referencing by name of section
gettitlestring.sty  2016/05/16 v1.5   Cleanup title references (HO)

TeX.SE 上有相关问题:

但这些并不能解决这个问题,因为这些问题涉及长 URL,或长引号,长字符串或未使用连字符来实现右对齐的方程式;但在我的情况下,没有 URL,没有引号,甚至不需要任何连字符!

使用该包可能有一个解决方案fancyvrb

但它无法解释为什么 arXiv 无法做到 Overleaf 和我的本地笔记本电脑可以做到的事情。

虽然这个问题很有趣:

这是因为 Overleaf bbl 文件导致 arXiv 出现错误,而我的情况没有错误!

虽然上面的两个截图看起来好像 arXiv 版本没有太大区别,但这只是经过数小时的精简后得到的结果。在原始版本中,您可以看到为什么我(迫切)想要修复 arXiv 版本:

Overleaf 和我的本地笔记本电脑:

https://i.stack.imgur.com/ol6xW.png

arXiv:

https://i.stack.imgur.com/7SZkU.png

arXivhyperref未经用户许可就添加了:

通过使用 00README.XXX 文件将其关闭nohypertex,arXiv PDF 看起来与 Overleaf 和本地 PDF 相同,但通过单击正文中相应的数字就无法找到我的出版物的引用。有没有办法使用 arXiv 在 revtex4.1 中的参考书目中进行右对齐,而无需关闭 hyperref?

答案1

如果您在 latex + dvips 路线上进行编译,就会发生这种情况:使用此驱动程序 hyperref 默认将链接放在一个框中。

如果您无法切换到使用 pdflatex 的编译,请添加 breakurl 包:

\usepackage{hyperref}
\usepackage{breakurl}

相关内容