ConTeXt:表格內的預先格式化文本

ConTeXt:表格內的預先格式化文本

我想將預先格式化的文字插入表格中。我嘗試使用以下命令來完成此操作\startlines,但該命令在表中沒有顯示任何效果。這是可能的,\break但這不是真正的解決方案。

如何在表格中插入預先格式化的文字?

微量元素:

\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

答案1

問題是每個單元格在環境可以將文字視為單獨的行natural tables之前保存內容。lines

lines當您將環境文字放入buffer.當您現在載入表中緩衝區的內容時,文字保留在單獨的行中。

\starttext

\startbuffer[lines]
multi
lines
work
\stopbuffer

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

\stoptext

當您只有幾行文字時,您可以跳過環境lines並使用\\命令來標記表格單元格中每個文字行的結尾。

\starttext

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

\stoptext

另一種可能性是替換natural tablesxtable可以正常處理的環境,lines因為它使用不同的方法來計算表格尺寸。

\starttext

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

\stoptext

相關內容