我正在使用 CVPR 模板,tex 编译在我的本地机器上正常,但上传到 arxiv.org 时出现以下编译错误:
! LaTeX Error: Command \@EveryShipout@Hook already defined. Or name
\end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation. Type H
<return> for immediate help. ...
l.77 \newcommand{\@EveryShipout@Hook}{}
? ! Emergency stop.
如何解决此错误?如何在本地机器上重现此错误?
谢谢。
答案1
我刚刚在我的 ubuntu 18.04 笔记本电脑上修复了类似的问题。使用“新” CVPR 模板使用我的 texlive 安装(版本 2017)。
事实证明,较新版本的 texlive 可以与新的 CVPR 模板配合使用。我按照这里的一些答案删除了我现有的安装(尽管 texlive 网站指出您也可以同时安装多个版本),然后安装了 2022 版本。遗憾的是,我在 ubuntu 存储库中没有找到它,所以我按照 快速安装 页。
移动
sudo apt-get remove texlive*
rm -rf /usr/local/texlive/20*
rm -rf ~/.texlive20*
预安装和安装
我们需要一个用户可写的目录来安装,除非我们想以 sudo 身份安装。
sudo mkdir -p /usr/local/texlive/$(date +%Y)
sudo chown -R "$USER" /usr/local/texlive
# choose any tmp directory you like to download the texlive installer:
mkdir /tmp/texlive
cd /tmp/texlive
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
unzip ./install-tl.zip -d install-tl
cd install-tl/install-tl-$(date +%Y%m%d)
perl ./install-tl
安装后
脚本告诉您需要将一些路径添加到某些环境变量中。将以下内容添加到我的~/.bashrc
工作中,但是仅有的如果我texmaker
从已经有环境变量的终端启动。
export MANPATH="$MANPATH:/usr/local/texlive/2022/texmf-dist/doc/man"
export INFOPATH="$INFOPATH:/usr/local/texlive/2022/texmf-dist/doc/info"
export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH
将这些放入/etc/profile
(针对所有用户)或~/.profile
仅针对您可能是一个更好的主意,因为它将在更多 shell 上工作,而不仅仅是 bash。但如果不是完全重启,它还需要重新登录。