如何将表格放在双列页面的底部?

如何将表格放在双列页面的底部?

我的文档中有一个表格,其代码如下:

\onecolumn
\begin{table}[b]
\centering
    \begin{tabular}{cccr}
    \hline
    \textbf{Hydrofob del}   & \textbf{Hydrofil del}             & \textbf{Samlet tensidstruktur}       & \textbf{Tensidtype}    \\ \hline
    Alkylbenzen             & \ce{--SO_3^-}               & alkylbenzensulfonater       & anionisk      \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{OSO_3^-}      & alkylsulfater               & anionisk      \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{COO^-}              & sæber                       & anionisk      \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{[OCH_2CH_2]_mOSO^-} & alkoholethersulfater        & anionisk      \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{CH(SO_3^-)C(O)OCH_3} & methylestersulfonater       & anionisk      \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{[OCH_2CH_2]_mOH}     & alkoholethoxylater          & nonionisk     \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{N^+(CH_3)_2(CH_2} $\phi$) & alkylbenzyldimethylammonium & kationisk     \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{[NCH_3)_2]\rightarrow O}        & alkyldimethylaminoxider     & nonionisk     \\
    \ce{CH_3[CH_2]_nCH_2}-- & --\ce{N^+(CH_3)_2CH_2COO^-} & betainer                    & zwitterionisk \\ \hline
    \end{tabular}

\caption{I denne tabel kan man se byggestenene for de vigtigste tensider i vaskemidler.}
\label{tab:vigtigste tensider}
\end{table}

现在的问题是,LaTeX 只会将表格置于新页面的中间。我只想将其置于双列页面的底部。

答案1

使用该multicol包提供了一个更通用的解决方案,即使您想要在单个列中的内容只是文本,它也能起作用。

您的代码对我来说不容易编译,因为我不知道哪个包定义了 \ce 宏,或者这是一个自定义宏还是其他什么。所以我把它改成了数学,只是为了演示这个想法。我还添加了一些文本,这样在表格前面的两列中就会有内容。这会将表格放在与两列文本末尾相同的页面上,尽管我没有费心让它变得漂亮:

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\begin{document}

\begin{multicols}{2}
    \lipsum
\end{multicols}

\begin{table}[b]
\centering
    \begin{tabular}{cccr}
    \hline
    \textbf{Hydrofob del}   & \textbf{Hydrofil del}             & \textbf{Samlet tensidstruktur}       & \textbf{Tensidtype}    \\ \hline
    Alkylbenzen             & ${CH_3[CH_2]_nCH_2}$               & alkylbenzensulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$      & alkylsulfater               & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$              & sæber                       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & alkoholethersulfater        & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & methylestersulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$     & alkoholethoxylater          & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ $\phi$) & alkylbenzyldimethylammonium & kationisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}{\rightarrow O}$        & alkyldimethylaminoxider     & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & betainer                    & zwitterionisk \\ \hline
    \end{tabular}

\caption{I denne tabel kan man se byggestenene for de vigtigste tensider i vaskemidler.}
\label{tab:vigtigste tensider}
\end{table}

% added to clarify what I say in the comment below - the end of this two-column environment 
% ends up on the next page since the table above is placed at the bottom of the page on 
% which this environment starts i.e. the table is at the bottom of the two-column page and 
% not automatically pushed to the next one (it gets the position I'd expect if the text was 
% set normally with no columns involved at all
\begin{multicols}{2}
    \lipsum[1-2]
\end{multicols}

\end{document}

编辑:如果表格“属于文本”,正如 tohecz 在下面建议的那样,您可以通过在 multicols 环境中使用 table* 环境来解决问题。这会将表格推到下一页,因此需要将其包含在上一页的代码中。如果它需要位于包含两列文本的第一页的底部,您可以在 multicols 环境开始之前包含 table* 环境,这样就会得到正确的结果。但这一切都相当繁琐,因为您需要知道分页符的位置才能做到这一点。所以如果这是想要的,这不是一个好的答案。如果是这样,我会删除这个答案。暂时离开,以防它有任何用处。

编辑2:我的意思是,您可以执行以下操作:

如果希望第一页底部的表格包含多列文本:

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\begin{document}

\begin{table*}[b]
\centering
    \begin{tabular}{cccr}
    \hline
    \textbf{Hydrofob del}   & \textbf{Hydrofil del}             & \textbf{Samlet tensidstruktur}       & \textbf{Tensidtype}    \\ \hline
    Alkylbenzen             & ${CH_3[CH_2]_nCH_2}$               & alkylbenzensulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$      & alkylsulfater               & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$              & sæber                       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & alkoholethersulfater        & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & methylestersulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$     & alkoholethoxylater          & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ $\phi$) & alkylbenzyldimethylammonium & kationisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}{\rightarrow O}$        & alkyldimethylaminoxider     & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & betainer                    & zwitterionisk \\ \hline
    \end{tabular}

\caption{I denne tabel kan man se byggestenene for de vigtigste tensider i vaskemidler.}
\label{tab:vigtigste tensider}
\end{table*}
\begin{multicols}{2}
\lipsum[1-5]
\end{multicols}

\end{document}

如果您希望它出现在第二页的底部,请将其包含在第一页的文本中,在 multicols 环境中:

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\begin{document}

\begin{multicols}{2}
\begin{table*}[b]
\centering
    \begin{tabular}{cccr}
    \hline
    \textbf{Hydrofob del}   & \textbf{Hydrofil del}             & \textbf{Samlet tensidstruktur}       & \textbf{Tensidtype}    \\ \hline
    Alkylbenzen             & ${CH_3[CH_2]_nCH_2}$               & alkylbenzensulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$      & alkylsulfater               & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$              & sæber                       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & alkoholethersulfater        & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & methylestersulfonater       & anionisk      \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$     & alkoholethoxylater          & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ $\phi$) & alkylbenzyldimethylammonium & kationisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}{\rightarrow O}$        & alkyldimethylaminoxider     & nonionisk     \\
    ${CH_3[CH_2]_nCH_2}$-- & --${CH_3[CH_2]_nCH_2}$ & betainer                    & zwitterionisk \\ \hline
    \end{tabular}

\caption{I denne tabel kan man se byggestenene for de vigtigste tensider i vaskemidler.}
\label{tab:vigtigste tensider}
\end{table*}
\lipsum[1-10]
\end{multicols}

\end{document}

编辑 3:请注意,multicol 确实支持宽的浮动。它不支持窄浮动。也就是说,它不支持应该出现在列内的浮动 - 只支持页面宽度的浮动。

答案2

现在我知道我该怎么做了。我只是在图上加了一颗星:\begin{figure*}\end{figure*}。当然,我删除了\onecolumn

相关内容