J'ai un document LaTeX qui contient un paragraphe suivi de 4 tableaux suivis d'un deuxième paragraphe. Je veux que les 4 tableaux apparaissent entre les deux paragraphes, ce qui, d'après ce que j'ai lu, signifie que je devrais utiliser l'option [h] après avoir commencé l'environnement de table (par exemple \begin{table}[h]
).
En utilisant cela, les deux premiers tableaux apparaissent après le paragraphe 1 comme prévu, cependant le paragraphe 2 est alors affiché avec les deux derniers tableaux apparaissant sur la page suivante. Comment puis-je faire apparaître les tableaux au bon endroit?
J'ai essayé diverses choses pour corriger le positionnement, comme l'utilisation, [h!]
mais cela ne semble pas avoir d'effet. Utiliser \clearpage
après les tableaux a l'effet désiré de faire apparaître les tableaux avant le deuxième paragraphe, mais cela laisse ensuite les deux derniers tableaux sur leur propre page avec beaucoup d'espace blanc, alors que je préférerais que le deuxième paragraphe commence immédiatement après le les tables.
Paragraph 1...
\begin{table}[h]
table1...
\end{table}
\begin{table}[h]
table2...
\end{table}[h]
...
Paragraph 2...
[h!]
est la bonne version. C'est l'équivalent de[H]
. Les deux nécessitent lefloat
package.Réponses:
Après avoir fait quelques recherches sur Google, je suis tombé sur le paquet float qui vous permet d'empêcher LaTeX de repositionner les tables.
Dans le préambule:
Ensuite, pour chaque table, vous pouvez utiliser l'
H
option de placement (par exemple\begin{table}[H]
) pour vous assurer qu'elle n'est pas repositionnée.la source
H
équivaut àh!
(pour plus d'informations sur les paramètres, vérifiez ma réponse ici )#+LATEX_HEADER: \usepackage{float} #+LATEX_HEADER: \restylefloat{table}
Et puis,#+CAPTION: A table #+NAME: tab:table-label #+ATTR_LATEX: :placement [H] :center t <<actual table content>>
excusez le mauvais formatage de nouvelle ligne dans les commentaires.Cela a fonctionné pour moi:
Au début, les
usepackage
définitions incluent:Et avant et après ajouter:
Cela place le tableau exactement où vous le souhaitez dans le texte.
la source
Positionnement de la table
Paramètres disponibles
Un tableau peut facilement être placé avec les paramètres suivants:
h
Placez le flotteur ici , c'est-à-dire approximativement au même point où il se trouve dans le texte source (mais pas exactement à l'endroit)t
Position en haut de la page.b
Position au bas de la page.p
Mettre sur une page spéciale pour les flotteurs uniquement.!
Remplacer les paramètres internes que LaTeX utilise pour déterminer les «bonnes» positions de flotteur.H
Place le flotteur à l'emplacement précis du code LATEX. Nécessite le package float. C'est un peu équivalent àh!
.Si vous souhaitez utiliser
H
(ouh!
) pour un positionnement exact, assurez-vous que lefloat
package est correctement configuré dans le préambule:Exemple
Si vous souhaitez placer le tableau sur la même page, soit à l'endroit exact, soit au moins en haut de la page (ce qui convient le mieux au moteur latex), utilisez les paramètres
h
ett
comme ceci:Sources: Overleaf.com
la source
Que se passe-t-il si le texte, les tableaux et le texte ne tiennent pas sur une seule page? En essayant de forcer la composition de cette manière, vous risquez très probablement de vous retrouver avec des pages trop courtes; c'est-à-dire, parce qu'un tableau ne peut pas par défaut sauter sur une page, il sera poussé à la suivante et laissera un espace sur la page précédente. Vous remarquerez que vous ne voyez jamais cela dans un livre publié.
Le comportement flottant est une bonne chose! Je recommande d'utiliser
[htbp]
comme paramètre par défaut pour tous les tableaux et figures jusqu'à ce que votre document soit complet; alors seulement devrait penser à affiner leur placement précis.PS Lisez la FAQ ; la plupart des autres réponses ici sont des combinaisons partielles de conseils qui y sont donnés.
la source
[htbp]
et rien du tout?[ht]
plutôt que[htbp]
Voici une solution simple, de Wikibooks :
Je mets juste
\FloatBarrier
avant et après chaque table.la source
Si vous voulez avoir deux tables côte à côte, vous pouvez utiliser: (avec le
float
package chargé)Chacun aura sa propre légende et son propre numéro. Une autre option est le
subfigure
package.la source
Vous pouvez ajouter ceci à votre préambule et ajuster les valeurs si nécessaire:
En particulier, la \ floatpagefraction peut être intéressante.
la source