Нежелательный пробел в начале первой строки по ntheorem

Нежелательный пробел в начале первой строки по ntheorem

Как избежать пробела в начале первой строки с помощью ntheorem

\documentclass[a4paper,10pt,openany,twoside]{scrbook}
\usepackage[paperwidth=94mm,paperheight=50mm,margin=2mm,footskip=2mm,showframe
] {geometry}

\usepackage{amsmath,amssymb}
%
\usepackage[amsmath,thmmarks]{ntheorem}
\theoremstyle{nonumberplain}
\theorembodyfont{\normalfont}
\theoremsymbol{\ensuremath{\vartriangleleft}}
\newtheorem{mythm}{}
%
\setlength\parindent{0pt}
\begin{document}

\begin{mythm}
Some text\\
Some other text
\[
a = b
\]
\end{mythm}
\end{document}

введите описание изображения здесь

решение1

Стиль nonumberplainпредполагает, что у теоремы будет заголовок, указанный вторым аргументом \newtheorem, и вставляет некоторый пробел, который должен находиться между этим заголовком и телом теоремы.

Определение стиля nonumberplain вы можете увидеть на странице 52документация по теореме.

Полагаю, что обойти это можно, определив другой стиль теорем, похожий на этот, но без s \hskip, и используя его для ваших теорем без заголовков и чисел:

\documentclass[a4paper,10pt,openany,twoside]{scrbook}
\usepackage[paperwidth=94mm,paperheight=50mm,margin=2mm,footskip=2mm,showframe
] {geometry}

\usepackage{amsmath,amssymb}
%
\usepackage[amsmath,thmmarks]{ntheorem}

\makeatletter
\newtheoremstyle{nonumbernoheading}%
{\item[\theorem@headerfont##1\theorem@separator]}%
{\item[\theorem@headerfont##1\ (##3)\theorem@separator]}
\makeatother

\theoremstyle{nonumbernoheading}
\theorembodyfont{\normalfont}
\theoremsymbol{\ensuremath{\vartriangleleft}}
\newtheorem{mythm}{}
%
\setlength\parindent{0pt}
\begin{document}

\begin{mythm}
Some text\\
Some other text
\[
a = b
\]
\end{mythm}
\end{document}

вывод в стиле новой теоремы

Связанный контент