Environment to replace \vbox{\hbox{...}\hbox{...}\hbox{...}\hbox{...}...}
If you want to write your current construct much shorter, use \halign
(and consider using plain TeX).
\documentclass{article}
\begin{document}
\halign{#\crcr foo\cr bar\cr baz\cr}
\end{document}
Maybe some variety of "long" (rows at fixed baselineskip value) stack would suit your needs.
\documentclass{article}
\usepackage{stackengine}
\setstackEOL{$}
\setstackgap{L}{\normalbaselineskip}
\strutlongstacks{T}
\begin{document}
\begin{tabular}{|l|l|}
\hline
\Longstack[l]{foo$ bar$ baz} & text\\
\hline
\Centerstack[l]{foo$ bar$ baz} & text\\
\hline
\Longunderstack[l]{foo$ bar$ baz} & text\\
\hline
\end{tabular}
\end{document}
\input expl3-generic
\ExplSyntaxOn
\cs_new_protected:Npn \vboxofhboxes #1
{
\vbox:n
{
\clist_map_inline:nn { #1 }
{
\hbox:n { \strut ##1 }
}
}
}
\ExplSyntaxOff
\vboxofhboxes{
foo,
bar,
baz,
OK
}
\bye
I can't really see the advantage over
\begin{tabular}{@{}l@{}}
foo \\
bar \\
baz
\end{tabular}
or similar Plain TeX construction.