1%D \module 2%D [ file=typo-fln, 3%D version=2013.08.22, % comes from the few years older m-newstuff 4%D title=\CONTEXT\ Typesetting Macros, 5%D subtitle=First Lines, 6%D author=Hans Hagen, 7%D date=\currentdate, 8%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] 9%C 10%C This module is part of the \CONTEXT\ macro||package and is 11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for 12%C details. 13 14\writestatus{loading}{ConTeXt Typesetting Macros / First Lines} 15 16%D I had this code laying around for a while \unknown\ probably as a side effect 17%D of cleaning up the supp-fun modules. There is probably room for improvement 18%D and more features. 19 20% \setupbodyfont[pagella] 21% 22% \starttext 23% 24% \setupindenting[medium,yes] 25% 26% \definefirstline 27% [smallcaps] 28% [alternative=line, 29% color=darkred, 30% style=\setfontfeature{smallcaps}] 31% 32% \setfirstline[smallcaps] \input tufte \par 33% \setfirstline[smallcaps] \input ward \par 34% \setfirstline[smallcaps] \input knuth \par 35% \setfirstline[smallcaps] \input bryson \par 36% 37% \definefirstline 38% [smallcaps] 39% [alternative=word, 40% color=darkblue, 41% style=bold, 42% n=2] 43% 44% \setfirstline[smallcaps] \input tufte \par 45% \setfirstline[smallcaps] \input ward \par 46% \setfirstline[smallcaps] \input knuth \par 47% \setfirstline[smallcaps] \input bryson \par 48% 49% \stoptext 50 51\unprotect 52 53\registerctxluafile{typo-fln}{} 54 55\definesystemattribute[firstline][public] 56 57\appendtoks 58 \c_attr_firstline\attributeunsetvalue 59\to \everyforgetall 60 61\installcorenamespace {firstline} 62 63\installcommandhandler \??firstline {firstline} \??firstline 64 65\setupfirstline 66 [\c!alternative=\v!line, 67 %\c!style=, 68 %\c!color=, 69 \c!n=1] 70 71\unexpanded\def\setfirstline 72 {\dosingleempty\typo_firstline_set} 73 74\unexpanded\def\typo_firstline_set[#1]% 75 {\edef\typo_firstline_handle{\typo_firstline_handle_indeed{#1}}} 76 77\unexpanded\def\typo_firstline_handle_indeed#1% 78 {\dontleavehmode 79 \begingroup 80 \edef\currentfirstline{#1}% 81 \usefirstlinestyleandcolor\c!style\c!color 82 \clf_setfirstline 83 alternative {\firstlineparameter\c!alternative}% 84 ma \c_attr_colormodel 85 ca \c_attr_color 86 ta \c_attr_transparency 87 n \numexpr\firstlineparameter\c!n\relax 88 font \fontid\font 89 dynamic \font_dynamic_value 90 \relax 91% \kern\zeropoint % we need a node 92% \hskip\zeropoint\s!plus\emwidth\relax % can be an option 93 \endgroup 94 \glet\typo_firstline_handle\relax} 95 96\let\typo_firstline_handle\relax 97 98% goodie, question on list 99% 100% \defineframed[ChapterFramed][location=low,background=color,backgroundcolor=red,frame=off] 101% 102% \setuphead[chapter][deeptextcommand=\applytofirstcharacter\ChapterFramed] 103 104\unexpanded\def\applytofirstcharacter#1% 105 {\begingroup 106 \dowithnextbox 107 {\clf_applytofirstcharacter\nextbox{\csstring#1}% 108 \unhbox\nextbox 109 \endgroup}% 110 \hbox} 111 112\protect \endinput 113 |