Thank you very much Pablo !

As a beginner I don't understand very well the complete meaning of "minimal" working sample, perhaps because my own code is full of mistakes and compiles sometimes with somes issues.

The way of making space before and after the frame is now very clear to me, aswell as the way to resize the font size inside a frame.

For my own text between \starttext and \stoptext is not an automatic false text, I didn't understand why the code provides this huge blank space before the frame. Either didn't I understand why sometimes a frame completely disappears when I supprime a footnote previously written inside the frame (but it is another topic...).

JP


Le 17/08/2016 à 19:02, Pablo Rodriguez a écrit :
Hi Jean-Pierre,

sorry, for top-posting, but I think this way the reply will be clearer.

In your previous sample you had two questions.

This sample shows the answer:

     \defineframedtext
         [MyFrame]
         [before={\blank[6*big]},
          after={\blank[6*big]},
          style={\setupbodyfont[5pt]}]

     \starttext
     \dorecurse{3}{\input zapf \startMyFrame\input knuth\stopMyFrame}
     \stoptext

1. before and after control distance in elements.

2. \setupbodyfont[dimension] or \switchtobodyfont[dimension] as values
for the "style" key modify the size (as shown above). Other ways of
doing it are \tfx, \itx and so on.

Your sample isn’t minimal and it doesn’t compile.

\dorecurse needs two arguments (two pair of braces: {}). The second is
missing.

BTW, serif for mainface is defined twice. GFS Didot is selected after
Garamond.

Please compile the following:

8<--------------------------------------------------------------------
\showframe\showgrid
\setuplanguage[fr][patterns={fr,agr}]
\mainlanguage[fr]
\setcharacterspacing[frenchpunctuation]
\setuplayout [backspace=40mm]
\setuppagenumbering[alternative=doublesided, location={header, inmargin}]
\setupmargindata[inmargin][location=inner,
style={\ssx\setupinterlinespace[line=2.8ex]}]
\setupmarginframed[inmargin][align=right]
\setupbodyfontenvironment[default][em=italic]
\definefontfamily[mainface] [serif] [GFS Didot]
\setupbodyfont[mainface]
\setupindenting[1.5em]
\setupindenting[yes]
\setupwhitespace[medium]
\setupinterlinespace[line=3.2ex]
\setuphead[title][header=empty]

\setupheader[style={\sc}]
\setupfooter[style={\itxx}]
\setupheadertexts[Cours de Philosophie][][][{\getmarking[section]}]
\setupfootertexts[][][][© Jean-Pierre Delange, 2016 — La reproduction de
ce texte est soumise à autorisation.]
%~ \setupsymbolset[text]

% Début de la définition d'un texte encadré en rouge
\defineframedtext
[MyFrame]
[before={\blank},
after={\blank},
frame=off,
background=MyFrame,
%width=\textwidth,
width=max,
height=fit]

\definelabel
[Definition]
[headstyle=\bf\smallcaps]

\startuseMPgraphic{MyFrame}
path b;
picture p;
%p := textext.rt("\white\Definition");
p := textext.rt("\white\framedtextparameter{Title}");
%p := textext.rt("\white\getvariable{text}{text1}");
p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);
b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
fill OverlayBox withcolor lightgray; %\MPcolor{
fill b withcolor darkred;
draw bottomboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw topboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw p;
setbounds currentpicture to boundingbox currentpicture enlarged 2mm;
\stopuseMPgraphic

\defineoverlay
[MyFrame]
[\useMPgraphic{MyFrame}]
% Fin de la définition d'un texte encadré en rouge
\starttext
\dorecurse{4}{
\input ward

\startMyFrame[Title=Avertissement]
La plupart des termes et des expressions qui doivent attirer l'attention
du lecteur sont soulignés ici par des {\em italiques}. On trouvera {\em
dans la marge} du texte de brèves indications biographiques et
bibliographiques, tandis que les explications plus développées sont
renvoyées en {\em notes de bas de page}. On trouvera à la fin de cet
ouvrage une bibliographie des textes cités\footnote{Seuls les références
aux textes classiques sont données, à l'exception des textes spécialisés}.
\stopMyFrame}
\stoptext
-------------------------------------------------------------------->8

AfaIk, frames cannot be split, so the whole frame is moved to the next
page. It needs 8 lines and it only has 6 in the first page.

I hope it is clear now.

Pablo



On 08/17/2016 05:57 PM, Jean-Pierre Delange wrote:
Hi Thomas,

I am very sorry. As a beginner with ConTeXt, I surely make mistakes,
even in the way to show which issues I am confronting to. Maybe I ought
to give the whole code where some errors occured, but I thought that the
code was too long to be mailed to this list. That's why I have mailed a
piece of the code concerning a colored framed but not the whole stuff.
Thinking the issue occured with this special frame (and not with any
other kind of frame), I have given this particular code.

BTW, in order to make understandable what kind of issue occured by this
particular frame, I didn't want to give a sample too huge (I place this
colored frame at the end of each section of my book). Anyway, I try to
understand how manage the place of THIS colored frame just after a text
(with no rejection of the frame to the following page); and I will be
very pleased to understand how to resize the text font inside the frame.
At last, how to manage footnotes within this framed text (the footnote
numbering appears, but the text doesn't appear inside nor outside the
framed text).

Thank you very much for your help.

JP

See below the whole sample code :

\setuplanguage[fr][patterns={fr,agr}]

\mainlanguage[fr]

\setcharacterspacing[frenchpunctuation]

\setuplayout [backspace=40mm]

\setuppagenumbering[alternative=doublesided, location={header, inmargin}]

\setupmargindata[inmargin][location=inner,
style={\ssx\setupinterlinespace[line=2.8ex]}]

\setupmarginframed[inmargin][align=right]

\setupbodyfontenvironment[default][em=italic]

\definefallbackfamily[mainface][serif][Theano Didot][preset=range:greek,
it={Old Standard Italic}, force=yes]

\definefallbackfamily [mainface] [rm] [ipaexmincho]
[range=cjkunifiedideographs]

\definefallbackfamily[mainface] [serif] [nafeesnastaleeq] [range=arabic]

\definefontfamily [mainface] [serif] [GaramondNo8][sc=NewG8 Regular SC]

\definefontfamily [mainface] [sans] [FreeSans] [rscale=0.7]

\definefontfamily[mainface] [serif] [GFS Didot]

\setupbodyfont[mainface]

\setupcolors[state=start]

\setupindenting[1.5em]

\setupindenting[yes]


\setupwhitespace[medium]

\setupinterlinespace[line=3.2ex]


\setupitemize[each][margin=yes]


\setuphead[title][header=empty]


\setupheader[style={\sc}]

\setupfooter[style={\itxx}]

\setupheadertexts[Cours de Philosophie][][][{\getmarking[section]}]

\setupfootertexts[][][][© Jean-Pierre Delange, 2016 — La reproduction de
ce texte est soumise à autorisation.]

\setupsymbolset[text]


% Début de la définition d'un texte encadré en rouge

\defineframedtext

[MyFrame]

[before={\blank},

after={\blank},

frame=off,

background=MyFrame,

%width=\textwidth,

width=max,

height=fit,

style=regular]


\definelabel

[Definition]

[headstyle=\bf\smallcaps]


\startuseMPgraphic{MyFrame}

path b;

picture p;

%p := textext.rt("\white\Definition");

p := textext.rt("\white\framedtextparameter{Title}");

%p := textext.rt("\white\getvariable{text}{text1}");

p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);

b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;

fill OverlayBox withcolor lightgray; %\MPcolor{

fill b withcolor darkred;

draw bottomboundary OverlayBox withpen pencircle scaled 1pt withcolor

darkred;

draw topboundary OverlayBox withpen pencircle scaled 1pt withcolor

darkred;

draw p;

setbounds currentpicture to boundingbox currentpicture enlarged 2mm;

\stopuseMPgraphic


\defineoverlay

[MyFrame]

[\useMPgraphic{MyFrame}]

% Fin de la définition d'un texte encadré en rouge

\starttext

\dorecurse{4}

\input ward


\startMyFrame[Title=Avertissement]

La plupart des termes et des expressions qui doivent attirer l'attention
du lecteur sont soulignés ici par des {\em italiques}. On trouvera {\em
dans la marge} du texte de brèves indications biographiques et
bibliographiques, tandis que les explications plus développées sont
renvoyées en {\em notes de bas de page}. On trouvera à la fin de cet
ouvrage une bibliographie des textes cités\footnote{Seuls les références
aux textes classiques sont données, à l'exception des textes spécialisés}.

\stopMyFrame

\stoptext


___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 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
___________________________________________________________________________________

Reply via email to