我有一个文档,里面有一些表格,我想为表格中的每个单元格设置一些默认边框。现在我已经定义了一个新命令,我必须为每个单元格调用该命令,但我不想这样做。我想将其设置为默认值,以便每个单元格都有相同的边框。有没有可以解决我的问题的命令。我当前的代码是这样的
\documentclass[11pt]{article}
\usepackage{blindtext}
\usepackage{xcolor}
\begin{document}
\newcommand{\comm}[1]{
\setlength{\fboxrule}{2pt}
\fcolorbox{red}{white}{#1}
}
\begin{center}
\begin{tabular}{ c c c }
\comm{cell1} & \comm{cell2} & \comm{cell3} \\
\end{tabular}
\end{center}
\end{document}
这里我不想为每个单元调用命令“comm”。
答案1
如果您想将宏包装在每个单元格周围,您可能会对此感兴趣collcell
。
\documentclass[11pt]{article}
\usepackage{xcolor}
\usepackage{array}
\usepackage{collcell}
\usepackage{colortbl} % < for alternative
\begin{document}
\newcommand{\comm}[1]{
\setlength{\fboxrule}{2pt}
\fcolorbox{red}{white}{#1}
}
\newcolumntype{E}{>{\collectcell\comm}c<{\endcollectcell}}
This wraps the content of each cell in your macro:
\begin{center}
\begin{tabular}{*3{E}}
cell1 & cell2 & cell3 \\
\end{tabular}
\end{center}
Are you sure you do not want:
\begin{center}
\setlength\arrayrulewidth{2pt}%
\arrayrulecolor{red}%
\begin{tabular}{|*3{c|}}
\hline
cell1 & cell2 & cell3 \\
\hline
\end{tabular}
\end{center}
\end{document}