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

Attachment: 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
___________________________________________________________________________________

Reply via email to