长表格弄乱了我的标题。为什么?

长表格弄乱了我的标题。为什么?

这是我的第一篇帖子。我希望尽快为这个伟大的社区做出贡献,但现在我需要帮助……

我正在编写的文档既需要带有表格的大标题,也需要需要 split=repeat 的长表格。

请注意,标题实际上是由几个框架和一个表格组成,全部放在 \vbox 内。

我正在使用自然表。

每个发生分割的页面上都会发生一些奇怪的事情:就好像长表“嵌入”在标题表中一样……

这是我的代码:

\setuppapersize[A4]
\setuplayout[topspace=1.25cm,
    backspace=1in,
    width=17cm,
    topdistance=0cm, 
    footer=1.2cm, 
    header=8cm]

\defineframedtext[myFramedTitle]
\setupframedtext[myFramedTitle][after={\blank[none]}, background=color, backgroundcolor=lightgray, width=max, align=middle, toffset=-1.5ex, boffset=-1.5ex, backgroundoffset=frame, style=bold] 

\startsetups[myHeader]
    \vbox{
        \myFramedTitle{RECORD SHEET \\ {\tx Instrument Serial Number {{tag_instr_sn}} }}\\ \blank[medium]
        \myFramedTitle[toffset=-0.5ex, boffset=-0.5ex]{ \tfb\bf P&ID Walkdown }\\ \blank[medium]

        \bTABLE[before={\nowhitespace}, split=no]
            \setupTABLE[style=\tx]
            \setupTABLE[column][1][width=4cm]
            \setupTABLE[c][2][width=broad]
            \setupTABLE[c][3][width=2cm, align=middle]
            \setupTABLE[c][4][width=3cm, align=middle]
            \setupTABLE[background=color, backgroundcolor=lightgray]
                \bTR \bTD {\bf Document Reference:} \eTD \bTD Instrument-{{tag_instr_sn}} \eTD \bTD[width=2cm] {\bf Rev}: 01 \eTD \bTD[width=3cm] {\bf Page:} \userpage\ of \lastpagenumber \eTD \eTR
                \bTR \bTD {\bf Parent Document Reference:} \eTD \bTD[nc=2] Instrument-{{tag_instr_sn}}-IQP \eTD \bTD {\bf Rev}: 01 \eTD \eTR
                \bTR \bTD {\bf Customer Name:} \eTD \bTD[nc=3] {{tag_cust_name}} \eTD \eTR 
                \bTR \bTD {\bf Customer Location:} \eTD \bTD[nc=3] {{tag_cust_location}} \eTD \eTR
                \bTR \bTD {\bf Author Name:} \eTD \bTD {{tag_author_name}} \eTD \bTD[nc=2] {\bf Date of issue:} {\date[][day,{ },m:mnem,year]} \eTD \eTR 
            \eTABLE
        }
\stopsetups

\setupheadertexts[\setups{myHeader}]
\showframe

\starttext
\bTABLE[width=broad, split=repeat]
\bTABLEhead
\bTR \bTH First\eTH\bTH Second\eTH\bTH Third\eTH\bTH Fourth\eTH\eTR
\eTABLEhead
\bTABLEbody
    \dorecurse{100}{
    \bTR 
        \bTD q\eTD\bTD w\eTD\bTD e\eTD\bTD r\eTD
    \eTR}
\eTABLEbody
\eTABLE

\stoptext

有人能帮助我理解为什么 Context 会表现得像这样吗?

谢谢!

答案1

确实如此:Henri 提到的内存共享机制正在扰乱我的代码。

按照 Wolfgang 的建议,我使用重写了标题程序集tabulate,并且一切都按预期进行。

作为奖励,就像 Henri 暗示的那样,编译得到了相当大的提升,至少可以这么说 :-)

感谢大家的意见!

相关内容