如何使用脆弱选项定义自定义框架环境?

如何使用脆弱选项定义自定义框架环境?

我正在尝试创建自定义框架环境以供示例使用。该环境会修改文档的页眉和页脚,但由于不相关,因此未在我的示例中显示。我尝试做的是获取fragile启用选项的自定义框架环境,但似乎不起作用

\documentclass[aspectratio=169, xcolor={x11names}, t, handout]{beamer}

\usetheme{Dresden}
\usefonttheme{professionalfonts}

\usepackage[T1]{fontenc}
\renewcommand{\encodingdefault}{T1}

\usepackage{listings}

\usepackage[]{matlab-prettifier}
\lstdefinestyle{matlab}{
    style=Matlab-editor,
    basicstyle=\linespread{0.8}\mlttfamily\footnotesize,
    literate=
    *{.\\}{{\textcolor{IndianRed1}{.\textbackslash{}}}}{2} % .\
}

\lstset{style=matlab}

\newenvironment{frameexamplebasmah}{%
    \begin{frame}
    }{
    \end{frame}
}

\begin{document}

\begin{frame}[fragile, environment=frame, allowframebreaks=0.99]

\lstinline|.\|
    
\end{frame}

%\begin{frameexamplebasmah}
%   
%\lstinline|.\|
%   
%\end{frameexamplebasmah}

\end{document}

答案1

  • 您可以向新环境添加一个可选参数,以便将fragile框架选项传递给框架。

  • 与普通框架相比,environment=frame没有必要,您必须告诉自定义环境中的框架如何调用该环境。


\documentclass[aspectratio=169, xcolor={x11names}, t, handout]{beamer}

\usetheme{Dresden}
\usefonttheme{professionalfonts}

\usepackage[T1]{fontenc}
\renewcommand{\encodingdefault}{T1}

\usepackage{listings}

\usepackage[]{matlab-prettifier}
\lstdefinestyle{matlab}{
    style=Matlab-editor,
    basicstyle=\linespread{0.8}\mlttfamily\footnotesize,
    literate=
    *{.\\}{{\textcolor{IndianRed1}{.\textbackslash{}}}}{2} % .\
}

\lstset{style=matlab}

\newenvironment{frameexamplebasmah}[1][]{%
    \begin{frame}[environment=frameexamplebasmah,#1]
    }{
    \end{frame}
}

\begin{document}

\begin{frame}[fragile, allowframebreaks=0.99]

\lstinline|.\|
    
\end{frame}

\begin{frameexamplebasmah}[fragile]
   
\lstinline|.\|
   
\end{frameexamplebasmah}

\end{document}

相关内容