将伪代码放在 tikz 节点内

将伪代码放在 tikz 节点内

我如何将algpseudocode包编写的伪代码放置在节点内tikz?(我不想只是装饰代码,而是在图表中使用它们)

平均能量损失

\documentclass{article}

\usepackage{tikz}

\usepackage{algpseudocode}

\begin{document}
    \begin{tikzpicture}
        \node[draw, rounded corners] {%    
            \begin{algorithmic}
            \If{$\mathrm{n}=\mathrm{np}$}
                \State Have fun
            \EndIf
            \end{algorithmic}%
            };
    \end{tikzpicture}
\end{document}

结果

很多错误例如:

出现问题 — — 可能缺少某个 \item。

结果

答案1

环境algorithmic不能放在框内,但你可以把它放在 中minipage。由于你希望文本适合伪代码片段的自然宽度,所以我使用了包,varwidth而不是minipage直接使用 。

\documentclass{article}

\usepackage{tikz}
\usepackage{varwidth}

\usepackage{algpseudocode}

\begin{document}

    \begin{tikzpicture}
        \node[draw, rounded corners] {% 
            \begin{varwidth}{\linewidth}
            \begin{algorithmic}
            \If{$\mathrm{n}=\mathrm{np}$}
                \State Have fun
            \EndIf
        \end{algorithmic}%
        \end{varwidth}
%
            };
    \end{tikzpicture}
\end{document}

代码输出

相关内容