命令“defverbatim”忘記了“minted”中的顏色

命令“defverbatim”忘記了“minted”中的顏色

我正在嘗試使用minted內部uncover。看起來該環境具有逐字環境的屬性,因此需要進行mintedhack 。defverbatim問題是這個黑客忘了顏色。如何解決這個問題?

示範範例:

\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

(第 18 頁)的手冊beamer說,為了與環境一起保存彩色列表lstlisting,必須使用\defverbatim[colored].

它也適用於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}

在此輸入影像描述

相關內容