我正在用IEEEtran
模板写一篇文章,其中有两列。
我想要一个包含跨越文章两列的源代码的列表,如附图所示。
我正在使用以下命令:\lstinputlisting[frame=single, caption={blablabla}, label={blablabla}]{listings/blablabla.java}
有人知道怎么做吗?
答案1
\documentclass{IEEEtran}
\usepackage{listings,multicol} % <--- multicol only required, if the multicols= option shall be used
\usepackage{filecontents} % <--- only needed to provide example code
\usepackage{lipsum} % <--- only needed to provide dummy text
\lstset{language=Java, basicstyle=\ttfamily\footnotesize}
\begin{filecontents*}{stuff.java}
package awt;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Hello {
public static void main(String[] args) {
Frame f=new Frame("Hello World example of awt application");
Label label1=new Label("Hello World", Label.CENTER);
f.add(label1);
f.setSize(300,100);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
}
}
\end{filecontents*}
\begin{document}
\lipsum
\lstinputlisting[float=*t, caption={A wide listing float, single column}]{stuff.java}
\lstinputlisting[float=*, multicols=2, caption={A wide listing float, itself dobule-column}]{stuff.java}
\lipsum
\lipsum
\end{document}
答案2
到目前为止,我还没有找到使用从文件读取代码的命令来使列表跨越两列的方法(\lstinputlisting
)。
但是,我通过将代码放入乳胶文档中来设法做到这一点,如下所示:
\begin{lstlisting}[float=*]
code goes here
\end{lstlisting}
答案3
实际上可以使用 来完成\lstinputlisting
。以下是 C 文件的示例:
\usepackage{listings}
\lstinputlisting[language=C,float=*,basicstyle=\footnotesize]{filename.c}
根据您的源文件和文档要求更改language
和。basicstyle