패키지 에 의해 작성된 의사코드를 노드 algpseudocode
내부에 어떻게 배치할 수 있나요 tikz
? (단순히 코드를 꾸미는 것이 아니라 그래프 내부에서 사용하고 싶습니다)
MWE
\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
a를 직접 사용하는 대신 패키지를 사용했습니다 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}