Kontext - TABLE-Befehle im Hauptteil des Dokuments wirken sich auf TABLES in der Kopfzeile aus

Kontext - TABLE-Befehle im Hauptteil des Dokuments wirken sich auf TABLES in der Kopfzeile aus

Ich versuche, eine TABELLE als Überschrift im Kontext zu verwenden (sieheVerwenden einer Tabelle als Überschrift in Context). Die Befehle \setupTABLEs und \bTABLE[head|foot]s im Hauptteil des Dokuments wirken sich jedoch auf die TABLE in der Kopfzeile aus. Der folgende Ausschnitt veranschaulicht das Problem:

  1. Die TABELLE in der Kopfzeile hat eine Kopfzeile.
  2. Diese Kopfzeile hat einen gelben Hintergrund.

Ist das ein Fehler? Oder gibt es eine Möglichkeit, den Umfang der \setupTABLE \bTABLE[head|foot]-Befehle so zu beschränken, dass nur eine bestimmte TABELLE betroffen ist?

Mit Bezug aufhttps://mailman.ntg.nl/pipermail/ntg-context/2015/083192.html, ich habe versucht, \egroup und \sgroup zu verwenden. Meine \setupTABLEs sind auch bereits im \bTABLE-Block definiert.

\startsetups[header]
\bTABLE
    \bTR
        \bTD Header \eTD
    \eTR
\eTABLE
\stopsetups

\setupheadertexts[\setups{header}]

\starttext

\bTABLE[split=repeat, header=yes]
    \setupTABLE[r][first]
        [background=color,
        backgroundcolor=yellow]
    \bTABLEhead
        \bTR
            \bTH Header \eTH
        \eTR
    \eTABLEhead
    \bTABLEbody
        \dorecurse{100} {
        \bTR
            \bTD Body \eTD
        \eTR
        }
    \eTABLEbody
\eTABLE

\stoptext

Antwort1

Eine Problemumgehung besteht darin, ConTeXt mitzuteilen, dass die Tabelle in der Kopfzeile eine verschachtelte Tabelle ist. Auf diese Weise ignoriert ConTeXt die auf der vorherigen Ebene definierten Einstellungen. Sie können dies wie folgt tun:

\unprotect
\startsetups[header]
\tabl_ntb_next_level
\bTABLE
    \bTR
        \bTD Header \eTD
    \eTR
\eTABLE
\tabl_ntb_prev_level
\stopsetups
\protect

Die \unprotectund \protectwerden benötigt, da \tabl_ntb_next_leveles sich um einen internen Befehl handelt.

verwandte Informationen