如何为 `tikz-network` 中的顶点的可重用参数指定变量?

如何为 `tikz-network` 中的顶点的可重用参数指定变量?

我想指定一次参数,然后将其应用于大量\Vertex节点。

即对于常规 tikz 节点,您可以使用\tikzstyle它来重复节点的参数。此外,我想设置 的参数,\Vertex而不是底层的\node

\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{tikz-network}
\tikzstyle{my_tikz_style}=[fill=green]
\tikzstyle{my_network_style}=[Math]
\tikzstyle{my_network_style_wrong}=[fill=red]
\begin{document}
\begin{tikzpicture}
  \node[my_tikz_style] (A) at (0,1){};
  \Vertex[Math,y=2]{B}
  % what works, but what I don't want: 
  \Vertex[y=3,style=my_network_style_wrong]{C}
  
  % what i want, but doesn't work: 
  %\Vertex[my_network_style,y=4]{D}
\end{tikzpicture}
\end{document}

我还没有找到任何方法来做到这一点tikz 网络文档

如果你能说出这个包的合适替代品tikz-network,请

答案1

阅读包文档,似乎可以为所有内容设置样式,\Vertex但不能为其中一些包含布尔值的内容创建样式Math

尝试使用新命令。

\documentclass{article}
%\usepackage{tikz}% tikz-network already loads TikZ
\usepackage{tikz-network}
% See: https://tex.stackexchange.com/questions/52372/should-tikzset-or-tikzstyle-be-used-to-define-tikz-styles
\tikzset{
    my_tikz_style/.style={fill=green},
    my_network_style_wrong/.style={fill=red}
    }
\newcommand{\mynetworkstyle}{Math}

\begin{document}
\begin{tikzpicture}
  \node[my_tikz_style] (A) at (0,1){};
  \Vertex[Math,y=2]{B}
  % what works, but what I don't want: 
  \Vertex[y=3,style=my_network_style_wrong]{C}
  
  % what you want: 
  \Vertex[\mynetworkstyle,y=4]{D}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容