我正在尝试创建一个包含多个Java代码清单的LaTeX beamer演示文稿。但是,我遇到了一个非常奇怪的问题 - 我的列表片段在演示文稿中导致编译失败,但在其他文档中工作正常。
\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说--- \看齐 l.129
---帮助--- 在不应包含的命令参数中出现空行 一。你可能在争论结束时忘记了正确的大括号。
====
我在这里完全不知所措,因为这个确切的列表在一些常规报告中运行得很好。我已经四处寻找并发现我应该为包含列表的帧设置脆弱的属性,但这并没有改变任何东西。
提前感谢您的帮助。
答案 0 :(得分:10)
我认为选项fragile
意味着完全小写。
答案 1 :(得分:-1)
我也遇到了这样的问题。我的代码与您的代码不同,但我们得到的错误消息相同。就我而言,这是因为\lstset{}
对空白行敏感。
这意味着:
\lstset{
a1 = b1,
a2 = b2,
}
可以工作;而
\lstset{
a1 = b1,
a2 = b2,
}
不能。我希望这可以帮助您或遇到与我相同的问题的任何人。