Cómo personalizar \newtheorem

Cómo personalizar \newtheorem

Me preguntaba si hay una manera de eliminar el formato de texto en cursiva en el entorno creado con el comando \newtheorem.

Aquí está mi código:

\newtheorem{teorema}{Teorema}[subsection]

En \begin{document}:

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

Este es el resultado:

ingrese la descripción de la imagen aquí

El problema es que no quiero que el texto esté en cursiva. ¿Cómo puedo lograr eso?

Respuesta1

Es bastante fácil si usas amsthm.

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

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

No puedo recomendar numerar teoremas según subsecciones, por un par de razones. En primer lugar, estás obligado a utilizar subsecciones, lo que no siempre es necesario; segundo, si la clase tiene capítulos, terminas con teoremas concuatronúmeros.

Tampoco puedo recomendar el uso de letra vertical, porque la cursiva da una pista visual para encontrar las declaraciones más fácilmente.

Respuesta2

La forma en que \newtheoremfunciona y en qué entornos definidos en términos de \newtheorempueden parchearse depende de la clase de documento y los paquetes en uso.

Usando la clase de artículo y sin paquetes, puedes hacer algo como esto:

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

No doy garantías de que esto funcione con otras clases de documentos, por ejemplo, beamer.

¿Consideró utilizar elpaquete amsthmcon sus comandos \newtheoremstyle/ \theoremstyle?

información relacionada