latex - 使用 multicol (latex) 在列表环境中配置标题

标签 latex listings

我想在 latex 中制作双列代码,但标题位于两列上方。例如:

  Program 1 : some text here for the caption

1   //col 1              7    //col2
2   void main (void)     8   void foo(void)
3   {                    9   {
4      //just a test    10      int c;
5      return 0;        11      c = 0;
6   }                   12   }

我正在使用列表。为了完成上面的布局,我在一张表中插入了两个列表。这种方法存在一些问题,我必须手动划分代码并在 PDF 中观察结果。

我想使用 [multicol=2] 选项,但这样,标题堆栈仅在第一列上。现在有人如何克服(如果可能的话?)

    Program 1 : some text 7    //col2
    here for the caption  8   void foo(void)
1   //col 1               9   {
2   void main (void)     10      int c;
3   {                    11      c = 0;
4      //just a test     12   }
5      return 0;         
6   }                    

下面是不起作用的代码

\documentclass{article}
\usepackage{listings}
\usepackage{multicol}
\begin{document}

\lstset{
   language=C,
   breaklines=true,
   prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
}

\begin{lstlisting}[stepnumber=1,multicols=2,caption=Caption test to confirm that multicol does not like large captions]
void MudaDigito(char val)
{
   if (pos == 0)
   {
     v0 = val;
   }
   if (pos == 1)
   {
     v1 = val;
   }
   if (pos == 2)
   {
     v2 = val;
   }
   if (pos == 3)
   {
     v3 = val;
   }
}
\end{lstlisting}

\end{文档}

最佳答案

我也遇到了同样的问题。我找到了解决方案。 它不干净,但有效。 下面是工作代码。

<小时/>
\documentclass{article}
\usepackage{listings}
\usepackage{multicol}
\newcommand{\listingcaption}[1]%
{%
\refstepcounter{lstlisting}\hfill%
Listing \thelstlisting -- #1\hfill%\hfill%
}%
\begin{document}
\lstset{
   language=C,
   breaklines=true,
   prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
}
\listingcaption{Caption test to confirm that multicol does not like large captions\label{list1}}
\begin{lstlisting}[stepnumber=1,multicols=2]
void MudaDigito(char val)
{
   if (pos == 0)
   {
     v0 = val;
   }
   if (pos == 1)
   {
     v1 = val;
   }
   if (pos == 2)
   {
     v2 = val;
   }
   if (pos == 3)
   {
     v3 = val;
   }
}
\end{lstlisting}
See listing \ref{list1}
\end{document}

关于latex - 使用 multicol (latex) 在列表环境中配置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3981837/

相关文章:

latex - 让 LaTeX 中的代码看起来*漂亮*

latex 和 list : highlighting some parts of the code

python - 使用 python 脚本生成 pdf-latex

LaTeX:是否有可用的 Web 前端?

r - R Bookdown 中的页码编号

api - 电视指南列表 API

latex - 突出显示 lSTListing 中的一段代码

Latex 列表字符串和关键字

latex - LaTeX中数学符号的垂直放置