IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tableaux - Graphiques - Images - Flottants Discussion :

tableau flottant dans un texte


Sujet :

Tableaux - Graphiques - Images - Flottants

  1. #1
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut tableau flottant dans un texte
    Bonjour à tous,

    Je débute avec Latex et je n'arrive pas à insérer un tableau directement sous le texte. Explications :

    Le tableau comporte une légende. Or, pour faire une légende, j'ai compris qu'il fallait créer un tableau flottant (soit avec l'environnement Figure soit avec l'environnement Table).

    Quand je crée le tableau, celui-ci se place sur une nouvelle page blanche au lieu de se positionner sous mon texte comme je le voudrais.



    Voici à quoi ressemble mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    \begin{table}
    \begin{tabular}{*4{c}}
    \begin{tabular}
     
        (...Les données de mon tableau)
     
    \end{tabular}
    \end{tabular}\
    \caption{MA LÉGENDE ICI}
    \end{table}
    J'ai essayé avec l'environnement "figure", mais ça ne fonctionne pas non plus. J'ai aussi voulu forcer le positionnement du tableau avec [t] juste après begin{table} ou begin{figure} mais rien n'y fait.

    Comme je suis débutante, je fais peut-être une erreur évidente. Pourriez-vous m'aiguiller ? Merci d'avance !

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    Bonjour,

    Ton tableau se place sur une nouvelle page car il n'y a pas assez de place en bas de page. Il existe des options pour forcer le positionnement d'un tableau. Comme tu l'as indiqué, il s'agit de :

    • h pour demander à LaTeX de placer le tableau à l'endroit du code ;
    • t pour demander le placement en haut de page ;
    • b pour un placement en bas de page ;
    • p enfin pour placer le tableau sur une page dédiée.


    Ces options sont valables pour l'environnement table et figure. Elles peuvent être complétées par un indicateur de priorité ! qui permet de forcer le placement. Par exemple, pour placer un tableau à l'endroit précis où il est dans le code, il faut passer les options !h à l'environnement table. Ensuite, il arrive que LaTeX ne puisse pas obéir et dans ce cas, on peut lui indiquer les alternatives qui nous convienne. Pour placer un tableau en priorité à l'endroit où il est dans le code ou, en cas d'incapacité, en haut de page, il faut écrire !ht.

    Si j'ai bien compris ce que tu souhaites, voici un code qui devrait correspondre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    \begin{table}[!hbtp]
    	\centering% permet de centrer le tableau sur la page
    	\begin{tabular}{*4{c}}
    		(...contenu du tableau...)
    	\end{tabular}
    	\caption{La légende du tableau}
    	\label{tab:tableau}% permet de référencer le tableau et de l'appeler ensuite grâce aux macros `\ref` et `\pageref`
    \end{table}
    Grâce à l'option !hbtp, j'ai demandé à LaTeX de placer le tableau à l'endroit où il est, sinon en bas de page, sinon en haut, à défaut sur une page dédiée.

    Une dernière chose, pour les tableaux, il faut utiliser table et pour les images, c'est figure. Même si le résultat est le même, ça te permettra d'avoir une légende correctement formatée, respectivement "Table x --- Légende" et "Figure x --- Légende".

    Bienvenue sur le forum

  3. #3
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Bonjour Benoists et merci de ta réponse détaillée et claire. Merci aussi pour tes conseils.

    J'ai testé ta solution (j'avais déjà testé avec [t], [h], etc.) en écrivant \begin{table}[!hbtp] sans succès, puis j'ai essayé [!ht] --> tout cela dans l'environnement Table

    Pas de chance pour moi, le tableau est toujours au centre d'une page blanche. Je ne comprends pas pourquoi il refuse de se positionner autrement.

    Pourtant mes 4 tableaux ne prennent pas tant de place que cela et sont alignés une seule et même ligne...

    Le texte qui le précède se trouve en réalité sur la page précédente (et prend toute la page), mon tableau devrait donc se positionner en haut de la nouvelle page. Au lieu de cela, il se positionne au centre, en plein milieu de cette nouvelle page. De plus, si j'écris du texte à la suite, ce texte se place à la suite du texte de la page précédente au lieu de se placer après le tableau (je ne sais pas si c'est bien clair)

    Ai-je mal compris quelque chose ? Y a-t-il une alternative à ce que tu me proposes ? Désolée, je ne m'y connais pas très bien... Et encore merci pour ton aide !

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    Pourtant mes 4 tableaux ne prennent pas tant de place que cela et sont alignés une seule et même ligne...
    Tu veux dire par là que tu as 4 tableaux à la suite et qui devrait donc être sur une même page ? Si tel est le cas, c'est normal. LaTeX n'autorise que l'insertion de 3 tableaux/figures par page pour conserver l'homogénéité du document. Je sais que cela peut se modifier, mais je n'ai aucune idée de comment le faire

    Sinon, je veux bien un exemple de code (voir ma signature) pour reproduire le problème chez moi.

  5. #5
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Merci Besnoits, cela explique peut-être pourquoi il y a un souci. Voici le tableau tel que je l'ai rédigé sous mon texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    \begin{table}[!hbtp]
    \centering
    \begin{tabular}{*4{c}}
    \begin{tabular}[t]{c||c|c}
    \ell=2 &0 &1\\
    \hline
    \ 0 & 0 &0\\
    \ 1 && 1\\
    \end{tabular}&
     \begin{tabular}[t]{l||l|l|l}
    \3 &0 &1 &2\\
    \hline
    \ 0 & 0 &0 &0\\
    \ 1 && 1 &\fbox{2}\\
    \ 2 && 2 &1\\
    \end{tabular}&
      \begin{tabular}[t]{r||r|r|r|r}
    \4 &0 &1 &2 &3\\
    \hline
    \ 0 & 0 &0 &0 &0\\
    \ 1 && 1 && 3\\
    \ 2 && 2 &2 &2\\
    \ 3 && 3 && 1\\
    \end{tabular}&
      \begin{tabular}[t]{r||r|r|r|r|r|r}
    \6 &0 &1 &2 &3 &4 &5\\
    \hline
    \ 0 & 0 &0 &0 &0 &0 &0\\
    \ 1 && 1 && & & 5\\
    \ 2 && 2 &2 && 4 &4\\
    \ 3 && 3 && 3 && 3\\
    \ 4 && 4 &4 && 2 &2\\
    \ 5 && 5 && & & 1\\
    \end{tabular}
    \end{tabular}
    \caption{LEGENDE}
    \end{table}
    J'ai changé des données du tableau de façon aléatoire pour éviter de surcharger le code.

    Mille mercis pour ton aide !

  6. #6
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    Alors là, j'avoue que j'ai du mal à comprendre. Je viens de tester ton tableau, tout se passe bien, même quand il y en a 4, ils sont sur la même page. Du coup, je pense que c'est parce que LaTeX n'a pas assez de place pour placer ton tableau en bas de la page, ni en haut et donc il le place sur une page à part. C'est un problème de LaTeX et non pas de ton code.

    Attends quand même la réponse de quelqu'un d'autre au cas où

  7. #7
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Merci pour ton aide et ta patience !
    Pour être sûre que je me suis bien exprimée : les quatre tableaux s'alignent bien côte à côte, aucun souci de ce côté-là. C'est juste que l'ensemble des quatre tableaux se place au milieu de la page suivante au lieu de se placer en haut de la page (à la suite du texte de la précédente page), et quand j'écris encore du texte à la suite de ce tableau, ce nouveau texte se place en bas de la page précédente au lieu de poursuivre normalement sous le tableau. C'est comme si le tableau ne permettait pas de faire une séparation entre les blocs de texte.

    En tout cas, merci beaucoup, et j'espère que quelqu'un saura m'aider

  8. #8
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    En effet, c'est bien ce que j'ai compris, mais le fait qu'il ne cherche même pas à placer le texte ailleurs que sur une page distincte me rend perplexe. Sinon, c'est le comportement normale de l'option p.

    Est-ce qu'on pourrait avoir un code qui reproduit exactement le problème (ça ne va pas être simple) ? En remplaçant éventuellement le texte par des textes fictifs (disponibles ici).

  9. #9
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Merci encore ! J'ai tenté de t'envoyer les infos par message privé, mais le message en question ne figure pas dans mon historique. Je ne sais pas si tu l'as bien reçu. Le texte est très long et contient beaucoup de lignes et de commandes, alors je pensais plutôt envoyer les lignes de mon "code" complet par email/pièce jointe/ftp.

    Merci pour tout,

  10. #10
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    J'ai bien reçu ton message. Malheureusement, je n'arrive pas à compiler ton code, il y a un problème d'encodage et beaucoup d'erreurs bloquantes (des } manquantes, des $... Je n'arrive pas à visualiser ce que tu voulais faire, c'est donc bien compliqué de les corriger

    De plus, il y a beaucoup de choses que tu bricoles, comme les espaces entre les paragraphes, ou encode le sectionnement de ton document. LaTeX met à disposition des outils comme \newtheorem pour les théorèmes/lemmes en mathématiques. Je ne sais pas si tu fais cela dans le cadre professionnel ou personnel mais je te conseille de reprendre ton document en essayant de confier le plus de choses à LaTeX. Pour ça, je te recommande de lire :

    • "XeLaTeX appliqué aux sciences humaines" (PDF disponible sur internet) ;
    • "Apprends LaTeX" (disponible également sur internet en PDF).


    Et sans doute d'autre références concernant l'écriture mathématique mais je n'ai hélas pas les références.

  11. #11
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Merci Besnoist, et navrée de t'avoir fait perdre autant de temps sur ce code qui est bien mal fichu, je m'en rends compte. Je le fais pour prendre de l'avance pour mes futures études. Dans ce cas, je vais me renseigner sur le reste et je vais essayer de corriger tout cela. Pas sûr que j'y arrive, j'en ai pas mal sué ! En tout cas, merci de ton aide et de tous tes conseils !

  12. #12
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    Aucun soucis, le forum sert à cela et tous le monde est passé par là

    Si jamais tu as un soucis, n'hésite pas à poster sur le forum, moyennant un poste bien présenté, un début de recherche et éventuellement des pistes de résolution, nous serons ravis de t'aider à progresser.

  13. #13
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Bonjour Besnoist,

    Je viens aux nouvelles. j'ai débogué tout mon fichier, il n'y a plus d'erreurs, et maintenant, mon tableau se place correctement comme par magie ! Problème résolu sauf une seule chose : les tableaux alignés sont trop larges et génèrent un overfull box. Une idée si je n'abuse pas trop de ta gentillesse ? En tout cas, merci !

  14. #14
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    Ce nettoyage a été bénéfique, c'est une bonne chose

    Pour corriger ça, on peut tout d'abord changer le format de papier pour du papier A4, plus classique par chez nous. Dans le préambule, il suffit d'ajouter : \usepackage[a4paper]{geometry}.

    Ensuite, on peut réorganiser les 4 tableaux pour les répartir sur deux lignes. Voici un exemple avec ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    \begin{table}[!hbtp]
        \centering
        \begin{tabular}{cc} % premier tableau permettant d'organiser les petits tableaux
            \begin{tabular}[t]{c||c|c} % premier tableau
            	$\ell$=2 &0 &1\\
            	\hline
             	0 & 0 &0\\
             	1 && 1\\
            \end{tabular}&
            \begin{tabular}[t]{l||l|l|l} % second tableau
            	$\ell$=3 &0 &1 &2\\
            	\hline
             	0 & 0 &0 &0\\
             	1 && 1 &\fbox{2}\\
             	2 && 2 &1\\
            \end{tabular}\\ & \\ % changement de ligne, puis on laisse une ligne vide et on change à nouveau (afin d'avoir un espace entre les deux "lignes de tableaux")
            \begin{tabular}[t]{r||r|r|r|r} % troisième tableau
            	$\ell$=4 &0 &1 &2 &3\\
            	\hline
             	0 & 0 &0 &0 &0\\
             	1 && 1 && 3\\
             	2 && 2 &2 &2\\
             	3 && 3 && 1\\
            \end{tabular}&
            \begin{tabular}[t]{r||r|r|r|r|r|r} % dernier tableau
            	$\ell$=6 &0 &1 &2 &3 &4 &5\\
            	\hline
             	0 & 0 &0 &0 &0 &0 &0\\
             	1 && 1 && & & 5\\
             	2 && 2 &2 && 4 &4\\
             	3 && 3 && 3 && 3\\
             	4 && 4 &4 && 2 &2\\
             	5 && 5 && & & 1\\
            \end{tabular}
        \end{tabular}
        \caption{LEGENDE}
    \end{table}
    Enfin, on peut utiliser l'extension subfig qui permet de mettre des flottants à l'intérieur de flottants. Je ne connais pas cette dernière méthode et je n'ai pas trop le temps de m'y pencher, je laisse un connaisseur s'exprimer

  15. #15
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Bonjour Besnoist,

    Encore merci pour ton aide si précieuse ! Oui le nettoyage a quasiment tout réglé, je n'y crois pas moi-même.
    Malheureusement, comme je tente de reproduire un document à l'exact (pour m'entraîner) et que, sur le modèle qu'on m'a fourni, les quatre tableaux sont alignés sur la même ligne (mais il y a moins d'espace entre chaque tableau), je cherche une autre solution. Cela dit, je vais peut-être paramétrer en A4. Encore merci pour tout !

  16. #16
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 344
    Par défaut
    C'est à peine étonnant, LaTeX est complexe et la moindre petite erreur peut mettre tout un document en l'air. Faut être rigoureux et il fera exactement ce qu'on lui demande

    Dans ce cas, l'auteur a sans doute utilisé l'extension subfig. Il suffit d'encadre chacun des petits tableaux avec \subfloat{<tableau ici>} et ils tiendront sur la page avec peu d'espace entre chaque.

  17. #17
    Membre habitué
    Femme Profil pro
    traduction
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : traduction

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Par défaut
    Merci encore ! C'est vraiment gentil. Je n'ai pas réussi avec subfloat, j'ai même téléchargé le package subfig. Mais bon, c'est pas grave, je ne vais pas t'importuner davantage et je te remercie de ta patience et de tous tes conseils.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/04/2016, 00h52
  2. Réponses: 4
    Dernier message: 06/02/2009, 12h22
  3. lire flottant dans fichier texte
    Par Kastor45 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 11/07/2008, 12h16
  4. format flottant dans un fichier texte emis par vba excel
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/02/2008, 10h30
  5. pb : un tableau dans un texte dynamique
    Par djerbien dans le forum Flash
    Réponses: 1
    Dernier message: 29/04/2007, 20h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo