<TeXmacs|1.0.7.19>

<style|<tuple|beamer|slides|maxima|tmdoc-keyboard|mathemagix>>

<\body>
  <screens|<\shown>
    \;

    \;

    \;

    \;

    <doc-data|<doc-title|GNU <TeXmacs>, une plateforme libre<next-line>pour
    l'édition scientifique>|<\doc-note>
      <with-TeXmacs-text>
    </doc-note>|<doc-author|<author-data|<author-name|François
    Poulain>|<author-email|fpoulain@lix.polytechnique.fr>|<\author-affiliation>
      Laboratoire LIX,

      École Polytechnique

      Équipe MAX
    </author-affiliation>>>>
  </shown>|<\hidden>
    <tit|Quelques repères...>

    \;

    <\itemize>
      <item>Projet initié par <name|Joris van der Hoeven>.

      <item>Licence GNU GPLv3.

      <item>Multiplateforme.

      <item>Essentiellement développé au sein de l'équipe MAX du LIX.

      <item>Une dizaine de développeurs/contributeurs réguliers.

      <item>347 000 lignes de code (<verbatim|Scheme> et <verbatim|C++>).

      <item>Popcon Debian : 850 utilisateurs réguliers.

      <item>Version courante : <TeXmacs> 1.0.7.19.

      <item>Site web : <verbatim|<hlink|www.texmacs.org|http://www.texmacs.org>>

      <item>Liste de diffusion des utilisateurs :
      <verbatim|texmacs-users@texmacs.org>.
    </itemize>
  </hidden>|<\hidden>
    <tit|Exemple d'utilisation>

    <\with|language|english>
      Anyone caught using formulas such as
      <math|<sqrt|x+y>=<sqrt|x>+<sqrt|y>> or
      <math|<frac|1|x+y>=<frac|1|x>+<frac|1|y>> will fail.

      The binomial theorem is

      <\equation*>
        <around|(|x+y|)><rsup|n>=<big|sum><rsub|k=0><rsup|n><binom|n|k>x<rsup|k>*y<rsup|n-k>.
      </equation*>

      A favorite sum of most mathematicians is

      <\equation*>
        <big|sum><rsub|n=1><rsup|\<infty\>><frac|1|n<rsup|2>>=<frac|\<pi\><rsup|2>|6>.
      </equation*>

      Likewise a popular integral is

      <\equation*>
        <big|int><rsub|-\<infty\>><rsup|\<infty\>>e<rsup|-x<rsup|2>>*<space|0.17em>d*x=<sqrt|\<pi\>>
      </equation*>

      <\theorem>
        The square of any real number is non-negative.
      </theorem>

      <\proof>
        Any real number <math|x> satisfies <math|x\<gtr\>0>, <math|x=0>, or
        <math|x\<less\>0>. If <math|x=0>, then <math|x<rsup|2>=0\<ge\>0>. If
        <math|x\<gtr\>0> then as a positive time a positive is positive we
        have <math|x<rsup|2>=x*x\<gtr\>0>. If <math|x\<less\>0> then
        <math|-x\<gtr\>0> and so by what we have just done
        <math|x<rsup|2>=(-x)<rsup|2>\<gtr\>0>. So in all cases
        <math|x<rsup|2>\<ge\>0>.
      </proof>
    </with>
  </hidden>|<\hidden>
    <tit|Un traitement de texte structuré>

    <subsubsection|Inspiré de <LaTeX> :>

    <\itemize>
      <item>On décrit un document plutôt qu'on ne le dessine (séparation
      fond/forme).

      <item>Le rendu de l'information est contextualisé.

      <item>Utilisation de feuilles de styles.
    </itemize>

    <subsubsection|Mais :>

    <\itemize-dot>
      <item>WYSIWYG ! (i.e. pas de compilateur ésotérique).

      <item>Non limité à l'Ascii (i.e. vous avez le droit aux accents, aux
      images, etc.).

      <item>Meilleure ergonomie ({parcours, sélection, édition} structurés).

      <item>Menus et barres d'outils contextualisées.

      <item>Possibilités de contenus interactifs.
    </itemize-dot>

    Et aussi, l'essentiel de ce qu'on peut demander à un logiciel de
    composition de documents (correction orthographique, support pour les
    tables et figures, mode de présentation, gestion de révision, etc.).
  </hidden>|<\hidden>
    <tit|Typographie mathématique>

    <subsubsection|Saisie de formules :>

    <\itemize>
      <item>Via les menus : <em|e.g.> insère <math|\<rightarrow\>> fraction.

      <item>Via des raccourcis <LaTeX> : <em|e.g.> <key|\\ f r a c return>.

      <item>Via des raccourcis propres : <em|e.g.> <key|Alt+F>.
    </itemize>

    <subsubsection|Saisie de formules efficaces (en mode math $) :>

    <\itemize>
      <item>Par mimétisme graphique : <em|e.g.> <key|= \<gtr\>> insère
      <math|\<Rightarrow\>> ; <key|~ -> insère <math|\<simeq\>>.

      <item>Via des variantes : <em|e.g.> <key|= \<gtr\> tab> insère
      <math|\<Downarrow\>> ; <key|a tab> insère <math|\<alpha\>>.

      <item>Via des variantes de structure : <em|e.g.> passer de
      <math|<matrix|<tformat|<table|<row|<cell|a>|<cell|b>>|<row|<cell|0>|<cell|c>>>>>>
      à <math|<det|<tformat|<table|<row|<cell|a>|<cell|b>>|<row|<cell|0>|<cell|c>>>>>>.

      <item>Comparaison avec <LaTeX> :

      <tabular*|<tformat|<twith|table-width|1par>|<twith|table-hmode|exact>|<cwith|1|-1|1|-1|cell-lborder|0.2pt>|<cwith|1|-1|1|-1|cell-rborder|0.2pt>|<cwith|1|-1|1|-1|cell-bborder|0.2pt>|<cwith|1|-1|1|-1|cell-tborder|0.2pt>|<cwith|1|1|1|1|cell-tborder|0pt>|<cwith|1|1|1|1|cell-bborder|0pt>|<cwith|1|1|1|1|cell-lborder|0pt>|<table|<row|<cell|>|<cell|<with|font-series|bold|<LaTeX>>>|<cell|<with|font-series|bold|<TeXmacs>>>>|<row|<cell|<math|<big|sum>\<alpha\><rsup|i>>>|<cell|<verbatim|p(x)
      = \\sum \\alpha^i>>|<cell|<key|S-F5 S a Tab ^
      i>>>|<row|<cell|<math|a\<neq\>0\<Rightarrow\>a=1>>|<cell|<with|font-base-size|8|<verbatim|a
      \\neq 0 \\Leftrightarrow a = 1>>>|<cell|<key|a = / 0 \<less\> = \<gtr\>
      a = 1>>>>>>
    </itemize>

    <subsubsection|Édition sémantique :>

    <\equation*>
      O<around*|(||.>O<around*|(|d<rsup|\<omega\>>+\<ldots\>+log<rsub|2> q|)>
    </equation*>
  </hidden>|<\hidden>
    <tit|Extensibilité>

    <subsubsection|Programmation en <TeXmacs> :>

    <\itemize>
      <item>Assignation de variable : <assign|speed|<math|<wide|V<rsub|aero>|\<vect\>>>><inactive*|<assign|speed|<active*|<math|<wide|V<rsub|aero>|\<vect\>>>>>.>

      <item>Déclaration de macro : <assign|pderiv|<macro|what|by|<frac|\<partial\><arg|what>|\<partial\><arg|by>>>><inactive*|<assign|pderiv|<macro|what|by|<active*|<math|<frac|\<partial\><arg|what>|\<partial\><arg|by>>>>>>>

      <center|<math|<inactive*|<pderiv|<speed>|t>>><space|1em><math|\<Rightarrow\>><space|1em><math|<pderiv|<speed>|t>>>

      <item>Assignation locale : <inactive*|<with|color|red| Attention
      !!!>><space|1em><math|\<Rightarrow\>
      ><space|1em><with|color|red|Attention !!!>
    </itemize>

    <subsubsection|Programmation de <TeXmacs> :>

    <\itemize>
      <item><TeXmacs> est dynamiquement programmable en <verbatim|Scheme>.

      <\session|scheme|default>
        <\folded-io|Scheme] >
          (kbd-map ("t h m" (make 'theorem)))))
        <|folded-io>
          ("t h m")
        </folded-io>
      </session>

      <item>Tout tampon <TeXmacs> est accessible et modifiable depuis
      l'interface <verbatim|Scheme>.

      <\session|scheme|default>
        <\folded-io|Scheme] >
          (select (buffer-tree) '(:* shown :* tit))
        <|folded-io>
          (\<less\>tree \<less\>tit\|Extensibilité\<gtr\>\<gtr\>)
        </folded-io>

        <\folded-io|Scheme] >
          (with title (car (select (buffer-tree) '(:* shown :* tit)))

          \ \ (tree-set! title '(tit "Extensibilité de TeXmacs")))
        <|folded-io>
          <text|<tit|Extensibilité de TeXmacs>>
        </folded-io>
      </session>
    </itemize>

    \;
  </hidden>|<\hidden>
    <tit|Interfaces pour le calcul formel>

    <\session|mathemagix|default>
      <\output>
        <tformat|<cwith|1|5|1|1|cell-halign|c>|<table|<row|<with|color|blue|<with|font-base-size|14|Welcome
        to Mathemagix-light 0.4>>>|<row|<with|color|blue|This software falls
        under the GNU General Public License>>|<row|<with|color|orange|It
        comes without any warranty whatsoever>>|<row|www.mathemagix.org>|<row|(c)
        2001-2010>>>
      </output>

      <\input>
        <mmx-prompt|1>
      <|input>
        use "symbolix"
      </input>

      <\unfolded-io-math>
        <mmx-prompt|2>
      <|unfolded-io-math>
        derive<around*|(|p<around*|(|x|)><rsup|x>,x|)>
      <|unfolded-io-math>
        <math|<around*|(|<frac|p<lprime|'><around*|(|x|)>*x|p<around*|(|x|)>>+log<around*|(|p<around*|(|x|)>|)>|)>*p<around*|(|x|)><rsup|x>>
      </unfolded-io-math>

      <\unfolded-io-math>
        <mmx-prompt|3>
      <|unfolded-io-math>
        <det|<tformat|<table|<row|<cell|a>|<cell|b>>|<row|<cell|c>|<cell|d>>>>>
      <|unfolded-io-math>
        <math|a*d-b*c>
      </unfolded-io-math>

      <\unfolded-io-math>
        <mmx-prompt|4>
      <|unfolded-io-math>
        <matrix|<tformat|<table|<row|<cell|a>|<cell|0>>|<row|<cell|b>|<cell|c>>>>>*<matrix|<tformat|<table|<row|<cell|d>>|<row|<cell|e>>>>>
      <|unfolded-io-math>
        <math|<around*|[|<tabular*|<table|<row|a*d>|<row|b*d+c*e>>>|]>>
      </unfolded-io-math>

      <\input-math>
        <mmx-prompt|5>
      <|input-math>
        \;
      </input-math>
    </session>
  </hidden>|<\hidden>
    <tit|Interfaces avancées pour le calcul formel>

    <\itemize>
      <item>Commutateur :

      <script-input|mathemagix|default|derive(p(x)^x,
      x)|<math|<around*|(|<frac|p<lprime|'><around*|(|x|)>*x|p<around*|(|x|)>>+log<around*|(|p<around*|(|x|)>|)>|)>*p<around*|(|x|)><rsup|x>>>

      <item>Substitution :

      La dérivée de <math|p<around*|(|x|)><rsup|x>> par rapport a <math|x>
      est : <math|<around*|(|<frac|p<lprime|'><around*|(|x|)>*x|p<around*|(|x|)>>+log<around*|(|p<around*|(|x|)>|)>|)>*p<around*|(|x|)><rsup|x>>.

      <item>Évaluation en temps réel :

      La dérivée de <calc-inert|func|<math|f<around*|(|x|)><rsup|x>>> par
      rapport a <calc-inert|var|<math|x>> est :
      <calc-input|field5|<math|derive(<calc-ref|func>,
      <calc-ref|var>)>|<math|<around*|(|<frac|f<lprime|'><around*|(|x|)>*x|f<around*|(|x|)>>+log<around*|(|f<around*|(|x|)>|)>|)>*f<around*|(|x|)><rsup|x>>>.

      <item>Tableur :

      <calc-table|+XRGcnMlEuTZVJL|><math|<calc-table|+XRGcnMlEuTZVJL|<numeric-dot-table|<tformat|<table|<row|<cell|<cell-inert|a1|a*x>>|<cell|<cell-output|b1|=derive<around*|(|a1,x|)>|<math|a>>>>|<row|<cell|<cell-inert|a2|x<rsup|a>>>|<cell|<cell-output|b2|=derive<around*|(|a2,x|)>|<math|x<rsup|a-1>*a>>>>|<row|<cell|<cell-inert|a3|u<around*|(|x|)>*v<around*|(|x|)>>>|<cell|<cell-output|b3|=derive<around*|(|a3,x|)>|<math|u<lprime|'><around*|(|x|)>*v<around*|(|x|)>+v<lprime|'><around*|(|x|)>*u<around*|(|x|)>>>>>>>>>>
    </itemize>
  </hidden>|<\hidden>
    <tit|Interopérabilité>

    <subsubsection|Imports possibles :>

    <\itemize>
      <item>HTML / MathML (demo).

      <item><LaTeX> (demo).

      <item>Bib<TeX>.
    </itemize>

    <subsubsection|Exports possibles :>

    <\itemize>
      <item>Format papier (ps, pdf).

      <item>Web (HTML/MathML).

      <item><LaTeX> (demo).

      <item>Bib<TeX>.

      <item>Arbre XML (sans DTD).

      <item>Texte brut.
    </itemize>
  </hidden>>
</body>

<\initial>
  <\collection>
    <associate|info-flag|detailed>
    <associate|language|french>
    <associate|page-bot|5px>
    <associate|page-even|5px>
    <associate|page-height|700px>
    <associate|page-medium|papyrus>
    <associate|page-odd|5px>
    <associate|page-orientation|landscape>
    <associate|page-screen-margin|true>
    <associate|page-top|5px>
    <associate|page-type|user>
    <associate|page-width|1024px>
    <associate|preamble|false>
    <associate|prog-scripts|mathemagix>
  </collection>
</initial>

<\references>
  <\collection>
    <associate|auto-1|<tuple|1|1>>
    <associate|auto-10|<tuple|1|?>>
    <associate|auto-11|<tuple|2|?>>
    <associate|auto-12|<tuple|9|?>>
    <associate|auto-2|<tuple|2|1>>
    <associate|auto-3|<tuple|3|1>>
    <associate|auto-4|<tuple|4|2>>
    <associate|auto-5|<tuple|5|?>>
    <associate|auto-6|<tuple|6|1>>
    <associate|auto-7|<tuple|7|1>>
    <associate|auto-8|<tuple|8|?>>
    <associate|auto-9|<tuple|9|?>>
    <associate|func|<tuple|<with|mode|<quote|math>|\<bullet\>>|1>>
  </collection>
</references>

<\auxiliary>
  <\collection>
    <\associate|toc>
      <with|par-left|<quote|3fn>|Inspiré de
      L<rsup|<space|-0.8spc><move|A|0fn|-0.1fn>><space|-0.2spc>T<rsub|<space|-0.4spc><move|<resize|<with|math-level|<quote|0>|E>||||0.5fn>|0fn|-0.1fn>><space|-0.4spc>X
      : <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-1>>

      <with|par-left|<quote|3fn>|Mais : <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-2>>

      <with|par-left|<quote|3fn>|Saisie de formules :
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-3>>

      <with|par-left|<quote|3fn>|Saisie de formules efficaces (en mode math
      $) : <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-4>>

      <with|par-left|<quote|3fn>|Édition sémantique :
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-5>>

      <with|par-left|<quote|3fn>|Programmation en
      T<rsub|<space|-0.4spc><move|<resize|<with|math-level|<quote|0>|E>||||0.5fn>|0fn|-0.1fn>><space|-0.4spc>X<rsub|<space|-0.4spc><move|<resize|M<space|-0.2spc>A<space|-0.4spc>CS||||0.5fn>|0fn|-0.1fn>>
      : <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-6>>

      <with|par-left|<quote|3fn>|Programmation de
      T<rsub|<space|-0.4spc><move|<resize|<with|math-level|<quote|0>|E>||||0.5fn>|0fn|-0.1fn>><space|-0.4spc>X<rsub|<space|-0.4spc><move|<resize|M<space|-0.2spc>A<space|-0.4spc>CS||||0.5fn>|0fn|-0.1fn>>
      : <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-7>>

      <with|par-left|<quote|3fn>|Imports possibles :
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-8>>

      <with|par-left|<quote|3fn>|Exports possibles :
      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
      <no-break><pageref|auto-9>>
    </associate>
  </collection>
</auxiliary>