如何水平居中显示枚举

如何水平居中显示枚举

梅威瑟:

\documentclass{book}
\begin{document}
\Huge
\thispagestyle{empty}
\begin{enumerate}
\item[I.] Item 1
\item[II.] Item 2
\item[III.] Item 3
\end{enumerate}
\end{document}

输出:

在此处输入图片描述

我不想让输出左对齐,而是想将其移到右侧,以便水平居中。我该怎么做?

答案1

在我的实际文档中,枚举项非常简短——因此不存在超出页面的风险。

这是实施@Werner 在评论中提供的建议的答案。

在此处输入图片描述

\documentclass{article}

\newcounter{RomanCount}
\renewcommand\theRomanCount{\Roman{RomanCount}}
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{R}{>{\stepcounter{RomanCount}\theRomanCount.}r}
\newenvironment{mycenter}%
   {\begin{center}
    \Huge
    \renewcommand\arraystretch{1.5}
    \begin{tabular}{Rl}}%
   {\end{tabular}
    \end{center}}

\usepackage{showframe} % draw framelines around text block

\begin{document}

\begin{mycenter}
& Item 1   \\
& Item 22  \\
& Item 333
\end{mycenter}

\end{document}

答案2

使用enumitem并定义一个center align,或者将标签设置在固定宽度的中心对齐框内:

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\begin{enumerate}[label=\Roman*.]
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

\begin{enumerate}[label=\Roman*.,align=left]
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

\begin{enumerate}[label={\makebox[2em]{\Roman*.}}]
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

\SetLabelAlign{center}{\hss\makebox[0pt]{#1}\hss}

\begin{enumerate}[label=\Roman*.,align=center]
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

\end{document}

您必须适应可能太宽的条目,或者其他溢出到边距的内容。但这些参数都可以使用 进行管理enumitem。请参阅文档了解更多信息。

答案3

一种平凡但简单的方法:

\documentclass{book}
\usepackage{showframe}
\begin{document}
\Huge
\thispagestyle{empty}

\begin{center}
\begin{minipage}{1.25in}
\begin{enumerate}
\item[I.] Item 1
\item[II.] Item 2
\item[III.] Item 3
\end{enumerate}
\end{minipage}
\end{center}
\end{document}

这使

在此处输入图片描述

备注:根据最长条目的长度,您可能需要调整小页面的宽度,以便它“紧密”容纳最长的条目。

相关内容