On Fri, 18 Aug 2017, Henri wrote: > On Thu, 2017-08-17 at 15:25 +0200, Fabrice Couvreur wrote: >> Hello, >> To get the alignment, I had to create three \vbox. Can we simplify this code a bit ? >> Thank you >> Fabrice > > Use the optional argument of the new framed you defined. In addition to that, you can also simplify other things as well. This is how I would have done it: % macros=mkvi \showframe \setuplayout [header=3\lineheight, headerdistance=\lineheight] \setupbackgrounds [header] [text] [ frame=off, bottomframe=on, framecolor=darkgray, rulethickness=2pt, ] \defineframed[headerframed] [ frame=off, % For visualization set this to on height=fit, width=fit, location=bottom, boffset=\lineheight, ] \starttexdefinition MyHeader #where #day #month #year #title #number #time \setupheadertexts [{\headerframed[align=middle, foregroundstyle=bold, foregroundcolor=red] {#title n\high{o}\,#number}}] \setupheadertexts [{\headerframed[align=flushleft, foregroundstyle=\ssx] {Lycée JANSON DE SAILLY \\ \date[d=#day,m=#month,y=#year]}}] [{\headerframed[align=flushright, foregroundstyle=\ssx] {#where \\ {#time}}}] \stoptexdefinition \MyHeader{Seconde}{17}{08}{2017}{Devoir surveillé}{1}{1h\,30m} \starttext \input knuth \stoptext An added benefit is that you get correct interlinespace for the left and right header. Aditya