在 Latex 中无法使用 Beamer 显示代码块

问题描述 投票:0回答:1

我有几行代码要在带有投影仪的演示文稿中显示,但是一旦我在

\begin{lstlisting}
标签中使用
\begin{frames}
标签,我的文档就无法编译。但是,一旦我将 lstlisting 部分放在一边,它就会正确显示。

完整代码链接

latex beamer
1个回答
0
投票
\documentclass{beamer}
\usetheme{Warsaw}
\usecolortheme{beaver}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{caption}
\usepackage{tikz}
\usepackage{listings}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstset{
    language=Python,
    basicstyle=\small\ttfamily,
    keywordstyle=\color{blue},
    stringstyle=\color{red},
    commentstyle=\color{green},
    morecomment=[l][\color{magenta}]{\#},
    numbers=left,
    numberstyle=\tiny\color{gray},
    stepnumber=1,
    numbersep=10pt,
    tabsize=4,
    showspaces=false,
    showstringspaces=false,
    extendedchars=true,
    literate={é}{{\'e}}1  
}

\begin{document}

\begin{frame}[fragile]

\begin{lstlisting}
    def euler(f, x0, y0, h, n):
        x = np.zeros(n)
        y = np.zeros(n)
        x[0], y[0] = x0, y0
        for i in range(1, n):
            y[i] = y[i-1] + h * f(x[i-1], y[i-1])
            x[i] = x[i-1] + h
        return x, y
\end{lstlisting}

\begin{lstlisting}
    from scipy.integrate import odeint
    y = odeint(équation, condition, durée)
\end{lstlisting}

\end{frame}

\end{document}
© www.soinside.com 2019 - 2024. All rights reserved.