![tikzノード内に疑似コードを配置する](https://rvso.com/image/281506/tikz%E3%83%8E%E3%83%BC%E3%83%89%E5%86%85%E3%81%AB%E7%96%91%E4%BC%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B.png)
パッケージによって記述された疑似コードをノード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}