latex 中的列表编号问题

latex 中的列表编号问题

假设我有这个简单的代码

\begin{theorem}
\begin{enumerate}[nolistsep]
 \item[(1)] This is the first item 
 \item[(2)] This is the second item 
\end{enumerate}
\end{theorem}

我的问题是:如何将列表 ((i)、(ii) 和 (iii)) 项的标签放在行的最开头,恰好在定理单词。

笔记:我用

\AtBeginEnvironment{theorem}{\setlist[enumerate,1]{label=\arabic*,font=\upshape}}

在法典的序言中。

答案1

如何将列表 ((i)、(ii) 和 (iii)) 中项目的标签放在行的最开始,恰好在“定理”一词的下方?

amsthm这是一个采用、enumitem和包机制的解决方案etoolbox

在此处输入图片描述

\documentclass{article} % or some other suitable document class

\usepackage{amsthm} % for \newtheoremstyle, \theoremstyle, and \newtheorem macros
\newtheoremstyle{break}% % See p. 9 of user guide of amsthm package
   {}{}{\itshape}{}{\bfseries}{.}{\newline}{}
\theoremstyle{break}
\newtheorem{brktheorem}{Theorem}

\usepackage{enumitem} % for \setlist macro
\usepackage{etoolbox} % for \AtBeginEnvironment macro
\AtBeginEnvironment{brktheorem}{\setlist[enumerate,1]{%
   nolistsep, left=0pt, align=left, label=\upshape(\roman*),
   % See p. 10 of user guide of amsthm package:
   before=\leavevmode\vspace{-\baselineskip}
   }} 

\begin{document}

\begin{brktheorem} 
\begin{enumerate}
  \item This is the first item.
  \item This is the second item.
\end{enumerate}
\end{brktheorem}

\end{document}

答案2

我建议定义一个特殊的枚举环境,我将其命名roster(在 AMS-TeX 中就是这样称呼的)。

对于偶尔以 开头的定理roster,只需添加\mbox{}(如果需要,可以在 之后添加\label),但要避免仅用枚举的定理:用几个词介绍它们通常更好。

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\newlist{roster}{enumerate}{1}
\setlist[roster]{
  nolistsep,
  label=(\roman*),
  font=\upshape,
  left=0pt,
  align=left,
  widest=(iii),
  labelsep=0pt,
}

\newtheorem{theorem}{Theorem}

\begin{document}

\begin{theorem}\mbox{}
\begin{roster}
\item This is the first item 
\item This is the second item 
\end{roster}
\end{theorem}

\end{document}

在此处输入图片描述

相关内容