Листинг кода в кадрах презентации проектора LaTeX

Я пытаюсь создать презентацию проектора LaTeX, в которой есть несколько списков кода 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

--- СПРАВКА --- В аргументе команды возникла пустая строка, которая не должна содержать ее. Вы, вероятно, забыли правую скобку в конце аргумента.

====

Я здесь в полном недоумении, потому что этот точный список отлично подходит для некоторых обычных отчетов. Я поискал и обнаружил, что мне нужно установить атрибут хрупкости для фреймов со списками в них, но это ничего не изменило.

Заранее спасибо за помощь.


person Bozhidar Batsov    schedule 08.10.2010    source источник


Ответы (2)


Я считаю, что опция fragile должна быть полностью строчной.

person Svante    schedule 08.10.2010
comment
OMG, ты абсолютно прав. Не могу поверить, что упустил это. Большое спасибо. - person Bozhidar Batsov; 08.10.2010

Я тоже встречал такую ​​проблему. Мои коды отличаются от ваших, но мы получаем то же сообщение об ошибке. В моем случае это потому, что \lstset{} чувствителен к пустой строке. что значит:

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

может работать; в то время как

\lstset{
   a1 = b1,

   a2 = b2,
 }

не могу. Я надеюсь, что это может помочь вам или тому, кто сталкивался с той же проблемой, что и я.

person Linfeng Mu    schedule 12.05.2019