返回hbox 和 vbox 盒子
盒子主要分为2种,hbox(横向盒子)和 vbox(竖向盒子),从这两种又衍生出其他的类型。

hbox

hbox 相当于一行文本,并且不会自动换行。

\hbox {\dorecurse{10}{ABCDEF_}}
hbox 可以指定宽度,我们使用\ruledhbox(带边框的 hbox)来试验一下。
\ruledhbox to 3cm {\dorecurse{5}{ABCDEF_}}
内容溢出,长度超过3cm,但是超出长度的内容仍然显示。但是如果我们把盒子长度拉长,可以达到占位的效果。
\hbox{\ruledhbox to 3cm {ABCDEF_}\ruledhbox to 3cm {ABCDEF_}}
两个盒子的内容长度不足 3 cm,但是盒子仍然占据 3 cm 长的位置。hbox 同时支持嵌套盒子,最外层的 hbox 把两组 ABCDEF_ 的 hbox 组合在了同一行。

vbox

vbox 类似于段落的作用,结合 hbox 使用产生段落的每一行。
    
\vbox{\dorecurse{5}{\hbox{ABCDEF_}}}
vbox 可以指定高度来占位,但是当我们的内容超出了指定高度时,内容不会被隐藏或吞噬,而是仍然显示。
\ruledvbox to 5cm{\dorecurse{5}{\hbox{ABCDEF_}}}

位置的移动


y 轴位移

除了高度和宽度意外,我们还可以使用\raise\lower\shift等来调整盒子的 y 轴位置。
\ruledhbox{ \hbox to 3cm {ABCDEF} \raise 5mm \hbox to 3cm {ABCDEF} \raise -5mm \hbox to 3cm  {ABCDEF} \lower 5mm \hbox to 3cm {ABCDEF} \lower -5mm \hbox to 3cm {ABCDEF} }
三组 hbox 内容本应和box/3.tex一样在同一基线,但我们通过\raise 5mm向上移动第二组 hbox 5mm,\lower向下移动第三组 hbox 5mm。 (\raise -5mm等同于lower 5mm

x 轴位移

x 轴上的移动可以通过\moveleft\moveright设置。
\ruledhbox{ABCDEF} \moveleft 0.6cm  \ruledhbox{ABCDEF} \ruledhbox{ABCDEF} \moveright 0.6cm \ruledhbox {ABCDEF}
以第一个没有移动的 hbox 为基准,第二个盒子向左移动了 0.6 cm,第四个盒子向右移动了 0.6 cm。
©2024 All Rights 石家庄市友文信息技术有限责任公司冀ICP备2023031763号