Re: [NTG-context] Pull quote between two column - trial
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
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
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
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