12

I made a logo for the math software Maxima with Tikz, using the contour package and transparency, but the contour seems to show up "behind" the letters in addition to around them. This shows up when using transparency. How to avoid the contour behind letters?

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[outline]{contour}
\begin{document}
  \scalebox{20} {
    \begin{tikzpicture}
      \draw node [rectangle,
                  rounded corners=2.55mm,
                  draw=white,
                  very thin,
                  fill=blue!10!white,
                  inner sep=2.55mm,
                  anchor=north east] (logo) {};
      \contourlength{0.05mm};
      \node (xi)    [ left=-3.7mm of logo] {
                        \large\bf\color{blue!20!white}\contour{white}{$\zeta$}};
      \contourlength{0.05mm};
      \node (sigma) [right=-4.7mm of logo] {
                        \large\bf\color{blue!20!white}\contour{white}{$\Sigma$}};
      \contourlength{0.15mm};
      \node (M)     [opacity=.6] at (logo) {
                        \bf\color{red!50!white}\contour{white}{M}};
    \end{tikzpicture}
  }
\end{document}

enter image description here

1 Answer 1

8

Use transparency groups to set the opacity. This ensures that the elements in the transparency group are opaque to each other and the opacity is only set when they are rendered on to the canvas.

\documentclass{article}
%\url{http://tex.stackexchange.com/q/140437/86}
\usepackage{tikz}
\usepackage[outline]{contour}
\begin{document}
  \scalebox{20} {
    \begin{tikzpicture}
  \fill[blue!10!white] (0,0) circle[radius=2.55mm];
      \contourlength{0.05mm};
      \node (xi) at (-1.15mm,0) {
                        \large\bf\color{blue!20!white}\contour{white}{$\zeta$}};
      \contourlength{0.05mm};
      \node (sigma) at (.6mm,0) {
                        \large\bf\color{blue!20!white}\contour{white}{$\Sigma$}};
  \begin{scope}[transparency group,opacity=.6]
      \contourlength{0.15mm};
      \node (M) at (0,0) {
                        \bf\color{red!50!white}\contour{white}{M}};
  \end{scope}
    \end{tikzpicture}
  }
\end{document}

I think that your way of drawing a circle is one of the most complicated that I've seen! So I redrew it as a circle. Since your positioning was in terms of the node, either I had to do the coordinates by hand or put in a blank node to position from. I elected to do the former since it seemed that there was a fair amount of manual adjustment going on to get those exact lengths. I think I got the positions pretty accurate.

Maxima logo

2
  • Excellent! I didn't know about transparency groups. I agree that my circle definition is strange, but I do it that way because I need the rectangular upper east anchor in a scope outside the logo, a trick I actually read in the manual v2.10 page 65. Oct 24, 2013 at 13:32
  • 1
    "Though this be madness, yet there is method to it." You could achieve the same effect by \coordinate (top right) at (2.55mm,2.55mm); Oct 24, 2013 at 13:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .