[Résolu] Comment améliorer mon code ?

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] Comment améliorer mon code ?

Messagepar SimonPaulL » Vendredi 06 Janvier 2017, 20:00

Bonsoir/Bonjour !
Je viens de m'inscrire car j'ai rendu aujourd'hui un devoir maison rédigé en $\LaTeX$ et que, bien que l'information sois lisible, ma mise en page n'été pas bien centré (ou tout simplement moche) et je pense que mon code est améliorable.
Je vais détaillé ce que je voudrais améliorer mais je vous donnes quand même mon rendu finale pdf et mon code source pastebin (NB : Le DM portant sur l'écriture algébrique, les exercices on la même présentation : vous n'avez pas besoin de tout lire).
Si vous êtes curieux des exercices, le manuel est Sesamath 2de (disponible en ligne sur leur site).

Je commence donc :
Tout au long de mon devoir, j'ai utilisé l’environnement minipage pour mettre des équations les une à cotés des autres et l'environnement align* pour les aligner sur le signe égale.
Code: Tout sélectionner
\begin{minipage}[t]{6cm}
\begin{align*}
M &= (23x+1) (-17x+1) + (23x+1)^2\\
&= (23x+1) \bigl[(-17x+1) + (23x+1)\bigr]\\
&= (23x+1) (6x+2)
\end{align*}
\end{minipage}

\begin{minipage}[t]{6cm}
\begin{align*}
T&=25-(2-x)^2\\
&=\Bigl[\sqrt{25}+\sqrt{(2-x)^2}\Bigr]\Bigl[\sqrt{25}-\sqrt{(2-x)^2}\Bigr]\\
&=(5+2-x)(5-2+x)\\
&=(7-x)(3+x)
\end{align*}
\end{minipage}

NB: je n'ai pas réussie à afficher le code.
Ma première question sera donc : Ces environnement sont-ils approprié ?

Ensuite, je remarque un problème dans le centrage avec les colonnes de minipage (voir pdf).
En effet j'ai du aller à la ligne dans une équation compliqué alors qu'il y avait largement la place.
Dans une colonne, toute les égales ne sont pas centré.
Deuxième question : Comment centrer deux minipage et comment aligner toute les équations d'une colonne ?

Je pense que ça serait déjà pas mal. Mais si vous avez des suggestions d'amélioration, je vous écoute les oreilles grandes ouvertes !
Merci par avance,
Simon.
Dernière édition par SimonPaulL le Dimanche 08 Janvier 2017, 22:33, édité 1 fois.
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Publicité

Re: Comment améliorer mon code ?

Messagepar un bon petit » Vendredi 06 Janvier 2017, 20:49

Tout d'abord, je m'abstiendrais de tailles imposées à coup de \big... et je préfèrerais \left et \right, mais ceci est un détail.

Ensuite, pour écrire 2 minnipages côte à côté, pourquoi ne pas construire une macro qui s'en charge. Je l'ai appelée \facefaceA lorsque l'environnement align* est utilisé et \facefaceB lorsque c'est le package autoaligne (désolé pour la pub !), qui dispense d'écrire les "&". Dans les 2 cas, les minipages mesurent 45% de la largeur chacune et donc, il reste 10% de la largeur entre elles.

À vous de voir ce qui vous convient le mieux des macros \facefaceA ou \facefaceB.

Code: Tout sélectionner
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=2.5cm]{geometry}
\usepackage{amsmath,autoaligne}
\newcommand\facefaceA[2]{%
   \par\noindent\null
   \begin{minipage}[t]{\dimexpr.4\linewidth}\begin{align*}#1\end{align*}\end{minipage}\hfill
   \begin{minipage}[t]{\dimexpr.4\linewidth}\begin{align*}#2\end{align*}\end{minipage}\par\ignorespaces
}
\newcommand\facefaceB[2]{%
   \medbreak\noindent\null
   \begin{minipage}[t]{\dimexpr.4\linewidth}\autoaligne[*g]{#1}\end{minipage}\hfill
   \begin{minipage}[t]{\dimexpr.4\linewidth}\autoaligne[*g]{#2}\end{minipage}\medbreak\ignorespaces
}
\newcommand*\exercice[1]{\medbreak\noindent\textbf{#1}\par\nobreak}
\begin{document}
\exercice{Exercice Machin}
Avec l'environnement \verb|align|:
\facefaceA
{M &= (23x+1) (-17x+1) + (23x+1)^2\\
   &= (23x+1) \left[(-17x+1) + (23x+1)\right]\\
   &= (23x+1) (6x+2)
}
{E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
   &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
   &=(6x-5)(6x+23+19x-6)\\
   &= (6x-5)(25x+17)
}

\definirseparateurs{\\}{=}{}% réglage de autoaligne
\aavcoeff{1.25}% réglage de autoaligne
\exercice{Exercice Machin}
Avec la macro \verb|autoaligne|:
\facefaceB
{M=(23x+1) (-17x+1) + (23x+1)^2\\
   = (23x+1) \left[(-17x+1) + (23x+1)\right]\\
   = (23x+1) (6x+2)
}
{E = (6x+23)(6x-5)-(19x-6)(5-6x)\\
   =(6x+23)(6x-5)+(6x-5)(19x-6)\\
   =(6x-5)(6x+23+19x-6)\\
   = (6x-5)(25x+17)
}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 613
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Comment améliorer mon code ?

Messagepar balf » Vendredi 06 Janvier 2017, 22:29

Quatre autres possibilités, sans utiliser de minipage. Le second usage de flalign a le code le plus simple, mais oblige à faire des copier-coller en plus grand nombre, parce que la structure du code est différente. L'environnement tasks permet d'avoir plusieurs rangées alignées verticalement (et, en général, une numérotation, que j'ai annulée ici, puisqu'il n'y en avait pas dans le code initialement posté).

Code: Tout sélectionner
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=2.5cm, showframe]{geometry}
\usepackage{amsmath}
\usepackage{tasks} \newcommand*\exercice[1]{\medbreak\noindent\textbf{#1}\smallskip\par\nobreak}
\begin{document}
\exercice{Exercice Machin}
Avec l'environnement \verb|flalign*|:
\begin{flalign*}
  & \begin{aligned}[t]M &= (23x+1) (-17x+1) + (23x+1)^2\\
  &= (23x+1) \left[(-17x+1) + (23x+1)\right]\\
  &= (23x+1) (6x+2)
  \end{aligned}& &
  & & \begin{aligned}[t]
  E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
  &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
  &=(6x-5)(6x+23+19x-6)\\
  &= (6x-5)(25x+17)
  \end{aligned}
\end{flalign*}

\begin{flalign*}
   M &= (23x+1) (-17x+1) + (23x+1)^2 & E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
  &= (23x+1) \left[(-17x+1) + (23x+1)\right] & &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
  &= (23x+1) (6x+2) & &=(6x-5)(6x+23+19x-6)\\%
 & &&= (6x-5)(25x+17)
\end{flalign*}


Avec l'environnement \verb|alignat*|:
\begin{alignat*}{2}
    & \begin{aligned}[t]M & = (23x+1) (-17x+1) + (23x+1)^2 \\
  &= (23x+1) \left[(-17x+1) + (23x+1)\right]\\
  &= (23x+1) (6x+2)
  \end{aligned}
    & \hspace{5em} & \begin{aligned}[t]
  E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
  &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
  &=(6x-5)(6x+23+19x-6)\\
  &= (6x-5)(25x+17)
  \end{aligned}
\end{alignat*}

Avec l'environnement \verb|tasks|:
\begin{tasks}[counter-format=\relax, item-indent=\parindent](2)
  \task $ \begin{aligned}[t] M &= (23x+1) (-17x+1) + (23x+1)^2\\
  &= (23x+1) \left[(-17x+1) + (23x+1)\right]\\
  &= (23x+1) (6x+2)
  \end{aligned}$ %
  %
  \task $ \begin{aligned}[t] E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
  &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
  &=(6x-5)(6x+23+19x-6)\\
  &= (6x-5)(25x+17)
  \end{aligned} $
  %
  \task $ \begin{aligned}[t] E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
  &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
  &=(6x-5)(6x+23+19x-6)\\
  &= (6x-5)(25x+17)
  \end{aligned} $
  %
  \task $ \begin{aligned}[t] M &= (23x+1) (-17x+1) + (23x+1)^2\\
  &= (23x+1) \left[(-17x+1) + (23x+1)\right]\\
  &= (23x+1) (6x+2)
  \end{aligned}$ %
\end{tasks}

\end{document} 
Fichiers joints
amelioration.pdf
(79.77 Kio) Téléchargé 11 fois
Dernière édition par balf le Samedi 07 Janvier 2017, 15:36, édité 3 fois.
balf
Zetta-utilisateur
 
Messages: 3514
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Comment améliorer mon code ?

Messagepar SimonPaulL » Vendredi 06 Janvier 2017, 22:44

Je vous remercie grandement !
Étant un utilisateur novices de LaTex, je ne connais pas du tout les macros (honte à moi si c'est important, je n'ai pas lu le cours en entier).
Je regarderais plus en détail demain matin et vous ferai part de mon retour.
Sur ceux, bonne nuit !
Cordialement,
Simon

EDIT : Juste pour l'anecdote, je viens de voir que vous habitez dans la même ville que moi un bon petit ! Vous ne seriez pas enseignant au lycée Monge à tout hasard ? :)
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Re: Comment améliorer mon code ?

Messagepar gigiair » Vendredi 06 Janvier 2017, 23:26

Personnellement j'aurais préféré l'environnement multicols avec un filet vertical pour bien montrer que les égalités de droite ne sont pas la continuité de celles de gauche. En plus, ça évite les minipages, la saisie est plus rapide.
Code: Tout sélectionner
 \begin{multicols}{2}[Exercice  25 page 141]

 \begin{align*}
 M &= (23x+1) (-17x+1) + (23x+1)^2\\
&= (23x+1) \bigl[(-17x+1) + (23x+1)\bigr]\\
&= (23x+1) (6x+2)
 \end{align*}

\begin{align*}
 A &= (13x-14)(25x-11)-(13x-14)^2\\
&= (13x-14) \bigl[(25x-11)-(13x-14)\bigr]\\
&= (13x-14) (25x-11-13x+14)\\
&= (13x-14) (12x+3)
 \end{align*}
 \begin{align*}
 N &= (8-18x)^2-(16x-3)(8-18x)\\
&= (8-18x) \bigl[(8-18x)-(16x-3)\bigr]\\
&= (8-18x) (8-18x-16x+3)\\
&= (8-18x) (-34x+11)
 \end{align*}
 \begin{align*}
 U &= (11-2x)(9-7x)+(2x-11)(11x+2)\\
 &=(11-2x)(9-7x)-(11-2x)(11x+2)\\
 &= (11-2x)\bigl[(9-7x)-(11x+2)\bigr]\\
 &= (11-2x)(9-7x-11x-2)\\
 &= (11-2x)(-18x+7)
 \end{align*}
 
 \begin{align*}
 E &= (6x+23)(6x-5)-(19x-6)(5-6x)\\
 &=(6x+23)(6x-5)+(6x-5)(19x-6)\\
 &=(6x-5)(6x+23+19x-6)\\
 &= (6x-5)(25x+17)
 \end{align*}
 \begin{align*}
 L &= (16x+13)(21x-3)+(16x+13)\\
 &= (16x+13)(21x-3+1)\\
 &= (16x+13)(21x-2)
 \end{align*}
 \begin{align*}
 S&=(-14x+5)-(4x-7)(-14x+5)\\
 &=(-14x+5)(1-4x+7)\\
 &= (-14x+5)(-4x+8)
 \end{align*}

\end{multicols}

\dotfill{}

D'autre part, 2nde 8 s'obtient par 2\up{nde] 8.
Je ne me suis pas occupé de la question des mathématiques,j'ai un peu oublié depuis le temps, mais j'ai l'impression que certaines règles appliquées n'existaient pas de mon temps, je me suis même tapé une cuisante mauvaise note de colle à cause de ça.
Fichiers joints
TeX-ecm.pdf
(41.75 Kio) Téléchargé 13 fois
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2239
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment améliorer mon code ?

Messagepar balf » Samedi 07 Janvier 2017, 00:56

@gigiair: Il me semble bien que l'abréviation de seconde est
Code: Tout sélectionner
2\up{de}
ou
Code: Tout sélectionner
2\textsuperscript{de}
(sans n).

B. A.
Dernière édition par balf le Samedi 07 Janvier 2017, 10:31, édité 1 fois.
balf
Zetta-utilisateur
 
Messages: 3514
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Comment améliorer mon code ?

Messagepar gigiair » Samedi 07 Janvier 2017, 06:41

Merci. Au temps pour moi.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2239
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment améliorer mon code ?

Messagepar SimonPaulL » Samedi 07 Janvier 2017, 14:38

Bonjours à tous !
Premièrement, je vous remercie tous du temps que vous m'avez consacré.

Un bon petit :
J'avais utilisé \big car je trouvais que les crochets avec \left n'étaient pas assez grands quand il y avait seulement des parenthèses entre. Mais le rendu est parfait quand il y a des racines carrées.

Merci beaucoup pour les macros : ça me facilitera grandement la vie par la suite (et ça m'apprendra à lire mon cours en entier aussi :lol:)

J'ai regardé la macro autoaligne et deux questions me viennent : Les paramètres peuvent-ils être définis pour toute la page ? Puis-je les mettre en en-tête ?

balf :
je trouve les environnements flalign*, alignat* et tasks plus complexes et leur mise en page se ressemble beaucoup. J'ai néanmoins une préférence pour flaligne* qui a su faire entrer ce calcul dans la page :

$$ \begin{aligned} Z&=(x+3)^2-(2x+4)^2\\ &=\Bigl[\sqrt{(x+3)^2}+\sqrt{(2x+4)^2}\Bigr]\Bigl[\sqrt{(x+3)^2}-\sqrt{(2x+4)^2}\Bigr]\\ &=(x+3+2x+4)(x+3-2x-4)\\ &=(3x+7)(-x-1) \end{aligned} $$


Quelles sont leurs différences ? Lequel préférez-vous ?

gigiair :
Multicols a l'air plus simple d'utilisation mais je ne trouve pas comment aligner en haut. Un équivalent à \begin{minipage}[t] existe-t-il ? Et pour changer de colonne, faut-il obligatoirement remplir une ligne de points ?
Merci pour \up{nd} j'aurais dû y penser :roll:

En espérant que vous trouviez le temps de me répondre, je vous souhaite une agréable journée !

Simon.
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Re: Comment améliorer mon code ?

Messagepar balf » Samedi 07 Janvier 2017, 15:46

@Simon PaulL:
J'ai ajouté une quatrième façon de faire, avec flalign*, que je n'avais d'abord pas mise, car elle nécessite des copier-coller plus complexes. Toutefois, le code est, quant à lui, nettement plus simple. C'est cette dernière version que je préfère, avec l'environnement tasks, qui permer de numéroter ces groupes d'équation et les aligner verticalement. Sa logique est différente: il s'agit d'une liste à déploiement horizontal, et l'on peut faire des références croisées à chacun des groupes d'équation individuellement.

Dernier point: toutes ces solutions sont compatibles avec un changement de page, ce que ne peut faire l'environnement minipage.

B. A.
balf
Zetta-utilisateur
 
Messages: 3514
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Comment améliorer mon code ?

Messagepar SimonPaulL » Samedi 07 Janvier 2017, 19:03

balf a écrit:@Simon PaulL:
J'ai ajouté une quatrième façon de faire, avec flalign*, que je n'avais d'abord pas mise, car elle nécessite des copier-coller plus complexes. Toutefois, le code est, quant à lui, nettement plus simple. C'est cette dernière version que je préfère, avec l'environnement tasks, qui permer de numéroter ces groupes d'équation et les aligner verticalement. Sa logique est différente: il s'agit d'une liste à déploiement horizontal, et l'on peut faire des références croisées à chacun des groupes d'équation individuellement.

Dernier point: toutes ces solutions sont compatibles avec un changement de page, ce que ne peut faire l'environnement minipage.

B. A.


Merci bien !
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Re: Comment améliorer mon code ?

Messagepar un bon petit » Samedi 07 Janvier 2017, 19:40

SimonPaulL a écrit:J'ai regardé la macro autoaligne et deux questions me viennent : Les paramètres peuvent-ils être définis pour toute la page ? Puis-je les mettre en en-tête ?

Pour la 1re question : oui, les paramètres sont actifs jusqu'à ce qu'ils soient contredits par de nouveaux paramètres (ou qu'une fin de groupe soit rencontrée si les paramètres avaient été définis dans un groupe).

Pour la 2e question : oui.
un bon petit
Giga-utilisateur
 
Messages: 613
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Comment améliorer mon code ?

Messagepar gigiair » Samedi 07 Janvier 2017, 20:03

SimonPaulL a écrit:gigiair :
Multicols a l'air plus simple d'utilisation mais je ne trouve pas comment aligner en haut. Un équivalent à \begin{minipage}[t] existe-t-il ? Et pour changer de colonne, faut-il obligatoirement remplir une ligne de points ?

Non, non, les pointillés, c'est juste pour faire joli. Il faut dire que la lecture du document n'est guère passionnante... Sauf la dernière question peut-être. Je suppose que tu n'as pas vraiment fait le calcul en utilisant les algoritmes traditionnels de l'école primaire, car tu aurais trouvé 4, bien évidemment. Il existe des programmes informatiques capables d'effectuer ce calcul proprement et de trouver 4, mais pas les programmes traditionnels ou les calculettes.

L'environnement multicols n'accepte pas les floats ni les marginpars et a de bien grandes difficultés avec tout ce qui est de la famille des tabulars. Pour éviter de trop grands dégâts j'ai réduit la taille de la police. 10 est largement suffisante.

D'autre part, je trouve que la juxtaposition pour figurer la multiplication n'est pas très claire, je préfère insérer une espace fine \, , 2\,x au lieu de 2x. Je ne sais pas si c'est la norme, mais je fais comme ça.
J'ai remplacé également les \Bigr ou \bigr par \left qui choisit la taille convenable en fonction du contexte.
Comme je dispose de pas mal de temps , j'ai modifié le fichier en entier pour valider mes choix (j'ai aussi un éditeur très puissant).
Pour présenter convenablement ton document sur deux colonnes, il faudrait probablement utiliser des environnements du genre matrix, mais c'est tout le document qu'il faudrait recomposer.

Code: Tout sélectionner
\documentclass[10pt,frenchb]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5cm]{geometry}
\usepackage{amsmath,amssymb,mathrsfs}
\usepackage{multicol}
\usepackage{fourier}
\usepackage{babel}

 \pagestyle{empty}
\setlength\columnseprule{.4pt}
 \begin{document}
 Simon \bsc{Léonard} 2\up{de} 8
 \begin{center}\LARGE{Devoir maison}\end{center}

%%% {\Large Exercice 25 page 141}
 \begin{multicols}{2}[Exercice 25 page 141]
   \begin{align*}
     M &= (23\,x+1) (-17\,x+1) + (23\,x+1)^2\\
       &= (23\,x+1) \left[(-17\,x+1) + (23\,x+1)\right]\\
       &= (23\,x+1) (6\,x+2)\\
   \end{align*}

 \begin{align*}
   A &= (13\,x-14)(25\,x-11)-(13\,x-14)^2\\
     &= (13\,x-14) \left[(25\,x-11)-(13\,x-14)\right]\\
     &= (13\,x-14) (25\,x-11-13\,x+14)\\
     &= (13\,x-14) (12\,x+3)\\
 \end{align*}

 \begin{align*}
   N &= (8-18\,x)^2-(16\,x-3)(8-18\,x)\\
     &= (8-18\,x) \left[(8-18\,x)-(16\,x-3)\right]\\
     &= (8-18\,x) (8-18\,x-16\,x+3)\\
     &= (8-18\,x) (-34\,x+11)\\
 \end{align*}
 
 \begin{align*}
   U &= (11-2\,x)(9-7\,x)+(2\,x-11)(11\,x+2)\\
     &=(11-2\,x)(9-7\,x)-(11-2\,x)(11\,x+2)\\
     &= (11-2\,x)\left[(9-7\,x)-(11\,x+2)\right]\\
     &= (11-2\,x)(9-7\,x-11\,x-2)\\
     &= (11-2\,x)(-18\,x+7)\\
 \end{align*}
 

  \begin{align*}
    E &= (6\,x+23)(6\,x-5)-(19\,x-6)(5-6\,x)\\
      &=(6\,x+23)(6\,x-5)+(6\,x-5)(19\,x-6)\\
      &=(6\,x-5)(6\,x+23+19\,x-6)\\
      &= (6\,x-5)(25\,x+17)\\
  \end{align*}

  \begin{align*}
    L &= (16\,x+13)(21\,x-3)+(16\,x+13)\\
      &= (16\,x+13)(21\,x-3+1)\\
      &= (16\,x+13)(21\,x-2)\\
  \end{align*}

  \begin{align*}
    S&=(-14\,x+5)-(4\,x-7)(-14\,x+5)\\
     &=(-14\,x+5)(1-4\,x+7)\\
     &= (-14\,x+5)(-4\,x+8)\\
  \end{align*}
\end{multicols}
\dotfill


%%%{\Large Exercice 26 page 141}

\begin{multicols}{2}[Exercice 26 page 141]
  \begin{align*}
    H&=x^2-121\\
     &= (\sqrt{x^2}+\sqrt{121})(\sqrt{x^2}-\sqrt{121})\\
     &= (x+11)(x-11)\\
  \end{align*}

  \begin{align*}
    E&=(x-4)^2-36\\
     &=\left[\sqrt{(x-4)^2}+\sqrt{36}\right]\\
     &\quad\times\left[\sqrt{(x-4)^2}-\sqrt{36}\right]\\
     &=(x-4+6)(x-4-6)\\
     &=(x+2)(x-10)\\
  \end{align*}

 \begin{align*}
   R&=x^2-5\\
    &= (\sqrt{x^2}+\sqrt{5})(\sqrt{x^2}-\sqrt{5})\\
    &= (x+\sqrt{5})(x-\sqrt{5})\\
 \end{align*}


  \begin{align*}
    T&=25-(2-x)^2\\
     &=\left[\sqrt{25}+\sqrt{(2-x)^2}\right]\left[\sqrt{25}-\sqrt{(2-x)^2}\right]\\
     &=(5+2-x)(5-2+x)\\
     &=(7-x)(3+x)\\
  \end{align*}

  \begin{align*}
    Z&=(x+3)^2-(2\,x+4)^2\\
     &=\left[\sqrt{(x+3)^2}+\sqrt{(2\,x+4)^2}\right]\\
     &\quad\times\left[\sqrt{(x+3)^2}-\sqrt{(2\,x+4)^2}\right]\\
     &=(x+3+2\,x+4)(x+3-2\,x-4)\\
     &=(3\,x+7)(-x-1)\\
  \end{align*}
\end{multicols}
\dotfill


%%%{\Large Exercice 28 page 142}

\begin{multicols}{2}[Exercice 28 page 142]
  \begin{align*}
    T&=9\,x^2+12\,x+4\\
     &=(3\,x+2)^2\\
  \end{align*}

  \begin{align*}
    H&=x^2+169-26\,x\\
     &=(x-13)^2\\
  \end{align*}

  \begin{align*}
    A&=144\,x+144\,x^2+36\\
     &=(12\,x+6)\\
  \end{align*}


 
  \begin{align*}
    L&=49\,x^2+25-70\,x\\
     &=(7\,x-5)^2\\
  \end{align*}

  \begin{align*}
    E&=9\,x^2-24\,x+16\\
     &=(3\,x-4)^2\\
  \end{align*}

  \begin{align*}
    S&=-22\,x+121\,x^2+1\\
     &=(11\,x-1)^2\\
  \end{align*}
\end{multicols}
\dotfill


%%%{\Large Exercice 29 page 142}

\begin{multicols}{2}[Exercice 29 page 142]
  \begin{align*}
    P &=(6\,x-4)(2\,x+5)-(3\,x+2)(2\,x+5)\\
      &=(2\,x+5)\left[(6\,x-4)-(3\,x+2)\right]\\
      &=(2\,x+5)(6\,x-4-3\,x-2)\\
      &=(2\,x+5)(3\,x-6)\\
  \end{align*}

  \begin{align*}
    Y&=(4\,x-5)^2-(9-13\,x)^2\\
     &=(4\,x-5+9-13\,x)(4\,x-5-9+13\,x)\\
     &=(-9\,x+4)(17\,x-14)\\
  \end{align*}


 
  \begin{align*}
    T&=25\,x^2+9-30\,x\\
     &=(5\,x-3)^2\\
  \end{align*}

  \begin{align*}
    H&=(5\,x-7)(3\,x-2)-(x-8)(3\,x-2)\\
     &=(3\,x-2)(5\,x-7-x+8)\\
     &=(3\,x-2)(4\,x-1)\\
  \end{align*}
\end{multicols}
\dotfill


%%%{\Large Exercice 30 page 142}

\begin{multicols}{2}[Exercice 30 page 142]
  \begin{align*}
    M&=(4\,x-3)^2-28\,x+21\\
     &=(4\,x-3)^2-7\,(4\,x-3)\\
     &=(4\,x-3)(4\,x-3-7)\\
     &=(4\,x-3)(4\,x-10)
  \end{align*}

 
  \begin{align*}
    A&=5\,x-7+(7-5\,x)^2\\
     &=(7-5\,x)^2-(7-5\,x)\\
     &=(7-5\,x)(7-5\,x-1)\\
     &=(7-5\,x)(6-5\,x)
  \end{align*}


  \begin{align*}
    T&=-4\,x^2+20\,x-25+4\,x^2-25\\
     &=-50+20\,x\\
     &=-10\,(5-2\,x)
  \end{align*}

  \begin{align*}
    H&=(5\,x-3)^2-(3-2\,x)^2\\
     &=\left[ (5\,x-3)+(3-2\,x) \right]\left[ (5\,x-3)-(3-2\,x) \right]\\
     &=3\,x\,(7\,x-6)
  \end{align*}
\end{multicols}
\dotfill


%%%{\Large Exercice 31 page 142}

\begin{multicols}{2}[Exercice 31 page 142]
  \begin{align*}
    S&=(3\,x+2)(4\,x-1)+(8\,x-2)(7\,x-8)\\
     &=(3\,x+2)(4\,x-1)+2\,(4\,x-1)(7\,x-8)\\
     &=(4\,x-1)(3\,x+2+7\,x-8)\\
     &=(4\,x-1)(10\,x-6)
  \end{align*}

  \begin{align*}
    T&=(6\,x + 1)(3 - x) - 36\,x^2 + 1\\
     &=(6\,x + 1)(3 - x) - (6\,x+1)(6\,x-1)\\
     &=(6\,x+1)(3-x-6\,x+1)\\
     &=(6\,x+1)(4-7\,x)
  \end{align*}

  \begin{align*}
    R &= (4\,x + 4)(x - 5) + ( 3\,x + 3)( x - 9)\\
      &=4\,(x+1)(x-5)+3\,(x+1)(x-9)\\
      &=(x+1)\left[ 4\,(x-5)+3\,(x-9) \right]\\
      &=(x+1)(4\,x-20+3\,x-21)\\
      &=(x+1)(7\,x-41)
  \end{align*}

  \begin{align*}
    O&=(x+1)(7-x)-(-1-x)(x+7)\\
     &=(x+1)(7-x)+(x+1)(x+7)\\
     &=(x+1)(7-x+x+7)\\
     &=14\,(x+1)
  \end{align*}


  \begin{align*}
    P&=x^2+6\,x+9-(2\,x-3)(x+3)\\
     &=(x+3)^2-(2\,x-3)(x+3)\\
     &=(x+3)(x+3-2\,x+3)\\
     &=(x+3)(6-x)
  \end{align*}

 
  \begin{align*}
    H&=(3\,x-4)(x+5)-(-6\,x+1)(x+5)\\
     &=(x+5)(3\,x-4+6\,x-1)\\
     &=(x+5)(9\,x-5)
  \end{align*}

  \begin{align*}
    E&=(8\,x-1)^2-(5\,x+2)(8\,x-1)\\
     &=(8\,x-1)(8\,x-1-5\,x-2)\\
     &=(8\,x-1)(3\,x-3)
  \end{align*}
\end{multicols}
\dotfill


{\normalsize Exercice 59 page 142}



\begin{align*}
  48^2-47^2-46^2+45^2&=\\
  2304-2209-2116+2025&=4
\end{align*}
\begin{align*}
  82^2-81^2-80^2+79^2&=\\
  6724-6561-6400+6241&=4
\end{align*}
\begin{align*}
  166^2-165^2-164^2+163^2&=\\
  27556-27225-26896+26569&=4
\end{align*}
Le résulat de ce programme sera toujours égal à 4.
\begin{align*}
  n&\in \mathbb{N} \\
   &\quad n^2-(n-1)^2-(n-2)^2+(n-3)^2\\
   &=n^2-(n^2-2\,n+1)-(n^2-4\,n+4)+(n^2-6\,n+9)\\
   &=n^2-n^2+2\,n-1-n^2+4\,n-4+n^2-6\,n+9\\
   &=9-5\\
   &=4
\end{align*}
Je n'ai jamais trouvé le même résultat au calcul :
$$123456789515^2+123456789512^2-(123546879514^2+123456789513^2)$$
Mais il devrait faire 4 :
\begin{align*}
  &\quad n^2+(n-3)^2-\left[(n-1)^2+(n-2)^2\right]\\
  &=n^2+n^2-6\,n+9-(n^2-2\,n+1+n^2-4\,n+4)\\
  &=n^2+n^2-6\,n+9-n^2+2\,n-1-n^2+4\,no-4\\
  &=9-5\\
  &=4
\end{align*}

\end{document}
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2239
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment améliorer mon code ?

Messagepar SimonPaulL » Dimanche 08 Janvier 2017, 00:54

Je suis désolé gigiair, mais je vais encore vous embêter avec quelque questions ! :D

Dans le \documentclass je vois que le format utilisé est scrartcl (Qu’est-ce que c’est ?) et qu'en paramètre vous avez mit frenchb (Qu’est-ce que c’est également ?).
Ensuite, à quoi sert le package fourier ?
Pour ce qui est du dernier exercice (facultatif), la consigne était de faire le calcule à la calculatrice et d'expliquer. Ma professeur de maths m'a alors dit que la calculatrice n'avais pas assez de puissance de calcul et qu'avec de gros calcul elle commençait à arrondir : c'est pour ça qu'on ne trouve pas 4.
D'ailleurs, quel genre de programme utiliserait-vous pour faire un si gros calcul ?

Pour ce qui est de l’esthétique, la juxtaposition ne me choque pas tant que ça. Mais il peut être plus simple pour un professeur de lire $2\,x$ plutôt que $2x$.

Personnellement, j'utilise Sublime Text 3 pour mon code : Et vous, qu'utilisez-vous ?

Bon aller, je ne vous embêtes plus avec toute mes questions ! :lol:

Merci du temps consacrer à la réécriture du document !

Cordialement,
Simon

PS : jusque je ne suis pas prêt d'arrêter mes DM écrit en $\LaTeX$, je posterais dans la semaine un autre sujet pour la réalisation d'un graphique. J'ai voulu en faire un mais après 5h à y être passé (je ne rigole pas), j'ai été obligé de me contenter d'une image matriciel. Si jamais vous avez des connaissances sur les graphiques, je vous invite à me proposer vos solutions quand je posterais le topic.
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Re: Comment améliorer mon code ?

Messagepar balf » Dimanche 08 Janvier 2017, 01:25

Je peux répondre à une partie des questions :

scrartcl est la classe article dans la version de komascript (il y a aussi scrbook, &c.).

frenchb est le module de langue (française) utilisé par l'extension babel. Il gère la coupure des mots en fin de ligne et la typographie/mise en page pour qu'elles soient conformes aux normes françaises.

fourier (qu'il conviendrait de compléter par erewhon), est la police mathématique basée sur la police Adobe Utopia, au lieu de la police par défaut (Computer Modern). Elle gère aussi en option la tradition française en matière de typographie mathématique (majuscules et lettres grecques en romain, seules les minuscules latines sont en italique, essentiellement).

B. A.
balf
Zetta-utilisateur
 
Messages: 3514
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Comment améliorer mon code ?

Messagepar rebouxo » Dimanche 08 Janvier 2017, 08:54

Je conseillerais d'utiliser un éditeur de texte dédié à LaTeX (texmaker, texstudio ou texworks, voir ici) si tu ne fais que du LaTeX. Sublime Text à l'air d'être très beau, mais son prix me paraît prohibitif. Si tu codes dans d'autres langages, emacs et vim sont des choix à réfléchir.

Il y a plusieurs choix pour les graphiques : pstricks, tikz sont des extensions latex. Asymptote et métapost sont des programmes externes qui s'intègrent bien à la chaîne de compilation. Mes choix vont à asymptote (pour la 3D et la puissance) et j'ai longtemps utilisé pstricks (grand nombre d'extensions spécialisées). Je ne pratique pas suffisamment TiKz pour l'apprécier. Dans tous les cas, il faudra configurer ta chaîne de compilation. Actuellement, il faut autoriser le lancement des programmes externes pour toutes ces extensions pour utiliser pdfLaTeX.

Mathematex utilise asymptote... Il y a un forum dédié. L'association Gutenberg propose une page sur les graphiques, et une petite recherche internet devrait de donner des pages d'exemples pour pstricks, TiKz et asymptote.

0234269ffc74104a794b2d3128b2d2fb.png

Code: Tout sélectionner
import graph ;
import math ;
import geometry ;
usepackage("calrsfs") ;
import interpolate ;
unitsize(1cm,0.5cm) ;

real xmin = -3, xmax = 3 ;
real ymin = 0, ymax = 10 ;
real xStep = 1, xsubStep = xStep/2 ;
real yStep = 2, ysubStep = yStep/2 ;


// Tracer de la courbe representant la fonction f, avec
// une couleur mixant, 75% de bleu pur et 25% de noir.
real f(real x){return x^2+1 ;}
// draw doit être appelé avant limits avec Crop.
real e = 0 ;
path Cf = graph(f,xmin+e,xmax,n=250) ;
draw(Cf,linewidth(1bp)+rgb("0000AC")) ;

// Aire entre la courbe graph(Cf,bmin,bmax) et la courbe
// pInf
real bmin = -3 ;
real bmax = 3 ;
path pInf = (bmin,f(bmin))--(bmin,0)--(bmax,0)--(bmax,f(bmax)) ;
//path pInf = (bmin,f(bmin))--graph(g,bmax,bmin)--(bmax,f(bmax)) ; // pour l'aire entre Cf et Cg
path aire = buildcycle(pInf,graph(f,bmin,bmax)) ;
filldraw(aire,rgb("0000AC")+opacity(0.5),linewidth(1bp)+rgb("0000AC"));


// Si il y a un graphe de fonction, le mettre avant cette ligne
limits((xmin,ymin),(xmax,ymax),Crop) ;

pen styloOli = 1bp+gray+dotted ;

xaxis(BottomTop,p=bp+grey,//
ticks=Ticks("%",
extend=true,//
Step=xStep,//
step=xsubStep,//
pTick=styloOli,
ptick=styloOli,
Size=2mm,
size=0mm)) ;
yaxis(LeftRight,p=bp+grey,//
ticks=Ticks("%",
extend=true,
Step=yStep,
step=ysubStep,
pTick=styloOli,
ptick=styloOli));

xequals(L="",0,ymin,ymax,1bp+black,Arrow(TeXHead,1bp),ticks=Ticks(NoZero,Step=yStep,step=ysubStep)) ;
yequals(L="",0,xmin,xmax,1bp+black,Arrow(TeXHead,1bp),ticks=Ticks(NoZero,Step=xStep,step=xsubStep,Size=2mm,size=0mm));

label("$x$",(xmax,0),E,black) ;
label("$y$",(0,ymax),N,black) ;


Tu as accès au code en cliquant sur le l'image.

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

Re: Comment améliorer mon code ?

Messagepar gigiair » Dimanche 08 Janvier 2017, 09:04

SimonPaulL a écrit:Dans le \documentclass je vois que le format utilisé est scrartcl (Qu’est-ce que c’est ?) et qu'en paramètre vous avez mit frenchb (Qu’est-ce que c’est également ?).
Je préfère les classes de komascript aux classes standard. Elles sont plus conformes aux goûts européens et en plus elles permettent une plus grande variété de tailles que les classes standard, limitées à 10, 11 ou 12 si mes souvenirs sont exacts
SimonPaulL a écrit:D'ailleurs, quel genre de programme utiliserait-vous pour faire un si gros calcul ?
La plupart des calculateurs symboliques permettent le calcul sur les nombres entiers en précision « infinie », mais j'ai effectué le calcul dans le langage Scheme
SimonPaulL a écrit:Personnellement, j'utilise Sublime Text 3 pour mon code : Et vous, qu'utilisez-vous ?

Emacs qui existe depuis bien avant que tu ne soie né (je suppose, car créé en 1976).
Je suis parti du document sur pastebin. En une commande j'ai purgé tous les numéros de ligne, une autre commande pour virer toutes les lignes contenant minipage, et une autre commande pour insérer \, entre les nombres et les symboles littéraux.
A peu près tous les éditeurs décents permettent ces opérations mais Emacs permet en plus d'ajouter du code elisp dans l'expression de remplacement, ce qui donne une puissance de manipulation du texte considérable (à condition de maîtriser un peu les expressions régulières -- et elisp :-) ).
En plus Toutes les commandes d'Emacs sont accessibles par un clavier très basique, pas besoin de lâcher le clavier pour manipuler la souris, c'est un gain de productivité assez conséquent.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2239
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Comment améliorer mon code ?

Messagepar kojak » Dimanche 08 Janvier 2017, 13:57

Bonjour,

SimonPaulL a écrit:D'ailleurs, quel genre de programme utiliserait-vous pour faire un si gros calcul ?
Xcas fait ça très bien tout seul. C’est libre, gratuit, et multiplateforme et en plus français.
Voir ici

C'est un logiciel de calcul formel.
pas d'aide par MP
kojak
Modérateur
 
Messages: 10282
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Re: Comment améliorer mon code ?

Messagepar SimonPaulL » Dimanche 08 Janvier 2017, 16:06

Merci balf et gigiair pour ces précision concernant l'en-tête. J'ai été surpris de voir le paramètre pour la langue française se trouvé dans le document class plutôt que dans l'import de package. Mais je suppose que ça reviens au même.

rebouxo :
Sublime Text est en fait gratuit ! Il est bien évidement possible de le payer pour soutenir les developpeurs. Si je l'utilise, c'est pour 2 raisons principale :
Je fait, en plus du LaTeX, du Python (dumoins j'apprend). Et je préfère avoir un seul logiciel pour tout faire.
La 2e raison, c'est en effet qu'il est très joli (surtout si on ajoute Material Themes). Et l'interface a pour moi une grande importance.

Merci pour tout les noms que vous venez de me donner. Je ne fait pour le moment pas de graphique 3D (je ne sais même pas à quoi cela sert :roll: ) et je pense débuter comme vous avec pstricks (dans ce sondage, c'est la solution qui ressort le plus). Celà suffira bien pour le moment.
Petite question : est-il possible de faire un tableau de variation/signe avec ?

gigiair a écrit:
SimonPaulL a écrit:Personnellement, j'utilise Sublime Text 3 pour mon code : Et vous, qu'utilisez-vous ?

Emacs qui existe depuis bien avant que tu ne soie né (je suppose, car créé en 1976).

En effet, je n'étais pas né :wink:.

Je regarderai éventuellement Emacs un jour mais je pense pouvoir faire les mêmes choses que vous avez dites avec ST3.

kojak :
Ma professeur de mathématique nous enseignent ce logiciel en AP obligatoire et le moins que je puisse dire, c'est que je ne le supporte pas pour l'écriture du code en français et pour ses bug incessant. Après ça peut être un très bon logiciel et dans ce cas je ne suis pas tombé sur une bonne version.

Pardonnez mon agressivité mais ça vient du coeur :lol:.

Simon.
SimonPaulL
Déca-utilisateur
 
Messages: 11
Inscription: Vendredi 06 Janvier 2017, 19:09
Statut actuel: Lycée | 2nde

Re: Comment améliorer mon code ?

Messagepar rebouxo » Dimanche 08 Janvier 2017, 16:34

Ben la 3D sert à faire de la 3D :D . Par exemple pour faire des figures de géométrie dans l'espace : construction de solides, plans, ... Il y a aussi des courbes en 3D.

Quand à sublime text, il n'est pas gratuit. Tu peux le tester gratuitement, mais ce n'est pas un logiciel gratuit, et je pense qu'il n'est pas libre non plus. Emacs, vim sont libres et gratuits, mais j'admets qu'ils sont clairement plus ardus.

Pour le calcul formel (et autres) : il y a GeoGebra, sagemath (interface python à plein de logiciel de math, un peu lourd).

Je ne suis pas sûr de conseiller pstricks pour les dessins, même si c'est l'un des plus utilisé. En fait, pstricks ne fait rien il délègue les calculs à ghostscipt. Tant qu'il n'y a pas d'erreur, c'est en général assez rapide. Mais les messages d'erreurs sont cryptiques parfois, pour le moins. Comme c'est l'une des plus anciennes extension géométriques, elle a encore beaucoup d'adepte, mais bon, voilà quoi. Moins enthousiaste qu'à une autres époques.

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

Re: Comment améliorer mon code ?

Messagepar kojak » Dimanche 08 Janvier 2017, 16:40

SimonPaulL a écrit:Ma professeur de mathématique nous enseignent ce logiciel en AP obligatoire et le moins que je puisse dire, c'est que je ne le supporte pas pour l'écriture du code en français

Tu entends quoi par code en français ?
SimonPaulL a écrit: et pour ses bug incessant.

Bug incessant, tu y vas un peu fort.. Après le problème dans les établissements scolaires, c'est la version de Xcas. Le mieux est d’installer la dernière sur ton ordi et de l'utiliser. Tu verras bien.

Pour ma part, je l’utilise sans pb avec mes étudiants à bac +2-3, et ça fonctionne très bien. Après je te l'accorde, certaines écritures de Xcas ne sont guère simples dans leur première expression, mais après un coup de normal ou simplifier, ça va nettement mieux. Pour info, si tu vois des bugs sur Xcas, il suffit de les signaler via le forum Xcas à son auteur, Bernard Parisse, qui est très réactif.
pas d'aide par MP
kojak
Modérateur
 
Messages: 10282
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Suivante

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google Adsense [Bot] et 23 invités