我试图创建一个环境,围绕环境内容创建一个表格框架。
例如:
\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{Team sheet} \\
\hline
\end{tabular}
应该成为
\begin{example}Team sheet\end{example}
和
\newenvironment{example}{
\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{
}{
} \\\hline \end{tabular}
}
但是由于明显的括号配对问题,“拆分” \multicol 的括号并不像我想要的那样直接。那么我该如何解决这个问题呢?是否有可用于该命令的环境可以允许这种“拆分”?
答案1
实现此目的的最简单方法是将标题作为参数传递:
\newenvironment{example}[1]
{\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{#1} \\
}
{\\\hline \end{tabular}}
并称之为
\begin{example}{Team sheet}
... the data ...
\end{example}
这也更好地体现了物体的作用。
可以使用包添加框架mdframed
。
答案2
您可以将内容保存在保存框中并在多列中使用它:
\documentclass{article}
\usepackage{array}
\newenvironment{example}{%
\setbox0=\hbox\bgroup
}{
\egroup%
\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{\box0}\\\hline
\end{tabular}
}
\begin{document}
\begin{example}
Team sheet
\end{example}
\end{document}
但是您也可以使用命令\fbox
。