新环境在文档顶部创建表格

新环境在文档顶部创建表格

我有以下代码:

\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]

相关内容