一个文档中的浮动和非浮动项目

一个文档中的浮动和非浮动项目

到目前为止我的表格是这样的:

\documentclass{article}

\usepackage{capt-of}

\begin{document}

\begin{table}    
\begin{minipage}[h!]{\linewidth}    
\centering    
\begin{tabular}{p{2cm}p{2cm}p{2cm}}
    \hline    
     \rule{0pt}{8pt}    
     \textbf{column a} & \textbf{column b} & \textbf{column c} \\      
        \hline    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\
        \hline    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\    
    \hline    
    \hline    
    \end{tabular}
    \captionof{table}{text for the listing}{caption} \label{tab:table}     
    \end{minipage}    
    \end{table}

\end{document}

嗯,问题是,有些表格出现在标题上方。我的想法是将这些表格放在非浮动环境中。由于我有 60 多个图表和表格,所以我不想在 ortabular环境中更改它们tabularx

有没有办法将一些图形或表格放在非浮动环境中,并将其余部分留在table浮动环境中。

和:\captionof....

并且它们需要编号=(

答案1

如果你希望混合使用浮动和非浮动figuretable那么你应该使用float包裹[H]浮点说明符。这里有一个小例子:

在此处输入图片描述

\documentclass{article}
\usepackage[margin=1in]{geometry}% Just for this example
\usepackage{float,lipsum,graphicx}
\begin{document}
\lipsum[1]
\begin{figure}[H]% Non-floating figure float
  \centering
  \includegraphics[width = .7\linewidth, height = 50pt]{example-image-a}
  \caption{A figure}
\end{figure}
\lipsum[2]
\begin{figure}[t]% Regular floating figure
  \centering
  \includegraphics[width = .7\linewidth, height = 50pt]{example-image-b}
  \caption{Another figure}
\end{figure}
\lipsum[3]
\end{document}

以上适用于任何默认浮点数(figuretable,以及通过float包定义的新浮点数)。此外,无需使用capt-of因为浮子提供了足够的\caption力。

上述示例还突出了将非浮动浮动与其他/常规浮动混合使用的问题之一。编号仍将起作用,但编号的视觉位置可能会混合(图 2 已浮动到页面顶部,在视觉上显示非浮动的图 1(放置在[H]ERE 处)。

答案2

有什么问题captionof?只需将非浮动元素放入tabulara 中minipage并使用captionof即可。也许我遗漏了什么?我目前正在文档中使用它,它运行良好。

\documentclass{article}

\usepackage{capt-of}

\begin{document}

\noindent\begin{minipage}{\textwidth}
    \begin{tabular}{p{2cm}p{2cm}p{2cm}}
    \hline    
     \rule{0pt}{8pt}    
     \textbf{column a} & \textbf{column b} & \textbf{column c} \\      
        \hline    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\
        \hline    
        \rule{0pt}{8pt}    
        text    &   text        & text   \\    
    \hline    
    \hline    
    \end{tabular}
    \captionof{table}{text for the listing}{caption} \label{tab:table}
\end{minipage}



\end{document}

相关内容