% \iffalse % -------------------------------------------------------------------- %<*chit> % \fi % % \subsubsection{Predefined \texttt{chit} element pictures} % % \begin{macrocode} \DeclareRobustCommand\chit@sep[2][/]{% \foreach[count=\is] \s in {#2}{% \ifnum\is>1\relax#1\fi% \s}} % \end{macrocode} % \begin{TikzKey}{/tikz/pics/chit/1 factor, % /tikz/pics/chit/2 factors, % /tikz/pics/chit/2 factors artillery, % /tikz/pics/chit/3 factors, % /tikz/pics/chit/4 factors, % /tikz/pics/chit/identifier, % /tikz/pics/chit/small identifier, % /tikz/pics/chit/identifier macro} % % These pictures can be used as the value of \texttt{chit} keys. % % \begin{macrocode} \def\chit@oset#1#2{% %$\stackrel{{}_{\text{\scriptsize #1}}}{\text{#2}}$% %$\stackrel{\lower2ex\hbox{\text{\scriptsize #1}}}{\text{#2}}$% %${}\overset{\text{\scriptsize #1}}{\text{#2}}{}$% \tikz[]{% \node[inner sep=0pt](chit@dd){#2};% \node[above=-.1ex of chit@dd,inner sep=0pt]{{\scriptsize #1}};% }% } \tikzset{% chit/1 factor/.pic={ \chit@dbg{4}{ Chit 1 factor: #1}% \node[chit/factor,chit/1 factor,pic actions]{#1};}, pics/chit/2 factors/.style args={#1,#2}{% code={% \chit@dbg{4}{ Chit 2 factors: #1 and #2}% \node[chit/factor,chit/2 factors,pic actions]{#1--#2};}}, pics/chit/2 factors artillery/.style args={#1,#2,#3}{% code={ \chit@dbg{4}{ Chit 2 factors w/artillery: `#1' `#2' `#3'}% \node[chit/factor,chit/2 factors]{% {#1}\chit@oset{#3}{--}{#2}};}}, pics/chit/3 factors/.style args={#1,#2,#3}{% code={ \chit@dbg{4}{ Chit 3 factors: `#1' `#2' `#3'}% \node[chit/factor,chit/3 factors]{#1-#2-#3};}}, pics/chit/4 factors/.style args={#1,#2,#3,#4}{% code={ \chit@dbg{4}{ Chit 3 factors: `#1' `#2' `#3' `#4'}% \node[chit/factor,chit/4 factors]{#1-#2-#3-#4};}}, chit/identifier/.pic={ \chit@dbg{4}{ Chit identifier: `#1'}% \node[chit/identifier,pic actions]{#1}; }, chit/identifiers/.pic={ \chit@dbg{4}{ Chit identifiers: `#1'}% \node[chit/identifier,pic actions]{\chit@sep{#1}}; }, chit/small identifier/.pic={ \chit@dbg{4}{ Chit small identifier: `#1'}% \node[chit/small identifier,pic actions]{#1}; }, chit/small identifiers/.pic={ \chit@dbg{4}{ Chit small identifiers: `#1'}% \node[chit/small identifier,pic actions]{\chit@sep{#1}}; }, chit/identifier macro/.pic={% \chit@dbg{4}{ Chit identifier macro: \meaning#1} \edef\chit@i@tmp{#1} \node[chit/identifier,pic actions]{\chit@i@tmp};}, } % \end{macrocode} % \end{TikzKey} % % \begin{TikzKey}{/tikz/chit/factor, % /tikz/chit/1 factor, % /tikz/chit/2 factors, % /tikz/chit/3 factors, % /tikz/chit/4 factors, % /tikz/chit/identifier, % /tikz/chit/small identifier} % % Styles used by the above pictures. Users can change these as they % see fit. % % \begin{macrocode} \tikzset{% chit/factor/.style={ shape=rectangle, font=\sffamily\bfseries\fontsize{12}{14}\selectfont, anchor=base, inner sep=0, %text=pgfstrokecolor, draw=none, fill=none, transform shape, }, chit/1 factor/.style={}, chit/2 factors/.style={}, chit/3 factors/.style={}, chit/4 factors/.style={text/.append style=\fontsize{10}{12}\selectfont}, chit/identifier/.style={ shape=rectangle, font=\sffamily\bfseries\fontsize{8}{9}\selectfont, inner sep=0, % text=pgfstrokecolor, draw=none, fill=none, transform shape, }, chit/small identifier/.style={ shape=rectangle, font=\sffamily\bfseries\fontsize{6}{7}\selectfont, inner sep=0, % text=pgfstrokecolor, draw=none, fill=none, transform shape, }, } % \end{macrocode} % \end{TikzKey} % \iffalse % % -------------------------------------------------------------------- % \fi