10

我正在尝试创建一个包含多个 Java 代码列表的 LaTeX 投影仪演示文稿。然而,我遇到了一个非常奇怪的问题——我的列表片段在演示文稿中导致编译失败,但在其他文档中工作正常。

\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

--- HELP --- 命令参数中出现了一个不应包含的空行。您可能在争论结束时忘记了正确的括号。

====

我在这里完全不知所措,因为这个确切的列表在一些常规报告中工作得很好。我四处搜索,发现我应该为带有列表的框架设置脆弱属性,但这并没有改变任何东西。

在此先感谢您的帮助。

4

2 回答 2

11

我相信该选项fragile是完全小写的。

于 2010-10-08T17:06:50.987 回答
-1

我也遇到过这样的问题。我的代码与您的不同,但我们收到相同的错误消息。就我而言,这是因为\lstset{} 对空行敏感。意思是:

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

能行得通; 然而

\lstset{
   a1 = b1,

   a2 = b2,
 }

不能。我希望这可以帮助您或遇到与我相同的问题的人。

于 2019-05-12T07:37:11.513 回答