我如何创建一个以类似于列表的方式获取项目的环境?
例子:
\begin{myEnv}
\item{AAA}{BBB}
\item{CCC}{DDD}
\end{myEnv}
我希望上面能做类似的事情
\begin{tabular}{|l|l|l|l|}
\hline
header1 & header2 & header3 & header4 \\ \hline
AAA & BBB & & \\ \hline
CCC & CCC & & \\ \hline
\end{tabular}
答案1
虽然我不太清楚您的用法,但以下很可能是您想要的。给出的最小工作示例显示了您的原始tabular
构造,后跟myEnv
构造。每个\item
within 都myEnv
为四列接受四个参数。但是,这也可以修改为仅接受两个,如您的示例所示:
\documentclass{article}
\usepackage{booktabs}% http://ctan/org/pkg/booktabs
\newenvironment{myEnv}
{\renewcommand{\item}[4]{##1&##2&##3&##4\\}% \item{<one>}{<two>}{<three>}{<four>}
\tabular{*{4}{l}}
\toprule
header1 & header2 & header3 & header 4 \\
\midrule
}
{\bottomrule\endtabular}
\begin{document}
\begin{tabular}{|l|l|l|l|}
\hline
header1 & header2 & header3 & header4 \\ \hline
AAA & BBB & & \\ \hline
CCC & CCC & & \\ \hline
\end{tabular}
\bigskip
\begin{myEnv}
\item{AAA}{BBB}{CCC}{DDD}
\item{EEE}{FFF}{GGG}{HHH}
\end{myEnv}
\end{document}
我擅自使用了booktabs
包裹制作第二个myEnv
表格,因为它可以制作出具有专业外观的表格(无需使用垂直规则)。
的重新定义\item
仅限于环境myEnv
,因此仍可在其他列表环境中使用。或者,您可以创建自己的\item
环境(例如\myItem
),该环境仅在 内起作用myEnv
。