-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
In LaTeX/PDF output, Enumerate and Itemize environment reset paragraphs margins (incl \leftskip, \rightskip). Hence setting left or right margins on theorems using \leftskip and \rightskip doesn't affect lists within theorems. If a theorem isn't a different font (e.g. remark) it may be look to the reader as if the list isn't in the theorem.
Solution: provide an option for applying margin to lists. For reference here's a LaTeX MWE using enumitem:
\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}
\usepackage{etoolbox}
% === Margin flag ===
\newif\iftheoremmargins
\theoremmarginsfalse
% === Command to set margins + flag ===
\newcommand{\settheoremmargins}[2]{%
\theoremmarginstrue%
\addtolength{\leftskip}{#1}%
\addtolength{\rightskip}{#2}%
}
% === Redefine itemize/enumerate based on flag ===
\let\origitemize\itemize
\let\origenumerate\enumerate
\renewenvironment{itemize}
{\iftheoremmargins
\origitemize[left=2em]
\else
\origitemize
\fi}
{\endlist}
\renewenvironment{enumerate}
{\iftheoremmargins
\origenumerate[left=2em]
\else
\origenumerate
\fi}
{\endlist}
% === Define theorem style using the new macro ===
\newtheoremstyle{margintheorem}
{3pt}{3pt}
{\settheoremmargins{2em}{2em}} % Body font: sets skips and flag
{}{\bfseries}{.}{.5em}
{\thmname{#1}~\thmnumber{#2}\thmnote{ \normalfont(#3)}}
\theoremstyle{margintheorem}
\newtheorem{theorem}{Theorem}
% Optional: a plain style for comparison
\newtheoremstyle{plainstyle}
{3pt}{3pt}{\itshape}{}{\bfseries}{.}{.5em}
{\theoremmarginsfalse\thmname{#1}~\thmnumber{#2}\thmnote{ \normalfont(#3)}}
\theoremstyle{plainstyle}
\newtheorem{corollary}{Corollary}
\begin{document}
\begin{theorem}
This is a theorem with left/right margins and an indented list:
\begin{itemize}
\item Indented item
\end{itemize}
More text with adjusted margins.
\end{theorem}
\begin{corollary}
This is a corollary with normal margins:
\begin{itemize}
\item This list is not indented.
\end{itemize}
\end{corollary}
\end{document}
Metadata
Metadata
Assignees
Labels
No labels