我对新环境的定义有疑问,它应该与theorem
环境相同,但是未编号如果我写:
\documentclass[envcountsame,envcountchap,oribibl]{svmono}
\usepackage{subfiles}
\usepackage[bottom]{footmisc}
\usepackage{microtype}
\usepackage{stmaryrd}
\usepackage{amsmath}
\usepackage{etoolbox}
\usepackage{mathrsfs}
\usepackage{amssymb}
\usepackage[normalem]{ulem}
\usepackage[all,cmtip]{xy}
\usepackage{transparent}
\usepackage{graphicx}
\usepackage{color}
\usepackage{tikz}
\usepackage{tikz-cd}
\spnewtheorem*{theo}{Theorem}{\bfseries}{\itshape}
\begin{document}
\begin{theo}[Faltings, 1983]
bla bla
\end{theo}
\end{documents}
我获得该标题作为强调的文本,而不是通常的定理环境。
答案1
的定义似乎有错误\spnewtheorem*
。使用
\spnewtheorem*{theo}{Theorem}{\normalfont\bfseries}{\itshape}
由于奇怪的原因,当调用编号定理时,svmono
最终执行\@spnewtheorem
,扩展为
\trivlist \item [\hskip \labelsep {#3#1\ #2\@thmcounterend }]#4
其中#3
是 的第三个参数\spnewtheorem
,#4
是第四个参数。因此,在 的情况下\spnewtheorem{foo}{\bfseries}{\itshape}
,\itshape
仅适用于定理主体。对于未编号的定理,宏是\@Begintheorem
,它扩展为
#3\trivlist \item [\hskip \labelsep {#2#1\@thmcounterend }]
其中#2
是 的第三个参数\spnewtheorem*
,#3
是第四个参数。因此,在您的例子中,\itshape
在排版定理标签之前执行。
当然的定义\@Begintheorem
应该是
\trivlist \item [\hskip \labelsep {#2#1\@thmcounterend }]#3