2

There are already plenty of answered questions on how to replace

Theorem.    * Point
    * Point
    * Point

by

Theorem. * Point
    * Point
    * Point

Now, for short theorem headers, I want to achieve

Theorem. * Point
         * Point
         * Point

However, my attempt does not perfectly work out: The first bullet point is slightly more left than the others. Which length did I forget to take into account? MWE:

\documentclass{article}
\usepackage{enumitem,amsthm}
\begin{document}
\newlength{\algnRef}
\settowidth{\algnRef}{\textbf{Fact.} {}}
\addtolength{\algnRef}{1em}
\setlist{leftmargin=\algnRef}
\newtheorem*{fact*}{Fact}
\begin{fact*}
    \begin{itemize}[leftmargin=1em]
        \item Bla
    \end{itemize}
    \vspace{-\topsep}
    \vspace{\parsep}
    \vspace{\itemsep}
    \begin{itemize}
        \item Bla
        \item Bla
    \end{itemize}
\end{fact*}
\end{document} 

1 Answer 1

1

The source of confusion was the fact that amsthm does not place a space after $\textbf{Fact.}$, which would be 3.33pt if normal weight and 3.83pt in boldface, but rather places a skip of 5pt plus 1pt minus 1pt. Therefore, the following code compiles correctly:

\documentclass{scrartcl}
\usepackage{calc,enumitem,amsthm}
\begin{document}

\newtheoremstyle{plain}
  {\topsep}   % ABOVESPACE
  {\topsep}   % BELOWSPACE
  {}  % BODYFONT
  {0pt}       % INDENT (empty value is the same as 0pt)
  {\bfseries} % HEADFONT
  {.}         % HEADPUNCT
  {1ex}       % HEADSPACE
  {}          % CUSTOM-HEAD-SPEC
\theoremstyle{plain}
\newtheorem*{fact*}{Fact}
\setlist{leftmargin={\widthof{\textbf{Fact.}}+1em+1ex}}
\setlist[itemize]{label=$\mid$}

\begin{fact*}
    \begin{itemize}[leftmargin=1em]
        \item Bla
    \end{itemize}
    \vspace{-2\topsep}
    \vspace{\parsep}
    \vspace{\itemsep}
    \begin{itemize}
        \item Bla
        \item Bla
    \end{itemize}
\end{fact*}
\end{document}

Note that I have placed pipe symbols as bulletpoints to make the horizontal alignment more visible.

You must log in to answer this question.

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