在与芭芭拉·比顿在聊天室里,后来大卫·卡莱尔在同一个地方,他们都建议我在这里写下我的问题;我花了几个小时将所有内容精简为尽可能最少的工作示例,并且仍然可以通过 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 和我的本地笔记本电脑:
arXiv:
arXivhyperref
未经用户许可就添加了:
通过使用 00README.XXX 文件将其关闭nohypertex
,arXiv PDF 看起来与 Overleaf 和本地 PDF 相同,但通过单击正文中相应的数字就无法找到我的出版物的引用。有没有办法使用 arXiv 在 revtex4.1 中的参考书目中进行右对齐,而无需关闭 hyperref?
答案1
如果您在 latex + dvips 路线上进行编译,就会发生这种情况:使用此驱动程序 hyperref 默认将链接放在一个框中。
如果您无法切换到使用 pdflatex 的编译,请添加 breakurl 包:
\usepackage{hyperref}
\usepackage{breakurl}