假设我制作了自己的表格环境包装器。
我可以使用自定义表格环境自动将一列添加到所有表的全局前缀吗?
表格输入示例
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3 \\
排版所需的表格输出
globalcol1 & localcol1 & localcol2 & localcol3 \\
globalcol2 & localcol1 & localcol2 & localcol3 \\
globalcol3 & localcol1 & localcol2 & localcol3 \\
代码
我真的不知道该怎么做。我怀疑可能是因为array
包,但这里有一些代码可以开始:
\documentclass{article}
\usepackage{fontspec}% xelatex
\newenvironment{mytabular}
{\leavevmode\begin{tabular}{lll}
% <== insert global column here
}
{\end{tabular}}
\begin{document}
\begin{mytabular}
col1 & col2 & col3 \\
col1 & col2 & col3 \\
col1 & col2 & col3 \\
\end{mytabular}
\end{document}
答案1
tabular
您可以在左侧添加一列mytabular
:
\documentclass{article}
\newenvironment{mytabular}
{\noindent
\begin{tabular}[t]{ l }
globalcol1 \\
globalcol2 \\
globalcol3
\end{tabular}\begin{tabular}[t]{ l l l }
}
{\end{tabular}}
\begin{document}
\begin{mytabular}
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3
\end{mytabular}
\bigskip
\begin{mytabular}
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3 \\
localcol1 & localcol2 & localcol3
\end{mytabular}
\end{document}
使用[t]
op 对齐可确保不同数量的列仍能垂直对齐。如果行高不同,则可能会出现问题。但是,使用 -columnl
将不允许换行,因此将保持一致的基线。