我想在我的 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
}