\setfirstline for headings/titles ?
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
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@gmail.com Sent: Tuesday, October 27, 2015 1:29 PM To: ntg-context@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
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@gmail.com Sent: Wednesday, October 28, 2015 7:19 PM To: ntg-context@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@gmail.com Sent: Tuesday, October 27, 2015 1:29 PM To: ntg-context@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
participants (1)
-
josephcanedo@gmail.com