Re: [NTG-context] Pull quote between two column - trial

2022-05-29 Thread Garulfo via ntg-context
to use pull quotes, I need to use the dimensions of the different 
elements to be typeset, before typesetting, in order to adapt the shapes 
of the flow accordingly.


So here is just a basic code to
1/ get the dimensions of an item A that will be typeset, before it is 
actually typeset
2/ use these dimensions to define a item B that should be typeset before 
item 1

3/ typeset of item B and finally item A


It is a quick and dirty solution.

Please, could you help me to have a more elegant solution

1/ to replace

 "width=\measure{FTitleW},"

by something more direct like

 "width=\GetDim{myframes}{FTitle}


2/ to replace

   context("\\definemeasure[#2W][" .. (n.width /65536)  .. "pt]")

   by a more "luametatexish" formulation



Le 28/05/2022 à 20:25, Garulfo a écrit :

some progress... if it can help.

No more issue with nonsymetrical behavior, and \framed are properly 
aligned with the grid.


Garulfo

mesure_framed.pdf
Description: Adobe PDF document

\defineblock[myframes]

\unexpanded\def\GetDim#1#2{
\setbox\scratchbox\hbox\bgroup\useblocks[#1][#2]\egroup%
\directlua{%
local n = tex.getbox('scratchbox')
context("\\definemeasure[#2W][" .. (n.width /65536)  .. "pt]")
context("\\definemeasure[#2H][" .. (n.height /65536)  .. "pt]")
}}


%--

\starttext

\beginmyframes[FTitle]
\framed
  [align=normal]
  {initial framed for a title zone\\
   early in the source code but not yet typeset\\
   with a long sentence to take place horizontaly and for demonstration}
\endmyframes

\GetDim{myframes}{FTitle}

\framed
  [align=normal,
   width=\measure{FTitleW},
   height=\measure{FTitleH}]
  {a second framed, with dimensions equal to the original frame, typeset before the original}

\useblocks[myframes][FTitle]

\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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Pull quote between two column - trial

2022-05-28 Thread jbf via ntg-context
That is progress, Garulfo, and real progress! I'm sorry I have not been 
any help to you in achieving this... a bit beyond my skill set. But I 
have long regarded this particular 'feature' to be a quite important 
'missing' feature of ConTeXt, since I occasionally get requests from 
authors as to the possibility of including such pull quotes in 
multi-column presentations, and I have to tell them that to do so I need 
to use another program where that is more easily achieved.


So, I just wanted you to know that someone out there appreciates your 
efforts with this, one of many I am sure.


Julian

On 29/5/22 04:25, Garulfo via ntg-context wrote:

some progress... if it can help.

No more issue with nonsymetrical behavior, and \framed are properly 
aligned with the grid.


Garulfo

___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___

___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Pull quote between two column - trial

2022-05-28 Thread Garulfo via ntg-context

some progress... if it can help.

No more issue with nonsymetrical behavior, and \framed are properly 
aligned with the grid.


Garulfo


getshapetext_for_pullquote.pdf
Description: Adobe PDF document
\setuplayout [grid=yes]

\showgrid

\definecolor [transparentred]  [r=1,t=.5,a=1]

\def\numA{18}
\def\numB{4}
\def\numC{8}
\def\numD{14}
\def\mygap{0.001pt}

%===

\startMPinclusions
path pleft ; path pright ;

numeric LA ; LA := (\numA-1)*LineHeight + StrutHeight + StrutDepth + \mygap ;
numeric LB ; LB :=  \numB   *LineHeight - StrutHeight - StrutDepth + \mygap ;
numeric LC ; LC :=  \numC   *LineHeight - StrutHeight - StrutDepth - \mygap ;
numeric LD ; LD :=  \numD   *LineHeight ;
numeric LE ; LE := 2cm ;

pleft := (0cm , 0cm) --
 (LD  , 0cm) --
 (LD  , LA - LC) --
 (LD - LE , LA - LC) --
 (LD - LE , LA - LB) --
 (LD  , LA - LB) --
 (LD  , LA ) --
 (0cm , LA ) --
 cycle  ;

pright := pleft reflectedabout ((LD/2,0cm) , (LD/2,1cm));

\stopMPinclusions

\startuseMPgraphic{mytest1}  % column on the left of the pull quote
lmt_parshape [path = pleft ] ;
fill pleft withcolor \MPcolor{transparentred} ;
\stopuseMPgraphic

\startuseMPgraphic{mytest2}  % column on the right of the pull quote
lmt_parshape [path = pright] ;
fill pright withcolor \MPcolor{transparentred} ;
\stopuseMPgraphic

\defineoverlay[myOL1][\useMPgraphic{mytest1}]
\defineoverlay[myOL2][\useMPgraphic{mytest2}]

%===

\defineframed
  [MyBigFrame]
  [offset=-0.26pt,
   frameoffset=0pt,
   frame=off,
   strut=yes,
   before=,
   location=top,
   height=\dimexpr(\numA\lineheight),
   width=\textwidth,
   align=normal,]

\defineframed
  [MyFrame]
  [MyBigFrame]
  [location=high,
   width=\dimexpr(\numD\lineheight),
   after=\dontleavehmode,]

%===

\starttext

{\bf Before}   %

\startshapetext[mytest1,mytest2]
\strut\samplefile{douglas}
\stopshapetext

\MyBigFrame{%
\MyFrame[background=myOL1]{\getshapetext}%
\hfill%
\MyFrame[background=myOL2]{\getshapetext}}

{\bf Between}  %

\startshapetext[mytest1,mytest2]
\strut\samplefile{knuth}\par\samplefile{knuth}
\stopshapetext

\MyBigFrame{%
\MyFrame[background=myOL1]{\getshapetext}%
\hfill%
\MyFrame[background=myOL2]{\getshapetext}}

{\bf After}%

\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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] Pull quote between two column - trial

2022-05-21 Thread Garulfo via ntg-context

Hi all,

hope you are all doing well.

I am still trying to display pull quote between two columns.

lmt_parshape is really helpfull.


I need to add a 1pt gap to make the left column behave correctly,
but the right column remains shifted one line below the intended one.

Question1: any clue ?

Question2: is there a way to use the columnset system to produce a 
similar output ?


Thanks again for your feedbacks,
Garulfo
\setuplayout
  [grid=yes,
   headerdistance=5mm,
   margindistance=5mm,
   backspace=17.5mm,
   margin=10mm,
   topspace=40mm,
   height=23cm,
   header=10mm,
   footer=10mm,
   width=17.5cm]

%\showframe
%\showgrid
\usemodule [visual]

\setupbodyfont [palatino,11pt]

\definecolor [transparentred]  [r=1,t=.5,a=1]
\definecolor [transparentgreen][g=1,t=.5,a=1]

%

\def\posA{10}
\def\posB{20}
\def\mygap{1pt}
\def\mypen{1pt}
\def\PQhalfwith{20mm}

%

\startuseMPgraphic{mytest0}   % for basic straight column
begingroup ;
save p ; path p ;
p := (0,0)  --
 (0.3*TextWidth,0cm) --
 (0.3*TextWidth,TextHeight) --
 (0cm,TextHeight) --cycle  ;
lmt_parshape [path = p] ;
draw p withpen pencircle scaled \mypen ;
endgroup ;
\stopuseMPgraphic

\startuseMPgraphic{mytest1}  % column on the left of the pull quote
begingroup ;
save p ; path p ;
p := (0,0)  --
 (0.3*TextWidth,0cm) --
 (0.3*TextWidth,TextHeight+\mygap-\posB*LineHeight) --
 (0.3*TextWidth-\PQhalfwith,TextHeight+\mygap-\posB*LineHeight) --
 (0.3*TextWidth-\PQhalfwith,TextHeight-\mygap-\posA*LineHeight) --
 (0.3*TextWidth,TextHeight-\mygap-\posA*LineHeight) --
 (0.3*TextWidth,TextHeight) --
 (0cm,TextHeight) --cycle  ;
lmt_parshape [path = p] ;
draw p withpen pencircle scaled \mypen ;
endgroup ;
\stopuseMPgraphic

\startuseMPgraphic{mytest2}   % column on the right of the pull quote
begingroup ;
save p ; path p ;
p := (0,0)  --
 (0.3*TextWidth,0cm) --
 (0.3*TextWidth,TextHeight) --
 (0cm,TextHeight) --
 (0.0*TextWidth,TextHeight-\mygap-\posA*LineHeight) --
 (0.0*TextWidth+\PQhalfwith,TextHeight-\mygap-\posA*LineHeight) --
 (0.0*TextWidth+\PQhalfwith,TextHeight+\mygap-\posB*LineHeight) --
 (0.0*TextWidth,TextHeight+\mygap-\posB*LineHeight) --
 cycle  ;
lmt_parshape [path = p] ;
draw p withpen pencircle scaled \mypen ;
endgroup ;
\stopuseMPgraphic

\defineoverlay[myOL1][\useMPgraphic{mytest1}]
\defineoverlay[myOL2][\useMPgraphic{mytest2}]

%

\defineframed
  [FramePage]
  [align=width,
   frame=off,
   location=high,
   strut=yes,
   offset=0pt,
   width=\textwidth,
   height=\textheight,
   before=]

\defineframed
  [FrameColumn]
  [FramePage]
  [background=color,
   backgroundcolor=transparentred,
   width=0.3\textwidth,
   after=\dontleavehmode]

%

\definelayer % used to display the pull quote on the page
  [test]
  [x=0mm,
   y=0mm,
   width=\paperwidth,
   height=\paperheight]

%===

\starttext

\startshapetext[mytest1,mytest2,mytest0,mytest0]%
\strut%
\dorecurse{3}{\samplefile{douglas}
\blank[1*line]}%
\stopshapetext

%
% First page

\FramePage{%
\FrameColumn[background={color,myOL1}]{\getshapetext}\hfill
\FrameColumn[background={color,myOL2}]{\getshapetext}\hfill
\FrameColumn{empty}}


% and the pull quote

\setlayer
  [test]
  [hoffset=\backspace+0.3\textwidth-\PQhalfwith+0.2pt,
   voffset=\dimexpr(\topspace+\headerheight+\headerdistance+\posA\baselineskip-0.4pt)]
 {\framed[
background=color,
backgroundcolor=transparentgreen,
frame=off,
strut=yes,
offset=0pt,
width=\dimexpr(0.05\textwidth)+\PQhalfwith+\PQhalfwith,
height=\dimexpr(\posB\baselineskip-\posA\baselineskip)]{\bfd PULL QUOTE\\TRIAL}}

\setupbackgrounds[page][background={foreground,test}]

%
% Second page just to demonstrate that \getshapetext continue to work

\page

\FramePage{%
\FrameColumn{\getshapetext}\hfill
\FrameColumn{\getshapetext}\hfill
\FrameColumn{empty}}


\stoptext



pullquote_between_column_v01.pdf
Description: Adobe PDF document
___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net