我正在尝试使用 ytableau 包来制作列小报而不是行小报,如下例所示:
\documentclass{standalone}
\usepackage{ytableau}
\begin{document}
\ytableausetup{tabloids,centertableaux}
\ytableaushort{123,45,6}
\end{document}
有没有简单的方法来删除行边缘而不是列边缘?
特别是,我希望有一个针对 htabloids 或 vtabloids 的选项。
答案1
有一次我开始使用 来绘制我的 tableaux,tikz
因为这样更加灵活。下面我将放一些绘制以下三个 tableaux 的代码
使用以下命令:
\Tableau{{1,2,3},{4,5}}
\Tabloid{{1,2,3},{4,5}}
\ColumnTabloid{{1,2,3},{4,5}}
因此,tableaux 条目按行输入,{...}
条目之间用逗号分隔。如果这是您要找的内容,那么代码如下:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcount\tableauRow\newcount\tableauCol
\newcommand\Tableau[1]{%
\begin{tikzpicture}[scale=0.5,draw/.append style={thick,black},baseline=4mm]
\tableauRow=0
\foreach \Row in {#1} {
\tableauCol=1
\foreach\k in \Row {
\draw(\the\tableauCol,\the\tableauRow)+(-.5,-.5)rectangle++(.5,.5);
\draw(\the\tableauCol,\the\tableauRow)node{\k};
\global\advance\tableauCol by 1
}
\global\advance\tableauRow by -1
}
\end{tikzpicture}
}
\newcommand\Tabloid[1]{%
\begin{tikzpicture}[scale=0.5,draw/.append style={thick,black},baseline=4mm]
\tableauRow=0
\foreach \Row in {#1} {
\tableauCol=1
\foreach\k in \Row {
\draw($(\the\tableauCol,\the\tableauRow)+(-.5,-.5)$)--++(1,0);
\draw($(\the\tableauCol,\the\tableauRow)+(-.5,.5)$)--++(1,0);
\draw(\the\tableauCol,\the\tableauRow)node{\k};
\global\advance\tableauCol by 1
}
\global\advance\tableauRow by -1
}
\end{tikzpicture}
}
\newcommand\ColumnTabloid[1]{%
\begin{tikzpicture}[scale=0.5,draw/.append style={thick,black},baseline=4mm]
\tableauRow=0
\foreach \Row in {#1} {
\tableauCol=1
\foreach\k in \Row {
\draw($(\the\tableauCol,\the\tableauRow)+(-.5,-.5)$)--++(0,1);
\draw($(\the\tableauCol,\the\tableauRow)+(.5,-.5)$)--++(0,1);
\draw(\the\tableauCol,\the\tableauRow)node{\k};
\global\advance\tableauCol by 1
}
\global\advance\tableauRow by -1
}
\end{tikzpicture}
}
\begin{document}
\Tableau{{1,2,3},{4,5}} \qquad
\Tabloid{{1,2,3},{4,5}} \qquad
\ColumnTabloid{{1,2,3},{4,5}}
\end{document}