В пакете Minted опция Formatcom делает нижнее поле неполным

В пакете Minted опция Formatcom делает нижнее поле неполным

Со следующими показателями MWE:

\documentclass{article}
\usepackage{xcolor}
\usepackage{minted}

\begin{document}


\begin{minted}[bgcolor=black,formatcom=\color{white}]{bash}
#! /bin/bash
# script to turn the screen blue
setterm -background blue
echo It is a blue day
\end{minted}

\end{document}

Я получаю такую ​​визуализацию:

консольный рендеринг с опцией formatcom

Как видите, formatcomопция создает дополнительную пустую строку в нижней части исходного кода.

Так как же его удалить?

решение1

Minted использует fancyvrb под капотом. Чтобы изменить цвет текста с помощью formatcomопции, вам нужно определить функцию, которая переопределяет \FancyVerbFormatLineкак в

\newcommand{\shellfgcolor}{%
  \def\FancyVerbFormatLine##1{\textcolor{white}{##1}}%
}

и передайте его в formatcomвариант чеканки, как вformatcom=\shellfgcolor

Таким образом, ваш MWE становится:

\documentclass{article}
\usepackage{xcolor}
\usepackage{minted}

\newcommand{\shellfgcolor}{%
  \def\FancyVerbFormatLine##1{\textcolor{white}{##1}}%
}

\begin{document}

\begin{minted}[bgcolor=black,formatcom=\shellfgcolor]{bash}
#! /bin/bash
# script to turn the screen blue
setterm -background blue
echo It is a blue day
\end{minted}

\end{document}

что отображается каквведите описание изображения здесь

Связанный контент