我正在编写一个文档,其中代码列表和图表经常并排出现。我使用包listings
来处理代码和\includegraphics
图表。我想将它们放在同一张图上。我尝试了subfigure
包,但它不允许在\subfigure{}
参数中使用逐字环境。
该fancyvrb
包有一个解决此限制的方法:使用SaveVerbatim
和\BUseVerbatim
。但是,我更喜欢仅使用listing
包来获得代码列表的统一样式。
手册subfigure
中包含了一些巫术定义,subfloat
即可以包含带有逐字内容的迷你页面的环境。这是一个笨拙的解决方案。我还想知道为什么这个解决方案没有包含在包本身中。
有人知道让这些包协同工作的简单方法吗?另外,有没有更逐字友好的子图包?
答案1
下面是使用 subcaption 包的示例,该包包含在标题软件包。 (请注意,\rule
我的示例中的命令只是 的占位符\includegraphics
。)
\documentclass{article}
\usepackage{listings}
\usepackage{caption,subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}[b]{.5\linewidth}
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}
\caption{A listing}
\end{subfigure}
\begin{subfigure}[b]{.5\linewidth}
\centering
\rule{1.5cm}{1.5cm}
\caption{A diagram}
\end{subfigure}
\caption{A listing and a diagram}
\end{figure}
\end{document}
编辑:子图TeX Catalogue OnLine 的条目指出:
此软件包现已过时:新用户应该使用子图或子标题反而。