最近,我发现了不同版本的tex的一些问题。在我们公司,有些人正在使用texlive2018,有些人正在使用texlive2017。在我们的conf.py
中,我放了
latex_elements = {
'preamble': '''\usepackage{chngcntr}
\counterwithin{figure}{chapter}
\counterwithin{table}{chapter}''',
}
它在texlive2017中运行正常但在texlive2018中有redefined error
。如果我删除\usepackage{chngcntr}
,则texlive2018可以使用,但texlive2017会有undefined error
。当然,它是由较新版本的texlive的一些变化引发的。但我想知道是否有一种方法可以在texlive版本上运行。
答案 0 :(得分:1)
事实上,chngcntr
的宏已经使用TeXLive2018转移到LaTeX格式。
新版本的chngcntr
包以
% version 1.1 this package has been adoped into the format so does not
% need to do anything in current latex releases.
\@ifundefined{counterwithout}{}{%
\PackageInfo{chngcntr}{\string\counterwithout\space already defined.\MessageBreak
Quitting chngcntr}%
\endinput
}
因此,如果您的TeXLive2018具有chngctr
包的v1.1a 2018/04/09版本,则应该找到所有内容。请检查。这是你看到的信息吗?这不是错误。
否则你总能这样做(小心r
否则加倍反斜杠)
latex_elements = {
'preamble': r'''\ifdefined\counterwithout\else\usepackage{chngcntr}\fi
\counterwithin{figure}{chapter}
\counterwithin{table}{chapter}''',
}
顺便说一下,有一个与LaTeX格式相关的issue,但它已经修复了。