![类似编号定理的环境](https://linux22.com/image/245794/%E7%B1%BB%E4%BC%BC%E7%BC%96%E5%8F%B7%E5%AE%9A%E7%90%86%E7%9A%84%E7%8E%AF%E5%A2%83.png)
我希望所有类似定理的环境(定理、例子等)都有编号,但数字要前环境的名称,大致如下:
1. 定理
2.示例
我怎样才能做到这一点?
答案1
amsthm
提供\swapnumbers
反转显示的方法Theorem <num>.
是<num> Theorem.
这里有一个最小的例子:
\documentclass{article}
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\swapnumbers % Switch number/label style
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem{example}[theorem]{Example}
\begin{document}
\begin{theorem}
This is a theorem.
\end{theorem}
\begin{example}
This is an example.
\end{example}
\end{document}
在上面的例子中,example
环境共享计数器theorem
。此外,两者都使用样式定义plain
。还有其他可用的样式,如amsthm
包装文档。
答案2
amsthm
有一个命令\swapnumbers
,当在\theoremstyle
或\newtheorem
元素之前指定数字时,它会执行您想要的操作。
有关详细信息,请参阅amsthm
用户手册,第 4.2 节“数字交换”。
答案3
有几种方法可以创建theorem
类似的环境。以下是使用ntheorem
诀窍是theoremstyle
使用参数创建一个新的
##1
这是定理的名称##2
这是定理的数量##3
这是该定理的可选标题
使用文档中的示例ntheorem
作为指南,您可以对其进行调整以满足您的需要。
\documentclass{article}
\usepackage{lipsum}
\usepackage{ntheorem}
\makeatletter
\newtheoremstyle{numberfirst}%
{\item[\theorem@headerfont{##2\theorem@separator\hskip\labelsep ##1}]}%
{\item[\theorem@headerfont{##2\theorem@separator\hskip\labelsep ##1} (##3)]}%
\makeatother
\theoremstyle{numberfirst}
\theoremseparator{.}
\newtheorem{mytheorem}{Theorem}
\begin{document}
\begin{mytheorem}
\lipsum[1]
\end{mytheorem}
\begin{mytheorem}[Optional title]
\lipsum[1]
\end{mytheorem}
\end{document}