Zweifarbige Buchstaben

ZweifarbigesBMitunter werden in Foren lustige Sachen gewünscht: einmal brauchte jemand ein zweifarbiges Zeichen, die linke Seite sollte grün und die rechte rot sein.

Für das zweifarbige Zeichen wird ein Befehl \bicolorletter mit einem optionalen Argument für die Farben und einem obligatorischen für den Buchstaben definiert.

Der Befehl reserviert zunächst mit \phantom den benötigten Platz und fügt dann mit Hilfe von \clip die beiden farbigen Buchstabenhälften ein. Die beiden Farben können dabei über Stile festgelegt und geändert werden.

\documentclass[margin=5mm,varwidth]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\tikzset{
   bclleft/.style={.},
   letter left/.style={bclleft/.append style={#1}},
   bclright/.style={.},
   letter right/.style={bclright/.append style={#1}},
}
\newcommand\bicolorletter[2][]{%
   \tikz[baseline=(n.base),inner sep=0pt,outer xsep=0pt,#1]{
     \node(n){\phantom{#2}};
     \foreach \a/\c in {west/bclleft,east/bclright}{
       \begin{scope}
         \clip(n.south)rectangle(n.north \a);
         \node[\c]at(n){#2};
       \end{scope}
     }}}
\begin{document}
\tikzset{letter left=green,letter right=red}
Erst ein grün-roter Buchstabe: \bicolorletter{B}
\par
und dann ein orange-brauner:
\bicolorletter[letter left=orange,letter right=brown]{B}
\par
und wieder ein grün-roter: \bicolorletter{M}
\end{document}

 

ZweifarbigeBuchstaben

Wie man in dem Code sieht, kann zum einen die Farbkombination grün-rot mit

\tikzset{letter left=green,letter right=red}

für mehrere \bicolorletter Befehle festgelegt werden, aber zum anderen kann sie auch mit

\bicolorletter[letter left=orange,letter right=brown]{B}

für ein einzelnes Zeichen individuell gewählt werden.

Ein richtig buntes TikZ bekommt man mit

\foreach \z/\l/\r in {T/red/yellow,i/yellow/green,k/green/blue,Z/blue/red}
  {\bicolorletter[letter left=\l,letter right=\l!50!\r]{\z}}

TikZ_bunt


Posted

in

,

by

Tags:

Comments

3 responses to “Zweifarbige Buchstaben”

  1. Stefan

    Dein Makro zeigt auch schön, wie man TikZ-Text innerhalb von normalem Text ausrichtet. Warum eigentlich je zwei Stile für links bzw. rechts? Ist bclleft als Platzhalter für anderen Grundstil gedacht? Hätte vermutet, ein Stil für links und einer für rechts genügte.

  2. Elke

    Man könnte auch für links und rechts jeweils nur einen Stil verwenden, müsste dann aber im optionalen Argument von \bicolorletter an den zu ändernden Stil jeweils entweder /.style oder /.append style anhängen.

  3. Der Trick mit den zwei Stilen gefällt mir ganz gut. Clever 🙂