Новая теорема добавляет пробел перед именем теоремы

Новая теорема добавляет пробел перед именем теоремы

Как убрать пробел, вставленный перед названием теоремы? То есть пробел слева от скобки. Я хочу, чтобы скобка была выровнена по левому краю.

По какой-то причине я не могу понять \newtheoremstyleкоманду.

\documentclass{beamer}
\usepackage[english]{babel}

\theoremstyle{definition}
\newtheorem{mydef}{}[theorem]

\begin{document}
\begin{frame}
\noindent Here is a sentence with correct alignment
\begin{mydef}[This name is prefixed by a single space]
This is a definition 
\end{mydef}
\noindent Here
\end{frame}
\end{document}

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

решение1

Обычно между названием теоремы и дополнительным текстом есть жестко закодированный пробел. Чтобы удалить этот пробел, можно переопределить шаблон theorem begin:

\documentclass{beamer}
\usepackage[english]{babel}

\theoremstyle{definition}
\newtheorem{mydef}{}[theorem]

\makeatletter
\setbeamertemplate{theorem begin}
{
  \normalfont
  \begin{\inserttheoremblockenv}
  {%
    \inserttheoremname%
    \ifx\inserttheoremaddition\@empty\else%\ <- Removed this space
    (\inserttheoremaddition)\fi%
  }%
}

\makeatother

\begin{document}
\begin{frame}
\noindent Here is a sentence with correct alignment
\begin{mydef}[This name is prefixed by a single space]
This is a definition 
\end{mydef}
\noindent Here
\end{frame}
\end{document}

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

решение2

Исправление. Но подождите лучших ответов, прежде чем принять:

\documentclass{beamer}
\usepackage[english]{babel}
\usepackage{tikz}
\def\tikzmark#1{\begin{tikzpicture}[remember picture]\coordinate (#1);\end{tikzpicture}}
\theoremstyle{definition}
\newtheorem{mydef}{\hskip-0.375em}[theorem]% Here is the only change needed

\begin{document}
\begin{frame}
 \tikzmark{A}Here is a sentence with correct alignment

  test
\begin{mydef}[This name is prefixed by a single space]
This is a definition 
\end{mydef}
\tikzmark{B}Here
\begin{tikzpicture}[overlay,remember picture]
  \draw[red,-] ([yshift=1em]A)--(B);
\end{tikzpicture}
\end{frame}
\end{document}

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

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