使用包amsthm
,实现了所需的定理样式,
\documentclass{book}
\usepackage{amsthm}
\newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}
\begin{document}
\begin{mythm}
This is a normal body text.
\end{mythm}
\end{document}
但逐项列出尸体很麻烦,
\documentclass{book}
\usepackage{amsthm}
\newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}
\begin{document}
\begin{mythm}
\begin{itemize}
\item This an itemized body text.
\item This an itemized body text.
\end{itemize}
\end{mythm}
\end{document}
正如最后的输出显示,第一项已经跳转到头条。
我怎样才能将它带回体内?
答案1
这是一个解决方案enumitem
。可以定义一个thmitemise
克隆,默认情况下它包含给定的设置,以避免每次使用时都必须输入它:
\documentclass{book}
\usepackage{amsthm} \newtheoremstyle{mystyle}{}{}{}{}{\bf}{}{\newline}{}
\theoremstyle{mystyle}
\newtheorem*{mythm}{Theorem}
\usepackage{enumitem, showframe}
\begin{document}
\begin{mythm}
\begin{itemize}[wide=0.5em, leftmargin =*, nosep, before = \leavevmode\vspace{-\baselineskip}]
\item This an itemized body text.
\item This an itemized body text.
\end{itemize}
\end{mythm}
\end{document}
答案2
这是一种删除定理头和列表之间多余空间的机制。我不太喜欢它,但它将提供必要的信息,以使其成为 ams 定理设施的一个特性,当它被彻底改造时。(latex 不会让这样的事情变得简单。)
\documentclass{amsart}
\newtheorem{thm}{Theorem}[section]
\begin{document}
\begin{thm}
\leavevmode
\makeatletter
\@nobreaktrue
\makeatother
\begin{enumerate}
\item Item 1
\item Item 2
\item Item 3
\end{enumerate}
\end{thm}
\end{document}
答案3
最简单的解决方案可能是hfill
\begin{theorem}
\hfill
\begin{enumerate}
\item Item 1
\item Item 2
\item Item 3
\end{enumerate}
\end{theorem}
答案4
一个更简单的解决方案可能是这样的:
\usepackage[inline]{enumitem}
\begin{mythm}
\begin{enumerate}[label=(\arabic*)]
\item[]
\item state 1
\item state 2
\end{enumerate}
\end{mythm}