On 15.06.2011 15:15, Wolfgang Schuster wrote:
Am 15.06.2011 um 10:17 schrieb Hans Hagen:
Did you check the details.pdf manualal?
This won’t help because it’s ConTeXt’s fault.
This is a quick fix for strc-flt.mkiv but the leftmargin etc. keys are
then ignored when the caption is placed in the margin.
%\def\locatefloatbox
% {\alignstrutmode\zerocount
% \shiftalignedline
% {\floatparameter\c!leftmargin }{\floatparameter\c!rightmargin}%
% {\floatparameter\c!innermargin}{\floatparameter\c!outermargin}%
% \alignedline{\floatparameter\c!location}\v!middle}
\def\locatefloatbox
{\alignstrutmode\zerocount
\doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
{\shiftalignedline
{\floatparameter\c!leftmargin }{\floatparameter\c!rightmargin}%
{\floatparameter\c!innermargin}{\floatparameter\c!outermargin}}%
\alignedline{\floatparameter\c!location}\v!middle}
Your solution doesn't seems to work, I still don't see a caption
anywhere when using location=rightmargin. When I inserted your fix I
stumbled upon the fact that there is \def\locatebcaptionbox below
\def\locatefloatbox. You provided a fix for \locatefloatbox, but
shouldn't it be for \locatecaptionbox? I have no clues about the
internals of ConTeXt, but I tried the following:
\def\locatecaptionbox
{\alignstrutmode\zerocount
\doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
{\shiftalignedline
{\floatcaptionparameter\c!leftmargin
}{\floatcaptionparameter\c!rightmargin}%
{\floatcaptionparameter\c!innermargin}{\floatcaptionparameter\c!outermargin}}%
\alignedline{\floatparameter\c!location}\v!middle}
Note that I just translated your fix to \locatecaptionbox. At least it
didn't throw an error!
The reason why the caption disappears is that you put it
in \everyrightofalignedline and the content is replaced with
the rightmargin skip in the \shiftalignedline command.
Wolfgang
My attempt at understanding that explanation: The caption is placed to
the right of aligned line (because it is supposed to got into the
margin?), and for all things that are placed that way,
\everyrightofalignedline is called. And that macro replaces the caption
with a skip, but should instead skip across the margin skip and then
place the caption?
Regards
Christoph
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________