如何将项目放在一行并使其居中?

如何将项目放在一行并使其居中?

有没有简单的方法可以让项目水平显示而不是垂直显示并且居中?

我尝试了以下代码,但是点被挤压到左侧并且它们之间没有空间。

\documentclass{article}

\usepackage[inline]{enumitem}

\begin{document}

\begin{itemize*}
  \item Item 1
  \item Item 2
\end{itemize*}

\end{document}

我在想类似下面的事情o是“点”制成的。

(左侧空格)o第 1 项(此处留空) o第 2 项

答案1

您有多种选择,我为您介绍两种。新环境将是我的选择。

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[inline]{enumitem}

\newenvironment{centeritemize*}[1][]
  {\par\centering\begin{itemize*}[itemjoin=\quad,#1]}
  {\end{itemize*}\par}

\begin{document}

\begin{itemize*}[
  itemjoin=\quad,
  before=\hspace*{\fill},
  after=\hspace*{\labelwidth}\hspace*{-\labelsep}\hspace*{\fill},
]
  \item Item 1
  \item Item 2
  \item Item3
\end{itemize*}

\begin{centeritemize*}
  \item Item 1
  \item Item 2
  \item Item3
\end{centeritemize*}

\end{document}

在此处输入图片描述

如果你想要列表上方和下方有一些垂直空间,你可以这样做

\newenvironment{centeritemize*}[1][]
  {\begin{center}\begin{itemize*}[itemjoin=\quad,#1]}
  {\end{itemize*}\end{center}}

这表明了为什么使用新环境更好。

答案2

before使用 enumitem 的和键的解决方案after

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[inline]{enumitem}

\begin{document}

\begin{itemize*}[itemjoin=\quad, before=\null\hfill, after=\hskip1.5em\hfill]
  \item Item 1
  \item Item 2
\item Item3
\end{itemize*}

\end{document} 

在此处输入图片描述

答案3

只是为了好玩:

\documentclass{article}

\newcommand{\itemtab}{\hspace{\tabcolsep}\textbullet\hspace{\itemsep}}

\begin{document}

\begin{center}
\begin{tabular}{@{\itemtab}l@{\itemtab}l}
  Item 1 & Item 2
\end{tabular}
\end{center}

\end{document}

相关内容