Последовательные таблицы в LaTeX - PullRequest
2 голосов
/ 21 апреля 2010

Интересно, как последовательно разместить несколько таблиц в LaTeX?

Страница с текстом прямо перед первой таблицей имеет немного места, но недостаточно для первой таблицы, поэтому первая таблица должна быть размещена в верхней части следующей страницы, хотя я использую \begin{table}[!h] для нее.

Вторая таблица не помещается в место на остальной части страницы первой таблицы, поэтому я думаю, что я мог бы использовать longtable, чтобы она охватила остальную часть страницы и верхнюю часть следующей страницы. Точно так же я использую longtable для третьей таблицы.

Код LaTeX выглядит следующим образом:

... % some text  

\begin{table}[!h]  
\caption{Table 1. \label{tab:1}}  
\begin{center}  
\begin{tabular}{c c}  
...  
\end{tabular}  
\end{center}  
\end{table}     

\begin{center}  
\begin{longtable}{ c c }  
\caption{Table 2. \label{tab:2}}\\   
...  
\end{longtable}  
\end{center}  

\begin{center}  
\begin{longtable}{ c c }  
\caption{Table 3. \label{tab:3}}\\   
...  
\end{longtable}  
\end{center}  

... % some text

В скомпилированном файле PDF выясняется, что порядок таблиц нарушен. Первая таблица располагается позади второй и третьей, а вторая занимает страницу с текстом перед таблицами, а следующая страница - с третьей после нее.

Я хотел бы знать, как сделать так, чтобы три таблицы отображались последовательно по порядку, и между ними, а также между текстом и таблицами не должно быть пробела?

Или, если я надеюсь, что это невозможно, то какая стратегия лучше?


EDIT:

Удаление [! H] не приводит к улучшению, первая таблица все еще отстает от второй, а третья.


EDIT:

Как подсказывает один из следующих ответов, использование [H] работает для меня. Из любопытства, в чем разница между эффектами [H] и [! H]?

Ответы [ 2 ]

3 голосов
/ 21 апреля 2010

Попробуйте удалить [!h]

Дело в том, что \begin{table} ... \end{table} определяет плавающую вставку. Эта вставка появляется на одной из следующих страниц. \begin{longtable} определяет неплавающую таблицу. Longtable появляется сразу.

Вы должны удалить \begin{table} ... \end{table}, чтобы сразу появилась первая таблица. [!h] не делает таблицу неплавающей.

1 голос
/ 21 апреля 2010

Я забыл, если это массив или массив с плавающей точкой, который дает вам [H], но это всегда работало для меня:

\begin{table}[H]
...
\end{table}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...