如何在 ConTeXt 中將單字嚴格保留在表格單元格內?

如何在 ConTeXt 中將單字嚴格保留在表格單元格內?

我將工作場所表單轉換為 ConTeXt。它需要在某些表格中包含大量文本,但沒有多大意義,因為它們難以閱讀。

但在轉換過程中,在 ConTeXt 中閱讀比在 Word 中更難,因為單字開始重疊到表格的其他欄位中。這是演示該問題的最小工作問題:

\starttext
    \starttabulate[|p|p|p|p|p|p|]
        \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL\NR
        \HL
    \stoptabulate
\stoptext

編譯後,單字開始重疊到錯誤的列中,使其無法閱讀。結果老闆看不懂我寫的東西。

我使用了一個很大的連字符列表,但即使是連字符的單字有時也會在被分割到下一行之前越過該行。我嘗試了所有解決方案ConTeXt中如何防止單字跑出邊緣?,包括嘗試將命令調整為 \setuptabulate 等,但我嘗試的任何操作都不起作用。

我怎麼能確保這些單字永遠不會超出他們的欄目,即使這意味著難看的排版?

答案1

可以使用列s說明符在每列的開頭注入設定:

\starttext

    \startsetups[A]
        \setupalign[verytolerant,extremestretch,morehyphenation]
    \stopsetups
    
    \starttabulate[|ps{A}|ps{A}|ps{A}|ps{A}|ps{A}|ps{A}|]
        \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL \input knuth \VL\NR
        \HL
    \stoptabulate

\stoptext

在此輸入影像描述

答案2

當表格中有小列時,預設對齊選項不適合。要設定每個儲存格中的對齊方式,您可以使用A關鍵字並向其傳遞選項清單。該選項接受\setupalign命令的所有關鍵字。

\starttext

\starttabulate[|*{3}{pA{flushleft,broad}|}]
\VL \input knuth \VL \input knuth \VL \input knuth \VL\NR
\stoptabulate

\stoptext

相關內容