Echec création d'un longtable

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

[Résolu] Echec création d'un longtable

Message non lu par Metamorphy »

Bonjour à vous,

Je galère avec la transformation de mon tableau en un longtable. J'ai lu les documentations, cherché sur différents forums, mais rien n'y fait.
Voici mon tableau, j'aurai pu le enlever plusieurs lignes mais j'ai décidé de le laisser en entier puisque la question porte sur la scission du tableau en deux pages.
J'ai une fichue erreur que je n'arrive pas à résoudre :

Code : Tout sélectionner

./Resultats/resultats.tex:166: Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.166 \end{threeparttable}}

Code : Tout sélectionner

\documentclass[draft, a4paper, 12pt]{report} 

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[greek,french]{babel}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{setspace}
\usepackage{fancyhdr}
	\fancypagestyle{plain}{}
	\renewcommand{\headrulewidth}{0pt} 
	\renewcommand{\footrulewidth}{0pt} 
	\fancyhead[L,R]{}
	\chead{\thepage}
	\fancyfoot[L,C,R]{}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{float}
\floatplacement{table}{b!}
\usepackage{tabularx}
\usepackage{longtable} 
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{tablefootnote}
\usepackage{eqparbox, makecell}
\usepackage[flushleft]{threeparttable}
\usepackage{threeparttablex}
\usepackage{environ}

\begin{document}

\begin{table}[!htbp]
\footnotesize
\centering
\rotatebox{90}{
\begin{threeparttable}[flushleft]
\sisetup{table-format = 2.2}
\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) oju même \cmidrule(l{5pt}r{10pt})
\caption{Analyses statistiques entre les données socio-démographiques et la santé mentale.}
\label{Stats}
\begin{longtable}{l l*{8}{S}}
\toprule
 & & \multicolumn{2}{c}{Qualité de vie} & \multicolumn{2}{c}{Dépression} & \multicolumn{2}{c}{Anxiété} & \multicolumn{2}{c}{Qualité de Sommeil}\\
 & & \eqmakebox[H]{IC \pc{95}} & \eqmakebox[H]{p} & \eqmakebox[H]{IC \pc{95}} & \eqmakebox[H]{p} & \eqmakebox[H]{IC \pc{95}} & \eqmakebox[H]{p} & \eqmakebox[H]{IC \pc{95}} & \eqmakebox[H]{p}\\
\cmidrule(lr){3-4}\cmidrule(lr){5-6} \cmidrule(lr){7-8}\cmidrule(lr){9-10}
\endhead
%\rowcolor{grandgris} \textcolor{blanc}{Données} ~ &\smash{\textcolor{blanc}{sociodémographiques}} & & & & & & & & \\ [0.5ex]
\multirow{9}{*}{Age} & \textbf{$\le$ 18} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& 19 & {} & NS &  &  &  &  &  & \\
& 20 & {...} & {...} &  &  &  &  &  & \\
& 21 & {...} & {...} &  &  &  &  &  & \\
& 22 & {...} & {...} &  &  &  &  &  & \\
& 23 & {...} & {...} &  &  &  &  &  & \\
& 24 & {...} & {...} &  &  &  &  &  & \\
& 25 & {...} & {...} &  &  &  &  &  & \\
& > 25 & {...} & {...} & {} & {} & {} & {} & {} & {} \\[0.5ex]
\cmidrule(){2-10}
\multirow{2}{*}{Genre} & \textbf{Masculin} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& Féminin & {} & NS &  &  &  &  &  & \\
\cmidrule(){2-10}
\multirow{5}{*}{UFR} & {\textbf{Santé}} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& SHS & {...} & {...} &  &  &  &  &  & \\
& \makecell[l]{Sciences,\\Technologies} & {...} & {...} &  &  &  &  &  & \\
& DEGSS & {...} & {...} &  &  &  &  &  & \\
& \makecell[l]{Arts, Lettres,\\ Langues} & {...} & {...} &  &  &  &  &  & \\
\cmidrule(){2-10}
\multirow{2}{*}{\makecell[l]{Période d'examen\\en cours}} & \textbf{Non} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& Oui & {} & NS &  &  &  &  &  & \\
\cmidrule(){2-10}
\multirow{3}{*}{\makecell[l]{Statut\\Parental}} & \textbf{Ensemble} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& \makecell[l]{Séparés/Divorcés} & {...} & {...} &  &  &  &  &  & \\
& \makecell[l]{Un ou deux parent(s)\\ décédé(s)} & {...} & {...} &  &  &  &  &  & \\
\multirow{4}{*}{\makecell[l]{Classe sociale\\ssubjective\\avant les études}} & \textbf{Aisée} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\
& Moyenne & {...} & {...} &  &  &  &  &  & \\
& Ouvrière & {...} & {...} &  &  &  &  &  & \\
& Défavorisée & {...} & {...} &  &  &  &  &  & \\
\endfoot
\bottomrule
\begin{tablenotes}
\footnotesize\em
\item \hskip-\fontdimen2\font 
  blablablablabla notes de bas de page
\end{tablenotes}
\endlastfoot
\end{longtable}
\end{threeparttable}
}
\end{table}
\end{document}
J'ai tenté un ECM pour réussir, sans tout mon bordel, un longtable en suivant le code du package, mais encore là, c'est un échec parce que le tableau ne ce scinde pas ...

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel} %\usepackage[showframe]{geometry} 
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor} 
	\definecolor{minigris}{gray}{0.90}
\usepackage{threeparttable}
\usepackage{longtable}
\usepackage{threeparttablex}

\begin{document} 

\begin{table}[!htbp]
\huge
\centering
%\rotatebox{90}{
\begin{threeparttable}[flushleft]
\sisetup{table-format = 2.2}
\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) ou même \cmidrule(l{5pt}r{10pt})
\begin{longtable}{l*{2}{S}}
\caption{tableau test}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endfirsthead
\caption[]{(suite)}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endhead
\multicolumn{3}{c}{Ici iront les notes de bas de page ... si j'y arrive}\\
\bottomrule
\endlastfoot
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
\cmidrule(){1-3}
\end{longtable}
\end{threeparttable}
\end{table}
\end{document}
Merci par avance pour votre aide !
Dernière modification par Metamorphy le mardi 22 septembre 2020, 22:15, modifié 1 fois.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2238
Inscription : samedi 29 décembre 2007, 00:58

Re: Echec création d'un longtable

Message non lu par projetmbc »

À quoi sert \begin{table}[!htbp]... ?
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

Euh ... C'est une bonne question. Je n'ai pas retrouvé d'où je tire ça.
Je pense que c'est tiré d'un package expliquant toutes les possibilités ... mais maintenant que je viens de chercher leur signification, ça n'a aucun sens.
Pour ma part, je pense que c'est le [!h] qui serait le plus adapté.
Mais j'ai changé dans mon code et ça n'a rien change. Et inversement, jusque là mes tableaux se sont bien comportés malgré cette aberration. :roll:
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Echec création d'un longtable

Message non lu par balf »

Bonsoir,
Utiliser [!h] n'a aucune utilité: longtable ne flotte pas. D'autre part, threeparttable ne fonctionne pas avec longtable, et il faut utiliser l'extension threeparttablex, qui en outre utilise une syntaxe légèrement différente.
D'autre part, qu'est-ce que la commande \pc ?
B. A.
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

D'accord mais comme c'est "encerclé" par l'environnement table, il est flottant nan ?

Oui justement je n'arrive pas à comrpendre cette histoire de threeparttablex parce que dans la description du package il ne donne pas vraiment de différence et dans aucun de ses exemples il "n'invoque" threeparttablex mais uniquement threeparttable.

Ah désolé c'est une commande que j'ai défini pour écrire des pourcentages. Je l'ai retirée du code parce que je pensais avoir supprimé toutes les données l'utilisant et j'ai zappé la ligne de titre ... Je viens de tomber sur ce truc https://tex.stackovernet.xyz/fr/q/86334, j'essaye ce soir et je vous redis :)
Mais encore une fois ils n'appellent que threeparttable et pas threeparttablex, est-ce que l'un·e d'entre vous peut me dire comment ça fonctionne, je veux dire comment threeparttablex agit dans un environnement threeparttable svp ?
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

Bon ba ça ne fonctionne pas ... je n'ai pas de message d'erreur mais vous trouverez en pièce jointe le résultat.
Je ne sais pas quoi faire.
J'ai tenté de définir ma ligne de titre comme dans le tableau de ma thèse & \eqmakebox[H]{Jour 1} & \eqmakebox[H]{Jour 2}\\mais j'obtiens une erreur \no align.

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{setspace}
\usepackage{fancyhdr}
	\fancypagestyle{plain}{}
	\renewcommand{\headrulewidth}{0pt} 
	\renewcommand{\footrulewidth}{0pt} 
	\fancyhead[L,R]{}
	\chead{\thepage}
	\fancyfoot[L,C,R]{}
\usepackage{babel} %\usepackage[showframe]{geometry} 
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor} 
	\definecolor{minigris}{gray}{0.90}
\usepackage{threeparttable}
\usepackage{longtable}
\usepackage{threeparttablex}

\begin{document} 



\begin{table}
%\huge
\centering
%\rotatebox{90}{
\begin{threeparttable}
\renewcommand\TPTminimum{\textwidth}
\setlength\LTleft{20pt}
\setlength\LTright{20pt}
\setlength\tabcolsep{0pt}
\sisetup{table-format = 2.2}
\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) ou même \cmidrule(l{5pt}r{10pt})
\begin{longtable}{ l @{\extracolsep{\fill}}*{2}{S}}
\caption{tableau test}\\

\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endfirsthead

\caption[]{(suite)}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endhead

\midrule[\heavyrulewidth]
\multicolumn{3}{r}{\textit{à suivre}}\\
\endfoot 

\multicolumn{3}{c}{Ici iront les notes de bas de page ... si j'y arrive}\\
\bottomrule
\endlastfoot

bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
\end{longtable}
\end{threeparttable}
s\end{table}
\end{document}
Si cela inspire l'un·e d'entre vous svp !!

Métamorphy
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Echec création d'un longtable

Message non lu par marco56 »

Je ne sais pas mais le fichier ci-dessous fonctionne chez moi. J'ai enlevé des choses...

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{setspace}
\usepackage{fancyhdr}
\fancypagestyle{plain}{}
\renewcommand{\headrulewidth}{0pt} 
\renewcommand{\footrulewidth}{0pt} 
\fancyhead[L,R]{}
\chead{\thepage}
\fancyfoot[L,C,R]{}
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor} 
\definecolor{minigris}{gray}{0.90}
\usepackage{threeparttable}
\usepackage{longtable}
\usepackage{threeparttablex}

\begin{document} 



%\huge
\centering
%\rotatebox{90}{
\renewcommand\TPTminimum{\textwidth}
\setlength\LTleft{20pt}
\setlength\LTright{20pt}
\setlength\tabcolsep{0pt}
\sisetup{table-format = 2.2}
\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) ou même \cmidrule(l{5pt}r{10pt})
\begin{longtable}{ l @{\extracolsep{\fill}}*{2}{S}}
\caption{tableau test}\\

\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endfirsthead

\caption[]{(suite)}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endhead

\midrule[\heavyrulewidth]
\multicolumn{3}{r}{\textit{à suivre}}\\
\endfoot 

\multicolumn{3}{c}{Ici iront les notes de bas de page ... si j'y arrive}\\
\bottomrule
\endlastfoot
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
bla & {blabla} & {blablabla}\\
blibli & {blabla} & {blablabla}\\
\end{longtable}

\end{document}
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

Bonjour,

J'ai comparé, vous avez retiré les environnements \table et \threeparttable.
Ça fonctionne mais balf m'avait bien aidé pour la mise en page d'un précédent tableau et là, ça ne ressemble à rien, ça prend toute la place de la page, ça m'indique même que le tableau est trop large pour la page alors que les cellules sont vides ou presque.
Et puis l'objet du message c'est d'utiliser threeparttablex avec le longtable alors je ne veux pas le supprimer.
Mais merci pour votre réponse.

Je vais essayer de trouver de l'aide sur un autre forum, si jamais j'ai une réponse, je la posterai ici.
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Echec création d'un longtable

Message non lu par balf »

Bonjour,
Ceci fonctionne très bien: il suffit

1. de ne pas utiliser l'environnement table, ni threeparttable avec longtable ;
2. de respecter la syntaxe de threeparttablex: déclarer en premier lieu l'environnement TableNotes, puis passer à l'environnement longtable;
3. enfin d'insérer effectivement les notes de bas de tableau avec la commande \insertTableNotes à votre emplacement favori.

Voici donc un code, nettoyé de quelques scories:

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage{babel} 
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor}
	\definecolor{minigris}{gray}{0.90}
\usepackage{longtable}
\usepackage{threeparttablex}

\begin{document}

\huge
\begin{ThreePartTable}
\sisetup{table-format = 2.2}
\setlength{\cmidrulekern}{0.25em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) ou même \cmidrule(l{5pt}r{10pt})
\begin{TableNotes}[para, flushleft]\small
Ici riront bien qui riront les dernières (les notes de bas de page)...~si j'y arrive. 
\end{TableNotes}
\begin{longtable}{l*{2}{S}}
\caption{tableau test}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(){2-3}
\endfirsthead
\caption[]{(suite)}\\
\toprule
& {jour 1} & {jour 2} \\
\cmidrule(lr){2-2}\cmidrule(lr){3-3}
\endhead
\cmidrule(){1-3}
\endfoot
\bottomrule
\insertTableNotes
\endlastfoot
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla \\
bla & blabla & blablabla
\end{longtable}
\end{ThreePartTable}

\end{document} 
B. A.
longtable&3parttable1.pdf
(47.58 Kio) Téléchargé 180 fois
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

Ohlala je n'avais pas saisi qu'il fallait citer ThreePartTable et non pas threeparttable ...

Merci beaucoup pour ton aide, j'ai pu modifier mon fichier de thèse donc voici le code si jamais.

Il semblerait que \rotatebox ne fonctionne pas avec longtable donc j'ai utilisé \begin{landscape}.
Également j'ai dû supprimé [eqmakebox] parce que ça me faisait tout sauter :( dommage, le résultat du premier tableau sur lequel tu m'avais aidé balf était plus joli je trouvais, mais bon ça va là, ça se tient.

Par ailleurs, si ça peut en aider certain, en cherchant ailleurs, j'ai trouvé l'info de sauter des lignes en écrivant \\* plutôt que juste \\ pour indiquer à longtable de ne pas couper ici.

(j'ajoute toujours le packate inputenc parce qu'il me le demande sans cesse. Je crois qu'il faut que je fasse la mise à jour mais j'étais toute la semaine en partage de connexion, bref).

Encore merci :)

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel} 
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor}
	\definecolor{minigris}{gray}{0.90}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{lscape} % permet de mettre en paysage
\newcommand*{\pc}[1]{\SI{#1}{\percent}}%permet d'obtenir un pourcentage en écrivant \pc{x}


\begin{document}
\begin{landscape}
\footnotesize
\centering
\begin{ThreePartTable}
\sisetup{table-format = 2.2}
%\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) oju même \cmidrule(l{5pt}r{10pt})

\begin{TableNotes}[para,flushleft]\small
blabla notes de bas de page.
\end{TableNotes}
\begin{longtable}{l*{8}{S}}

\caption{Analyses statistiques entre les données socio-démographiques et la santé mentale.}
\label{Bouga}\\

\toprule
& \multicolumn{2}{c}{Qualité de vie} & \multicolumn{2}{c}{Dépression} & \multicolumn{2}{c}{Anxiété} & \multicolumn{2}{c}{Qualité de Sommeil}\\
& {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p}\\
\cmidrule(lr){2-3}\cmidrule(lr){4-5} \cmidrule(lr){6-7}\cmidrule(lr){8-9}
\endfirsthead

\caption[]{(suite du tableau)}\\
\toprule
& \multicolumn{2}{c}{Qualité de vie} & \multicolumn{2}{c}{Dépression} & \multicolumn{2}{c}{Anxiété} & \multicolumn{2}{c}{Qualité de Sommeil}\\
& {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p}\\
\cmidrule(lr){2-3}\cmidrule(lr){4-5} \cmidrule(lr){6-7}\cmidrule(lr){8-9}
\endhead

\midrule[\heavyrulewidth]
\multicolumn{9}{r}{\textit{suite du tableau $\rightarrow$}}\\
\endfoot 

\bottomrule
\insertTableNotes
\endlastfoot

\multicolumn{9}{l}{\cellcolor{minigris}\textbf{Âge}}\\* %\\* permet d'éviter que longtable coupe ici.
\textbf{$\le$ 18} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
19 & {} & {NS} & {} & {NS} &  &  &  & \\*
20 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
21 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
22 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
23 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
24 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
25 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
> 25 & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]


\multicolumn{9}{l}{\cellcolor{minigris}\textbf{Genre}}\\* 
\textbf{Masculin} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
Féminin & {} & NS & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]


\multicolumn{9}{l}{\cellcolor{minigris}\textbf{UFR}}\\*
{\textbf{Santé}} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
SHS & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Sciences,\\Technologies} & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
DEGSS & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Arts, Lettres,\\ Langues} & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]

\multicolumn{9}{l}{\cellcolor{minigris}\textbf{Période d'examens en cours}}\\* 
\textbf{Non} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
Oui & {} & {NS} & {} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]

\multicolumn{9}{l}{\cellcolor{minigris}\textbf{Statut Parental}}\\*
\textbf{Ensemble} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
\makecell[l]{Séparés/Divorcés} & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Un ou deux parent(s)\\ décédé(s)} & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]

\multicolumn{9}{l}{\cellcolor{minigris}\textbf{Classe sociale subjective avant les études}}\\*
\textbf{Aisée} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} &  & \textbf{ref} \\*
Moyenne & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
Ouvrière & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
Défavorisée & {} & {NS} & {xxxxxxxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\[0.5ex]

\end{longtable}
\end{ThreePartTable}
\end{landscape}

\end{document} 
Pièces jointes
longtable.pdf
(103.08 Kio) Téléchargé 177 fois
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Echec création d'un longtable

Message non lu par balf »

Bonsoir,

J'ai résolu (en principe, puisque ce n'est pas tout à fait la table réelle) le problème des en-tête de colonne de même largeur, en remplaçant tout simplement \eqmakebox par la fixation de la largeur des colonnes de type S avec \sisetup{table-column-width=...}. L'emploi dans certains de ces en-tête de \textbf{ref} sans être entourés d'accolades dans des colonnes de type S a aussi mis le bazar, il me semble. Bref, voici le code proposé :

Code : Tout sélectionner

\documentclass[draft, french, a4paper, 12pt]{report}
\usepackage[T1]{fontenc}
\usepackage{geometry}
%\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{array}
\usepackage{lipsum}
\usepackage{caption, booktabs}
\usepackage{siunitx}
\usepackage{eqparbox, makecell}
\usepackage[svgnames, table]{xcolor}
	\definecolor{minigris}{gray}{0.90}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{lscape} % permet de mettre en paysage
\newcommand*{\pc}[1]{\SI{#1}{\percent}}%permet d'obtenir un pourcentage en écrivant \pc{x}

\begin{document}

\begin{landscape}
\footnotesize
\centering
\begin{ThreePartTable}
\sisetup{table-format = 2.2, table-number-alignment=center, table-column-width=18mm}%
\setlength{\tabcolsep}{4pt}
%\setlength{\extrarowheight}{2pt}
\setlength{\cmidrulekern}{0.35em}%l'argument entre parenthèses l ou r détermine quelle partie de la ligne pourra être raccourcie. Il est possible de ne pas en mettre, d'en mettre un seul ou les deux. Il est même possible de déterminer une taille en faisant, \cmidrule(r{10pt}) oju même \cmidrule(l{5pt}r{10pt})

\begin{TableNotes}[para,flushleft]\small
blabla notes de bas de page.
\end{TableNotes}
\begin{longtable}{@{}l*{8}{S}}

\caption{Analyses statistiques entre les données socio-démographiques et la santé mentale.}
\label{Bouga}\\

\toprule
& \multicolumn{2}{c}{Qualité de vie} & \multicolumn{2}{c}{Dépression} & \multicolumn{2}{c}{Anxiété} & \multicolumn{2}{c}{Qualité de Sommeil}\\[1ex]
& {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p}\\
\cmidrule(lr){2-3}\cmidrule(lr){4-5} \cmidrule(lr){6-7}\cmidrule(lr){8-9}
\endfirsthead

\caption[]{(suite du tableau)}\\
\toprule
& \multicolumn{2}{c}{Qualité de vie} & \multicolumn{2}{c}{Dépression} & \multicolumn{2}{c}{Anxiété} & \multicolumn{2}{c}{Qualité de Sommeil}\\
& {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p} & {IC \pc{95}} & {p}\\
\cmidrule(lr){2-3}\cmidrule(lr){4-5} \cmidrule(lr){6-7}\cmidrule(lr){8-9}
\endhead

\midrule[\heavyrulewidth]
\multicolumn{9}{@{}r}{\textit{suite du tableau $\rightarrow$}}\\
\endfoot

\bottomrule
\insertTableNotes
\endlastfoot

\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{Âge}}\\* %\\* permet d'éviter que longtable coupe ici.
\textbf{$\le$ 18} & & {\bfseries ref} & &{\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
19 & {} & {NS} & {} & {NS} & & & & \\*
20 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
21 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
22 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
23 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
24 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
25 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
> 25 & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\addlinespace
\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{Genre}}\\*
\textbf{Masculin} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
Féminin & {} & NS & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\

\addlinespace
\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{UFR}}\\*
{\textbf{Santé}} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
SHS & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Sciences,\\Technologies} & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
DEGSS & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Arts, Lettres,\\ Langues} & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\

\addlinespace
\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{Période d'examens en cours}}\\*
\textbf{Non} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
Oui & {} & {NS} & {} & {NS} & {} & {NS} & {} & {NS}\\

\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{Statut Parental}}\\*
\textbf{Ensemble} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
\makecell[l]{Séparés/Divorcés} & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
\makecell[l]{Un ou deux\\ parent(s)décédé(s)} & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\

\addlinespace
\multicolumn{9}{@{}l}{\cellcolor{minigris}\textbf{Classe sociale subjective avant les études}}\\*
\textbf{Aisée} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} & & {\bfseries ref} \\*
Moyenne & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
Ouvrière & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\*
Défavorisée & {} & {NS} & {xxxxxxx} & {NS} & {} & {NS} & {} & {NS}\\
\end{longtable}
\end{ThreePartTable}
\end{landscape}

\end{document} 
B. A.
longtable&3parttable-2.pdf
(109.67 Kio) Téléchargé 149 fois
Metamorphy
Utilisateur confirmé
Utilisateur confirmé
Messages : 15
Inscription : lundi 14 septembre 2020, 10:37
Statut actuel : Étudiant

Re: Echec création d'un longtable

Message non lu par Metamorphy »

Merci pour ton aide :)

J'ai tenté mais ça m'a fichu plein de carrés noirs, mais je garde la structure pour mon prochain tableau :)
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Echec création d'un longtable

Message non lu par balf »

Qu'est-ce qui a fichu plein de carrés noirs? Pas juste ce code, tout de même ?

B. A.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message