Der Befehl `defverbatim` vergisst Farben in `minted`

Der Befehl `defverbatim` vergisst Farben in `minted`

Ich versuche, mintedinside zu verwenden uncover. Es sieht so aus, als ob die mintedUmgebung Eigenschaften einer Verbatim-Umgebung hat, daher defverbatimist der Hack erforderlich. Das Problem ist, dass dieser Hack Farben vergisst. Wie kann man das umgehen?

Demo-Beispiel:

\documentclass[aspectratio=169
  , xcolor={svgnames}
  ]{beamer}
\usepackage{fontspec}
\usepackage{lipsum}  

\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{russian}
\usepackage[cache=true]{minted}

\begin{document}
\defverbatim{\exampleTailRec}{
\begin{minted}{ocaml}
(* make2 : 'a -> int -> 'a list  *)
let make2 x n =
    let rec helper acc n =
      if n<1 then acc
      else helper (x :: acc) (n-1)
    in 
    helper [] n
\end{minted}
}
\begin{frame}[fragile]
\begin{minipage}[t]{0.45\linewidth}
\begin{minted}{ocaml}
(* make : 'a -> int -> 'a list  *)
let rec make x n = 
    if n<1 then []
    else x :: (make x (n-1))
\end{minted}
\uncover<2->{
\begin{minipage}{7cm}
%\begin{minted}{ocaml}
%(* make2 : 'a -> int -> 'a list  *)
%let make2 x n =
%    let rec helper acc n =
%      if n<1 then acc
%      else helper (x :: acc) (n-1)
%    in 
%    helper [] n
%\end{minted}
\exampleTailRec
\end{minipage}
}
\end{minipage}\hspace{1cm}
\begin{minipage}[t]{0.45\linewidth}
\lipsum[2]
\end{minipage}
\end{frame}
\end{document}

1. Seite

2. Seite

Antwort1

Im Handbuch von (auf Seite 18) steht, dass man verwenden muss beamer, um farbige Auflistungen mit der Umgebung beizubehalten .lstlisting\defverbatim[colored]

Es funktioniert auch mit minted.

\documentclass[aspectratio=169
  , xcolor={svgnames}
  ]{beamer}
\usepackage{fontspec}
\usepackage{lipsum}  

\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{russian}
\usepackage[cache=true]{minted}

\begin{document}
\defverbatim[colored]{\exampleTailRec}{
\begin{minted}{ocaml}
(* make2 : 'a -> int -> 'a list  *)
let make2 x n =
    let rec helper acc n =
      if n<1 then acc
      else helper (x :: acc) (n-1)
    in 
    helper [] n
\end{minted}
}
\begin{frame}[fragile]
\begin{minipage}[t]{0.45\linewidth}
\begin{minted}{ocaml}
(* make : 'a -> int -> 'a list  *)
let rec make x n = 
    if n<1 then []
    else x :: (make x (n-1))
\end{minted}
\uncover<2->{
\begin{minipage}{7cm}
%\begin{minted}{ocaml}
%(* make2 : 'a -> int -> 'a list  *)
%let make2 x n =
%    let rec helper acc n =
%      if n<1 then acc
%      else helper (x :: acc) (n-1)
%    in 
%    helper [] n
%\end{minted}
\exampleTailRec
\end{minipage}
}
\end{minipage}\hspace{1cm}
\begin{minipage}[t]{0.45\linewidth}
\lipsum[2]
\end{minipage}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen