
Мне было интересно, есть ли способ убрать курсивное начертание текста в среде, созданной с помощью команды \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
-командами?