为什么此制表代码会使右对齐的列文本向右移动太远?

为什么此制表代码会使右对齐的列文本向右移动太远?

这是我的代码,它使一些文本左对齐,其他文本右对齐,位于左对齐文本的右侧:

    \starttabulate[|lw(.5\textwidth)|rw(.5\textwidth)|]
        \NR
        \NC Here is left-aligned text \NC Here is right-aligned text \NC\NR
        \NR
    \stoptabulate

编译后,右对齐的文本向右偏移了大约一厘米。我猜想中间一列可能有一些额外的空间,所以文本才偏移了。

我该如何修复这个问题,让右对齐的文本正好沿着页面边缘?

答案1

有时阅读 Wiki 确实有帮助。

在此处输入图片描述

要删除单元格周围的列间距,可以使用k运算符。这仅在ConTeXt 参考手册据我所知。

\showframe
\starttext

\starttabulate[|k0lw(.5\textwidth)|k0rw(.5\textwidth)|]
    \NC Here is left-aligned text \NC Here is right-aligned text \NC\NR
\stoptabulate

\stoptext

在此处输入图片描述

或者,您也可以从宽度中减去列间距,尽管这有点笨拙。

\showframe
\starttext

\starttabulate[%
    |%
    lw(\dimexpr.5\textwidth-.5\dimexpr\tabulationparameter{unit}\relax\relax)%
    |%
    rw(\dimexpr.5\textwidth-.5\dimexpr\tabulationparameter{unit}\relax\relax)%
    |%
]
    \NC Here is left-aligned text \NC Here is right-aligned text \NC\NR
\stoptabulate

\stoptext

在此处输入图片描述

相关内容