在两列中列出源代码

在两列中列出源代码

我遇到了一个用 LaTeX 排版的文档,它以一种我非常乐意在我的文档中实现的方式解决了代码列表问题,但我不知道作者是如何在 LaTeX 中做到这一点的。有谁知道如何像下面的示例一样将代码列在两列中,使用的是哪个包?

在此处输入图片描述

答案1

该示例是使用该fancyvrb包生成的。您可以将代码放在两个minipage行中并模仿两列布局。另请注意,行号有些错位;下面附有解决方案。

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{zlmtt}
\usepackage{fancyvrb}

\begin{document}

\noindent
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=left,label=Original Code,framesep=3mm]
class C {
  public X x = new X();

  public void f() {
  ...
  }
}
\end{Verbatim}
\end{minipage}\hfill
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=left,label=After Extract Local,framesep=3mm]
class c {
  public X x = new X();

  public void f(){
  ...
  }
}
\end{Verbatim}
\end{minipage}

\par\vspace{3ex}

\noindent
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=right,label=Original Code,framesep=3mm,numbersep=-4pt]
class C {
  public X x = new X();

  public void f() {
  ...
  }
}
\end{Verbatim}
\end{minipage}\hfill
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=right,label=After Extract Local,framesep=3mm,numbersep=-4pt]
class c {
  public X x = new X();

  public void f(){
  ...
  }
}
\end{Verbatim}
\end{minipage}

\end{document}

在此处输入图片描述

相关内容