Estoy usando el paquete listings
y me gustaría combinar a listing
y a figure
en un solo flotante. Como ejemplo, estoy usando listings
lo siguiente:
\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}
Más tarde, tengo una figura con una \includegraphics
, como la siguiente:
\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}
Me gustaría que el listado forme parte de esa figura, de modo que comparta el número de referencia de la figura y se presente en la página como una única entidad gráfica combinada.
Agradecería mucho cualquier orientación que alguien pueda ofrecer sobre cómo hacer esto.
Respuesta1
listings
y \includegraphics
cada uno puede incluirse esencialmente en cualquier lugar. Lo siguiente los coloca uno encima del otro, el diseño uno al lado del otro también es posible si coloca el listado en una minipágina de un ancho que permita el gráfico al 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}
Respuesta2
Para agregar a la respuesta de David (en caso de que desee "subtítulos"):
\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}