这是一个最小的工作示例,基于这个答案:
\documentclass{report}
\usepackage{amsthm}
\usepackage{enumitem}
\SetLabelAlign{Center}{\hfil#1\hfil}
\newtheoremstyle{theorem}{1em}{}{\itshape}{}{\bfseries}{}{1em}
{\thmname{#1}\thmnumber{ #2}\thmnote{ (\normalfont\textit{#3})}}
\theoremstyle{theorem}
\newtheorem{thm}{Theorem}[section]
\begin{document}
\begin{thm}
\mbox{}\vspace{-0.175cm}
\begin{enumerate}[align=Center,font=\normalfont,label=(\roman*)]
\item First proposition.
\item Second proposition.
\item Third proposition.
\end{enumerate}
\end{thm}
\end{document}
标签应居中,而项目(在本例中为命题)应左对齐。
编辑:它看起来应该像这样(参见链接):
(i) 1st item
(iii) 3rd item
(x) 10th item
(xviii) 18th item
(xxi) 21st item
也就是说,标签列应该位于项目列的左侧,并且标签应该位于此列的中央。
答案1
标签间隔应为零,标签宽度应与左边距相同。我还添加了,topsep=0pt
因此您无需猜测其值。
\documentclass{report}
\usepackage{amsthm}
\usepackage{enumitem}
\usepackage{lipsum}
\SetLabelAlign{Center}{\hfil#1\hfil}
\newtheoremstyle{theorem}{1em}{}{\itshape}{}{\bfseries}{}{1em}
{\thmname{#1}\thmnumber{ #2}\thmnote{ (\normalfont\textit{#3})}}
\theoremstyle{theorem}
\newtheorem{thm}{Theorem}[section]
\begin{document}
\lipsum[2]
\begin{thm}
\mbox{}
\begin{enumerate}[
align=Center,
font=\normalfont,
label=(\roman*),
topsep=0pt,
labelsep=0pt,
labelwidth=!
]
\item First proposition.
\item Second proposition.
\item Third proposition.
\end{enumerate}
\end{thm}
\lipsum[3]
\end{document}
如果您计划购买 18 件商品,请增加leftmargin
。我认为这很好吗? 不行。
答案2
\documentclass{report}
\usepackage{amsthm,showframe}
\usepackage{enumitem}
\SetLabelAlign{Center}{\strut{\parbox[t]{\labelwidth}
{\centering#1}}%
}
\newtheoremstyle{theorem}{1em}{}{\itshape}{}{\bfseries}{}{1em}
{\thmname{#1}\thmnumber{ #2}\thmnote{ (\normalfont\textit{#3})}}
\theoremstyle{theorem}
\newtheorem{thm}{Theorem}[section]
\begin{document}
\begin{thm}
\mbox{}\vspace{-0.175cm}
\begin{enumerate}[align=Center,font=\normalfont,label=(\roman*),leftmargin=*,]
\item First proposition.
\item Second proposition.
\item Third proposition.
\end{enumerate}
\end{thm}
\end{document}