pCloud Premium

[Résolu] Amélioration d'un tableau (avec tabular)

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Amélioration d'un tableau (avec tabular)

Messagepar pzorba75 » Samedi 28 Mars 2020, 06:48

Bonjour à tous,
je cherche à présenter le tableau créé dans un environnement tabular et je ne trouve pas d'exemples sur Internet pour arriver à mes fins. Voici ce que je cherche à faire :
- mettre les colonnes 2 à 7 avec la même largeur (ce qui est fait);
- mettre les titres de chacune des colonnes sur 2 lignes en gras et centré avec Ecole sur la première ligne (à faire);
- mettre en gras et aligné à gauche la colonne 1, avec ajustement sur une largeur fixe donnée (à faire);
- mettre en centré les cellules des colonnes 2 à 7 (à faire).
J'ai réalisé un ECM décrivant comment j'ai rédigé ce tableau avec un code Latex qui n'est pas très joli.
Remerciant d'avance pour l'aide apportée.
Bonne journée à tous.
Pierre
Fichiers joints
CM2-DM-001-Proportionnalite-ECM.pdf
(11.07 Kio) Téléchargé 34 fois
CM2-DM-001-Proportionnalite-ECM.tex
(966 Octets) Téléchargé 30 fois
Dernière édition par pzorba75 le Samedi 28 Mars 2020, 15:02, édité 1 fois.
On se lasse de tout, excepté d'apprendre.
Virgile
pzorba75
Kilo-utilisateur
 
Messages: 195
Inscription: Mardi 20 Août 2013, 03:50
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Amélioration d'un tableau (avec tabular)

Messagepar un bon petit » Samedi 28 Mars 2020, 08:32

Le codage d'entrée latin1 est très bien pour la langue française et les moteurs 8 bits, contrairement à ce que l'on va essayer de vous faire croire.
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.75cm]{geometry}
\usepackage{lmodern,cellspace,eurosym}
\begin{document}
\parindent0pt
Plusieurs écoles achètent des ballons identiques. Le tableau ci-dessous indique combien l'école Pasteur a payé pour son achat.

Recopier et compléter ce tableau.
\begin{center}
\cellspacetoplimit=3pt
\cellspacebottomlimit=3pt
\renewcommand\arraystretch{1.25}
   \begin{tabular}{|>\bfseries m{3.5cm}|*6{>\centering m{1.5cm}|}}\hline
      &\bfseries École Pasteur&\bfseries École Giono&\bfseries École Matisse&\bfseries École Pagnol&\bfseries École Mistral&\bfseries École Monnet\tabularnewline\hline
      Nombre de ballons\par achetés&4&8&12&2&6&3\tabularnewline\hline
      Prix payés\par(en \euro)&28&$\ldots$&$\ldots$&$\ldots$&$\ldots$&$\ldots$\tabularnewline\hline
   \end{tabular}
\end{center}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 780
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Amélioration d'un tableau (avec tabular)

Messagepar gigiair » Samedi 28 Mars 2020, 12:11

un bon petit a écrit:Le codage d'entrée latin1 est très bien pour la langue française et les moteurs 8 bits, contrairement à ce que l'on va essayer de vous faire croire.

Si on n'utilise pas de caractères > #xFF (ÿ), quelle différence peut-il y avoir ?
Un problème est que lorsque je télécharge le code cité, il est en UTF-8 et avec la déclaration latin1 la compilation ça ne le fait pas...
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2509
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Amélioration d'un tableau (avec tabular)

Messagepar marco56 » Samedi 28 Mars 2020, 13:37

Avec nouveau type de colonne (réponse déjà donnée mais au cas où...) :
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[french]{babel}
\DecimalMathComma
\usepackage{mathrsfs,amssymb,mathtools,cellspace,eurosym}


\newcolumntype{R}[1]{>{\raggedleft\arraybackslash }b{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }b{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash }b{#1}}
\newcolumntype{G}[1]{>{\raggedright\arraybackslash\bfseries}m{#1}}

\begin{document}


\noindent
Plusieurs écoles achètent des ballons identiques. Le tableau ci-dessous indique combien l'école Pasteur a payé pour son achat.\par{}
\noindent Recopier et compléter ce tableau.
\renewcommand{\arraystretch}{1.25}


\cellspacetoplimit=3pt
\cellspacebottomlimit=3pt

\begin{center}
\setlength{\fboxrule}{0pt}
\begin{tabular}{|G{3.2cm}|*6{C{1.25cm}|}}
\hline
&\'Ecole Pasteur&\'Ecole Giono&\'Ecole Matisse&\'Ecole Pagnol&\'Ecole Mistral&\'Ecole Monnet\tabularnewline
\hline
Nombre de ballons achetés&4&8&12&2&6&3\tabularnewline
\hline
Prix payés (en \euro{})&28&$\ldots$&$\ldots$&$\ldots$&$\ldots$&$\ldots$\tabularnewline
\hline
\end{tabular}


\end{center}



\end{document}
marco56
Giga-utilisateur
 
Messages: 812
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Amélioration d'un tableau (avec tabular)

Messagepar pzorba75 » Samedi 28 Mars 2020, 15:01

Ces solutions me conviennent parfaitement. Je marque Résolu.
Merci à tous.
On se lasse de tout, excepté d'apprendre.
Virgile
pzorba75
Kilo-utilisateur
 
Messages: 195
Inscription: Mardi 20 Août 2013, 03:50
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Amélioration d'un tableau (avec tabular)

Messagepar un bon petit » Samedi 28 Mars 2020, 17:43

gigiair a écrit:Si on n'utilise pas de caractères > #xFF (ÿ), quelle différence peut-il y avoir ?

Une différence énorme. Un exemple tout simple : j'ai écrit une macro triviale, purement développable, qui donne l'initiale d'un mot. Après tout, on peut très bien avoir besoin de faire une telle chose, ça ne me parait pas artificiel.
Code: Tout sélectionner
\documentclass{article}
\usepackage[latin1]{inputenc}
\def\initiale#1{\initialei#1{}\initialei}
\def\initialei#1#2\initialei{#1}
\begin{document}
Initiale de hiver : \initiale{hiver}

Initiale de été : \initiale{été}
\end{document}


Ce code compile sans problème avec pdflatex (moteur 8 bits). Mais si vous changez l'encodage du texte en utf8 et que vous mettez \usepackage[utf8]{inputenc}, vous verrez qu'il va y avoir un sacré problème...

La macro \initiale va fonctionner dans les cas suivants :
  • moteur 8 bits (pdflatex) + encodage «latin1», ou plus généralement encodage sur 1 octet
  • moteur utf8 (xelatex/lualatex) + encodage «utf8»
mais va échouer dans le cas, pourtant préconisé par beaucoup
  • moteur 8 bits (pdflatex) + encodage utf8

gigiair a écrit:Un problème est que lorsque je télécharge le code cité, il est en UTF-8 et avec la déclaration latin1 la compilation ça ne le fait pas...

Le copier-coller de votre navigateur prend l'encodage utf8 de la page html, je suppose. Ce qui est étonnant, c'est que votre éditeur (qui pourtant fait TOUT), ne convertit pas à la volée, lors du «copier», le contenu du presse papier dans l'encodage déclaré de votre texte.
un bon petit
Giga-utilisateur
 
Messages: 780
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Amélioration d'un tableau (avec tabular) [Résolu]

Messagepar gigiair » Samedi 28 Mars 2020, 20:24

Le code récupéré sur le site Mathematex sera encodé en UTF-8, c'est dans la déclaration de la page
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr" xml:lang="fr">
<head>


<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Répondre</title>
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-language" content="fr" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="content-language" content="fr" />
<meta name="title" content="Répondre" />
<meta name="category" content="general" />
<meta name="robots" content="index,follow" />
<meta name="distribution" content="global" />
<meta name="resource-type" content="document" />
<meta name="copyright" content="MathemaTeX" />

On n'y peut rien, UTF-8 est devenu un standard, si la compilation de ce document ne produit pas d'erreur, c'est que le code est traité avec un éditeur qui convertit tout en Latin-1 et ça va devenir de plus en plus rare.
L'exemple de l'extraction de l'initiale est intéressant, mais TeX est donc si démuni que ça de ressources qu'il ne peut pas détecter l'encodage du document qu'il traite ? Il est de la responsabilité du programmeur de traiter le code correctement et de prévoir le cas où l'encodage est UTF-8. Ça ne me paraît pas être un problème insurmontable.
Emacs ne convertit pas automatiquement (pour autant que je sache, il existe plusieurs milliers d'extension disponibles et installables en ligne) . Écrire une fonction qui fait ça est un exercice de débutant et doit pouvoir se faire en deux ou trois lignes de code Elisp. Si quelqu'un a vraiment besoin de ça, je peux le faire. On peut au choix modifier la déclaration d'encodage ou l'encodage pour que les deux s'accordent. Mais changer l'encodage d'un document se fait en un tournemain : C-[RET] f puis [TAB] pour sélectionner l'encodage.

On vous aura menti, Emacs n'est pas un éditeur qui fait tout, il s'agit en fait d'un véritable système d'exploitation disposant de centaines d'applications, dont un tableur et d'une calculatrice capable de calculs symboliques, d'un agenda ultra-perfectionné et personnalisable (je l'ai installé -- avec TeXLive-- sur mon smartphone...).
Les mauvaises langues disent qu'il s'agit d'un excellent système d'exploitation mais c'est dommage qu'il ne dispose que d'un médiocre éditeur... Je ne partage pas ce point de vue.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2509
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Amélioration d'un tableau (avec tabular) [Résolu]

Messagepar un bon petit » Samedi 28 Mars 2020, 22:03

gigiair a écrit:On n'y peut rien, UTF-8 est devenu un standard

Tout à fait, un standard (parmi d'autres).

gigiair a écrit:<snip>Latin-1 et ça va devenir de plus en plus rare.

Non.

gigiair a écrit:L'exemple de l'extraction de l'initiale est intéressant, mais TeX est donc si démuni que ça de ressources qu'il ne peut pas détecter l'encodage du document qu'il traite ?

Oui. J'explique, même si évidemment, vous connaissez par cœur la façon de fonctionner de TeX : il lit lexème après lexème, juste ce dont il a besoin, pas plus. Ainsi, lorsqu'il commence à traiter le début d'un document, il n'a strictement aucune vision globale sur l'ensemble du document et donc, aucun moyen heuristique de détecter quoi que ce soit, contrairement à d'autres programmes qui chargent la totalité du texte dans la mémoire avant de commencer à la traiter.

Il se trouve que les moteurs 8 bits (dont font partie pdftex) lisent le document octet par octet. Les moteurs utf8 lisent le document caractère utf8 par caractère utf8.

gigiair a écrit:Il est de la responsabilité du programmeur de traiter le code correctement et de prévoir le cas où l'encodage est UTF-8.

Sauf qu'un programmeur TeX n'a pas de moyen de détecter l'encodage du document pour la raison que vous connaissez et que je vous ai expliqué ci-dessus. Si c'était le cas, il y a belle lurette qu'on pourrait se passer de le déclarer explicitement avec \usepackage[<encodage>]{inputenc}.

On peut très facilement détecter si la compilation est faite sur un moteur 8 bits ou utf8, mais on ne dispose d'aucun moyen pour détecter l'encodage du fichier tex lorsqu'on utilise un moteur 8 bits.

gigiair a écrit:Ça ne me paraît pas être un problème insurmontable.

J'attends vos suggestions.

gigiair a écrit:Emacs ne convertit pas automatiquement (pour autant que je sache, il existe plusieurs milliers d'extension disponibles et installables en ligne) . Écrire une fonction qui fait ça est un exercice de débutant et doit pouvoir se faire en deux ou trois lignes de code Elisp. Si quelqu'un a vraiment besoin de ça, je peux le faire. On peut au choix modifier la déclaration d'encodage ou l'encodage pour que les deux s'accordent. Mais changer l'encodage d'un document se fait en un tournemain : C-[RET] f puis [TAB] pour sélectionner l'encodage.

On vous aura menti, Emacs n'est pas un éditeur qui fait tout, il s'agit en fait d'un véritable système d'exploitation disposant de centaines d'applications, dont un tableur et d'une calculatrice capable de calculs symboliques, d'un agenda ultra-perfectionné et personnalisable (je l'ai installé -- avec TeXLive-- sur mon smartphone...).
Les mauvaises langues disent qu'il s'agit d'un excellent système d'exploitation mais c'est dommage qu'il ne dispose que d'un médiocre éditeur... Je ne partage pas ce point de vue.

C'était trop facile de vous provoquer sur emacs et attendre votre réaction :mrgreen:
un bon petit
Giga-utilisateur
 
Messages: 780
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Amélioration d'un tableau (avec tabular) [Résolu]

Messagepar gigiair » Dimanche 29 Mars 2020, 10:05

un bon petit a écrit:
gigiair a écrit:Ça ne me paraît pas être un problème insurmontable.

J'attends vos suggestions.


Voilà un problème qui limite singulièrement le champ d'action de TeX, A part les anglo saxons qui n'utilisent qu'un nombre extrêmement réduit de il vaudra mieux oublier ce genre de problème. (moi aussi je sais faire de la provoc...)
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2509
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: [Résolu] Amélioration d'un tableau (avec tabular)

Messagepar rebouxo » Dimanche 29 Mars 2020, 12:33

Cela dit, Christian, par défaut, depuis TeXlive2019, pdftex attend de l'utf8. L'exemple que tu donnes est certes problématique (cela à des répercussion sur xstring ?), mais les multiples encodages étaient plutôt une source d'emmerdes, non ?

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6979
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Amélioration d'un tableau (avec tabular)

Messagepar gigiair » Dimanche 29 Mars 2020, 15:03

Voici la peitie expérience à laquelle je me suis livré:
J'ai enregistré le code suivant dans un fichier ECM
Code: Tout sélectionner
\documentclass{article}
%\usepackage[utf8]{inputenc}
\begin{document}
dimanche 29 mars 2020, 15:50:40 (UTC+0200)


\def\initiale#1{\initialei#1{}\initialei}
\def\initialei#1#2\initialei{#1}
\null
Initiale de hiver : \initiale{hiver}\par
Initiale de {\'e}t{\'e} : \initiale{{\'e}t{\'e}}
\end{document}

Avec Emacs pour obtenir l'affichage des caractères accentués encodés façon tex, il suffit de sélectionner le texte à convertir puis M-x iso-iso2tex ou M-x iso-tex2iso pour l'opération inverse.
Chacun peut vérifier que le document compile sans problème et donne bien le résultat escompté.
J'ai changé l'encodage du fichier ECM à la volée (C-x [RET] -f sans aucun changement .
On peut conserver la déclaration d'inputenc mais Il faut mettre à jour « à la main ». Elle est bien inutile ici, dans les deux cas.
AMHA ce qui pose problème, ce n'est pas l'encodage du fichier mais le package inputenc. Sans lui, tout se passe bien.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2509
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], DotBot [Crawler], Grapeshot [Crawler] et 3 invités

pCloud Premium