Drawing Young tabloids
I've expanded ytableau
a little to include an option to draw tabloids.
\documentclass{standalone}
\usepackage{ytableau}
\begin{document}
\ytableausetup{tabloids,centertableaux}
$2\cdot\ytableaushort{123,45,6}$
\end{document}
Currently the new version is on my website and has also been uploaded to CTAN.
The ytableau
package (by Ryan Reich) could be an option (examples take almost verbatim from the package documentation):
\documentclass{article}
\usepackage{amsmath}
\usepackage{ytableau}
\begin{document}
\ytableausetup{textmode}
\begin{ytableau}
a & d & f \\
b & e & g \\
c
\end{ytableau}
\ytableausetup{mathmode}
\begin{ytableau}
a & d & \ldots & f \\
b & e
\end{ytableau}
\[
\ytableausetup
{boxsize=1.25em}
\ytableausetup
{aligntableaux=top}
\ytableaushort[x_]{135,24,6}
+ \ydiagram[*(red!20) ]{3} \\
+ \ydiagram[*(blue!20)]{3,2,1}
= \ytableaushort[x_]{135,24,6}
*[*(red!20)]{3} *[*(blue!20)]{3,2,1}
\]
\end{document}
CTAN mentions two other packages associated to Young tabloids: youngtab
and young
, but ytableau
is the most flexible and customizable one, as far as I could see.
If you don't like the rules, you can suppress them by saying
\makeatletter
\def\boxframe@YT{0.0em}
\makeatother
in the preamble.
Here's an option. I'm not sure why you don't like the booktabs
+ matrix
option, so you may not like this as well. However, it should give you an idea of how it can be implemented.
Edit 1: I removed a hardcoded value and added some of the booktabs constants into the function, you could fiddle with those to achieve spacing/weight that you like.
Edit 2: The case suggested in your comment should work now. This still requires the first row to be the longest however.
Edit 3: Removed hardcoded displayed math environment because, well, it was a bad idea.
\documentclass{article}
\usepackage{xparse}
\usepackage{booktabs}
\ExplSyntaxOn
\tl_new:N \l_my_body_tl
\int_new:N \l_first_row_count_int
\int_new:N \l_row_count_int
\int_set:Nn \l_row_count_int {1}
\cs_new:Npn \make_tab_row:n #1
{
\tl_clear:N \l_tmpa_tl
\int_compare:nTF { \l_row_count_int = 1 }
{
\int_set:Nn \l_first_row_count_int {\tl_count:n {#1}}
\int_set:Nn \l_tmpa_int {\tl_count:n {#1}}
}
{
\int_set:Nn \l_tmpa_int {\tl_count:n {#1}}
}
\tl_set:Nx \l_tmpb_tl {\clist_item:Nn \g_tmpa_clist {\l_row_count_int + 1}}
\int_set:Nn \l_tmpb_int {\tl_count:N \l_tmpb_tl}
\int_set:Nn \l_tmpa_int {\int_max:nn \l_tmpb_int \l_tmpa_int}
\tl_map_inline:nn {#1} {\tl_put_right:Nn \l_tmpa_tl {& ##1}}
\tl_put_right:Nn \l_tmpa_tl {\\\cmidrule}
\tl_put_right:Nx \l_tmpa_tl {{1-\int_to_arabic:n \l_tmpa_int}}
\tl_set:Nx \l_tmpa_tl { \tl_tail:N \l_tmpa_tl }
\tl_put_right:NV \l_my_body_tl \l_tmpa_tl
\int_incr:N \l_row_count_int
}
\NewDocumentCommand {\tabloidshort} { m }
{
\heavyrulewidth=.08em
\cmidrulewidth=.08em
\belowrulesep=.65ex
\aboverulesep=.4ex
\clist_gset:Nn \g_tmpa_clist {#1}
\clist_map_function:nN { #1 } \make_tab_row:n
\begin{array}{*{\int_use:N \l_first_row_count_int}{c}}
\toprule
\tl_use:N \l_my_body_tl
\end{array}
\tl_clear:N \l_my_body_tl
\int_zero:N \l_first_row_count_int
\int_set:Nn \l_row_count_int {1}
}
\ExplSyntaxOff
\begin{document}
$\tabloidshort{12{10}5,1{\cdots}3,12}$
\[
\tabloidshort{89{10}{\ldots}{n+1},56}
\]
\begin{equation}
\tabloidshort{123,4,5,67}
\end{equation}
\end{document}