LaTeX 源代码在带有子浮点数的图中水平列出

LaTeX 源代码在带有子浮点数的图中水平列出

我正在尝试嵌入几个listings

\begin{lstlisting}
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> latex(x**2)
x^{2}
\end{lstlisting}

\begin{lstlisting}
>>> from sympy.printing.mathml import mathml
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> print mathml(x**2)
<apply><power/><ci>x</ci><cn>2</cn></apply>
\end{lstlisting}

\begin{lstlisting}
>>> from sympy import *
>>> x = symbols("x")
>>> fcode(sqrt(1-x**2))
'      sqrt(-x**2 + 1)'
\end{lstlisting}

如图所示,图像已浮动这里

有没有一种简单的方法(最少的 LaTeX 代码)可以让我做到这一点?

答案1

您提供的列表非常宽,无法水平并排放置。但是,如果它们可以并排放置,您可以将每个列表放在 中minipage。这样可以将每个列表并排放置。

在此处输入图片描述

要使它浮动,只需将其放置在figure环境中即可。

\documentclass[border=5pt]{standalone}
\usepackage{listings}

\begin{document}
\begin{minipage}[t]{0.3\linewidth}
\begin{lstlisting}
>>> abc
>>> def
>>> ghi
x^{2}
\end{lstlisting}
\end{minipage}
%
\begin{minipage}[t]{0.3\linewidth}
\begin{lstlisting}
>>> jkl
>>> mno
>>> pqr
>>> stu
vwx
\end{lstlisting}
\end{minipage}
%
\begin{minipage}[t]{0.3\linewidth}
\begin{lstlisting}
>>> 123
>>> 456
>>> 789
\end{lstlisting}
\end{minipage}
\end{document}

答案2

您也可以垂直发布它们,因为它们非常宽。

在此处输入图片描述

\documentclass{article}
\usepackage{listings}% http://ctan.org/pkg/listings
%\usepackage{subfig}% http://ctan.org/pkg/subfig
\usepackage{varwidth}% http://ctan.org/pkg/varwidth
\begin{document}
\begin{figure}
  \centering
  \begin{varwidth}{\linewidth}%
\begin{lstlisting}[caption={Listing A}]
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> latex(x**2)
x^{2}
\end{lstlisting}
  \end{varwidth} \par
  \begin{varwidth}{\linewidth}%
\begin{lstlisting}[caption={Listing B}]
>>> from sympy.printing.mathml import mathml
>>> from sympy import Integral, latex
>>> from sympy.abc import x
>>> print mathml(x**2)
<apply><power/><ci>x</ci><cn>2</cn></apply>
\end{lstlisting}
  \end{varwidth} \par
  \begin{varwidth}{\linewidth}%
\begin{lstlisting}[caption={Listing C}]
>>> from sympy import *
>>> x = symbols("x")
>>> fcode(sqrt(1-x**2))
'      sqrt(-x**2 + 1)'
\end{lstlisting}
  \end{varwidth}
  \caption{A number of listings.}
\end{figure}
\end{document}

选择使用varwidth只是将列表中的列表相对于图中的列表水平居中。替换varwidthminipage将产生一组齐平的左对齐列表。

相关内容