我需要使用 将具有不同纵横比的多个图形排成一行ConTeXt
。我还需要它们的高度相等,但图片的总宽度为\textwidth
。图片的高度必须自动计算,图片必须精确地左右粘贴。
喜欢
-----------------------------
|pic1| wide pic2 | pic3 |
-----------------------------
| \textwidth |
|<------------------------->|
如何 ?
答案1
您可以使用combination
和(来自注释)\scale
。请注意,如果您为每个图像添加标题,如下面的代码所示,此文本也会缩放。
\setupcombination[distance=0mm]
\starttext
\input knuth
\scale[width=\textwidth]{\startcombination[3*1]
{\externalfigure[example-image.pdf][height=3cm]}{text}
{\externalfigure[example-image-10x16.pdf][height=3cm]}{under}
{\externalfigure[example-image-16x10.pdf][height=3cm]}{image}
\stopcombination}
\input knuth
\stoptext
答案2
解决方案可以分两步实现:
- 创建一个框,其中所有图像的高度都相同(无论这个高度是多少)
- 缩放框使得其宽度等于文本宽度。
以下是一个例子:
% Example images
\useexternalfigure[kitten1][http://placekitten.com/g/200/300][method=jpg]
\useexternalfigure[kitten2][http://placekitten.com/g/200/400][method=jpg]
\useexternalfigure[kitten3][http://placekitten.com/g/200/500][method=jpg]
\starttext
\subject{Images without any scaling}
\dontleavehmode
\externalfigure[kitten1]\externalfigure[kitten2]\externalfigure[kitten3]
\subject{Images scaled to textwidth}
\scale[width=\textwidth]
{\externalfigure[kitten1][height=1cm]%
\externalfigure[kitten2][height=1cm]%
\externalfigure[kitten3][height=1cm]}
\stoptext
这使