Page de garde pour la documentation (essai)
[mp-gdd.git] / doc / mp-gdd-doc.tex
index f71d136..0a2515f 100644 (file)
@@ -1,14 +1,18 @@
-\documentclass{article}
+\documentclass[a4paper]{article}
 \usepackage[utf8]{inputenc}
 \usepackage[charter]{mathdesign}
 \usepackage[margin=2.5cm]{geometry}
 \usepackage{xspace}
-\usepackage{xcolor}
+\usepackage[svgnames]{xcolor}
 \usepackage{multicol}
 \usepackage{listings}
 \usepackage{showexpl} % examples
 \usepackage{mflogo}
 \usepackage[frenchb]{babel}
+\usepackage{tikz}
+\usepackage{url}
+
+\renewcommand{\ttdefault}{lmtt}
 
 
 \definecolor{hellgelb}{rgb}{1,1,0.85}
@@ -22,9 +26,9 @@
   language=metapost,%
   float=hbp,%
   basicstyle=\ttfamily\small, %
-  identifierstyle=\color{colIdentifier}, %
-  keywordstyle=\color{colKeys}, %
-  stringstyle=\color{colString}, %
+  identifierstyle=\color{DarkSlateGrey}, %
+  keywordstyle=\color{DarkBlue}\itshape, %
+  stringstyle=\color{Green}, %
   commentstyle=\color{colComments}, %
   columns=flexible, %
   tabsize=4, %
   breaklines=true, %
   breakautoindent=true,
   captionpos=b,
-  xleftmargin=1em
+  xleftmargin=1em,
+  sensitive=true,
+  morekeywords=[7]{Point,Vecteur},
+  keywordstyle=[7]\color{FireBrick},
+  morekeywords=[8]{gddO,gddA,gddB,gddC,gddT},
+  keywordstyle=[8]\color{Sienna},
+  morekeywords=[9]{PointImp},
+  keywordstyle=[9]\color{Olive}
 }
 \lstset{explpreset={pos=t,wide=false,rframe={},preset=\centering}}
 \lstdefinestyle{syntax}{backgroundcolor=\color{blue!15},numbers=none,xleftmargin=0pt,xrightmargin=0pt,
 \newcommand\foncGDD[1]{\texttt{#1}}
 
 \begin{document}
+%% === Page de garde ===================================================
+\thispagestyle{empty}
+\begin{tikzpicture}[remember picture, overlay]
+ \node[below right, shift={(-4pt,4pt)}] at (current page.north west) {%
+   \includegraphics{fond.pdf}%
+ };
+\end{tikzpicture}%
+
+\noindent
+\includegraphics{mp-gdd}\\
+{\large Paquet \MP{} pour des figures de géométrie plane}\\[1cm]
+\parbox{0.6\textwidth}{
+\includegraphics[scale=0.86]{figure.pdf}
+}\hfill
+\parbox{0.4\textwidth}{\Large\raggedleft
+   \textbf{Contributeurs}\\
+   Maxime \textsc{Chupin}\\
+   Jean-Michel \textsc{Sarlat}
+}
+\vfill
+\begin{center}
+Version 0.1 du 25 septembre 2011\\
+\url{http://melusine.eu.org/syracuse/G/mp-gdd/}
+\end{center}
+%% == Page de garde ====================================================
+\newpage
 
 \section{Introduction}
 
@@ -88,15 +125,41 @@ fonctions. Il est à noté aussi que certaines fonctions s'appuient sur
 l'extension \fichier{graph.mp} présent dans toutes les bonnes
 distributions \TeX.
 
+\section{Objectif}
+
+\mpgdd a été écrit avec le but de proposer des macros \MP{} permettant
+de réaliser une figure de géométrie \emph{en collant} d'assez près
+à une description impérative:
+\begin{quote}\itshape
+Soit \(A\) le point de coordonnées (2,3).\\
+Soit \(B\) le point de coordonnées (4,5).\\
+Trace la droite \((A,B)\).\\
+....
+\end{quote}
+Dans ce cadre, les objets géométriques sont le plus souvent nommés
+(\(A\), \(B\), etc.) ou désignés par leur nature et leurs attributs
+(droite \((A,B)\), etc.). Pour ne pas avoir à dépasser ce mode de
+description, en particulier pour éviter d'avoir à déclarer le
+\emph{type} de ces objets, le choix a été fait de les identifier par
+un \emph{index}\footnote{Le type \typeMP{numeric}, qui est le type par
+défaut dans \MP, ne demande pas de déclaration préalable.} dans des
+tables qui en précisent les caractéristiques.
+
+\textbf{Note} -- À ce jour, l'objectif n'est pas atteint, le
+développement est loin d'être achevé; il est encore nécessaire de
+faire appel à des commandes \MP{} ou à des \emph{macros
+intermédiaires} pour décrire une figure. Cela évoluera sans doute
+avec le temps, le temps de trouver une syntaxe satisfaisante...
+
 \section{Principe général de fonctionnement}
 
-\mpgdd utilise des tables comme structure principale.
-Chaque objet est numéroté via le compteur \variable{gddO}, son
-type\footnote{Les types sont propres à \mpgdd et seront décrit plus
-  tard.} est stocké dans la table \variable{gddT[]} à la place
-\variable{gddT[gddO]}. Les propriétés des objets sont définies dans, là
-encore, des tables de type \typeMP{numeric} qui sont
-\variable{gddA[]}, \variable{gddB[]},\dots,\variable{gddF[]}.
+\mpgdd utilise des tables comme structure principale. Chaque objet est
+numéroté via le compteur \variable{gddO}, son type\footnote{Les types
+sont propres à \mpgdd et seront décrits plus tard.} est stocké dans
+la table \variable{gddT[]} à la place \variable{gddT[gddO]}. Les
+propriétés des objets sont définies dans, là encore, des tables de
+type \typeMP{numeric} qui sont \variable{gddA[]}, \variable{gddB[]},
+\dots, \variable{gddF[]}.
 
 Par exemple, pour un \typeGDD{Point} (type \mpgdd), la première coordonnée
 se trouve dans \variable{gddA[]} et la seconde dans \variable{gddB[]}
@@ -122,7 +185,7 @@ stocké dans la table \variable{gddT[]}, et les tables \variable{gddA[]}
 Nous allons ici décrire chaque type de l'extension \mpgdd ainsi que
 leurs propriétés respectives.
 
-\paragraph{Le type \typeGDD{point}} Ce type correspond au point de
+\paragraph{Le type \typeGDD{Point}} Ce type correspond au point de
 l'espace euclidien. Pour être plus clair voici la fonction principale
 pour créer un tel objet :
 %
@@ -142,12 +205,12 @@ Avec un tel type de fonctionnement, la plupart des manipulations se
 fait sur des \typeMP{numeric}s. En effet, pour déclarer un
 \typeGDD{point}, il suffit d'écrire
 \begin{lstlisting}
-A = point(2,3);
+A = Point(2,3);
 \end{lstlisting}
 \variable{A} prend alors la valeur courante de \variable{gddO}. C'est
-l'identifiant de du point.
+l'identifiant du point.
 
-\paragraph{Le type \typeGDD{vecteur}} Ce type correspond aux vecteurs
+\paragraph{Le type \typeGDD{Vecteur}} Ce type correspond aux vecteurs
 définis à l'aide de deux points de l'espace euclidien. La fonction
 créatrice d'un tel objet est celle-ci
 %

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.