我正在尝试使用 \newcommand 开始和结束表格。我想切换到使用\EndTableSetupFourColumns
(因为它可以消除几个警告,并且更容易让其他读者理解),但出于某种原因,LaTeX 似乎无法识别\end{tabu}
其中的 found,所以我必须手动插入它,如下所示。
这个问题似乎仅限于 tabu - 当我使用 tabulars 时,我没有遇到这个问题。我查看了 tabu 文档,没有发现任何表明这不起作用的内容。
看着\newcommand 中的 \end{tabu}表明它不起作用,但是,如果没有别的办法,我想解决这个问题以提高代码的可读性。
梅威瑟:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{longtable,tabu}
\newcommand{\TableSetupFourColumns}{%
\rowcolors{2}{gray!25}{white}
\begin{tabu} to \textwidth {lccX}
\rowcolor{gray!50}}
\newcommand{\EndTableSetupFourColumns}{%
\end{tabu}}
\begin{document}
\section{Test 1}
This is text.\par \noindent
\TableSetupFourColumns
Test & test & test & test\\
\end{tabu}
%\EndTableSetupFourColumns
\end{document}
答案1
tabu
需要“看到” \end{tabu}
;它不能隐藏在宏中。最好定义一个新环境:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{longtable,tabu}
\newenvironment{tabu4}
{\rowcolors{2}{gray!25}{white}
\begin{tabu} to \textwidth {lccX}
\rowcolor{gray!50}}
{\end{tabu}}
\begin{document}
\section{Test 1}
This is text.
\medskip
\noindent
\begin{tabu4}
Test & test & test & test\\
Test & test & test & test\\
Test & test & test & test\\
Test & test & test & test\\
Test & test & test & test\\
Test & test & test & test\\
\end{tabu4}
\end{document}