如何删除定义中的“。”

如何删除定义中的“。”

我想在我的 LaTeX 文件中添加一个定义。但是,我在“定义”一词后面有一个点。我该如何删除它?我想要:

定义这是定义

不是

定义。这是定义

\newtheorem*{definition*}{Definition}                      
\begin{definition*}               
 Here is the definition               
\end{definition*}

答案1

这个点似乎是在宏\@thm中用以下行定义的

\thm@headpunct{.}% add period after heading

我习惯xpatch改变这一点。

\documentclass{article}
\usepackage{amsthm,xpatch}
\makeatletter
\xpatchcmd{\@thm}{.}{}{}{}
\makeatother
\begin{document}
\makeatletter
\newtheorem*{definition*}{Definition}                      
\begin{definition*}               
 Here is the definition               
\end{definition*}
\end{document}

在此处输入图片描述

\@thm作为参考,这里是的定义amsthm.sty

\def\@thm#1#2#3{%
  \ifhmode\unskip\unskip\par\fi
  \normalfont
  \trivlist
  \let\thmheadnl\relax
  \let\thm@swap\@gobble
  \thm@notefont{\fontseries\mddefault\upshape}%
  \thm@headpunct{.}% add period after heading
  \thm@headsep 5\p@ plus\p@ minus\p@\relax
  \thm@space@setup
  #1% style overrides
  \@topsep \thm@preskip               % used by thm head
  \@topsepadd \thm@postskip           % used by \@endparenv
  \def\@tempa{#2}\ifx\@empty\@tempa
    \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
  \else
    \refstepcounter{#2}%
    \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}%
  \fi
  \@tempa
}

相关内容