TikZ/pgf 3.0 有哪些新功能?

TikZ/pgf 3.0 有哪些新功能?

自 2013 年 12 月 20 日起,我们发布了精彩的 TikZ/pgf 软件包的新主要版本:版本 3.0.0!1

不幸的是,我无法找到一个易于理解的变更列表,无法找到有深度的变更列表,甚至无法提供一些示例。这一页可能最接近:2

因此,我想请您指出一些新功能并提供其用法的示例!可能会获得赏金;-)


1.http://sourceforge.net/projects/pgf/
2.http://sourceforge.net/projects/pgf/files/pgf/version%203.0.0/

答案1

答案2

使用 TikZ 3.0,您可以使用混合模式。

混合模式指定在画布上绘画时颜色如何混合。通常,如果您在绿色圆圈上绘制一个红色框,红色将完全取代绿色圆圈。但是,在某些情况下,您可能还希望红色以某种方式与绿色圆圈“混合”或“融合”。我们已经看到,使用透明度,我们可以绘制一些东西而不会完全遮挡背景。混合是一种类似的操作,只是在这里我们以更复杂的方式混合颜色。

笔记:混合是一种PDF 的“高级”功能。大多数渲染器(更不用说打印机)都无法正确渲染混合。

下面是混合模式的示例(screen共有16 种模式:normal,,,,,,,,,,,,,,,,,)。​​​multiplyscreenoverlaydarkenlightencolor dodgecolor burnhard lightsoft lightdifferenceexclusionhuesaturationcolorluminosity

在此处输入图片描述

\documentclass[tikz]{standalone}
\begin{document}
\tikz [blend group=screen] {
  \fill[red!90!black]   ( 90:.6) circle (1);
  \fill[green!80!black] (210:.6) circle (1);
  \fill[blue!90!black] (330:.6) circle (1);
}
\end{document}

答案3

随着 TikZ 3.0math库的到来。

该库定义了一种简单的数学语言来定义简单的函数并执行一系列基本的数学运算。

这是来自手册 (p.629) 的代码,稍加修改后便包含了函数使用。

\documentclass[varwidth,border=50]{standalone}
\usepackage{tikz}
\usetikzlibrary{math}
\tikzmath{
  function step(\n){ return 45/\n; };
  function first(\n){ return step(\n)/2; };
  function next(\n){ return first(\n)+2*step(\n); };
  function testcircle(\a){
    real \s; \s = step(\a);
    for \k in {first(\a),next(\a),...,360}{
      % set the color
      if \k>270 then { let \c = orange; } else {
        if \k>180 then { let \c = blue; } else {
          if \k>90 then { let \c = red; } else {
            let \c = green;
          };
        };
      };
      { % "print" the path command
        \path[fill=\c!50, draw=\c] (\k:0.5cm) -- (\k:1cm) --
          (\k+\s:1cm) -- (\k+\s:0.5cm) -- cycle;
      };
    }; % end for loop
  }; % end test circle
}

\begin{document}
  \begin{tikzpicture}
    \tikzmath{testcircle(4);}
    \begin{scope}[scale=-2.1]
      \tikzmath{testcircle(13);}
    \end{scope}
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容