生成表的环境

生成表的环境

我正在尝试定义新的嵌套环境,以生成 2x2 表。第二行中的每个表格单元格将包含一个源代码。

我尝试做的是

类文件:

\newenvironment{example}
{
    \begin{table}[]
        \centering
        \caption{Caption of Table}
        \label{my-label}
        \begin{tabular}{|l|l|}
        \hline
        Input & Output \\ \hline
    }
    {
        \\ \hline
    \end{tabular}
\end{table}
}

\newenvironment{inputExample}
{}{&}

\newenvironment{outputExample}
{}{}

TeX 文件:

\begin{example}
    \begin{inputExample}
        Left
        column
        content...
    \end{inputExample}
    \begin{outputExample}
        Right column content...
    \end{outputExample}
\end{example}

我不知道为什么,但它不起作用。我收到很多错误消息,例如-

'插入缺失}。...gin{inputExample}左列内容...\end{inputExample}'

如果我从输入示例环境的定义中删除&,它就可以工作。但显然它不会生成正确的表。

我想要的是-

桌子

答案1

这只是 的初步建议tcolorbox。如果您考虑使用它,可以做更多工作以更好地进行调整。此版本用于tcbitem包含所有四个元素,并且所有四个框都相似,但都可以特别设计。

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lmodern}
\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{table}
\caption{A nice table simulated with \texttt{tcolorbox}} 
\begin{tcboxeditemize}[raster columns=2, colback=white, sharp corners, raster equal height=rows, raster force size=false, raster column 1/.style={add to width=-3cm}, raster column 2/.style={add to width=3cm}]{notitle,colback=white, sharp corners, boxsep=-2pt}
\tcbitem Input
\tcbitem Output
\tcbitem Left column content
\tcbitem Right column content
\end{tcboxeditemize}
\end{table}
\end{document}

在此处输入图片描述

编辑:

可以tcboxeditemize简单地进行转换environment

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lmodern}
\usepackage{lipsum}

\newenvironment{mybox}{%
\begin{tcboxeditemize}[raster columns=2, colback=white, sharp corners, 
    raster equal height=rows, raster force size=false, 
    raster column 1/.style={add to width=-3cm}, 
    raster column 2/.style={add to width=3cm}]%
    {notitle,colback=white, sharp corners, boxsep=-2pt}}%
{\end{tcboxeditemize}}

\begin{document}

\lipsum[1]

\begin{table}
\caption{A nice table simulated with \texttt{tcolorbox}} 
\begin{mybox}
\tcbitem Input
\tcbitem Output
\tcbitem Left column content
\tcbitem Right column content
\end{mybox}
\end{table}
\end{document}

相关内容