当我输入类似
\bTABLE
\bTR\bTD abc\eTD\bTD abcdefg\eTD\eTR
\bTR\bTD 123456789\eTD\bTD 1234\eTD\eTR
\eTABLE
在 ConTeXt 中,它会自动设置列宽以适合其中包含的文本,如下所示:
这正是我想要看到的输出。我遇到的问题是,在某些文档中,我在其他地方使用 \setupTABLE 命令手动设置表格宽度。完成此操作后,我不知道如何恢复后退默认行为。我的意思是:
实现我想要的效果的正确方法是什么?
答案1
处理这个问题的标准方法是使用setups
:
\startsetups name
\setupTABLE[...][...]
....
\stopsetups
其中name
可以是任意字符串。
然后你可以使用
\bTABLE[setups=name]
....
\eTABLE
并且上下文将应用该设置name
。您甚至可以定义多个设置并使用
\bTABLE[setups={one, two}]
....
\eTABLE
ETC。
答案2
\setupTABLE
使用后可保持效果\bTABLE
\starttext
\bTABLE
\bTR\bTD abc\eTD\bTD abcdefg\eTD\eTR
\bTR\bTD 123456789\eTD\bTD 1234\eTD\eTR
\eTABLE
\bTABLE
\setupTABLE[c][each][width=1in]
\bTR\bTD 1inch\eTD\eTR
\eTABLE
\bTABLE
\bTR\bTD This\eTD\bTD more\eTD\eTR
\bTR\bTD like\eTD\bTD it\eTD\eTR
\eTABLE
\stoptext