나는 아래와 같은 MWE를 가지고 있습니다 :
\documentclass[a4paper,11pt,twoside]{report}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{bchart}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\lstset{
%frame=tb,
language=C++,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
%basicstyle={\small\ttfamily},
basicstyle=\ttfamily\footnotesize\bfseries,
numbers=none,
numberstyle=\tiny\color{gray},
%keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
%stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
\begin{document}
\begin{figure}[H]
\centering
\begin{minipage}{.45\linewidth}
\begin{lstlisting}
array stat_1[144] : w32 -> w8 = symbolic
(query [(Eq falseq
(Eq 0
N0:(ReadLSB w64 56 stat_1)))
(Eq false
(Eq 0 N1:(URem w64 8 N0)))]
(Eq false
(Eq 0 N2:(Read w8 56 stat_1))))
\end{lstlisting}
\end{minipage}
\end{figure}
\begin{figure}[H]
\centering
\begin{minipage}{.45\linewidth}
\begin{lstlisting}
array stat_1[144] : w32 -> w8 = symbolic
(query [(Eq falseq
(Eq 0
N0:(ReadLSB w64 56 stat_1)))
(Eq false
(Eq 0 N1:(URem w64 8 N0)))
(Eq false
(Eq 0 (URem w64 N0 N1)))]
(Eq false
(Eq 0 N2:(Read w8 56 stat_1))))
\end{lstlisting}
\end{minipage}
\end{figure}
\end{document}
예를 들어 Figure1 ---> Figure2와 같은 첫 번째 그림이 두 번째 그림이 되는 것을 보여주는 것을 생성하고 싶습니다(tikz 노드/화살표 상태 머신 스타일과 비슷하지만 내부에 그림/목록을 삽입할 수 있기를 원함). 내가 그런 것을 성취할 수 있을까? 분명히 알았기를 바랍니다. 감사합니다!
답변1
간단히 노드 컨텐츠로 사용 tikz
하고 가질 수 있습니다. lstlisting
( figure
환경을 제거하되 minipage
.)
\documentclass[a4paper,11pt,twoside]{report}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{bchart}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\lstset{
%frame=tb,
language=C++,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
%basicstyle={\small\ttfamily},
basicstyle=\ttfamily\footnotesize\bfseries,
numbers=none,
numberstyle=\tiny\color{gray},
%keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
%stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\centering
\begin{tikzpicture}
\node(listing1)[draw]{%
\begin{minipage}{.45\linewidth}
\begin{lstlisting}
array stat_1[144] : w32 -> w8 = symbolic
(query [(Eq falseq
(Eq 0
N0:(ReadLSB w64 56 stat_1)))
(Eq false
(Eq 0 N1:(URem w64 8 N0)))]
(Eq false
(Eq 0 N2:(Read w8 56 stat_1))))
\end{lstlisting}
\end{minipage}
}
node(listing2)[draw,right=of listing1]{%
\begin{minipage}{.45\linewidth}
\begin{lstlisting}
array stat_1[144] : w32 -> w8 = symbolic
(query [(Eq falseq
(Eq 0
N0:(ReadLSB w64 56 stat_1)))
(Eq false
(Eq 0 N1:(URem w64 8 N0)))
(Eq false
(Eq 0 (URem w64 N0 N1)))]
(Eq false
(Eq 0 N2:(Read w8 56 stat_1))))
\end{lstlisting}
\end{minipage}
};
\draw[->] (listing1)--(listing2);
\end{tikzpicture}
\end{document}