52

The package amsthm contains the predefined theorem styles plain, definition and remark which you can employ using \theoremstyle before your \newtheorem.

You can also create new theorem styles like this: \newtheoremstyle{NAME}{ABOVESPACE}{BELOWSPACE}{BODYFONT}{INDENT}{HEADFONT}{HEADPUNCT}{HEADSPACE}{CUSTOM-HEAD-SPEC}. I.e. you have to set all properties of your new style at once.

But I mostly like them as they are, I only want to change like 1 parameter. Therefore I'd like to know the \newtheoremstyle parameters which produce the predefined styles, so I can copy them and only change what I want. I would expect that information to be in the documentation of the package, but it isn't. Does anyone know what they are?

1 Answer 1

52

The style "plain" should be equivalent to

\newtheoremstyle{plain}
  {\topsep}   % ABOVESPACE
  {\topsep}   % BELOWSPACE
  {\itshape}  % BODYFONT
  {0pt}       % INDENT (empty value is the same as 0pt)
  {\bfseries} % HEADFONT
  {.}         % HEADPUNCT
  {5pt plus 1pt minus 1pt} % HEADSPACE
  {}          % CUSTOM-HEAD-SPEC

The style "definition" is the same except for the body font, which is \normalfont; in "remark" the spaces above and below are 0.5\topsep, the head font is \itshape and the body font is \normalfont.

12
  • 3
    @egreg: should be? did you guess it by the looks, or did you find that information somewhere? here tex.stackexchange.com/questions/1931/… it looks a bit different. is a space the same as .5em and is \noindent the same as leaving it blank?
    – peter
    Commented May 6, 2011 at 10:05
  • 1
    @peter: \noindent is wrong, and actually the space between the header and the text is 5pt plus 1pt minus 1pt. Thanks for remarking.
    – egreg
    Commented May 6, 2011 at 10:17
  • 1
    @peter: no; this means that the space may be stretched up to 6pt or shrinked up to 4pt. It's a "rubber length" as it's called in Lamport's manual.
    – egreg
    Commented May 6, 2011 at 10:32
  • 2
    @egreg, @peter -- the plus in a rubber length may actually be stretched to more than the stated value, though the minus is the absolute limit. stretch is applied proportionally to all horizontal spaces in a paragraph or vertical spaces on a page; if a fil is present, it overwhelms anything else, but if there is no other stretch in the scope of what's being stretched, the `1pt' would expand to fill the entire amount needed to justify or make a page flush bottom. Commented May 6, 2011 at 12:29
  • 1
    Is there no way to "inherit" a new style from an existing one, overriding only some parameters?
    – Alexey
    Commented Mar 27, 2022 at 12:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .