在矩阵中的节点中使用案例

在矩阵中的节点中使用案例

我正在尝试将分段函数放入 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}

在此处输入图片描述

相关内容