how to apply metapost effects to section title?
i want to produce a gradient header i tried this code but it does not produce any result: \startext \def\Mystyle#1{\startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "#1", ] ; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode } \definehead[Myhead][section] \setuphead[Myhead][ style=\Mystyle, ] \startMyhead[title=sample] a sample text \stopMyhead \stoptext and the code below works but does not colorize numbers of this heads: \starttext \def\Mystyle#1{\startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "#1", ] ; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode } \def\startMysection#1{\startsection[title=\Mystyle{#1}]} \def\stopMysection{\stopsection} \startMysection{hello} what is best method? \stopMysection \stoptext what is your suggestion?
seyal.zavira@gmail.com schrieb am 09.04.2024 um 14:53:
i want to produce a gradient header i tried this code but it does not produce any result:
\startext \def\Mystyle#1{\startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "#1", ] ; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode }
\definehead[Myhead][section] \setuphead[Myhead][ style=\Mystyle, ] \startMyhead[title=sample] a sample text \stopMyhead \stoptext
You can't use commands with parameters as argument for the style key. To format single parts (number or title) of a section title you have to apply a command to the "deep...command" key but even then you have to make manual changes to the vertical alignment of the text. %%%% begin example \starttexdefinition spaces Mystyle #1 \setbox\scratchboxone\hbox{#1}% \setbox\scratchboxtwo\hbox\bgroup \startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "#1", ]; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode \egroup \boxyoffset\scratchboxtwo-\dp\scratchboxone \box\scratchboxtwo \stoptexdefinition \starttext \setuphead [section] [ deeptextcommand=\Mystyle, % deepnumbercommand=\Mystyle, ] \startsection[title=Lorem ipsum] \samplefile{lorem} \stopsection \stoptext %%%% end example
and the code below works but does not colorize numbers of this heads: \starttext
\def\Mystyle#1{\startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "#1", ] ; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode }
\def\startMysection#1{\startsection[title=\Mystyle{#1}]} \def\stopMysection{\stopsection}
\startMysection{hello} what is best method? \stopMysection
\stoptext
what is your suggestion?
To apply the format the the complete section title you have to create your own style and apply it with the "command" key, to get the number and title for the current section use the \structurenumber and \structuretitle macros. %%%% begin example \starttexdefinition spaces protected Mystyle #1#2 \startMPcode picture tt ; tt := lmt_outline [ kind = "path", text = "\structurenumber\space\structuretitle", ]; fill for i within tt : pathpart i && endfor cycle withshademethod "linear" withshadedirection up withshadecolors (red, blue) ; \stopMPcode \stoptexdefinition \starttext \setuphead [section] [command=\Mystyle] \startsection[title=Lorem ipsum] \samplefile{lorem} \stopsection \stoptext %%%% end example Wolfgang
participants (2)
-
seyal.zavira@gmail.com
-
Wolfgang Schuster