如何将源代码以正确的缩进粘贴到 LaTeX 中

如何将源代码以正确的缩进粘贴到 LaTeX 中

我正在尝试使用

\begin{lstlisting} 
... 
\end{lstlisting}

在 LaTeX 中包含一些 Python 源代码。

当我粘贴以下代码块时:

def plot_c(Yhat, Y, X):
    plt.figure()
    plt.plot(X, Y)
    plt.plot(X, Yhat)
    ...

所有的缩进都被弄乱了(或者在这种情况下被删除了),如下所示:

def plot_c(Yhat, Y, X):
plt.figure()
plt.plot(X, Y)
plt.plot(X, Yhat)
...

有没有办法将源代码直接粘贴到 LaTeX 中并保留原始格式无需重新输入源代码

答案1

我会推荐铸造包排版源代码。

请注意第 2 部分安装从第 4 页开始。您需要安装 python 和 pygments 才能使用 minted。(Pygments 是软件包的名称,pygmentize 是程序本身的名称。)

另外,(如 3.1 中所述初步的-shell-escape在第 6 页)如果要使用 minted,则必须使用标志调用 LaTeX 。例如,在 TeXstudio 中打开选项 > 配置 TeXstudio... > 命令并插入pdflatex -shell-escape -synctex=1 -interaction=nonstopmode %.texPdfLaTeX。

\documentclass{article}

\usepackage{minted}
\newminted{python}{%
    % options to customize output of pythoncode
    % see section 5.3 Available options starting at page 16
}

\begin{document}
\begin{pythoncode}
def plot_c(Yhat, Y, X):
    plt.figure()
    plt.plot(X, Y)
    plt.plot(X, Yhat)
    ...
\end{pythoncode}
\end{document}

在此处输入图片描述

相关内容