Centrer un tableau plus large que la colonne de texte

j'inclus une table dans mon document LaTeX et le centrage fonctionne bien si la table n'est pas plus large que la colonne de texte au-dessus d'elle, mais quand la table est plus large, le côté gauche de la table colle au côté gauche de la colonne de texte, et la largeur supplémentaire de la table est sur le côté droit de la page, Comment puis-je centrer la table?

32
demandé sur Brian Tompsett - 汤莱恩 2009-04-06 22:27:09

5 réponses

je vous recommande d'essayer le package 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}

la documentation pour le paquet chngpage se trouve au bas du fichier chngpage.sty . J'ai sorti les documents pour le adjustwidth environnement:

dans un environnement adjustwidth les marges gauche et droite peut être ajuster. L'environnement prend une argument optionnel et deux longueur arguments:

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

A positive length value will increase the relevant margin

(raccourcissement des lignes de texte) alors qu'un la valeur de longueur négative diminuera la marge (allongement des lignes de texte). Un argument de longueur vide signifie non changement à la marge. À la fin de l'environnement les marges reviennent à leurs valeurs originales.

par exemple, Pour étendre le texte dans la marge de droite:

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

toute apparence de la mention facultative argument (même juste [] ) causera le valeurs des marges de fluctuation entre Pages impaires et pages paires.

si le document est défini sur les deux faces, il peut être avantageux de toute plus large s'étendant dans le texte en dehors de la marge. Ceci pourrait être fait via l'argument optionnel, comme:

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

pour avoir le texte modifié centré horizontalement par rapport à tout texte environnant, les marges doit être ajusté également:

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

31
répondu godbyk 2014-05-19 07:47:18

si vous utilisez un \table float, le \begin{adjustwidth} ... \ end{adjustwidth} doit être contenu à l'intérieur.

15
répondu db. 2009-11-04 12:58:11

Latex: table de centrage plus grande que textwidth

habituellement, vous pouvez centrer des tables avec \center. Mais lorsque la table est plus longue que le \textwidth, elle sera alignée avec la marge de gauche. Vous pouvez ajuster temporairement le 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}
8
répondu user835611 2016-03-21 18:00:29

en chiffres, l'environnement de la figure doit contenir le adjustwidth env.. En outre, caption doit être laissé en dehors de cet environnement pour s'aligner avec la largeur de la figure globale:

\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}
3
répondu juanmirocks 2018-08-04 11:43:44

utilisez-vous un document à plusieurs colonnes? Je considère donc la variante table* environnement.

dans un environnement à colonne unique, vos options s'exécutent à:

  • Augmenter le textwidth . Mais la marge par défaut a été choisie pour de bonnes raisons ergonomiques, de sorte que cela doit être découragé au-delà d'un réglage minimal.
  • réduire la taille du texte dans le tableau (i.e. \small ou même \footnotesize à l'intérieur du tableau). tabular environnement). Encore une fois, c'est moins qu'optimales.
  • utilisez le rotating paquet comme suggéré dans le lien Stephan202 a donné . Je l'ai utilisé pour quelques très grandes tables dans ma dissertation (avec seulement les options de positionnement p ) et il est sorti très bien.
1
répondu dmckee 2017-05-23 11:33:13