我正在尝试将分段函数放入 Tikz 图表中的节点中。在 tikzpicture 环境中独立的 Tikz 节点中使用案例效果很好。将同一节点放入矩阵中会破坏使用 & 在案例块内划分单行的功能。
有什么方法可以让矩阵内节点的输出与单独节点的输出相匹配?
\documentclass{article}
\usepackage{tikz, amsmath}
\usetikzlibrary{shapes, positioning}
\begin{document}
\tikzstyle{block} = [draw, rectangle, align=center]
\begin{tikzpicture}
\node[block] (b1) {Separate node:\\
\(
u_{out}=
\begin{cases}
255 & \mbox{if } u_{in} > 255
\end{cases}
\)};
\matrix[below=of b1] (m)
{
\node[block] (b2) {Node in matrix:\\
\(
u_{out}=
\begin{cases}
255 & \mbox{if } u_{in} > 255
\end{cases}
\)};\\
};
\end{tikzpicture}
\end{document}
答案1
选项ampersand replacement
允许您定义使用哪个符号来&
代替matrix
环境中使用哪个符号代替。更多详细信息请参阅20.5 关于主动角色的考虑
\documentclass{article}
\usepackage{tikz, amsmath}
\usetikzlibrary{shapes, positioning}
\begin{document}
\tikzstyle{block} = [draw, rectangle, align=center]
\begin{tikzpicture}
\node[block] (b1) {Separate node:\\
\(
u_{out}=
\begin{cases}
255 & \mbox{if } u_{in} > 255
\end{cases}
\)};
\matrix[below=of b1, ampersand replacement=\&] (m)
{
\node[block] (b2) {Node in matrix:\\
\(
u_{out}=
\begin{cases}
255 & \mbox{if } u_{in} > 255
\end{cases}
\)};\\
};
\end{tikzpicture}
\end{document}