使用两列列表

使用两列列表

我的目标是并排显示源代码(awk、Python、R 和 SAS)和文本(它们的输出)。两者都是从外部文件加载的,有时可能很长(分页是不可避免的),源代码应该语法突出显示。即使有分页符,源代码也应该留在左侧,输出也应该留在右侧。

我正在使用 listing 包来突出显示它的语法。

我找不到在分页符时能够正确运行的环境。

我已经尝试过的一些方法:

  1. 多色:这个环境很好,直到出现分页符(左侧分页到右侧,把所有东西都弄乱了)
  2. 小页面:尚未分页

答案1

我最终使用环境解决了我的问题(正如我在评论中提到的那样)paracol

\documentclass{minimal}
\usepackage{paracol}
\begin{document}
\begin{paracol}{2}
Left
\switchcolumn
Right
\end{paracol}
\end{document}

不过,背景颜色需要一些修补。我已经使用该mdframed包替换了列表背景。

所以最后平均能量损失已经到了这个地步:

\documentclass{minimal}

\usepackage{paracol}
\usepackage{listings}
\usepackage[framemethod=TikZ]{mdframed}

\lstnewenvironment{code}{
    \mdframed[outerlinecolor=black, backgroundcolor=gray]{}
}{
    \endmdframed
}

\begin{document}

\begin{paracol}{2}
\begin{code}
Left
\end{code}
\switchcolumn
\begin{code}
Right
\end{code}
\end{paracol}

\end{document}

然而,这也会产生一些警告(mdframed 中多次定义的标签),我已经为此做了一个补丁,并在这里询问是否有更好的解决方案。

相关内容