我正在尝试使用
\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 %.tex
PdfLaTeX。
\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}