最近用Elsevier的模板进行论文修改批注时候发现报错,折腾半天才解决,在此记录一下。
报错信息主要是:LaTeX Error: Command \comment already defined. 表面原因是changes包中的\comment 命令冲突,但实际上通过网上给出的\let\comment\relax并不能解决问题。我没有细究具体问题在哪里,但找到了解决办法,最简单的就是对changes包选项进行修改,使用[commandnameprefix=always]修饰即可解决。
\documentclass[a4paper,fleqn]{cas-sc} % 单栏为例
\usepackage[commandnameprefix=always]{changes}
之前用这个方法一直没问题,直到今天又报错了,折腾半天才发现,原因在于这个命令只在TexLive2021及以上才能使用,在TexLive2020中是无法使用的。overleaf的有些模板有时候默认的是2020,这种时候记得检查一下texlive版本。在Overleaf上修改texlive版本很简单,左上角的“Menu”选项里就直接能改。
另,changes包常用命令为:
\chadded{new text} %用于标记新添加的文本。
\chdeleted{old text} %用于标记被删除的文本。
\chreplaced{old text}{new text} %用于标记替换的文本。
如果是为了输出不带批注的版本,引用changes包的时候加上final就可以了:
\usepackage[commandnameprefix=always,final]{changes}
希望能给和我一样遇到报错问题折腾半天的科研汪一点小帮助。