如何创建具有不同类型框架的嵌套自定义环境?

如何创建具有不同类型框架的嵌套自定义环境?

因此,在我写十页描述我想要做的事情之前,我做了一个小模型:

我想到的是这样的:

\begin{mybox}[Name]
\begin{syntax}
  here comes source code
\end{syntax}
\begin{type}
  here come a few inference rules
\end{type}
\begin{kind}
  also inference rules
\end{kind}
\end{mybox}

因此,一个大框包含部分框架和名称。大框中有三个小框,每个小框顶部有一行,还有一个小框说明它是什么。并非每个框都应包含所有三个部分,例如,有些框没有输入部分。此外,应该可以跨多个页面,因为这些框可能会变得相当大。

我现在了解基本的 LaTeX 内容,但我不知道从哪里开始寻找这样的东西。

答案1

我已经开始寻找解决方案:

  \newenvironment{myownbox}[1]
 { 
    \rule{1pt}{2mm}\rule[2mm-1pt]{\linewidth-2pt}{1pt}\rule{1pt}{2mm}\par
    \hspace*{4pt}
    #1 \\
    \smallskip
    \hspace*{4pt}
    \begin{minipage}{\linewidth-8pt}
 }
 {
    \end{minipage}%
    \medskip\par
    \rule{1pt}{2mm}\rule{\linewidth-2pt}{1pt}\rule{1pt}{2mm}%    
   } 
 \newenvironment{syntax}
 { 
   \par\noindent \rule{\textwidth}{1pt} 
   \makebox[\textwidth][r]{Syntax}
   \verbatim
 }
 { 
  \endverbatim
 }
 \newenvironment{type}
 { 
   \rule{\textwidth}{1pt} 
   \makebox[\textwidth][r]{Type}
   \begin{typefigure}
 }
 { 
   \end{typefigure}
 }

完成后我会更新。目前标题(语法、类型)没有框架,位置也不完美。

相关内容