我想在乳胶中制作双列代码,但两列上方的标题。例如:
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}
\ {端文档}
答案 0 :(得分:2)
\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}