Springer Nature 模板+包问题

Springer Nature 模板+包问题

我刚刚开始撰写一篇期刊文章,该文章应该按照模板提交sn-jnl。因此,我下载了 zip 文件并开始添加我的内容。

不幸的是,我很快发现该glossaries软件包和该todonotes软件包破坏了编译。即使使用它们的,错误仍可重现Overleaf 模板

  • 下载 zip/打开 overleaf 模板 -> 编译成功
  • 添加\usepackage{glossaries}在头部 -> 错误

也出现了同样的问题\usepackage{todonotes}。有人能解决这个问题吗?

我认为这些包相当常见,并且从未与任何其他会议/期刊模板出现过任何问题,所以我很困惑为什么会发生这种情况。

我知道这两个软件包还有其他的替代品,但我担心其他(更重要的)软件包会引发类似的问题。

错误:

Incomplete \iffalse; all text was ignored after line 79.

 
‪/usr/local/texlive/2020/texmf-dist/tex/latex/fp/fp.sty, 25‬
<inserted text> 
                \fi 
l.25 
     
The file ended while I was skipping conditional text.
This kind of error happens when you say `\if...' and forget
the matching `\fi'. I've inserted a `\fi'; this might work.

编辑:这是我看到的屏幕截图,包括实际问题的第一页(它是垃圾)

在此处输入图片描述


更新:(快速)修复

谢谢@simon-dispa 的评论,我学会了在 中查找的位置sn-jnl.cls。看来问题实际上出在第 311 行:\usepackage{program}导致问题。

好的部分:当取消注释此行时,编译(以及其他所有内容)均可顺利进行。

现在说说不好的部分:我必须修改 Springer 官方模板才能运行。我个人在这里不需要它,但显然我正在修改不该修改的东西,这并不理想。

答案1

我也遇到了这个问题,并在另一个问题中找到了答案邮政在德克萨斯州证券交易所。

为了保持独立,我在这里附上答案(由用户提供大卫·卡莱尔

该类包括程序包,它做出了一些不幸的选择,包括全局做出|活动,它提供了一个命令

\normalbaroutside您可以在序言中发出它,然后 | 仅在程序环境中才具有特殊含义。

所以解决方案\normalbaroutside是在加载前在前导码中调用glossaries/tikz/todonotes。这种方式的优点是sn-jnl.cls可以保留未改变。

相关内容