我将工作表转换为 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