横向视图,两个独立的列,列表分布在多个页面上

横向视图,两个独立的列,列表分布在多个页面上

我想在 latex 中比较两种不同语言的两种代码。我lstlisting对它们都使用了比较,然后我想并排查看它们。我使用minipage环境存档了它,但我的列表大于一页,所以它们重叠了。此外,我在列表前有一个奇怪的空白页。Multicols环境不允许我并排查看列表。有人知道解决方案吗?

我使用这样的代码

\begin{landscape}
\noindent\begin{minipage}{.45\columnwidth}
  \begin{lstlisting}[caption=code 1,frame=tlrb]{Name}
    void code()
    {
    }
  \end{lstlisting}
\end{minipage}\hfill
\begin{minipage}{.45\columnwidth}
  \begin{lstlisting}[caption=code 2,frame=tlrb]{Name}
    void code()
    {
    }
  \end{lstlisting}
\end{minipage}
\end{landscape}

如果我使用它看起来是这样的paracol 使用 paracol 的结果

答案1

事实证明 paracol 与 pdflscape 不兼容,而且 IIRC 列表不能分页。您可以使用 paracol 创建并排的两页布局,但它会使右侧页面的其余部分留空。

\documentclass{article}
\usepackage{listings}
\usepackage{paracol}
\usepackage{lipsum}% MWE only
\usepackage{showframe}% MWE only

\globalcounter{lstlisting}% if you want different caption numbers

\begin{document}
\begin{paracol}[1]{2}
  \begin{lstlisting}[caption=code 1,frame=tlrb]{Name}
    void code()
    {
    }
  \end{lstlisting}
\switchcolumn
  \begin{lstlisting}[caption=code 2,frame=tlrb]{Name}
    void code()
    {
    }
  \end{lstlisting}
\end{paracol}
\lipsum[1-8]
\end{document}

也可以将列表存储在 savebox 中,并使用 adjustbox 将其裁剪为页面大小的块。请参阅裁剪框拳击列表

相关内容