ConTeXt 中,浮动对象位于另一个浮动对象内

ConTeXt 中,浮动对象位于另一个浮动对象内

我需要一个页面,其中左侧是带有图片的文本列。在文本列中,我需要右侧的浮动字母。以下是代码:

\starttext
    \startfiguretext[left]{none}%
        {\externalfigure[ http://farm6.static.flickr.com/5260/5543764878_c5b27b5aed_s.jpg]
            [width=26.5mm,height=26.5mm]}%
        \framed[frame=off,width=96mm,align=flushleft]{%
            \placefigure[right,none,fit]{none}{%
                \framed[frame=off,background=letteroverlay,height=1cm]{ A}
            }%
        {\bfb Bla bla bla}%

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc lobortis
        accumsan sem vitae molestie. Mauris tincidunt elementum mi, semper aliquet
        sapien convallis sed.%
        }%
    \stopfiguretext%
\stoptext

问题是,如果我使用字母“A”的框架,图片就会消失。如何在另一个框架内放置浮动框架框?我不能使用边距,因为这应该在两列内。

最终文件看起来应该如下图所示:

文档应如何呈现

答案1

不过,我不确定我是否明白你想要做什么。根据你的标题,你想要一个浮动对象在另一个浮动对象内。这没有多大意义。我认为你并不是真的想要几个浮动对象,而是命令的特定功能\placefloat

我既没有看到您示例中的列,也没有看到示例代码与您提供的图形的匹配程度。不过,这是我能想到的解决方案:

% for the placeholder graphic
\useMPlibrary [dum]

\setuplayout [backspace=5cm, width=middle]

\definefloat      [innerfloat] [innerfloats]
\setupcaption     [innerfloat] [location=none]
\defineframedtext [innerfloat] [frame=off, width=1cm]

\starttext

\inmargin{%
  \externalfigure
    [placeholder]
    [width=26.5mm,height=26.5mm]
  {\bfb Bla bla bla}\par
  Some text…}

\input knuth

\startplaceinnerfloat [location={right,fit}]
  \startinnerfloat
    \bfc A
  \stopinnerfloat
\stopplaceinnerfloat

\input knuth

\stoptext

结果如下:

结果

由于列中的浮动比较棘手,因此我使用边距作为列。

相关内容