Place a list in the middle of the page
Without guessing:
\documentclass{article}
\usepackage{environ}
\usepackage{lipsum} % just for the example
\NewEnviron{centeritemize}{%
\global\centeritemizewd=0pt
\setbox0=\vbox{
\renewcommand{\item}[1][]{\centeritemizeitem}
\BODY\item\centeritemize
}
\global\advance\centeritemizewd\labelwidth
\begin{center}
\begin{minipage}{\centeritemizewd}
\leftmargini=0pt
\begin{itemize}
\BODY
\end{itemize}
\end{minipage}
\end{center}
}
\newdimen\centeritemizewd
\def\centeritemizeitem#1\item#2{%
\setbox2=\hbox{#1}%
\ifdim\wd2>\centeritemizewd
\global\centeritemizewd=\wd2
\fi
\ifx#2\centeritemize
% end the recursion
\else
\expandafter\centeritemizeitem
\fi
}
\begin{document}
\lipsum*[2]
\begin{centeritemize}
\item First item
\item Second item
\end{centeritemize}
\lipsum[2]
\end{document}
Limitations: no blank lines are allowed in the centeritemize
environment.
Don't use it. There's no reason to.
\begin{center}
\begin{minipage}{.5\textwidth}
\begin{itemize}
\item First item
\item Second item
\end{itemize}
\end{minipage}
\end{center}
EDIT: Most methods try to guess the width of the \itemize
by trial and error. Here is another simple method that requires no guessing (making use of the powerfull varwidth
package):
\documentclass{article}
\setlength{\parindent}{0in}
\usepackage{varwidth}
\begin{document}
\newlength\mylen
\newsavebox\mybox
\savebox\mybox{\begin{varwidth}{\textwidth}\textbullet\qquad Second item\end{varwidth}}
\setlength\mylen{\the\wd\mybox}
\vspace*{\fill}\centering
\parbox{\mylen}{%
\begin{itemize}
\item First item
\item Second item
\end{itemize}}
\vspace*{\fill}
\end{document}
OLD sol: Can try this (without changing the whole page size):
\documentclass{article}
\setlength{\parindent}{0in}
\begin{document}
\vspace*{\fill}\centering
\parbox{3cm}{%
\begin{itemize}
\item First item
\item Second item
\end{itemize}}
\vspace*{\fill}
\end{document}
Giving:
Limitation here is guessing the 3cm
width.