如何使用跳行功能更改铸造行号的样式?

如何使用跳行功能更改铸造行号的样式?

我用它minted来显示文档中的代码片段。其中一些代码跳过的行号. 由此产生的问题是跳过行号的列表与没有跳过行号的列表具有不同的行号格式。

带有跳过行的示例

文档mintedStackExchange 问题展示了一种修改theFancyVerbLine命令以更改格式的方法。但是,这不会影响带有行跳过的列表。

更新了 FanceVerb 环境

我尝试将这两种方法结合起来,但会导致行号重复。我遗漏了minted文档中的哪些内容?

提前致谢。


最小工作示例:

% arara: xelatex: {shell: yes }
\documentclass{scrreprt}
\usepackage{minted}

\renewcommand{\theFancyVerbLine}{\textcolor[rgb]{0.5,0.5,1.0}{\footnotesize\arabic{FancyVerbLine}}}

\begin{document}

\begin{listing}[H]
    \begin{minted}[linenos]{py}
import bar from foo

print("Hello %s!" % "World")
    \end{minted}
\end{listing}

\begin{listing}[H]
    \renewcommand\theFancyVerbLine{%
    \ifnum\value{FancyVerbLine}=2
        \setcounter{FancyVerbLine}{125}\ldots
    \else
    \arabic{FancyVerbLine}%
    \fi
    }
    \begin{minted}[linenos]{py}
import deep_thought as dt

print("The answer is %s!" % dt.getAnswerTo("everything"))
    \end{minted}
\end{listing}

\end{document}

答案1

\arabic{FancyVerbLine}所需的修改是在第二个列表中用上面的定义替换,即\textcolor[rgb]{0.5,0.5,1.0}{\footnotesize\arabic{FancyVerbLine}}

此外,您还可以为点着色,并使它们垂直。

梅威瑟:

\documentclass{scrreprt}
\usepackage{minted}

\renewcommand{\theFancyVerbLine}{\textcolor[rgb]{0.5,0.5,1.0}{\footnotesize\arabic{FancyVerbLine}}}

\begin{document}

\begin{listing}[H]
    \begin{minted}[linenos]{py}
import bar from foo

print("Hello %s!" % "World")
    \end{minted}
\end{listing}

\begin{listing}[H]
    \renewcommand\theFancyVerbLine{%
    \ifnum\value{FancyVerbLine}=2
        \setcounter{FancyVerbLine}{125}\color[rgb]{0.5,0.5,1.0}\vdots
    \else
    \textcolor[rgb]{0.5,0.5,1.0}{\footnotesize\arabic{FancyVerbLine}}%
    \fi
    }
    \begin{minted}[linenos]{py}
import bar from foo

print("Goodbye %s!" % "World")
    \end{minted}
\end{listing}

\end{document}

结果:

在此处输入图片描述

相关内容