![ConTexT \placefigure 位置未按预期工作](https://linux22.com/image/458010/ConTexT%20%5Cplacefigure%20%E4%BD%8D%E7%BD%AE%E6%9C%AA%E6%8C%89%E9%A2%84%E6%9C%9F%E5%B7%A5%E4%BD%9C.png)
我希望获得有关使用 ConTexT 的 \placefigure 的帮助。ConTexT 似乎忽略了一些位置选项。我怎样才能让它使用这些选项?我正在使用当前版本 ConText LMTX。
我找到了这篇十年前的帖子:如何使文本不与层重叠或以其他方式定义带有侧边栏和基于图像的页脚的第一页?第一个答案中的位置选项:[none, right, margin, top]
似乎在 10 年前就起作用了。他们将图像放在右侧、边缘和顶部。
我将该帖子的第一个答案粘贴到这个 MWE 中:
\showframe
\setuplayout[backspace=20mm, width=100mm, topspace=20mm, header=0mm, footer=0mm, height=250mm, margindistance=10mm, rightmargin=50mm]
\starttext
\input{knuth}
\placefigure[none, right, margin, top]{}{
\externalfigure[faims.jpg]
[width=50mm]
{
\color[faimsblue]{\setupwhitespace[small] http://www.fedarch.org}}
\framed[width=50mm, frame=off, align={stretch, verytolerant, hz, hanging}, ]{\tfxx\setupinterlinespace[line=3.78ex]\sc\color[faimsblue]{Contributors: Australian Heritage}}}
\input{knuth}
\input{knuth}
\stoptext
但是当我运行它时,它会忽略margin
和top
位置选项。见下面的屏幕截图。我在在线 ConTexT live 上尝试过,得到了相同的结果。
答案1
我更喜欢使用\start
和\stop
版本的环境。也许可以location=margin
解决您的问题?我还更改了一些其他较小的内容。
\showframe
\setuplayout[backspace=20mm, width=100mm, topspace=20mm, header=0mm, footer=0mm, height=250mm, margindistance=10mm, rightmargin=50mm]
\setupexternalfigures[location=default]
\setupwhitespace[medium]
\setupcaptions[
style={\switchtobodyfont[small]},
]
\starttext
\samplefile{ward}
\startbuffer
This is a caption to the top cow (the best?). Moo! I liek milk!
\stopbuffer
\startplacefigure[location={margin,nonumber},title={\getbuffer}]
\externalfigure[cow][width=50mm]
\stopplacefigure
\samplefile{tufte}
\startbuffer
\blue \samplefile{ward}
\stopbuffer
\startplacefigure[location={margin,nonumber},title={\getbuffer}]
\externalfigure[cow][width=50mm]
\stopplacefigure
\input{knuth}
\stoptext