背景

背景

背景

尝试放置图片在双栏文本中

问题

图像呈现如下,其中垂直条是列分隔符:

未定义图像

代码

以下代码产生问题图像:

  \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图像可以来自文件系统中的任何位置。

相关内容