Безопасно ли использовать CleverEf?

Безопасно ли использовать CleverEf?

Меня иногда предостерегали от использованияcleveref потому что он вносит очень фундаментальные изменения в некоторые основные команды LaTeX, например \label. Оправдано ли это беспокойство, и какие проблемы возникают при его загрузке? Есть ли веские причинынетиспользовать его?

решение1

Как работает CleverEf

Cleveref дополняет \labelкоманду, чтобы она записывала некоторую дополнительную информацию в .auxфайл. Эта часть не особенно инвазивна, поскольку она сохраняет исходную реализацию нетронутой, \labelи все стандартные функции, которые на нее полагаются, будут работать (например, обычная \refкоманда). Вторая команда, которая дополняется, \refstepcounter— снова исходная функциональность сохраняется, и это не должно вызывать никаких проблем.

Почти все пакеты, расширяющие функциональность, каким-либо образом переопределяют стандартные команды (например, изменяя списки, разделы, уравнения...). Вся дальнейшая функциональность (т. е. команда \cref) обрабатывается в совершенно отдельных функциях.

Возможные проблемы

Почти все проблемы возникают из-за использования команды \refstepcounter, или, скорее, из-за ее отсутствия. Все пакеты, которые ее используют, будут работать с cleveref из коробки. Для тех, кто этого не делает, есть два варианта:

  1. В Cleveref есть встроенная поддержка этого пакета, и все будет работать нормально.
  2. Cleveref не имеет поддержки, и использование \cref{label}приведет к неправильному выводу (неправильный означает отсутствующую метку и потенциально неверное число). Это вызовет предупреждения, но все равно скомпилируется. Теперь у вас есть два варианта:
    1. Используйте обычную \refкоманду. Это всегда сработает.
    2. Отправьте электронное письмо Тоби Кубитту и попросите его добавить поддержку пакета.

Если вы хотите понять, какие проблемы возникают у людей с CleverEf, просто просмотритеhttps://tex.stackexchange.com/questions/tagged/cleveref!

Пакеты Cleveref и breqn плохо работают вместеиЗаставить refcheck работать с CleverEfвот некоторые типичные проблемы, с которыми вы можете столкнуться.

Наконец, в документации Cleveref есть раздел о том poor mans cleveref, когда вам нужно отправить исходный код LaTeX кому-то другому, а Cleveref у них не установлен. Я думаю, что это могло быть проблемой в ранние дни этого пакета, но он является стандартным пакетом для всех основных дистрибутивов tex уже, наверное, лет 5, так что вряд ли это будет проблемой.

Почему вам следует использовать CleverEf

Потому что это умно и действительно упрощает ваши перекрестные ссылки. Я хотел бы указать вам наРазница между ref, varioref и cleveref. Решение для диссертации,Пакеты перекрестных ссылок: какие использовать, какие конфликтуют?иКак получить более полные ссылки.

Связанный контент