有没有办法解决这个 cleveref/thmtools 错误:他们认为,多个引用是连续的

有没有办法解决这个 cleveref/thmtools 错误:他们认为,多个引用是连续的

我有一个latex 文件这表明存在 cleveref/thmtools 错误。简而言之:我有

\cref{problem:5,problem:4,problem:2}

在文件中,我期望在输出中

problems 2.1, 2.2, and 1.3.  

相反,我得到

problems  2.1 to 1.3

换句话说,cleveref认为参考文献列表是一个不间断的范围。

有办法修复这个问题吗?或者至少有一个解决方法?我正在使用 的一些功能thmtools,所以我不能amsthm独自拥有。

几点说明:

  1. 如果我注释掉该\usepackage{thmtools}行,那么我得到一个可接受的输出

    问题 1.3、2.1 和 2.2

thmtools因此,和之间的相互作用cleveref使事情变得混乱。

  1. 使用这些declaretheorem命令没有什么区别。
  2. 我有一个辅助文件的差异:一个带有thmtools加载,另一个不带有thmtools
  3. 我正在运行pdfTeX,版本 3.14159265-2.6-1.40.15 (TeX Live 2014)
  4. 我提供的示例文件非常小:对于错误来说,问题和defn 环境的编号是按部分进行的,并且两个环境共享一个计数器,这一点很重要。

答案1

一个简单的解决方法是将交叉引用指令编写为

\cref{problem:5,problem:4,,problem:2}

problem:4注意和之间的双逗号problem:2。这将给你

提示:只需使用问题 2.1、2.2 和 1.3。

附录:如果您希望在“2.2”之后和“and”之前的输出中使用逗号,您还需要提供指令

\newcommand{\creflastconjunction}{, and~}

(默认设置是不是插入逗号。)

相关内容