[Résolu] Commande construisant un tableau

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

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] Commande construisant un tableau

Messagepar evariste_G » Jeudi 16 Juillet 2009, 15:55

Bonjour.

Je me posais une question aujourd'hui ... Comment faire une commande construisant un tableau à nombre de colonnes variable, et ce sans outils graphiques tels que Tikz ?
En fait, je voudrais que ma commande \mois{n} ou \mois[n] me construise un tableau à p colonnes (p étant le nombre de jours du mois n) et 3 lignes, dont la première cellule contiendrait "Janvier" pour n=1, "Février" pour n=2, ... et "Décembre" pour n=12.

Je vois ici l'occasion d'apprendre éventuellement comment faire une boucle sans faire appel à mon sacrosaint Tikz (dont mon addiction est plus que maladive :P )) pour une si petit chose.

Merci à celles et ceux qui auront le courage de m'expliquer :D

PS : j'ai hésité à poster ce message car je ne voulais pas attirer les foudres de qui que ce soit. J'aime Tikz mais je veux connaître autre chose car je ne vois pas de mal à "butiner" :) J'espère que mon appel ne sera pas mal interprété.
Dernière édition par evariste_G le Vendredi 17 Juillet 2009, 22:57, édité 1 fois.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Commande construisant un tableau

Messagepar un bon petit » Jeudi 16 Juillet 2009, 17:11

evariste_G a écrit:Comment faire une commande construisant un tableau à nombre de colonnes variable, et ce sans outils graphiques tels que Tikz ?

Tikz ne construit pas de tableau, tikz dessine ! Laissons-le faire ce qu'il sait (à peu près) faire, et demandons à tabular de construire un tableau !

Au fait, les gens, il faudrait arrêter avec tikz, vous croyez pas ? :shock:
Parce que si on continue dans cette absurdité, on ne va même plus taper "A" pour écrire un "A" dans un document mais on va faire appel à tikz pour qu'il nous dessine un "A" et ainsi de suite pour toutes les lettres constituant les mots du document...

En fait, je voudrais que ma commande \mois{n} ou \mois[n] me construise un tableau à p colonnes (p étant le nombre de jours du mois n) et 3 lignes, dont la première cellule contiendrait "Janvier" pour n=1, "Février" pour n=2, ... et "Décembre" pour n=12.

31 colonnes, ça va faire beaucoup non ? Tu n'as pas peur que ça fasse une overfull hbox selon ce que tu y mets dedans ?
D'ailleurs, je n'ai pas compris ce qui devait y avoir dans les cellules du tableau : tu ne parles que de la première... Et toutes les autres sur les 3 lignes, elles contiennent quoi ?

Je vois ici l'occasion d'apprendre éventuellement comment faire une boucle sans faire appel à mon sacrosaint Tikz (dont mon addiction est plus que maladive :P )) pour une si petit chose.

Très bien, je suis content que tu rendes comptes de l'absurdité d'utiliser un outil de dessin pour faire des boucles en dehors de tout dessin.
Au fait, tu devrais passer à un truc sérieux, pstricks par exemple !

J'aime Tikz mais je veux connaître autre chose

Moi, je n'aime pas du tout tikz, mais par contre j'adore pstricks.

Christian
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar evariste_G » Jeudi 16 Juillet 2009, 19:33

En mettant la feuille en landscape, les 31 colonnes rentrent ; la largeur des colonnes n'est que celle nécessaire à l'inscription des nombres de 1 à 31.
Si je n'ai rien précisé de plus, c'est qu'il n'y avait rien à préciser d'autre. En effet, je veux juste comprendre sur cet exemple comment je pourrais faire pour construire un tableau à nombre de colonnes variable.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Jeudi 16 Juillet 2009, 20:57

Bon, j'ai pas ré-écrit tabularcalc, et j'ai essayé de choisir des noms de séquences de contrôle explicites. Je me suis aussi interdit d'utiliser \loop...\repeat pour expliciter la récursivité dans \fabrique@cellules.
De plus, je n'ai fait qu'une seule récursivité, c'est sur les colonnes.
En toutes logique il aurait fallu 2 macros récursives imbriquées (une pour les lignes et une pour les colonnes). Cela aurait largement compliqué le code.

Code: Tout sélectionner
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{lscape}

\makeatletter
\newcount\colonne@courante
\newcommand\mois[1]{% #1 est le numéro du mois
   \begingroup
      \edef\nbjour@mois{\ifcase#1\or31\or28\or31\or30\or31\or30\or31\or31\or30\or31\or30\or31\fi}%
      \edef\tableaumois{%
         \noexpand\begin{tabular}{|l|*{\nbjour@mois}{c|}}\noexpand\hline
         \ifcase#1\or Janvier\or Février\or Mars\or Avril \or Mai\or Juin\or Juillet%
            \or Aout \or Septembre\or Octobre \or Novembre\or Décembre\fi}%
      % la 1ère cellule est faite, on fabrique le reste de la première ligne
      \def\contenu@cellules{\number\numexpr\colonne@courante}%
      \colonne@courante=1
      \fabrique@cellules
      \addto@tableaumois{\\\hline}%
      % on fabrique la 2è ligne (vide)
      \def\contenu@cellules{}%
      \colonne@courante=1
      \fabrique@cellules
      \addto@tableaumois{\\\hline}%
      % on fabrique la 3è ligne (vide)
      \def\contenu@cellules{}%
      \colonne@courante=1
      \fabrique@cellules
      % finit le tableau
      \addto@tableaumois{\\\hline\end{tabular}}%
      % affiche le tableau
      \tableaumois
   \endgroup}

\newcommand\fabrique@cellules{%
   \unless\ifnum\colonne@courante>\nbjour@mois
      \edef\contenu@courant{\contenu@cellules}%
      \expandafter\addto@tableaumois\expandafter{\expandafter&\contenu@courant}%
      \advance\colonne@courante1
      \expandafter\fabrique@cellules
   \fi}

\newcommand\addto@tableaumois[1]{\expandafter\def\expandafter\tableaumois\expandafter{\tableaumois#1}}
\makeatother

\begin{document}
\begin{landscape}
   Le mois de février :\par
   \mois{2}

   le mois de juillet :\par
   \mois{7}
\end{landscape}
\end{document}

Explications sur demande :wink:

Christian
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar evariste_G » Jeudi 16 Juillet 2009, 21:36

Merci pour ce code. Je comprends les commandes, ça me fait plaisir :D

par contre, pourquoi ne pas avoir directement utilisé :

Code: Tout sélectionner
    \documentclass[10pt,a4paper,landscape]{article}


au lieu de faire appel à un package ?
De plus, pour être plus précis, j'aurais ajouté une commande qui calcule le nombre de jours du mois de février plutôt que de mettre d'office "28". Dans ce cas, il faudrait ajouter un second paramètre. Mais dans ce cas, existe-t-il un moyen de calculer le reste de la division euclidienne de l'année par 4 sans utiliser un package est-ce nécessaire ?
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Jeudi 16 Juillet 2009, 21:58

evariste_G a écrit:Merci pour ce code. Je comprends les commandes, ça me fait plaisir :D

Tant mieux, comme tu le vois, il n'y a rien de bien sorcier au niveau des commandes. Par contre, essaie de bien comprendre comment fonctionne la récursivité, et essaie à l'étape prochaine d'ecrire toi même une commande récursive. Invente-toi un exemple très simple comme par exemple une macro \compte qui compte de 1 à son argument. Ainsi, \compte{8} afficherait 1 2 3 4 5 6 7 8
Ensuite, passe à des exemple plus compliqués, genre comptage du nombre de caractères d'un mot, etc... Les exemples ne manquent pas !
Quand tu maitriseras le truc, tu prendras plaisir à personnaliser tes boucles.

par contre, pourquoi ne pas avoir directement utilisé :

Code: Tout sélectionner
    \documentclass[10pt,a4paper,landscape]{article}


au lieu de faire appel à un package ?


Parce que je savais même pas qu'on pouvait le faire !
Je confesse devant tout le monde que je n'ai jamais composé de texte en format paysage :oops: Je vais me flageller de ce pas, et relire 5 fois le passage du LC concernant cette fonctionnalité !

De plus, pour être plus précis, j'aurais ajouté une commande qui calcule le nombre de jours du mois de février plutôt que de mettre d'office "28"


Heu, tu ne serais pas en train de pinailler ?

Code: Tout sélectionner
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{lscape}

\makeatletter
\newcount\colonne@courante
\newcommand\mois[1]{% #1 est le numéro du mois
   \begingroup
      \edef\nbjour@mois{\ifcase#1\or31\or\ifnum\numexpr\year-\year/4*4=0 29\else28\fi\or31\or30\or31\or30\or31\or31\or30\or31\or30\or31\fi}%
      \edef\tableaumois{%
         \noexpand\begin{tabular}{|l|*{\nbjour@mois}{c|}}\noexpand\hline%
         \ifcase#1\or Janvier\or Février\or Mars\or Avril \or Mai\or Juin\or Juillet%
            \or Aout \or Septembre\or Octobre \or Novembre\or Décembre\fi}%
      % la 1ère cellule est faite, on fabrique le reste de la première ligne
      \def\contenu@cellules{\number\numexpr\colonne@courante}%
      \colonne@courante=1
      \fabrique@cellules
      \addto@tableaumois{\\\hline}%
      % on fabrique la 2è ligne (vide)
      \def\contenu@cellules{}%
      \colonne@courante=1
      \fabrique@cellules
      \addto@tableaumois{\\\hline}%
      % on fabrique la 3è ligne (vide)
      \def\contenu@cellules{}%
      \colonne@courante=1
      \fabrique@cellules
      % finit le tableau
      \addto@tableaumois{\\\hline\end{tabular}}%
      % affiche le tableau
      \tableaumois
   \endgroup}

\newcommand\fabrique@cellules{% #1=contenu de chaque cellule
   \unless\ifnum\colonne@courante>\nbjour@mois
      \edef\contenu@courant{\contenu@cellules}%
      \expandafter\addto@tableaumois\expandafter{\expandafter&\contenu@courant}%
      \advance\colonne@courante1
      \expandafter\fabrique@cellules
   \fi}

\newcommand\addto@tableaumois[1]{\expandafter\def\expandafter\tableaumois\expandafter{\tableaumois#1}}
\makeatother

\begin{document}
\begin{landscape}
   Le mois de février :\par
   \mois{2}

   le mois de juillet :\par
   \mois{7}
   
   Année 2012 : \year=2012 \par
   Le mois de février :\par
   \mois{2}

   le mois de juillet :\par
   \mois{7}
\end{landscape}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar Altermundus » Vendredi 17 Juillet 2009, 08:06

un bon petit a écrit:
evariste_G a écrit:Merci pour ce code. Je comprends les commandes, ça me fait plaisir :D

Tant mieux, comme tu le vois, il n'y a rien de bien sorcier au niveau des commandes.


Là je ne suis pas sûr .. rien de sorcier dans \edef \noexpand \expandafter ???
Ok si on a compris un peu le fonctionnement de TeX et lu un peu le texbook.

Ensuite, il va falloir expliquer le rapport entre ces lignes de code et le tableau.
Le lecteur attentif va te demander pourquoi il faut faire tout cela dans un tableau.

Tu vas devoir faire un résumé du texbook ! cela dit ce cas est très intéressant ayant déjà eu le plaisir à résoudre ces difficultés.

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar Altermundus » Vendredi 17 Juillet 2009, 10:10

Bonjour à tous

Je profite d'un peu de calme dans les cieux pour donner un exemple de construction de tableau avec LaTeX.

Code: Tout sélectionner
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{ifthen,forloop,lscape}
\usepackage[frenchb]{babel}

\newcounter{nbRow}
\newcounter{nbCol}

\newcommand*{\CreateTableau}[3]{%
\begin{tabular}{|l|*{#2}{c|}}\hline%
  \forLoop{1}{#1}{nbRow}{%
   \ifthenelse{\equal{\value{nbRow}}{1}}{#3}{}%
   \forLoop{1}{#2}{nbCol}{%
    \ifthenelse{\equal{\value{nbRow}}{1}}{&\thenbCol}{&}  }%
   \tabularnewline\hline%
   }
\end{tabular}%
}%

\begin{document}
  \begin{landscape}
  \CreateTableau{3}{31}{Juillet}
 
\end{landscape}
\end{document}


Je déconseille de tenter l'utilisation de \foreach dans cette situation! il y a d'autres moyen de faire des boucles !
Le débat peut continuer ... :)

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Vendredi 17 Juillet 2009, 11:27

Altermundus a écrit:Je profite d'un peu de calme dans les cieux pour donner un exemple de construction de tableau avec LaTeX.

Oui, mais tu confonds encore "package" avec "LaTeX", ce qui n'a rien à voir.

Ce n'est pas pour faire mon pénible, mais cela peut induire les lecteurs en erreur : LaTeX n'est qu'un ensemble de macros. Comme ces macros se sont rapidement révélées insuffisantes pour de nombreux problèmes rencontrés, des auteurs ont écrit des packages qui sont totalement en dehors du code de LaTeX et qui n'y font souvent pas appel du tout pour les packages écrits en TeX.

Christian
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar Altermundus » Vendredi 17 Juillet 2009, 12:50

un bon petit a écrit:
Altermundus a écrit:Je profite d'un peu de calme dans les cieux pour donner un exemple de construction de tableau avec LaTeX.

Oui, mais tu confonds encore "package" avec "LaTeX", ce qui n'a rien à voir.

Ce n'est pas pour faire mon pénible, mais cela peut induire les lecteurs en erreur : LaTeX n'est qu'un ensemble de macros. Comme ces macros se sont rapidement révélées insuffisantes pour de nombreux problèmes rencontrés, des auteurs ont écrit des packages qui sont totalement en dehors du code de LaTeX et qui n'y font souvent pas appel du tout pour les packages écrits en TeX.


Non je te confonds pas et je suis bien d'accord avec toi mais parmi ces packages qui étendent les possibilités certains sont écrits avec TeX uniquement comme pgf/tikz (un comble n'est-ce-pas!) et d'autres comme xifthen,cellspace et forloop sont basés uniquement sur LaTeX.
D'ailleurs on peut se passer de forloop.sty car la boucle est ici très simple et c'est bien basé sur des concepts latexien :

Code: Tout sélectionner
\newcommand{\forLoop}[5][1]
{%
\setcounter{#4}{#2}%
\ifthenelse{ \value{#4}<#3 }%
{%
#5%
\addtocounter{#4}{#1}%
\forLoop[#1]{\value{#4}}{#3}{#4}{#5}%
}%
{%
\ifthenelse{\value{#4}=#3}%
{%
#5%
}%
{}%
}%
}


Quand j'écris que je donne un exemple latexien c'est surtout pour dire que j'emploie \newcounter et non \newcount
que j'évite les \noexpand et \expandafter etc ... Dans la mesure du possible, c'est plus une histoire de style, de lisibilité du code maintenant ce n'est sans doute pas autant efficace mais cela ne doit pas être si dramatique.
Dans le cas présent, il me semble que je suis plus proche de latex que de tex et je sais bien que finalement tout est basé
sur tex.

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Vendredi 17 Juillet 2009, 14:12

On peut en effet voir une certaine dichotomie dans les primitives de TeX.
Celles qui ne demandent pas beaucoup de connaissances dans le fonctionnement intime de ce langage telles \par, \ ,\hrule, \def, \ifx, \kern, \romanumeral, \number, etc...

Et celles qui sont plus adaptées à un but de programmation telles \noexpand, \aftergroup, \expandafter, \futurelet, \afterassignment, \catcode, etc... Celles-ci demandent de beaucoup mieux connaître les rouages de TeX, et sont, de fait, destinées à un public plus averti. Mais qui dit "programmation" dit "public averti"...

TeX regroupe en fait 2 mondes qui se rejoignent parfois : celui de la composition et ses commandes (\box, \lower, \fontname et tant d'autres) et celui de la programmation avec les quelques commandes que j'évoquais plus haut en exemple.

LaTeX s'est surtout employé à rendre plus facile d'utilisation les commandes de composition, rendant ainsi accessible au plus grand nombre la composition avec TeX. Que certains packages s'attachent à faciliter la programmation, je trouve ça très bien et je n'ai rien contre, mais il faut savoir à quel public cela s'adresse ! C'est surtout pour les utilisateurs peu familiers avec TeX qui ont envie d'accéder sans se prendre la tête à de la programmation de petites macros qu'ils programmeront eux-même. Le revers de la médaille est que le fonctionnement et la puissance de TeX leur est caché, sans compter les limitations certaines de ce genre de package.
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar evariste_G » Vendredi 17 Juillet 2009, 14:21

Le code que donnne Alain est effectivement intéressant pour faire des boucles assez simplement.
La commande \forLoop est on ne peut plus simple à comprendre et se rapproche de ce que l'on peut rencontrer ailleurs. Elle me semble donc plus qu'intéressante :D Et en ce qui me concerne, je me fiche complètement de savoir si c'est du TeX ou du LaTeX :) du moment que ça fonctionne rapidement et simplement ... :wink:
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Vendredi 17 Juillet 2009, 14:55

evariste_G a écrit:Elle me semble donc plus qu'intéressante :D Et en ce qui me concerne, je me fiche complètement de savoir si c'est du TeX ou du LaTeX :) du moment que ça fonctionne rapidement et simplement ... :wink:

Oui, on en revient toujours au même : que ça marche tout de suite et comme je veux, je me fous de comprendre, et quand ça marchera plus, j'aviserai et au pire, je me servirai de tikz ou reviendrai demander au secours ! Désolé, mais là, vous déc-----ez sérieusement !

Mais allez donc voir le (simplissime) code de ce package, essayez de le comprendre, ce qui est assez enfantin, et prenez-vous en main, commencez par programmer un petit truc : écrivez votre propre macro récursive pour faire des boucles ou pour parcourir des arguments, cela est beaucoup plus pédagogique et au moins, quand ça n e fonctionne plus ou que vous voulez personnaliser votre macro, cela ne demande presque plus aucun effort.
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar oleanet » Vendredi 17 Juillet 2009, 15:23

evariste_G a écrit: Elle me semble donc plus qu'intéressante :D Et en ce qui me concerne, je me fiche complètement de savoir si c'est du TeX ou du LaTeX :) du moment que ça fonctionne rapidement et simplement ... :wink:


De la part d'un enseignant, je trouve cela plutôt sidérant, et c'est malheureusement très révélateur et très tandance ...
oleanet
Méga-utilisateur
 
Messages: 258
Inscription: Dimanche 24 Décembre 2006, 15:17

Re: Commande construisant un tableau

Messagepar evariste_G » Vendredi 17 Juillet 2009, 15:24

un bon petit a écrit:
evariste_G a écrit:Elle me semble donc plus qu'intéressante :D Et en ce qui me concerne, je me fiche complètement de savoir si c'est du TeX ou du LaTeX :) du moment que ça fonctionne rapidement et simplement ... :wink:

Oui, on en revient toujours au même : que ça marche tout de suite et comme je veux, je me fous de comprendre, et quand ça marchera plus, j'aviserai et au pire, je me servirai de tikz ou reviendrai demander au secours ! Désolé, mais là, vous déc-----ez sérieusement !

Mais allez donc voir le (simplissime) code de ce package, essayez de le comprendre, ce qui est assez enfantin, et prenez-vous en main, commencez par programmer un petit truc : écrivez votre propre macro récursive pour faire des boucles ou pour parcourir des arguments, cela est beaucoup plus pédagogique et au moins, quand ça n e fonctionne plus ou que vous voulez personnaliser votre macro, cela ne demande presque plus aucun effort.


Sauf votre respect, je pense que vous ne comprenez pas une chose : ce n'est pas parce que l'on a envie d'utiliser un package où tout fait que l'on aura pas envie, plus tard, de voir comment cela fonctionne ... Etes-vous du genre à demander à vos élèves de 6ème de construire un cercle sans le compas sous prétexte que l'on peut en considérant que c'est un ensemble de points équidistants à un point donné ?
Nous en sommes ici pour moi ... Vous considérez que les utilisateurs de packages sont des "moutons" qui ne cherchent pas à comprendre ... ce qui n'est pas le cas ... et quand bien même cela le serait, qu'y a-t-il de mal à utiliser un outil s'il permet d'aller plus vite ? Moi, quand j'ai besoin de planter un clou, j'utilise un marteau ... Alors, s'il vous plaît, arrêtez de dire qu'il faut impérativement toujours tout faire à la main ... Je pense avoir montré que je n'étais pas contre le fait de comprendre le fond des choses, tout en aimant aussi faire appel aux commandes déjà faites. Le monde n'est pas binaire ... on peut avoir envie d'utiliser plusieurs techniques.

D'ailleurs, j'ai utilisé les deux exemples pour construire le code suivant :

Code: Tout sélectionner
\documentclass[10pt,a4paper,landscape]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{ifthen,forloop}
\usepackage[table]{xcolor}
\usepackage{array}
\newcounter{nbRow}
\newcounter{nbCol}
\newcounter{m}

\newcommand*{\CreateTableau}[3]{%
\edef\nbjour{\ifcase#2\or31\or\ifnum\numexpr#3-#3/4*4=0 29\else28\fi\or31\or30\or31\or30\or31\or31\or30\or31\or30\or31\fi}%
\edef\monthname{\ifcase#2\or Janvier\or Février\or Mars\or Avril \or Mai\or Juin\or Juillet\or Aout \or Septembre\or Octobre \or Novembre\or Décembre\fi}%
\begin{tabular}{||>{\columncolor{green!25}}c||*{\nbjour}{c|}|}\hline%
  \forLoop{1}{#1}{nbRow}{%
   \ifthenelse{\equal{\value{nbRow}}{1}}{\monthname}{\ifthenelse{\equal{\value{nbRow}}{2}}{#3}{}}%
   \forLoop{1}{\nbjour}{nbCol}{%
    \ifthenelse{\equal{\value{nbRow}}{1}}{&\thenbCol}{&}  }%
   \tabularnewline\hline%
   }
\end{tabular}%

\medskip
}%

\begin{document}

\forLoop{9}{12}{m}{\CreateTableau{2}{\value{m}}{2009}}
\forLoop{1}{7}{m}{\CreateTableau{2}{\value{m}}{2010}}
\end{document}


Pourquoi serait-il mauvais de mélanger les deux écoles ? Que cherche-t-on en définitive ? Personnellement, je cherche à créer des documents dans le but de les proposer à la lecture.
Pinailler sur le fait de tout mélanger, pour moi, ne m'avance pas ... Après tout, les deux écoles m'ont amené à faire ce que je voulais, et c'est l'essentiel pour la plupart des utilisateurs de ce forum non ? :D

oleanet a écrit:
evariste_G a écrit: Elle me semble donc plus qu'intéressante :D Et en ce qui me concerne, je me fiche complètement de savoir si c'est du TeX ou du LaTeX :) du moment que ça fonctionne rapidement et simplement ... :wink:


De la part d'un enseignant, je trouve cela plutôt sidérant, et c'est malheureusement très révélateur et très tandance ...


Si vous le dites alors ... ça devrait révéler quoi ? Que je suis un fainéant ? Un moins que rien ? Que je ne devrais pas enseigner ? Que je devrais être au chômage plutôt que de former la futur génération ? Allez jusqu'au bout de votre pensée ...
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1425
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar Altermundus » Vendredi 17 Juillet 2009, 16:08

un bon petit a écrit:
LaTeX s'est surtout employé à rendre plus facile d'utilisation les commandes de composition, rendant ainsi accessible au plus grand nombre la composition avec TeX. Que certains packages s'attachent à faciliter la programmation, je trouve ça très bien et je n'ai rien contre, mais il faut savoir à quel public cela s'adresse ! C'est surtout pour les utilisateurs peu familiers avec TeX qui ont envie d'accéder sans se prendre la tête à de la programmation de petites macros qu'ils programmeront eux-même. Le revers de la médaille est que le fonctionnement et la puissance de TeX leur est caché, sans compter les limitations certaines de ce genre de package.


Je suis entièrement d'accord avec tout ceci. D'ailleurs je pense que nous sommes d'accord depuis le début. Je crois qu'il ne faut simplement pas essayer d'imposer son point de vue, l'utilisateur de toutes façons choisira le code qui lui convient s'il a de la chance de pouvoir choisir. Nous pouvons simplement argumenter pour expliquer le choix de notre méthode mais encore faut-il avoir le temps de pouvoir le faire. Si en plus l'utilisateur a lui le temps pour essayer de comprendre ce qui se passe derrière et bien c'est temps mieux et si quelques conseils peuvent lui permettre d'accélérer la compréhension alors c'est parfait.

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar un bon petit » Vendredi 17 Juillet 2009, 16:28

evariste_G a écrit:Sauf votre respect, je pense que vous ne comprenez pas une chose : [snip]

Oui, en effet il y des choses que je ne comprends pas.

Je n'ai jamais cherché la polémique et pour tout vous dire, je n'ai jamais autant polémiqué sur un forum que ces derniers jours. Je m'y suis inscrit pour essayer d'aider des contributeurs, j'ai donné du code, et j'ai répondu aux questions du mieux que je pouvais : une fois, mon code est désastreux, je suis méchant. Ensuite, sur ce fil, je vous fournit un autre code; c'est beaucoup trop compliqué, je vais devoir expliquer le texbook. Quant à vous, je croyais que vous aviez initié ce fil pour apprendre la récursivité, j'en étais content, mais je vois que finalement, une simple macro-package "forloop" vous semble préférable. Je ne parle même pas de votre précédente réponse.

Alors oui c'est vrai, je ne comprends pas trop l'esprit de ce forum, ni les critiques que j'ai subies --mais néanmoins auxquelles j'ai répondu sans me laisser faire et en essayant d'argumenter--. Bref, je ne dois pas être à ma place sur ce forum, d'ailleurs, j'en prends congé immédiatement je ne pense pas y revenir. Je contacte un modérateur pour m'en désinscrire si cela est possible. J'ai un package assez ambitieux en cours d'écriture, je pourrai mieux m'y consacrer car étant dans d'obscures difficultés, je l'ai un peu délaissé ces derniers temps.

Bon courage pour votre apprentissage, c'est difficile, mais cela en vaut la peine, vous verrez.
À bientôt à tous, (La)TeXez bien !

Christian
\end
un bon petit
Giga-utilisateur
 
Messages: 719
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar oleanet » Vendredi 17 Juillet 2009, 16:37

evariste_G a écrit:Si vous le dites alors ... ça devrait révéler quoi ? Que je suis un fainéant ?


je n'en sais rien, bien que vous l'ayez déjà dit en parlant de vous dans un autre fil...

Un moins que rien ?


Vous y allez fort! Allons, reprenez -vous!

Que je ne devrais pas enseigner ? Que je devrais être au chômage plutôt que de former la futur génération ? Allez jusqu'au bout de votre pensée ...


En tout cas, pas enseigner ce genre de modèle de pensée, et je sais trop bien que la pédagogie du "faîtes ce que je dis pas ce que je fais" cache souvent une difficulté à montrer un bon exemple...

Par contre il y a des d'entreprises qui ont besoin de gens capables d'appliquer vite et bien sans forcément avoir envie de comprendre, et d'après ce que vous dîtes cela semble correspondre à votre démarche. Mais ne paniquez pas! Nous sommes là incognitos n'est-ce pas? Alors j'en resterai là :wink:. J'ai assez fait dévier ce fil alors qu'il propose des codes intéressants...
oleanet
Méga-utilisateur
 
Messages: 258
Inscription: Dimanche 24 Décembre 2006, 15:17

Re: Commande construisant un tableau

Messagepar MB » Vendredi 17 Juillet 2009, 16:42

un bon petit a écrit:Alors oui c'est vrai, je ne comprends pas trop l'esprit de ce forum, ni les critiques que j'ai subies --mais néanmoins auxquelles j'ai répondu sans me laisser faire et en essayant d'argumenter--. Bref, je ne dois pas être à ma place sur ce forum, d'ailleurs, j'en prends congé immédiatement je ne pense pas y revenir.


D'une part, il n'y a pas UN esprit associé à ce forum, il y a des utilisateurs qui posent des questions et d'autres qui tentent de donner des réponses, chacun à son niveau. C'est le seul principe qu'on se doit de respecter.

En ce qui concerne vos différentes interventions, je les trouve personnellement très intéressantes car on parle assez rarement de TeX ici et je trouve ça dommage, d'autant que je connais mal et que je trouve ça bien dommage. Vous avez donc totalement votre place sur ce forum.

Pour éviter les critiques et limiter les débats parfois sans fin, le plus sage serait de proposer des solutions sans affirmer qu'elles sont les meilleurs, chacun étant capable d'en juger de son propre chef.

Salutations, en espérant tout de même vous revoir ici ...
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Commande construisant un tableau

Messagepar oleanet » Vendredi 17 Juillet 2009, 16:52

un bon petit a écrit: Bref, je ne dois pas être à ma place sur ce forum, d'ailleurs, j'en prends congé immédiatement je ne pense pas y revenir.


C'est bien dommage... j'ai profité de vos interventions et je serais triste qu'il n'y en ait pas d'autres.
oleanet
Méga-utilisateur
 
Messages: 258
Inscription: Dimanche 24 Décembre 2006, 15:17

Suivante

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Yandex [Bot] et 14 invités