我正在写一篇论文SIGPLAN 会议 2 列格式。我为每个章节保留单独的 .tex 文件:
%% main.tex
\documentclass[preprint, 10pt]{sigplanconf}
\usepackage{ ... }
...
\maketitle
...
\input{abstract}
\input{intro}
\input{related}
...
'abstract' 和 'intro' 加起来有 1.2 页长,'related' 紧随其后。'related' 的长度为 0.8 页。这意味着直到 'related 的所有内容都在第 2 页。
问题是我有一张宽表,{table*}
它跨越了“相关”文件中的两列。
%% related.tex
\begin{table*}[t]
\begin{center}
\begin{tabular}{|l|l|l|}
...
\end{table*}
但是,这个宽表总是位于第 3 页,而不是第 2 页。要使这个宽表成为第 2 页,我需要将表移到“intro”的中间,这非常难看。更糟糕的是,这会使表标题编号乱序。
有没有什么方法可以强制确定宽表的位置?就我而言,我想在第 2 页绘制宽表格。
我遇到了包,但是插入这个包会导致} 和fixltx2e
出现巨大错误。{table*
{figure*}
答案1
我有两个建议。首先,用单个指令替换\begin{center}
和命令。这将明显缩小整个表格所需的垂直空间。其次,将表格的代码单独放在一个文件中,并将该文件放在摘要之后但在文件之前。\end{center}
\centering
\input
intro
在以下 MWE 中,我使用 documentclassarticle
而不是 sigplanconf(我的 TeX 系统上没有),并且使用lipsum
包中的填充文本来模拟摘要和前两节的内容。请注意,表格的代码位于第 1 节的开始之前;因此,它被放置在第 2 页的顶部,我相信这是你想要的。(在两列 LaTeX 文档中,浮动将仅有的放置在顶部,因此提供[t]
定位选项是不必要的,也是无用的。)祝您 TeXing 愉快!
\documentclass[twocolumn]{article}
\usepackage{lipsum,afterpage}
\begin{document}
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\begin{table*}
\caption{Some data points} \label{tab:data}
\medskip
\centering
\begin{tabular}{|ccccc|}
\hline
a & b & c & d & e\\
\hline
\end{tabular}
\end{table*}
\section{Introduction}
\lipsum[3-8]
\section{Related Literature}
\lipsum[8-15]
\end{document}
答案2
您可以使用包执行此操作stfloats
,然后使用常规符号(例如 [bp])将图像放在底部。
\usepackage{stfloats}
\begin{table*}[bp]
...
\end{table*}
答案3
另一个解决方案是使用[h]
(表示“此处”)修饰符。
\begin{table*}[h]
\centering
\begin{tabular}{|l|l|l|}
...
\end{table*}