
答案1
以下解決方案結合了幾個“技巧”:
首先,所有程式碼片段都在一個figure
環境內。這使您能夠使用標題。後面會說一些:圖 1. 標題內容(數位因為標題是在...figure
環境中定義的!
然後,我們使用subfigure
環境將多個元素並排放置。使用該套件subcaption
使您能夠定義\caption
每個環境內部subfigure
,從而添加...子標題。
最後,使用該套件在環境listings
中顯示程式碼。lstlisting
請注意:因為程式碼是逐字列印的,所以您應該在lstlisting
環境內「重設」縮排。將程式碼片段置中並不是一件小事。為此,我們繞道而行,將其包含lstlisting
在 one-cell 內部tabular
,如中所述如何居中清單?。
\documentclass{article}
\usepackage{subcaption}
\usepackage{listings}
\lstset{basicstyle=\ttfamily}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[htb]
\centering
\begin{subfigure}[t]{.5\linewidth}
\centering
\begin{tabular}{c}
% Don't indent the lstlisting environment!
\begin{lstlisting}
[
'foo',
'bar',
'baz',
]
\end{lstlisting}
\end{tabular}
\caption{Simply words}
\end{subfigure}%
\begin{subfigure}[t]{.5\linewidth}
\centering
\begin{tabular}{c}
\begin{lstlisting}
[
3,
2,
1,
]
\end{lstlisting}
\end{tabular}
\caption{And numbers here}
\end{subfigure}
\caption{Very code. Much geek. Wow!}
\end{figure}
\lipsum[2]
\end{document}