我正在尝试使用 LaTeX 的 subfigure 包来显示一段 SQL 代码。目的类似于子图中的代码列表,但我希望使用lstlisting
环境而不是语法突出显示verbatim
。以下是我正在尝试的:
\documentclass{article}
\usepackage{subfigure}
\usepackage{listings}
\begin{document}
\begin{table*}[ht]
\subfigure[Query 1]{
\begin{lstlisting}[language=SQL]
SELECT * FROM Table;
\end{lstlisting}
}
\end{table*}
\end{document}
由于 subfigure 和 verbatim 包冲突,因此无法编译。链接的帖子建议了一种verbatim
环境解决方法,但如果我想使用,该怎么办lstlisting
?
答案1
使用以下方式框选列表lrbox
:
\documentclass{article}
\usepackage{subfigure}
\usepackage{listings}
\begin{document}
\newbox\mybox
\begin{lrbox}{\mybox}
\begin{lstlisting}[language=SQL]
SELECT * FROM Table;
\end{lstlisting}
\end{lrbox}
\begin{table*}
\subfigure[Query 1]{\usebox\mybox}
\end{table*}
\end{document}
顺便说一句,subfigure
是一个过时的包;你应该使用subfig
或者subcaption
相反。您的代码使用subfig
:
\documentclass{article}
\usepackage{subfig}
\usepackage{listings}
\begin{document}
\newbox\mybox
\begin{lrbox}{\mybox}
\begin{lstlisting}[language=SQL]
SELECT * FROM Table;
\end{lstlisting}
\end{lrbox}
\begin{table*}
\subfloat[Query 1]{\usebox\mybox}
\end{table*}
\end{document}