Как настроить \newtheorem

Как настроить \newtheorem

Мне было интересно, есть ли способ убрать курсивное начертание текста в среде, созданной с помощью команды \newtheorem.

Вот мой код:

\newtheorem{teorema}{Teorema}[subsection]

В \begin{document}:

\begin{teorema}
    This is a new theorem.
\end{teorema}

Вот результат:

введите описание изображения здесь

Проблема в том, что я не хочу, чтобы текст был курсивом. Как мне этого добиться?

решение1

Это довольно просто, если вы используете amsthm.

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem{teorema}{Teorema}[subsection]

Я не могу рекомендовать нумерацию теорем по подразделам по нескольким причинам. Во-первых, вы вынуждены использовать подразделы, что не всегда необходимо; во-вторых, если в классе есть главы, вы получаете теоремы счетыречисла.

Я также не могу рекомендовать использовать прямой шрифт, поскольку курсив дает визуальную подсказку, облегчающую поиск утверждений.

решение2

То, как это \newtheoremработает и в каких средах, определенных в терминах, \newtheoremможно вносить исправления, зависит от класса документа и используемых пакетов.

Используя article-class и не используя пакеты, можно сделать что-то вроде этого:

\documentclass{article}

\newtheorem{teorema}{Teorema}[subsection]
\makeatletter
\@ifdefinable\Oldteorema{\let\Oldteorema=\teorema}%
\renewcommand\teorema{\@ifnextchar[{\teoremaopt}{\Oldteorema\normalfont}}%
\newcommand\teoremaopt[1][]{\Oldteorema[{#1}]\normalfont}%
\makeatother

\begin{document}

\begin{teorema}
    This is a new theorem.
\end{teorema}

\begin{teorema}[someone]
    This is a new theorem.
\end{teorema}


\end{document}

Я не даю никаких гарантий, что это будет работать с другими классами документов, например, с beamer.

Рассматривали ли вы возможность использованияamsthm-пакетс его \newtheoremstyle/ \theoremstyle-командами?

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