ConTeXt: Vorformatierter Text in Tabellen

ConTeXt: Vorformatierter Text in Tabellen

Ich möchte vorformatierten Text in eine Tabelle einfügen. Ich habe versucht, dies mit zu erreichen, \startlinesaber der Befehl zeigt in Tabellen keine Wirkung. Es ist mit möglich, \breakaber das ist keine wirkliche Lösung.

Wie kann ich vorformatierten Text in Tabellen einfügen?

MWE:

\starttext

\startlines
multi
lines
work
\stoplines

\bTABLE
  \bTR
    \bTD
    \startlines
multi
lines
work
    \stoplines
    \eTD
    \bTD
multi\break
lines\break
work
    \eTD
  \eTR
\eTABLE

\stoptext

Antwort1

Das Problem dabei natural tablesist, dass jede Zelle den Inhalt speichert, bevor die linesUmgebung den Text als einzelne Zeilen sehen kann.

Dies lässt sich umgehen, indem man den Text für die linesUmgebung in eine Datei einfügt buffer. Lädt man nun den Inhalt des Puffers in die Tabelle, bleibt der Text in separaten Zeilen.

\starttext

\startbuffer[lines]
multi
lines
work
\stopbuffer

\bTABLE
    \bTR
        \bTD
            \startlines
            \getbuffer[lines]
            \stoplines
        \eTD
    \eTR
\eTABLE

\stoptext

Wenn Sie nur wenige Textzeilen haben, können Sie die linesUmgebung überspringen und den \\Befehl verwenden, um das Ende jeder Textzeile in den Tabellenzellen zu markieren.

\starttext

\bTABLE
    \bTR
        \bTD
            multi\\
            lines\\
            work
        \eTD
    \eTR
\eTABLE

\stoptext

natural tablesEine andere Möglichkeit besteht darin, es durch die xtableUmgebung zu ersetzen , die linesproblemlos damit umgehen kann, da sie eine andere Methode zum Berechnen der Tabellenabmessungen verwendet.

\starttext

\startxtable
    \startxrow
        \startxcell
            \startlines
            multi
            lines
            work
            \stoplines
        \stopxcell
    \stopxrow
\stopxtable

\stoptext

verwandte Informationen