我想绘制一个 Youngtableau,其中包含公式给出的条目。公式不是很长,但为了适合它,我必须将框大小增加到 6em。然后它就很高了,上面和下面有很多不必要的空间。
有没有办法改变盒子的高度而不改变宽度?我 \vrule@normal@YT
看到文档,但我不确定如何使用它。我听说不应该使用@
名称中包含 的变量。但即使我应该使用该命令,我也不确定如何使用它。
有没有人有什么建议?
这是我的代码:
\documentclass{article}
\usepackage{ytableau}
\begin{document}
\ytableausetup{boxsize=6em}
\begin{ytableau}
\none & \none & \none & 1 \\
\none & \none & \none & 2 \\
\none & \none & \none & \vdots \\
\none & \none & \none & d-2i-1\\
d-2i & d-2i & \cdots & d-2i \\
d-2i+1 & d-2i+1 & \cdots & d-2i+i\\
d-2i+2 \\
\vdots\\
d-2i+m
\end{ytableau}
\end{document}
答案1
ytableau
为了提供另一种选择,您可以使用而不是包nicematrix
。
该选项hvlines
绘制水平和垂直规则,但corners
不包括空角。columns-width=auto
将所有列宽设置为最宽的列。cell-space-limits=-5pt
减少每个单元格的垂直填充。\renewcommand{\arraystretch}{1.2}
足够大以使所有行具有相同的高度。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[
\renewcommand{\arraystretch}{1.2}
\begin{NiceArray}{cccc}[hvlines, corners, columns-width=auto, cell-space-limits=-5pt]
&&&1\\
&&&2\\
&&&\vdots\\
&&&d-2i-1\\
d-2i & d-2i & \cdots & d-2i\\
d-2i+1 & d-2i+1 & \cdots & d-2i+i\\
d-2i+2\\
\vdots\\
d-2i+m
\end{NiceArray}
\]
\end{document}
答案2
也许\scalebox
graphicx-package 是你的朋友:
只需垂直(向下)缩放整个 ytableau,同时按反因子垂直(向上)缩放每个条目。
您还需要调整条目的垂直位置,将其降低升级后的高度\mathstrut
与正常高度之间差值的一半\mathstrut
。
此解决方法的缺点:水平规则的高度与垂直规则的宽度略有不同。
\documentclass{article}
\usepackage{graphicx}
\usepackage{ytableau}
\begin{document}
\newlength\scratchlength
\newcommand\s[2]{% #1 - (up)scale-factor; #2 = content
\settoheight\scratchlength{\mathstrut}%
\scratchlength=\number\numexpr\number#1-1\relax\scratchlength
% \scratchlength=\number\numexpr\number#1-1\relax\ht\strutbox
\lower.5\scratchlength\hbox{\scalebox{1}[#1]{$#2$}}%
}
% Default is 1.5em.
% Let's vertically upscale content and boxes by (up)scale-factor 4 (4x1.5em = 6em).
% Let's vertically downscale the entire ytableau by (down)scale-factor 1/4 =.25.
\ytableausetup{boxsize=6em}%
\scalebox{1}[.25]{%
\begin{ytableau}
\none & \none & \none & \s{4}{1} \\
\none & \none & \none & \s{4}{2} \\
\none & \none & \none & \s{4}{\vdots}\\
\none & \none & \none & \s{4}{d-2i-1} \\
\s{4}{d-2i} & \s{4}{d-2i} & \s{4}{\cdots} & \s{4}{d-2i} \\
\s{4}{d-2i+1g} & \s{4}{d-2i+1} & \s{4}{\cdots} & \s{4}{d-2i+i}\\
\s{4}{d-2i+2} \\
\s{4}{\vdots}\\
\s{4}{d-2i+m}
\end{ytableau}
}%
\ytableausetup{boxsize=normal}%
\begin{ytableau}
1 & 1 & 1 & 1 \\
2 & 2 & \none &\vdots\\
3 & \cdots & \none & 3
\end{ytableau}
\end{document}