列挙リストのラベルを中央揃えにする

列挙リストのラベルを中央揃えにする

このコードではここ:

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

テキストが欲しいエクササイズ(その番号とともに) を中央揃えにし、その後の内容をbelow左揃えにします。どなたか助けていただけませんか。よろしくお願いします。

答え1

望ましい結果を得るための 1 つの方法は次のとおりです。

ここに画像の説明を入力してください

改善点

  • ラベルの長さを補正するために-5.0pt、 に微調整が加えられていることに注意してください。これは実際には他の長さに基づいて計算される必要があります。labelwidthenumitem

コード:

\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

なぜ enumerate 環境で? それが入力である場合、私はごまかしをする傾向があるかもしれません (ただし、実際に数式をタイプセットしている場合はそうではないことを願います)。

\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}

もちろん、実際の数学を組み込む場合は、はるかに強力なコマンドが必要になります。

関連情報