我正在尝试以这种方式显示一组图像:
————————————————————
| img1 | |
|—————————| img4 |
|img2|img3| |
————————————————————
然而我只得到
———————————
| img1 |
|—————————|
|img2|img3|
|—————————|
| img4 |
———————————
这是我的代码:
\placefigure[none]{}
\startcombination[2*1]
{
\startcombination[1*2]
{\externalfigure[img1]}{}
{
\startcombination[2*1]
{\externalfigure[img2]}{}
{\externalfigure[img3]}{}
\stopcombination
}{}
\stopcombination
}{}
{\externalfigure[img4]}{}
\stopcombination
我是否遗漏了什么?
答案1
使用表格进行此类对齐是可以的。但是,使用组合也应该能得到正确的输出。你使用的是哪个版本的上下文。使用2015.09.13 MkIV
,我得到了以下输出:
你可能会觉得布局很乱,但事实并非如此。如果你添加
\showboxes
输出是
这表明布局是正确的,只是图像是底部对齐(默认选项)而不是中间对齐。您可以使用 键更改它location=middle
,或者使用正确尺寸的图像。
以下是一个例子:
\useMPlibrary[dum]
\definecombination[grid][inbetween=,distance=0pt,before=,after=]
\starttext
\placefigure[none]{}
\startcombination[grid][2*1]
{
\startcombination[grid][1*2]
{\externalfigure[img1][width=8cm,height=3cm]}{}
{\startcombination[grid][2*1]
{\externalfigure[img2][width=4cm,height=3cm]}{}
{\externalfigure[img3][width=4cm,height=3cm]}{}
\stopcombination}{}
\stopcombination}{}
{\externalfigure[img4][width=3cm,height=6cm]}{}
\stopcombination
\stoptext
这使
当然,这是展示\placekitten
宏:
\def\externalkitten[#1]%
{\getparameters[kitten][width=10pt, height=10pt, #1]%
\externalfigure
[\ctxlua{context("http://placekitten.com/\letterpercent0.0f/\letterpercent0.0f",
\withoutpt{\the\dimexpr\kittenwidth},
\withoutpt{\the\dimexpr\kittenheight})}]
[#1, method=jpg]}
\definecombination[grid][inbetween=,distance=0pt,before=,after=]
\starttext
\placefigure[none]{}
\startcombination[grid][2*1]
{
\startcombination[grid][1*2]
{\externalkitten[width=240pt,height=90pt]}{}
{\startcombination[grid][2*1]
{\externalkitten[width=110pt,height=90pt]}{}
{\externalkitten[width=130pt,height=90pt]}{}
\stopcombination}{}
\stopcombination}{}
{\externalkitten[width=90pt,height=180pt]}{}
\stopcombination
\stoptext
这使
答案2
不确定这是否是正确的方法,但我使用以下方法实现了我的目标:
\startTABLE[frame=off]
\NC[nx=2] \externalfigure[img1]
\NC[ny=2] \externalfigure[img4]
\NC\NR
\NC \externalfigure[img2][width=2cm]
\NC \externalfigure[img3][width=2cm]
\NC\NR
\stopTABLE
[nx=2]
并[ny=2]
允许合并单元格(分别为 colspan 和 rowspan)。
根据记录,以前的版本使用“旧表语法”:
\bTABLE[frame=off]
\bTR
\bTD[nx=2] \externalfigure[img1] \eTD
\bTD[ny=2] \externalfigure[img4] \eTD
\eTR
\bTR
\bTD \externalfigure[img2][width=2cm] \eTD
\bTD \externalfigure[img3][width=2cm] \eTD
\eTR
\eTABLE