сфинкс док с различными версиями латекса - PullRequest
0 голосов
/ 24 мая 2018

Недавно я обнаружил проблему с другой версией текста.В нашей компании некоторые используют texlive2018, а некоторые используют texlive2017.В нашем conf.py я положил

latex_elements = {
    'preamble': '''\usepackage{chngcntr}
                 \counterwithin{figure}{chapter}
                 \counterwithin{table}{chapter}''',
}

Он работает нормально в texlive2017, но имеет redefined error в texlive2018.Если я удаляю \usepackage{chngcntr}, то texlive2018 работает, но у texlive2017 есть undefined error.Конечно, это вызвано некоторыми изменениями в более новой версии texlive.Но мне интересно, есть ли способ, чтобы он работал на обеих текстовых версиях.

1 Ответ

0 голосов
/ 25 мая 2018

Действительно макросы chngcntr были перемещены в формат LaTeX с TeXLive2018.

Новая версия пакета 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}''',
}

Кстати, возникла связанная с этим проблема 1016* с форматом LaTeX, но это исправлено с тех пор.

...