我目前正在使用 LyX 制作演示文稿。在代码列表中插入一些 XML 代码后,出现以下错误:
Paragraph ended before \lst@next was complete.
Paragraph ended before \lst@next was complete.
LaTeX Error: \begin{lstlisting} on input line 228 ended by \end{beamer@framep
Missing } inserted.
Extra }, or forgotten \endgroup.
有什么问题?我是否需要转义某些字符或类似的东西?我对 LyX 还很陌生。
编辑:
这是一小段代码。因为我正在使用 LyX,所以生成的代码看起来有点混乱,我想。我希望你能读懂它。
\begin_layout BeginFrame
\lang english
Güte der Ergebnisse
\end_layout
\begin_layout Standard
\lang english
\begin_inset listings
inline false
status open
\begin_layout Plain Layout
<server>
\end_layout
\begin_layout Plain Layout
<name>MyServer</name>
\end_layout
\begin_layout Plain Layout
<version>1</version>
\end_layout
\begin_layout Plain Layout
<functionality>0</functionality>
\end_layout
\begin_layout Plain Layout
<platform>Win</platform>
\end_layout
\begin_layout Plain Layout
</server>
\end_layout
\begin_layout Plain Layout
</ddsml>
\end_layout
\end_inset
\end_layout
\begin_layout EndFrame
\start_of_appendix
\end_layout
答案1
也许这应该是对 egregs 答案的评论,但它有点长。
我搜索了一下,发现有一个用于创建脆弱框架的模块在 LyX wiki 中。我不知道如何安装模块,但我猜想该信息也可以在 LyX wiki 中找到。
另一种方法是使用 ERT(来源):
Ctrl不要像 LyX 那样开始一个新框架,而是通过按+L或选择“插入 --> TeX 代码”来添加 TeX 代码框或 ERT 。在此框中,您可以写入
\begin{frame}[fragile] \frametitle{Title of the frame}
添加列表。
最后第二个 ERT
\end{frame}
答案2
我不知道如何在 LyX 中做到这一点,但包含“逐字”材料(例如环境)的框架lstlisting
应声明为fragile
:
\begin{frame}[fragile]
...
\begin{lstlisting}
...
\end{lstlisting}
\end{frame}
答案3
在 LyX 2.1 中,您无需直接输入 LaTeX 代码即可实现正确处理脆弱元素的框架。
只需选择框架并按Alt+ A 3。新字段“选项”应出现在您输入 的位置fragile
。或者,右键单击框架“标题”,然后选择框架选项。
答案4
请按如下方式使用:
前Ctrl-L
插入 LaTeX 代码的框架
\defverbatim\lst{%
\begin{lstlisting}
your xml code}
\end{lstlisting}
}
在框架内部也应该有列表应该出现的Ctrl-L
命令。\lst