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
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
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