LaTeX beamer演示文稿中的代码清单

10

我正在尝试创建一个LaTeX beamer演示文稿,其中包含几个Java代码清单。但是,我遇到了一个非常奇怪的问题-我的清单片段在演示中导致编译失败,但在其他一些文档中却正常工作。

\begin{frame}[Fragile]
  \frametitle{Test}
 \begin{lstlisting}
    public class SimpleClass {
      public static void main(String[] args) {
        System.out.println("Hello!");
      }
    }
  \end{lstlisting}
\end{frame}
如果我从演示中删除这段代码,它将运行得很好,但是如果保留它,我会收到以下错误消息:
===
错误:在\lst@next完成之前段落已结束。
--- TeX 说 ---
\ par l.129 ---帮助---
命令参数中发生空行,不应该包含一个。您可能忘记了参数结尾处的右括号。
====
我完全摸不着头脑,因为这个确切的清单在某些常规报告中工作得非常好。我搜索了一下,发现应该对具有列表的框架设置易碎属性,但这并没有改变任何东西。
提前感谢你的帮助。
2个回答

12

我认为选项fragile应该全部小写。


哇塞,你说得太对了。我简直不敢相信我竟然忽略了那个问题。非常感谢你! - Bozhidar Batsov
一个救命的答案。谢谢。 - Ekaba Bisong

-1

我也遇到过这样的问题。我的代码与你的不同,但我们得到了相同的错误信息。在我的情况下,这是因为 \lstset{} 对空行敏感。

\lstset{
   a1 = b1,
   a2 = b2,
 }

可以工作;然而

\lstset{
   a1 = b1,

   a2 = b2,
 }

不行。我希望这可以帮助你或者遇到和我一样问题的人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接