# How can I achieve this theorem style (a very common one)?

Consider:

How can I achieve this style for definitions, theorems, ...? I only know the standard or "plain" style (bold for header, italics for body) for theorem-like environments.

• Please tell us whether you employ the amsthm or the ntheorem package, or if you're open to using either one.
– Mico
Oct 30, 2021 at 11:03
• I would prefer the amsthm theorem package. Oct 30, 2021 at 11:58

Here's a solution that employs the machinery of the amsthm package to create a new theorem style called (why not?) descrates.

\documentclass{article}
\usepackage[T1]{fontenc}
\setlength\textwidth{11cm} % just for this example

\usepackage{amsthm}
%% See p. 9 of the user guide of the 'amsthm' package
%% for the "\newtheoremstyle" macro:
\newtheoremstyle{descrates}
{3pt}% Space above
{3pt}% Space below
{}% Body font
{}% Indent amount
{\scshape}% Theorem head font % <-- small caps
{.}% Punctuation after theorem head
{.5em}% Space after theorem headi
{}% Theorem head spec (can be left empty, meaning normal' )

\theoremstyle{descrates} % switch to the newly create style
\newtheorem{defn}{Definition}[section]

\begin{document}
\setcounter{section}{1} % just for this example
\setcounter{defn}{32}

\begin{defn}
A topological space is said to be \textbf{Lindelöf} if
every open cover has a \textsl{countable} subcover.
\end{defn}

\end{document}


Addendum: If one were to use the ntheorem package rather than the amsthm package, one would need to replace the \usepackage{amsthm} and \newtheoremstyle directives in the code above with the following code:

\usepackage{ntheorem}
\global\theorembodyfont{\upshape}
\newtheoremstyle{descrates}%
{\item[\hskip\labelsep\scshape ##1\ ##2.]}%
{\item[\hskip\labelsep\scshape ##1\ ##2\ (##3).]}
`
• very elegant solution, thank you! Oct 30, 2021 at 12:08