具有轮廓和透明度的 Tikz

具有轮廓和透明度的 Tikz

我使用 Tikz 为数学软件 Maxima 制作了一个徽标,使用了轮廓包和透明度,但除了字母周围外,轮廓似乎还显示在字母“后面”。使用透明度时会出现这种情况。如何避免轮廓出现在字母后面?

\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}

在此处输入图片描述

答案1

使用透明度组来设置不透明度。这可确保透明度组中的元素彼此不透明,并且仅在它们渲染到画布上时才设置不透明度。

\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}

我认为你画圆的方式是我见过的最复杂的方式之一!所以我把它重新画成了一个圆。由于你的定位是根据节点进行的,所以我要么手动设置坐标,要么放入一个空白节点来定位。我选择前者,因为似乎需要进行大量手动调整才能获得这些精确的长度。我认为我的位置相当准确。

千里马徽标

相关内容