Ich möchte vorformatierten Text in eine Tabelle einfügen. Ich habe versucht, dies mit zu erreichen, \startlines
aber der Befehl zeigt in Tabellen keine Wirkung. Es ist mit möglich, \break
aber 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 tables
ist, dass jede Zelle den Inhalt speichert, bevor die lines
Umgebung den Text als einzelne Zeilen sehen kann.
Dies lässt sich umgehen, indem man den Text für die lines
Umgebung 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 lines
Umgebung ü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 tables
Eine andere Möglichkeit besteht darin, es durch die xtable
Umgebung zu ersetzen , die lines
problemlos 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