Центрирование таблицы шире, чем текстовый столбец - PullRequest
36 голосов
/ 06 апреля 2009

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

Ответы [ 5 ]

33 голосов
/ 07 апреля 2009

Я бы порекомендовал попробовать пакет chngpage.

\documentclass{article}

% allows for temporary adjustment of side margins
\usepackage{chngpage}

% provides filler text
\usepackage{lipsum}

% just makes the table prettier (see \toprule, \bottomrule, etc. commands below)
\usepackage{booktabs}

\begin{document}

\lipsum[1]% just a paragraph of filler text

\medskip% adds some space before the table
\begin{adjustwidth}{-1in}{-1in}% adjust the L and R margins by 1 inch
  \begin{tabular}{ll}
    \toprule
    Sequence & Wide column \\
    \midrule
    First & Vestibulum porta ultricies felis. In nec mi. \\
    Second & Nam vestibulum auctor nibh. In eleifend, 
    lacus id tristique ullamcorper, mauris urna convallis elit. \\
    Third & Ut luctus nisi quam lobortis magna. Aenean sit amet odio 
   et sapien rutrum lobortis. \\ 
    Fourth & Integer dictum accumsan purus. Nullam erat ligula,
    dictum sed, feugiat nec, faucibus id, ipsum. \\
    \bottomrule
  \end{tabular}
\end{adjustwidth}
\medskip% adds some space after the table

\noindent\lipsum[2]% just a paragraph of filler text

\end{document}

Документация для пакета chngpage находится внизу файла chngpage.sty. Я вытащил документы для adjustwidth среды:

в среде с регулируемой шириной левые и правые поля могут быть отрегулированы. Окружающая среда занимает одно необязательный аргумент и два обязательных Длина аргументов:

\begin{adjustwidth}[]{leftmargin}{rightmargin}

A positive length value will increase the relevant margin

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

Например, чтобы расширить текст в правое поле:

\begin{adjustwidth}{}{-8em}

Любое появление опционально аргумент (даже просто []) вызовет значения полей для переключения между нечетными и четными страницами.

Если документ устанавливается это может быть выгодно иметь более широкий текст, распространяющийся на вне поля Это можно сделать через необязательный аргумент, как:

\begin{adjustwidth}[]{}{-8em}

иметь скорректированный текст горизонтально по центру относительно любой окружающий текст, поля следует отрегулировать одинаково:

\begin{adjustwidth}{-4em}{-4em}

16 голосов
/ 04 ноября 2009

Если вы используете \ table float, внутри него должен содержаться \ begin {Adjustwidth} ... \ end {Adjustwidth}.

13 голосов
/ 08 июля 2011

Латекс: центрирующая таблица больше ширины текста

Обычно вы можете центрировать таблицы с помощью \ center. Но когда таблица длиннее \ textwidth, она будет выровнена по левому боковому полю. Вы можете временно настроить ширину текста.

% allows for temporary adjustment of side margins
\usepackage{chngpage}

\begin{table}
    \begin{adjustwidth}{-.5in}{-.5in}  
        \begin{center}
        \begin{tabular}{|c|}
            \hline
And here comes a very long line. And here comes a very long line. And here comes a very long line.  \\
            \hline
        \end{tabular} 

        \caption{This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. }
        \label{myTable}
        \end{center}
    \end{adjustwidth}
\end{table}
3 голосов
/ 15 февраля 2011

На рисунках среда рисунка должна содержать adjustwidth env. Кроме того, caption следует оставить вне этой среды, чтобы выровнять ее с общей шириной фигуры:

\begin{figure}[h]
  \begin{adjustwidth}{-1in}{-1in}% adjust the L and R margins by 1 inch
    \centering
    \includegraphics[scale=0.44]{res/sth.png}
  \end{adjustwidth}
  \caption{sth}
  \label{fig:sth}
\end{figure}
1 голос
/ 07 апреля 2009

Вы используете документ с несколькими столбцами? Я так, рассмотрим вариант table* среды.

В среде с одним столбцом ваши параметры работают так:

  • Увеличьте textwidth. Но запас по умолчанию был выбран по хорошим эргономическим причинам, поэтому его не следует допускать, за исключением минимальной настройки.
  • Уменьшить размер текста в таблице (т.е. \small или даже \footnotesize в среде tabular). Опять же, это менее чем оптимально.
  • Используйте пакет rotating , как предложено в по ссылке, которую Stephan202 дал . Я использовал это для пары очень больших таблиц в своей диссертации (только с опциями позиционирования p), и это получилось очень красиво.
...