[NTG-context] \setfirstline for headings/titles ?

josephcanedo at gmail.com josephcanedo at gmail.com
Thu Oct 29 11:35:17 CET 2015


Came up with some solution using lua, probably not the most elegant one but seems to work. Attached below in case it’s of any interest for anyone.


\setupheads[
  align=center]


\startluacode
  userdata = userdata or {}


  userdata.test = function(n)
     local breakline = n:find([[\\]])
     local modified
     if breakline then
        modified = [[{\tfa ]] .. n:sub(1, breakline + 1) .. '}' .. n:sub(breakline + 2)
     else
        modified = [[{\tfa ]] .. n .. '}'
     end
     context(modified)
  end


\stopluacode


\define[1]\MyCmd{\ctxlua{userdata.test('\luaescapestring{#1}')}}


\setuphead[subject][style=\tf,
  deeptextcommand=\MyCmd]


\starttext


\startsubject[title={A very very very long title for subject\\
we know will not fit in single line of output but\\
 A very very very long title for subject we know will not fit\\
 in single line of output}]


Some text.


\stoptext





From: josephcanedo at gmail.com
Sent: ‎Wednesday‎, ‎October‎ ‎28‎, ‎2015 ‎7‎:‎19‎ ‎PM
To: ntg-context at ntg.nl





Hello all,




Perhaps a more meaningful example, actually I explicitly break lines Inside title text.




\setuphead[subject][align=center]




\starttext




\startsubject[title={First title line\\ \tf eventual second line}] % second line same size as normal text Howto ?




Some text here




\stopsubject




\stoptext






I tried with \tf but it does not change the size of text in the title after it. (In LaTeX I used \normalsize)




Is there any solution that would allow to type:




\startsubject[title={First title line\\ eventual second line}] 




and output second line in smaller text than the first one (without adding any font modifier in the title if possible) ?




Many thanks for any help

Best regards




Joseph



From: josephcanedo at gmail.com
Sent: ‎Tuesday‎, ‎October‎ ‎27‎, ‎2015 ‎1‎:‎29‎ ‎PM
To: ntg-context at ntg.nl





Dear all,




Still playing with \setfirstline, I was wondering how to apply it for headings as well ? Naive sample below does not work for the subject title, most probably because headings/titles have different processing than normal paragraphs.




\definecolumnset[TwoColumns][n=2]




\definefirstline[bbigline][alternative=line,
  style=\tfa]




\starttext




\startcolumnset [TwoColumns]




\startsubject[title={\setfirstline[bbigline] A very very very long title for subject we know will not fit in single line of output}] % first line with different style as in the text below ?




\setfirstline[bbigline] Some paragraph content here. First line should be printed bigger than rest of lines.




\stopsubject




\stopcolumnset




\stoptext




Thanks a lot,

Best regards




Joseph Canedo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20151029/702e701b/attachment-0001.html>


More information about the ntg-context mailing list