1

I am trying to define a new theorem style that is identical to the standard remark provided by the amsart class, except for its color. As far as I understood, it is a good idea to use the thmtools package. However, I do not know what options I should include in the command \declaretheoremstyle to produce the usual remark style from amsart.

Below is my attempt. As you can see, the result is not satisfactory because the vertical spacing before and after the remark changes slightly. Does anybody know how to solve this?

\documentclass{amsart}
\usepackage{xcolor}
\usepackage{thmtools}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}

\declaretheoremstyle[headfont = \color{red}\normalfont\itshape, bodyfont = \color{red}\normalfont\itshape]{colored}

\declaretheorem[sibling = theorem, style = colored, name = Remark]{coloredremark}

\begin{document}

\begin{theorem}
Body of first theorem.
\end{theorem}

\begin{coloredremark}
Body of colored remark.
\end{coloredremark}

\begin{theorem}
Body of second theorem.
\end{theorem}

\begin{remark}
Body of normal remark.
\end{remark}

\begin{theorem}
Body of last theorem.
\end{theorem}

\end{document}

enter image description here

2

You don't really need to use thmtools for that. Since you want a style similar to a default style provided by amsart, it's even simpler to use \newtheoremstyle, which is defined by AMS classes and by amsthm.

To see how to use \newtheoremstyle, see the section 4.3 of the documentation, on page 9. Here's an example that should work.

\documentclass{amsart}
\usepackage{xcolor}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
\newtheoremstyle{coloredremark}%
    {}%
    {}%
    {}%
    {}%
    {\itshape\color{red}}%
    {.}%
    {.5em}%
    {}%
\theoremstyle{coloredremark}
\newtheorem{coloredremark}[theorem]{Remark}

\begin{document}

\begin{theorem}
Body of first theorem.
\end{theorem}

\begin{coloredremark}
Body of colored remark.
\end{coloredremark}

\begin{theorem}
Body of second theorem.
\end{theorem}

\begin{remark}
Body of normal remark.
\end{remark}

\begin{theorem}
Body of last theorem.
\end{theorem}

\end{document}
5
  • Thanks for the help! Avoiding thmtools would be even better. The problem is that when I try to color also the body font, extra vertical spaces appear. One should thus set appropriate values for the space above and the space below.
    – MK7
    Jun 7 at 21:16
  • Do you know which values I should choose?
    – MK7
    Jun 7 at 21:21
  • @MK7 leaving the first two arguments blank (as I did in the example) will use the default values for the spaces above and below. Did you try as in the example?
    – Vincent
    Jun 8 at 1:18
  • Yes, I did! But I also need the body of the remark to be red. If I add \itshape\color{red} in the third argument and leave the first two blank, then extra vertical spaces appear. Am I missing something?
    – MK7
    Jun 8 at 7:25
  • It works by adding .5\topsep in the first and second arguments. That is the default value of the remark style, as indicated in this answer.
    – MK7
    Jun 8 at 8:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.