如何在 tikz 中将两个数字相加?乘法似乎很简单...
我想“交错”下图中的节点,因此同一层中的节点位于下面层的节点之间,而不是直接位于它们之上。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\def\layersep{1.5cm}
\def\unitsep{1.5cm}
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{neuron}=[circle,draw,fill=white!25,minimum size=25pt,inner sep=0pt]
\foreach \x in {1,...,3}
\path node[neuron] (L_2_\x) at (\x*\unitsep,2*\layersep){};
\foreach \x in {1,...,2}
\path node[neuron] (L_3_\x) at (\x*\unitsep,3*\layersep){};
\foreach \x in {1,...,1}
\path node[neuron] (L_4_\x) at (\x*\unitsep,4*\layersep){};
\end{tikzpicture}
\end{document}
我尝试过这些,但是它们不起作用:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\def\layersep{1.5cm}
\def\unitsep{1.5cm}
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{neuron}=[circle,draw,fill=white!25,minimum size=25pt,inner sep=0pt]
\foreach \x in {1,...,3}
\path node[neuron] (L_2_\x) at (\x*\unitsep,2*\layersep){};
\foreach \x in {1,...,2}
\path node[neuron] (L_3_\x) at ({.5+\x}*\unitsep,3*\layersep){};
\foreach \x in {1,...,1}
\path node[neuron] (L_4_\x) at ($1+\x$*\unitsep,4*\layersep){};
\end{tikzpicture}
\end{document}
答案1
像这样?
请注意,\tikzstyle
已被弃用并且不应使用。
\documentclass[border=5pt, multi, tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\def\layersep{1.5cm}
\def\unitsep{1.5cm}
\begin{tikzpicture}
[
shorten >=1pt,->,
draw=black!50,
node distance=\layersep,
neuron/.style={circle,draw,fill=white!25,minimum size=25pt,inner sep=0pt}
]
\foreach \x in {1,...,3}
\path node[neuron] (L_2_\x) at (\x*\unitsep,2*\layersep){};
\foreach \x in {1,...,2}
\path node[neuron] (L_3_\x) at ({(.5+\x)*\unitsep},3*\layersep){};
\foreach \x in {1,...,1}
\path node[neuron] (L_4_\x) at ({(1+\x)*\unitsep},4*\layersep){};
\end{tikzpicture}
\end{document}
事实上calc
这里不需要。calc
当你想用坐标例如“添加”点到点(a)
。(b)
如果你在做算术之内坐标,但数字,它不起作用。你只想要美元符号任何一个使用calc
坐标进行算术运算或排版数学,而不是实际操作。所以这里的美元正在制造麻烦,必须被清除。
然后记住,()
如果您愿意,它代表一个子计算。至少,这可能不是解释它的官方方式,但这是我的想法。因此,如果我们要添加x
并y
乘以z
,那么我们要先进行加法x+y
并将其分组,使用(x+y)
并乘以z
。(x+y)*z
但是,在坐标规范中,这会让 TikZ 感到困惑,因为它不期望这里有一个。所以我们需要保护坐标规范内的(
计算。{(x+y)*z}
请注意,我在这里使用的术语无疑有很多不足之处 - 我使用的不是技术上正确的术语。(我说“保护”,但不是在意义上\protect
......)但也许想想这里的事情是如何嵌套的会有所帮助。