Estou usando package listings
e gostaria de combinar a listing
e a figure
em um único float. Como exemplo, estou usando listings
o seguinte:
\begin{lstlisting}[language=XML,float=h,label=lst:transition_selector_example,
basicstyle=\footnotesize\ttfamily,tabsize=2,
caption={Example SCXML document used to illustrate transition selection optimization strategies}]
<scxml>
<state id="A">
<transition target="B" event="e1" id="transition1"/>
<transition target="B" event="e2" id="transition2"/>
<transition target="B" event="e2" id="transition3"/>
</state>
<state id="B">
<transition target="A" event="e3" id="transition4"/>
</state>
</scxml>
\end{lstlisting}
Mais tarde, tenho uma figura com um \includegraphics
, como a seguir:
\begin{figure}[p]
\centering
\includegraphics[width=1.00\textwidth]{chapters/3/figures/firefox-transitionSelector}
\caption{Results of Transition Selection optimization strategy in Firefox}
\label{fig:firefox-transitionSelector}
\end{figure}
Eu gostaria de fazer com que a listagem se tornasse parte dessa figura, de modo que ela compartilhasse o número de referência da figura e fosse apresentada na página como uma única entidade gráfica combinada.
Eu apreciaria muito qualquer orientação que alguém possa oferecer sobre como fazer isso.
Responder1
listings
e \includegraphics
cada um pode ser incluído essencialmente em qualquer lugar. O seguinte os coloca um acima do outro, o layout lado a lado também é possível se você colocar a listagem em uma minipágina com largura que permita o gráfico ao lado.
\begin{figure}[p]
\centering
\includegraphics[width=1.00\textwidth]{chapters/3/figures/firefox-transitionSelector}
\begin{lstlisting}[language=XML,float=h,label=lst:transition_selector_example,basicstyle=\footnotesize\ttfamily,tabsize=2,caption={Example SCXML document used to illustrate transition selection optimization strategies}]
<scxml>
<state id="A">
<transition target="B" event="e1" id="transition1"/>
<transition target="B" event="e2" id="transition2"/>
<transition target="B" event="e2" id="transition3"/>
</state>
<state id="B">
<transition target="A" event="e3" id="transition4"/>
</state>
</scxml>
\end{lstlisting}
\caption{Results of Transition Selection optimization strategy in Firefox}
\label{fig:firefox-transitionSelector}
\end{figure}
Responder2
Para adicionar à resposta de David (caso você queira "sublegendas"):
\documentclass{article}
\usepackage{subcaption}
\usepackage{listings}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\begin{subfigure}[b]{\textwidth}
\begin{lstlisting}[%
language=XML,%
label=lst:transition_selector_example,%
basicstyle=\footnotesize\ttfamily,%
tabsize=2
]
<scxml>
<state id="A">
<transition target="B" event="e1" id="transition1"/>
<transition target="B" event="e2" id="transition2"/>
<transition target="B" event="e2" id="transition3"/>
</state>
<state id="B">
<transition target="A" event="e3" id="transition4"/>
</state>
</scxml>
\end{lstlisting}
\subcaption{Example SCXML document used to illustrate\ldots}
\end{subfigure}
\vspace{2em}
\begin{subfigure}[b]{\textwidth}
\includegraphics[width=1.00\textwidth]{chapters/3/figures/firefox-transitionSelector}
\subcaption{A screenshot (??)}
\end{subfigure}
\label{fig:firefox-transitionSelector}
\caption{Results of Transition Selection optimization strategy in Firefox}
\end{figure}
\end{document}