背景
尝试放置图片在双栏文本中。
问题
图像呈现如下,其中垂直条是列分隔符:
代码
以下代码产生问题图像:
\placefigure[]{}{%
\externalfigure[7bee7b104cc5c6.jpg][
width=\textwidth,
]
}
但是,以下代码可以成功嵌入图像:
\placefigure[]{}{%
\externalfigure[7bee7b104cc5c6.jpg][
width=100px,
]
}
问题在于的宽度100px
不会导致图像扩展为局部宽度(即当前列的宽度)。
想法
我尝试过的一些方法:
width=\textwidth,
width=\the\textwidth,
width=\linewidth,
width={\the\textwidth},
width=local,
乃至这:
\newdimen\imgwidth
\imgwidth=200px
...
width={\the\imgwidth},
问题
如何将图形放置在列内以使其缩放以适合宽度?
最小工作示例
下面是一小段代码来说明这个问题:
% interface=en output=pdftex
\definemixedcolumns[StyleColumns][
n=2,
separator=rule,
align=tolerant,
before={\blank[big]},
]
\setupexternalfigures[
order={svg,pdf,png,jpg},
location=global,
%wfactor=fit,
]
\setuphead[section][
after={\startStyleColumns},
aftersection={\stopStyleColumns},
]
\starttext
\startbodymatter
\setuppagenumbering[conversion=numbers]
\setcounter[userpage][1]
\startchapter[
title={Chapter},
reference=sec:chapter,
]
\startsection[
title={Section},
reference=sec:chapter,
]
\placefigure[]{}{%
\externalfigure[sheep.jpg][
width=\textwidth,
]
}
\startsubsection[
title={Equipment},
reference=sec:equipment,]
\input knuth
\stopsubsection
\stopsection
\stopchapter
\stopbodymatter
\stoptext
注释掉该width=\textwidth,
行即可看到图像出现。
答案1
使用以下内容:
\placefigure[]{}{%
\externalfigure[7b104cc5c6.jpg][wfactor=fit]
}
文档\externalfigure
指的是\useexternalfigure
命令。外部形象命令似乎继承了使用外部图形命令,包括wfactor
。用于wfactor
控制宽度的拉伸,独立于高度的拉伸。
为了确保整个文档中的所有图形都使用相同的拟合度,您可以定义一次拟合要求:
\setupexternalfigures[
order={svg,pdf,png,jpg},
location=global,
wfactor=fit,
]
表示location=global
图像可以来自文件系统中的任何位置。