<pre $doc>
=======================================================

                 Documentation de latex2wims          
                           
=======================================================

Partir d'un fichier latex 'nom_fichier.tex' sans erreurs de compilation
- dcoup selon les subdivisions 
      (rappel : part/chapter/section/subsection/subsubsection)
- dans lequel ont t dfinis et utiliss des environnements latex, 
  les environnements de type theorem (package amsart)
  (par exemple thm, prop, defn), des macros, etc ... 
     (voir plus loin les commandes \environmentwims ou \defwims)
- dont l'en-tte est complt (voir plus bas) ; pour un premier essai, 
  il suffit de prendre le fichier wims.sty
  et mettre dans l'entte 

\input{wims.sty}
 
=======================================================        

======================   PREAMBULE   ==================

=======================================================              

Il est recommand de charger certains packages et de 
mettre dans le prambule latex par les lignes suivantes

%%%%%%% Packages %%%%%%%%%%%%%

\usepackage{hyperref}
\usepackage{url}
\usepackage{comment}
\excludecomment{wimsonly}
\includecomment{latexonly}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Les lignes suivantes sont obligatoires dans le prambule (afin que 
il n'y ait pas de messages d'erreurs pour les commandes d'option 
de wims lors de la compilation latex) et  recopier telles quelles:

\def\defwims{\def\wims@dummy}  
                     %permet l'inclusion de la commande \defwims
\def\environmentwims#1[#2][#3]#4#5#6{} 
                     %permet l'inclusion de la commande \environmentwims
\def\wimsentre#1{}   %permet l'inclusion de la commande \wimsentre  
\def\wimsinclude#1{} %permet l'inclusion de la commande \wimsinclude  
\def\wimsnavig#1#2{} %permet l'inclusion de la commande \wimsnavig  
\def\samestyle#1{}   %permet l'inclusion de la commande \samestyle
\def\typefold#1{}    %permet l'inclusion de la commande \typefold
\def\typelink#1{}    %permet l'inclusion de la commande \typelink
\def\wimsoption#1{}  %permet l'inclusion de la commande \wimsoption
\def\listwims#1{}  %permet l'inclusion de la commande \listwims
\def\tablewims#1{}  %permet l'inclusion de la commande \tablewims
% dans les deux lignes suivantes changer l'adresse 
% (permet un lien hyperref dans le fichier pdf)

\def\exercise#1#2{\href{http:/$wims_ref_name/#1&cmd=new}{WIMS : #2}}
\def\doc#1#2{\href{http://$wims_ref_name/#1&cmd=new}{WIMS : #2}}
\defwims\wimsnavig#1#2{\#1{#2}}
\defwims\wimsentre#1{\wimsentre#1}

======================================================
On peut alors inclure des fichiers
\wimsinclude{fichier.css,fichier.tex, fichier.sty,embed=DOSSIER} 
      %uniquement pour wims
Pour un fichier vu aussi par latex, utiliser
\input{toto.tex}

=======================================================

On peut configurer les options (voir le fichier modle 'wims.sty')

=======================================================

\wimsoption{depth=[numero]}  
     le nombre de niveaux de subdivisions qui apparaitront en "link"  
     partir du niveau suprieur que vous utilisez 
     [part,chapter,section,subsection,subsubsection]
     par defaut, depth=2 (si vous avez des sections/soussections/..
     les sections et sous-sections en "link", les sous-sous-sections
     en "fold" )

\wimsoption{index} 
     Produit un index en utilisant les macros \index{} ; 
     cela est aussi activ par la commande \makeindex 
     [un seul index possible]
     
\wimsoption{numerotation} 
     Met les numros des subdivisions, pour l'instant 
     roman-arabic-arabic...
     
\wimsoption{toc_up}
     Table de matires sous forme de "chemin" en haut
     
\wimsoption{toc_left}
     Table de matires  gauche de la partie suprieure
     
\wimsoption{toc_right}
     Table de matires  droite du pre du bloc actuel

\wimsoption{toc_down}
     Chemin du du bloc actuel en bas
     
\wimsinclude{fichier} 
     permet la lecture de fichiers auxiliaires ; 
     on peut aussi utiliser \include{fichier} 
     pour des fichiers devant tre lus par latex.
     
\samestyle{thm,prop,...} attribue le style css 'thm' aux environnements 
     qui suivent. Par dfaut, le style de 'environ' est 'environ'.
     Ces styles doivent tre dfinis dans le fichier style.css 
     Vous trouverez des exemples dans le fichier style.css
     
\typefold{proof,...,} 
     attribue le type fold aux environnements de la liste.
     
\typelink{thm,...} 
     attribue le type link aux environnements de la liste.

\listwims{..} liste d'environnements de type liste. 

=======================================================
Les champs des commandes suivantes doivent tre remplis.
=======================================================

\title{.....} ou \title[titre court]{titre}
     titre gnral du document.             
\email{.....} 
     email de l'auteur.     
\author{.....} 
     nom de l'auteur.
 
=======================================================     
Interprtation dans wims d'un environnement latex
=======================================================     

Le script utilise la dfinition fournie par environnementwims, 
sinon, par dfaut, il prend la dfinition latex
 
\environmentwims{nom}[1]{titre}{debut}{fin}    
 nom        : nom de l'environnement (dj dfini dans latex) 
 titre      : titre par dfaut de l'environnement.             
 debut      : avant le texte (balises html) 
 fin        : aprs le texte (balises html)

Exemples : 

\environmentwims{proof}[1]{Dmonstration}{}{}
     titre : Dmonstration
     debut : &lt;div class="proof"> (defaut)
     fin   : &lt;/div>            (defaut)

\environnementwims{proof}[1]{Dmonstration}{&lt;i>&lt;span style="color:blue">}{&lt;/span>&lt;/i>}
     titre : Dmonstration
     debut : &lt;i>&lt;span style="color:blue">
     fin   : &lt;/span>&lt;/i>

Le style css est par dfaut 'nom' et peut-tre renomm grce 
     \samestyle{}

=======================================================

Cas particulier des listes

=======================================================

Les environnements  'enumerate', 'itemize', 'trivlist' sont reconnus 
et sont mis dans le style html correspondant. (&lt;ol> &lt;ul> ou rien)

L'environnement description est reconnu, mais trait de manire 
spciale : les items sont mis en fold. Il est possible de dfinir un 
style css 'description' et deux styles 'span.description_item', 
'div.description_item' (pour le 'xxx' et pour l'intrieur'). 

Si d'autres environnements de liste sont utiliss, 
elles doivent tre dclares : 

\listwims{ma_liste,ta_liste}
\listwims{sa_liste}

Pour que les items de 'ma_liste' soient mis en fold 
(comme pour description), 
il suffit de dclarer l'environnement 'ma_liste_item' de type fold.

\typefold{ma_liste_item}

On peut dfinir les style css  de 'ma_liste' et de 'ma_liste_item'.
Il faut veiller   la prsence de crochets contenant du texte
 la suite de \item  : \item[texte] 

ul.ma_liste {} 
div.ma_liste_item {}
span.ma_liste_item {} 

Si l'on dsire mettre un style css  itemize ou enumerate, les traiter 
comme de nouvelles listes en les incluant dans \listwims{ } 

=======================================================

Interprtation dans wims d'une commande latex

=======================================================

Par dfaut, c'est la commande latex qui est utilise par le script, 
sinon c'est la commande wims. 

\defwims\commande#1#2{&lt;em>#1&lt;/em> (#2)}

Si un environnement mathmatique ou une commande latex ne "passe pas", 
vous pouvez aussi utiliser \environnementwims ou \defwims pour
la redfinir en latex utilisant les packages chargs par wims
ou en html (sur une seule ligne ou avec des %  la fin de la ligne).

\defwims\uline#1{&lt;u>#1&lt;/u>}
\defwims\card{\mathrm{Card}} 

Les commandes suivantes sont traites automatiquement dans latex2wims 
actuellement de manire plus ou moins heureuse: 

Il s'agit de 
 - quelques environnements latex :

   equation, multline, pmatrix, smallmatrix, array, eqnarray, eqnarray*, 
   align, cases, gather, displaymath, tabular,
   center, minipage, lstlisting, columns, column,
   includegraphics
   (la commande tabular est traduite sommairement.)

- quelques commandes standard rinterprtes : 

\label{mon_label}
     met une ancre html

\cite[mon_titre]{mon_label} : 
     fait un lien sur la citation. Le lien est fait par dfaut
     sur le mot 'mon_label', sinon sur 'mon_titre'

\ref{mon_label}
     fait un lien sur la citation. Le lien est fait par dfaut
     sur le mot 'mon_label'. Dans le cas toto~\ref{mon_label}, 
     le lien est fait sur 'toto'.
     
\href{url}{nom}
             fait un lien externe  wims 
             (&lt;a http:"url" target="wims_external">nom&lt;/a>)

\url{adresse}
     fait un lien externe  wims 
     (&lt;a http:"adresse" target="wims_external">adresse&lt;/a>)  
     %avec package url
             
\index{nom}  ou \index{nom!toto} 
             
\text{}
     la commande latex pour mettre du texte dans un 
     environnement mathmatique
     ( viter si possible)

- l'environnement 'algorithm' est trait sans numrotation des lignes.
           \usepackage[noend]{algorithmic}
 
=======================================================

==================  DANS LE CORPS DU TEXTE ============

=======================================================

\begin{latexonly} ... \end{latexonly}
     ce qui est  l'intrieur est compltement 
     nglig dans wims.
     
\begin{wimsonly} ... \end{wimsonly}
     trait par wims (et pas par latex) avec formatage 
     et remplacement des environnements mathmatiques, 
     comme dans le texte en dehors.
     
\begin{wims} ... \end{wims}
     doit tre  l'intrieur de l'environnement 'wimsonly' ; 
     trait par wims sans aucun formatage ni remplacement ;
     y mettre toutes les commandes wims \def{ ...} 
     permettant de faire des programmes. 
     
\wimsentre{partie}  
     avec partie une subdivision latex.
     permet de terminer la partie avant de commencer la suivante
     en mettant du texte entre deux subdivisions de mme niveau
     (il apparatra dans les sommaires entre deux titres 
     de subdivision). Cela vite les pages de plans trop sches.
     
\exercise{module=...}{titre} 
     mme syntaxe que la commande wims. 
     \exercise{module=U1/...}{titre} est remplac par 
     \exercise{cmd=new&module=U1/...}{titre}
      En rajoutant les lignes suivantes
     au dbut du document latex (avec tout autre adresse de wims  :
 \def\exercise#1#2{\href{http://wims.auto.u-psud.fr/wims/wims.cgi?#1&cmd=new}{WIMS : #2}}
 \def\doc#1#2{\href{http://wims.auto.u-psud.fr/wims/wims.cgi?#1&cmd=new}{WIMS : #2}}
     le lien est interprt dans le pdf.
           
          
=======================================================
Les commandes suivantes remplacent les arguments de navigation
donns par dfaut selon le dcoupage en subdivisions 
======================================================= 

Navigation par dfaut :     
  - le titre d'une subdivision est son titre : dans le cas 
       \section[titre_court]{titre}, le titre court est utilis pour
       la table des matires
  - le suivant d'une subdivision est la subdivision suivante,
  - le suivant d'une sous-subdivision est la sous-subdivision 
    suivante ... 
  - le suivant d'une dernire sous-subdivision est la subdivision 
    suivante.

\wimsnavig{titb}{mon_titre} 
     attribue au bloc dans lequel est la commande le titre 'mon_titre'.

\wimsnavig{next}{bloc} 
     le bloc contenant cette commande aura comme suivant le bloc
     dans lequel se trouve la commande \label{mon_label}.

\wimsnavig{prev}{mon_label} 
     le bloc contenant cette commande aura comme prcdent le bloc
     dans lequel se trouve la commande \label{mon_label}.
     
\wimsnavig{upbl}{bloc} 
     le bloc contenant cette commande aura comme sup le bloc
     dans lequel se trouve la commande \label{mon_label}.
                  
\wimsnavig{datm}{date} 
     attribue au bloc dans lequel sera la commande 
     la date de modification donne.
     
\wimsnavig{keyw}{mots-cles} attribue au bloc les mots-cls donns
  
=======================================================

              Description du fichier auxiliaire 'style.css' : 

=======================================================
On peut redfinir les styles suivants (dfinis pour certains dans
le fichier l2w.css de la distribution).

div.left_toc : 
     style des tables de matires de gauche

div.left_selection : 
     style de la rubrique de la table des matires 
     de gauche de la page courante
     
div.right_selection : 
     style de la rubrique de la table des matires 
     de droite de la page courante
     
div.right_toc : 
     style des tables de matires de gauche
     
div.wims_chemin : 
     style du chemin qui apparait en haut
     
h2.environ : 
     style du titre de l'environnement 'environ'
     (voir \samestyle{} pour indiquer qu'un environnement 
      a le style d'un autre)
     
div.environ : 
     style de l'intrieur d'un environnement 'environ' 
     pour tout environnement dfini par newtheorem
     
span.subsection : 
     style du titre si le type de la sous-section est 'fold

span.environ : 
     style du titre de l'environnement 'environ'
     
.math : 
     style pour les formules mathmatiques centres
     
h2.thebibliography, div.thebibliography ul.thebibliography
     style du titre et contenu de la bibliographie
     
.index : div, ul
     style de l'index
     
div.algorithmic : 
     style des algorithmes crs avec le package 'algorithmic'

======================================

===================
TODO : 
- des environnements d'images ( amliorer) : pour l'instant supprime
pspicture : met un message d'avertissement
picture

   On prvoit de convertir les images eps avec convert en 
   images .jpg
=============================================
 
</pre>

