Como personalizar \newtheorem

Como personalizar \newtheorem

Eu queria saber se existe uma maneira de remover o formato de texto em itálico no ambiente criado com o comando \newtheorem.

Aqui está o meu código:

\newtheorem{teorema}{Teorema}[subsection]

Em \begin{document}:

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

Este é o resultado:

insira a descrição da imagem aqui

O problema é que não quero que o texto fique em itálico. Como posso conseguir isso?

Responder1

É bastante fácil se você usar amsthm.

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

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

Não posso recomendar a numeração dos teoremas de acordo com as subseções, por alguns motivos. Primeiro, você é obrigado a usar subseções, o que nem sempre é necessário; segundo, se a aula tiver capítulos, você acaba com teoremas comquatronúmeros.

Também não posso recomendar o uso do tipo vertical, porque o itálico fornece uma pista visual para encontrar as afirmações com mais facilidade.

Responder2

A forma como \newtheoremfunciona e em quais ambientes definidos em termos de \newtheorempodem ser corrigidos depende da documentclass e dos pacotes em uso.

Usando a classe de artigo e nenhum pacote, você pode fazer algo assim:

\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}

Não dou nenhuma garantia de que isso funcione com outras classes de documentos, por exemplo, beamer.

Você considerou usar opacote amsthmcom seus comandos \newtheoremstyle/ \theoremstyle?

informação relacionada