我有以下代码:
\begin{table}[ht]
\centering
\rowcolors{2}{smileOrange!25}{white}
\begin{tabular}{|c|c|c|}
\theader{Importance & Titre du document & Auteur}
\trow{1 & some-com-config-files.tar.gz & Florian Margaine}
\trow{2 & some-com-solr-folder.tar.gz & Florian Margaine}
\end{tabular}
\end{table}
工作正常。表格已正确生成。(\theader
和\trow
是自定义命令,smileOrange
是自定义颜色。)
为了摆脱样板\begin{table}
,我创建了这个新环境:
\newenvironment{smileTable}
{
\begin{table}
\centering
\rowcolors{2}{smileOrange!25}{white}
}
{
\end{table}
}
因此我像这样使用这个环境:
\begin{smileTable}
\begin{tabular}{|c|c|c|}
\theader{Importance & Titre du document & Auteur}
\trow{1 & some-com-config-files.tar.gz & Florian Margaine}
\trow{2 & some-com-solr-folder.tar.gz & Florian Margaine}
\end{tabular}
\end{smileTable}
(我保留\begin{tabular}
以便可以声明列数。如果您知道任何更好的方法,请说出来。但这不是这个问题的重点。)
问题是,使用新环境生成的表格最终会出现在文档顶部,紧接着目录之后。为什么会这样?
答案1
您可以为您的环境提供一个参数,然后使用\begin{tabular}{#1}
,以便将表格序言作为参数传递给环境。
浮点数的位置不受局部定义的影响,但受删除选项的影响[ht]
。