![`defverbatim` 명령은 `minted`의 색상을 잊어버립니다.](https://rvso.com/image/420034/%60defverbatim%60%20%EB%AA%85%EB%A0%B9%EC%9D%80%20%60minted%60%EC%9D%98%20%EC%83%89%EC%83%81%EC%9D%84%20%EC%9E%8A%EC%96%B4%EB%B2%84%EB%A6%BD%EB%8B%88%EB%8B%A4..png)
minted
내부에서 사용하려고 합니다 uncover
. 환경이 축어적 환경의 속성을 갖고 있는 것처럼 보이 minted
므로 해킹이 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}