![生成表的环境](https://linux22.com/image/340253/%E7%94%9F%E6%88%90%E8%A1%A8%E7%9A%84%E7%8E%AF%E5%A2%83.png)
我正在尝试定义新的嵌套环境,以生成 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}