使枚举列表标签居中

使枚举列表标签居中

在此代码中这里

\begin{enumerate}[label=\bfseries Exercise \arabic*:]
   \item 5 + 7 = 12
   \item 9 + 1 = 10
   \item 2 * 2 = 4
\end{enumerate}

我想要文字锻炼(及其编号)居中对齐,其后的内容左对齐below。任何人都可以提供帮助。谢谢。

答案1

以下是实现预期结果的一种方法:

在此处输入图片描述

改进

  • 请注意,对 进行了-5.0pt调整以labelwidth补偿标签的长度。这实际上应该根据其他enumitem长度进行计算。

代码:

\documentclass{amsart}
 
\usepackage{enumitem}
\usepackage{showframe}

\SetLabelAlign{center}{\hss#1\hss}

\begin{document}
\begin{enumerate}[label={\bfseries Exercise \arabic*},
    align=center,
    labelwidth=\dimexpr\linewidth-5.0pt\relax,
    leftmargin=!,
    style=unboxed,
    ]
   \item 5 + 7 = 12
   \item 9 + 1 = 10
   \item 2 * 2 = 4
\end{enumerate}
\end{document}

答案2

为什么在枚举环境中?如果这是输入,我可能会倾向于作弊(尽管我希望如果你实际上正在排版数学,情况并非如此)。

\documentclass{article}
\usepackage{lipsum,showframe}

\newcounter{exercise}
\setcounter{exercise}{0}
\renewcommand{\theexercise}{\arabic{exercise}}
\newcommand\iitem[1]{%
%\begingroup
  \refstepcounter{exercise}%
  \parindent0pt
  {\centering
    \textbf{Exercise \theexercise}\par} #1%
%\endgroup
}

\begin{document}

\section{S One}

\lipsum[1]%\label{zzz}

\iitem 5 + 7 = 12

\iitem 9 + 1 = 10

\iitem 2 * 2 = 4\label{asdf}

See Exercise \ref{asdf}.
\lipsum[1]

\end{document}

当然,一旦您想要包含真正的数学,您将需要更强大的命令......

相关内容