I do a lot of itemize lists in beamer presentation which, in a later step, I want to format nicely, for instance, typeset everything up to the first colon in boldface and the remaining part scriptsize inside a \parbox. A common idiom I use is to define a custom \Item command for this purpose that parses the item text and emits a \item with the intended formatting:
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{calc}
\begin{document}
\def\Item#1:#2\endItem{\item \parbox{2cm}{\strut\textbf{#1:}}\parbox[t]{\linewidth-2cm}{\footnotesize#2}}
\begin{frame}{A frame}
Common metasyntactic variables (used to name absolutely anything)
\begin{itemize}
\Item foo: f*cked over and over? Well, we do not really know the meaning of this beast.\endItem
\Item bar: beyond all reason?\endItem
\end{itemize}
\end{frame}
\end{document}
However, to scan the "rest" of the item's text as a macro argument, I have to finish eacht item by an explicit end marker \endItem, which I would like to avoid. As in this related question, I also do not want to put the item's text into groups of curly braces.
Is there another, more elegant way to scan to the end of an \item?


fubar, which evolved intofoobar. – Werner May 10 '12 at 21:27\paras delimiter, instead of\endItem, but you'll need to leave a blank line at the end of each item. – egreg May 10 '12 at 21:30environpackage, might be a better solution than using\endItem. – egreg May 11 '12 at 09:17\itemas well. Apparently that is not the case, so I suggest that you turn your comments into an answer. – Daniel May 14 '12 at 20:33