每种绘画风格

每种绘画风格

我经常使用every node/.style={blue,draw}为每个节点设置样式,如下面的 MWE 所示

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[every node/.style={blue,draw}]
    \node {Text};
    \end{tikzpicture}
\end{document}

我曾尝试将此方法应用于不是节点,但我失败了。这是我的代码

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[every draw/.style={->,red,thick}]
    \draw(0,0)--(5,0);
    \end{tikzpicture}
\end{document}

我们如何才能实现这个目标?

答案1

没有every draw可用的。一种可能的方法是设置样式every path

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[every path/.style={->,red,thick}]
    \draw(0,0)node[left]{$ A $}--(5,0)node[right]{$ B $};
    \end{tikzpicture}
\end{document}

enter image description here

另一种解决方案是全局设置drawevery picture这样,颜色规范就不会影响节点!

\documentclass{article}
\usepackage{tikz}
\tikzset{every picture/.style={->,draw=red,thick}}
\begin{document}
    \begin{tikzpicture}
    \draw(0,0)node[left]{$ A $}--(5,0)node[right]{$ B $};
    \end{tikzpicture}
\end{document}

enter image description here

答案2

正如其他答案所说,您可以设置,但这会改变节点样式。解决此问题的一种方法是在之后every path设置:every node

Sample output

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[every path/.style={->,red,thick},
  every node/.style={draw,blue,thin}]
  \draw(0,0)--(5,0) node[rectangle] {XX} -- (5,-1);
\end{tikzpicture}

\end{document}

答案3

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}
\begin{tikzpicture}[>=stealth, every node/.style={midway, sloped, font=\tiny},
decoration={show path construction,
lineto code={
\draw [red, thick,->] (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast);},}]
\path [decorate] (0,0) -- (3,1);
\end{tikzpicture}
\end{document}

enter image description here

答案4

继续上面的评论,这里有一个every path在范围环境中使用来实现一组路径(包括节点)的样式效果的演示。请注意,范围之前和之后的绘制操作都获得默认样式。

\documentclass[border=5pt]{standalone}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw (0,0) rectangle ++(4,4);

\begin{scope}[every path/.style={draw, line width=2.0mm, color=red}]
    \draw (1,1) -- ++(4,0);
    \draw (2,2) rectangle ++(3,3);
    \node at (3,3) {Narf};
\end{scope}

\draw (3,3) -- ++(4,0);
\node[draw] at (6,6) {Poit};

\end{tikzpicture}
\end{document}

要应用此技术并使样式适用于draw但不适用node,请将所有draw命令置于范围内,并将所有node命令保留在范围之外。

scope example

相关内容