首頁>LaTeX>source

\box有什麼區別   和 \unvbox   或者在 \box之間   和 \unhbox .

最新回復
  • 2019-12-5
    1 #

    如果你去 \setbox0\hbox{abc}   然後方框0是一个盒子寄存器,其中包含一个包含三个專案的hbox,即a,b和c的字元节點。

    所以,如果你使用 \box0   它將一个專案添加到当前列表中,即hbox。

    但是如果你使用 \unhbox0   然後添加包含在框中的列表,而不是框本身,因此添加a,b和c的节點。

    \documentclass{article}
    \showoutput
    \begin{document}
    \setbox0\hbox{abc}
    1 xxx \box0 zzz
    \setbox0\hbox{abc}
    2 xxx \unhbox0 zzz
    
    \end{document}
    

    第一段是

    ....\hbox(0.0+0.0)x15.0
    ....\OT1/cmr/m/n/10 1
    ....\glue 3.33333 plus 1.66666 minus 1.11111
    ....\OT1/cmr/m/n/10 x
    ....\OT1/cmr/m/n/10 x
    ....\OT1/cmr/m/n/10 x
    ....\glue 3.33333 plus 1.66666 minus 1.11111
    ....\hbox(6.94444+0.0)x15.27782
    .....\OT1/cmr/m/n/10 a
    .....\OT1/cmr/m/n/10 b
    .....\kern0.27779
    .....\OT1/cmr/m/n/10 c
    ....\OT1/cmr/m/n/10 z
    ....\OT1/cmr/m/n/10 z
    ....\OT1/cmr/m/n/10 z
    ....\penalty 10000
    ....\glue(\parfillskip) 0.0 plus 1.0fil
    ....\glue(\rightskip) 0.0
    

    在xxx之後的空格後面有一个hbox,但是第二段是

    ....\hbox(0.0+0.0)x15.0
    ....\OT1/cmr/m/n/10 2
    ....\glue 3.33333 plus 1.66666 minus 1.11111
    ....\OT1/cmr/m/n/10 x
    ....\OT1/cmr/m/n/10 x
    ....\OT1/cmr/m/n/10 x
    ....\glue 3.33333 plus 1.66666 minus 1.11111
    ....\OT1/cmr/m/n/10 a
    ....\OT1/cmr/m/n/10 b
    ....\kern0.27779
    ....\OT1/cmr/m/n/10 c
    ....\OT1/cmr/m/n/10 z
    ....\OT1/cmr/m/n/10 z
    ....\OT1/cmr/m/n/10 z
    ....\penalty 10000
    ....\glue(\parfillskip) 0.0 plus 1.0fil
    ....\glue(\rightskip) 0.0
    

    a,b,c直接添加没有包含框。

    直接添加列表意味着任何膠水都可以參与膠水拉伸,並且可以(几乎)發生斷線,好像內容从未被裝箱。

    請註意,框总是可以放在垂直或水平列表中,它只会影响框的堆叠方式,但您只能將框拆開到正確的列表中。

    如果您將示例更改為

    \documentclass{article}
    \showoutput
    \begin{document}
    \setbox0\hbox{abc}
    \box0 zzz
    \setbox0\hbox{abc}
    \unhbox0 zzz
    
    \end{document}
    

    你得到了

    作為 \box0   直接进入垂直列表而不開始一个段落,所以下面的 zzz   在下面開始一个新段落.反過来 \unhbox0   啟動一个水平列表,所以開始一个段落,所以在一个段落縮排後,在同一个水平列表中有以下zzz。

  • LaTeX math mode:尖括號中的垂直向量
  • LaTeX diagrams:Tikz - 將一个矩形標記為三角形