Интерференция между newtxtext и ntheorem

Интерференция между newtxtext и ntheorem

Я попробовал использовать LaTeX после длительного периода отдыха и обнаружил, чтоnewtxtextиnтеоремасталкиваются друг с другом с сообщением «Теорема-стиль-плоскость уже определена». С другой стороны,newtxmathздесь, похоже, не вмешивается.

\documentclass[openany,english]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{newtxtext}

\usepackage{amsmath, amssymb, graphicx}
\usepackage[amsmath, thmmarks, thref]{ntheorem}

\begin{document}

hello

\end{document} 

Я просмотрел документацию в формате PDF, но не смог найти причину;nтеоремав документации упоминается о возможном вмешательстве вамсмат, с чем я разобрался правильно (надеюсь), но ничего не было сказано оnewtxtext. То же самое касается документации дляnewtxtext; ничего не было упомянуто оnтеорема.

Мой вопрос: что мне делать, чтобы решить эту коллизию? Если мне придется отказаться от newtxtext (и, возможно, newtxmath), какие шрифты вы порекомендуете вместо него, чтобы они, возможно, не конфликтовали с ntheorem? (Я думаю, что он слишком полезен, чтобы отказываться...)

Заранее спасибо.

решение1

Пакет newtxtextзагружает amsthm. amsthmи ntheoremне может использоваться вместе. ntheoremРуководства рекомендуют использовать amsthmвместо этого option. Поэтому вам нужно запретить newtxtextзагрузку amsthm. Похоже, работает следующее:

\documentclass[openany,english]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{amsmath,amssymb,graphicx}
\usepackage[amsmath,amsthm,thmmarks,thref]{ntheorem}
\PreventPackageFromLoading{amsthm}
\usepackage{newtxtext}

\begin{document}

hello

\end{document} 

Кажется, это даже работает без вариантов amsthm.

Если вы не используете класс KOMA-Script, вам придется загрузить пакет, scrlfileчтобы получить \PreventPackageFromLoading.

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