在minted中,如何减少行号和代码之间的空格?

在minted中,如何减少行号和代码之间的空格?

以下是 beamer 文件示例:

\documentclass[notheorems,serif,11pt]{beamer}
\usepackage{algorithm}
\usepackage{float}
\usepackage{minted}
\renewcommand{\listingscaption}{Python code}
\newminted{python}{
    fontsize=\footnotesize, 
    escapeinside=||,
    mathescape=true,
    numbersep=5pt,
    linenos=true,
    gobble=2,
    framesep=3mm} 
\begin{document}

\begin{frame}[fragile]{Mesh Data Strucrure}
        \begin{listing}[H]
        \begin{pythoncode}
        import numpy as np
        point = np.array(
            [(0.0, 0.0),
             (1.0, 0.0),
             (1.0, 1.0),
             (0.0, 1.0)], dtype=np.float)
        cell = np.array([
                (1, 2, 0), 
                (3, 0, 2)], dtype=np.int)
        N = point.shape[0] # the number of triangle points
        NC = cell.shape[0] # the number of triangle cells
        \end{pythoncode}
        \caption{The basic data structure of triangle mesh.}
    \end{listing}
\end{frame}

\end{document}

最后,我在幻灯片中得到了以下结果:

在此处输入图片描述

我的问题是行号和代码之间的空格太宽,我想减少它。那么该怎么办呢?非常感谢!

答案1

选择autogobble才是王道。以下是手册摘录:

从代码中删除(吞噬)所有常见的前导空格。本质上,该版本会gobble自动确定应删除的内容。适用于最初未缩进但在粘贴到 LaTeX 文档后手动缩进的代码。

通过利用这一点,

\documentclass[notheorems,serif,11pt]{beamer}
\usepackage{algorithm}
\usepackage{float}
\usepackage{minted}
\renewcommand{\listingscaption}{Python code}
\newminted{python}{
    fontsize=\footnotesize, 
    escapeinside=||,
    mathescape=true,
    numbersep=5pt,
    linenos=true,
    autogobble,
    framesep=3mm} 
\begin{document}

\begin{frame}[fragile]{Mesh Data Strucrure}
        \begin{listing}[H]
        \begin{pythoncode}
        import numpy as np
        point = np.array(
            [(0.0, 0.0),
             (1.0, 0.0),
             (1.0, 1.0),
             (0.0, 1.0)], dtype=np.float)
        cell = np.array([
                (1, 2, 0), 
                (3, 0, 2)], dtype=np.int)
        N = point.shape[0] # the number of triangle points
        NC = cell.shape[0] # the number of triangle cells
        \end{pythoncode}
        \caption{The basic data structure of triangle mesh.}
    \end{listing}
\end{frame}
\end{document}

将产生

平均能量损失

答案2

autogobble也帮不上什么忙。真正改善布局的是,setminted而不是newminted,以及gobble=2而不是autogobble

\setminted[python]{
fontsize=\footnotesize,
escapeinside=||,
mathescape=true,
numbersep=5pt,
gobble=2,
linenos=true,
framesep=3mm}

文档,第 16 页

相关内容