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}

enter image description here


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}

enter image description here


\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

enter image description here

I can't really see the advantage over

\begin{tabular}{@{}l@{}}
foo \\
bar \\
baz
\end{tabular}

or similar Plain TeX construction.