.. _d8.00.01-conversion: Reprise de la conversion automatique ==================================== On liste dans cette section les erreurs connues de conversion et on indique la méthode à suivre pour les corriger. Les documents odt étaient moins *WYSIWYG* qu'il n'y paraissait et plus *What You See Is A Very Small Part Of What You Get*! En effet, après des années de modifications successives, de nombreux blocs de texte ont superposé des mises en forme successives. Par exemple, le changement de police sur un même mot fait en deux temps (ce qui occasionnait déjà en odt des mots coupés). La conversion automatique a donc "nettoyé" ce type de mise en forme avec parfois quelques imperfections. Les zones de texte en police *Courier New* représentaient de la syntaxe. Le texte n'étant pas typé, les lignes/paragraphes n'étant pas liés entre eux, la conversion a souvent découpé ces paragraphes en plusieurs blocs... Accessibilité ------------- Problème en cours d'analyse : Lorsque la page n'est pas assez large, certains documents (de Validation ou salome_meca) ne sont plus accessibles par les menus. Au delà d'une certaine limite (sur mobile par exemple), les menus disparaissent. Solution: Accéder à la liste des documents par manuel depuis la page d'accueil. Correction des blocs de syntaxe ------------------------------- Remarque Le paragraphe des documents u4/u7 est maintenant généré automatiquement. Voir :ref:`d8.00.01-generation-auto`. Exemple : .. code-block:: text source/manuals/man_d/d9/d9.02.02/Les_impressions.rst:129: ERROR: Undefined substitution referenced: "G". Dans le document, on peut voir que la ligne 129 correspond à : .. code-block:: text * le nom de l'objet (éventuellement complété par le numéro d'objet de collection). |G| 0| 1| -2| 69888784|U| 11| D| ________GLOBALE ________$$CARA En RST, ``|G|`` correspond à la substitution de ``G``. Ici, il suffit de déclarer qu'il s'agit d'un bloc de texte brut : .. code-block:: rst * le nom de l'objet (éventuellement complété par le numéro d'objet de collection). .. code-block:: text |G| 0| 1| -2| 69888784|U| 11| D| ________GLOBALE ________$$CARA Remarques ``.. code-block:: python``: Avoir un bloc complet extrait d'un fichier de commandes est rarement une très bonne idée (difficile de le garder à jour). Mais dans ce cas, on peut utiliser la coloration Python pour le rendu du bloc. ``.. code-block:: text``: Pour du texte brut, le préciser ainsi. Correction des tableaux ----------------------- Le format des tableaux choisi par la conversion automatique est le plus souple mais trop compliqué à maintenir ! Exemple : .. code-block:: text Cas particulier des critères d'égalité (ou de non égalité) pour des nombres "flottants" : +---------+------------------------------------------------------------------------------------+ | ‘EGAL’ | égalité “exacte” des 2 nombres flottants | +---------+------------------------------------------------------------------------------------+ | ‘ABSO’ | égalité des 2 nombres flottants à un epsilon près (eps) en comparaison absolue : | | | vrai si |x1-x2| < eps | +---------+------------------------------------------------------------------------------------+ | ‘RELA’ | égalité des 2 nombres flottants à un epsilon près (eps) en comparaison relative : | | | vrai si |x1-x2| < eps * |x1| | +---------+------------------------------------------------------------------------------------+ Ici, il y aurait deux erreurs : - le mauvais alignement des caractères ``|`` en fin de ligne du tableau, - et la mauvaise substitution (paragraphe précédent mais dans un autre contexte). .. code-block:: text source/manuals/man_d/d8/d8.00.01/conversion.rst:79: ERROR: Malformed table. source/manuals/man_d/d8/d8.00.01/conversion.rst:85: ERROR: Undefined substitution referenced: "x1-x2". Il est préférable d'utiliser un format plus simple (csv): .. code-block:: rst .. csv-table:: ‘EGAL’, égalité “exacte” des 2 nombres flottants ‘ABSO’, égalité des 2 nombres flottants à un epsilon près (eps) en comparaison absolue : vrai si :math:`|x1-x2| < eps` ‘RELA’, égalité des 2 nombres flottants à un epsilon près (eps) en comparaison relative : vrai si :math:`|x1-x2| < eps * |x1|` Ce qui donne : .. csv-table:: ‘EGAL’, égalité “exacte” des 2 nombres flottants ‘ABSO’, égalité des 2 nombres flottants à un epsilon près (eps) en comparaison absolue : vrai si :math:`|x1-x2| < eps` ‘RELA’, égalité des 2 nombres flottants à un epsilon près (eps) en comparaison relative : vrai si :math:`|x1-x2| < eps * |x1|` Remarque Est-ce que le tableau est vraiment la forme idéale pour fournir l'information ? Est-ce qu'une liste n'est pas tout aussi lisible ? Cas particulier des critères d'égalité (ou de non égalité) pour des nombres "flottants" : - ‘EGAL’ : égalité “exacte” des 2 nombres flottants - ‘ABSO’ : égalité des 2 nombres flottants à un epsilon près (eps) en comparaison absolue : vrai si :math:`|x1-x2| < eps` - ‘RELA’ : égalité des 2 nombres flottants à un epsilon près (eps) en comparaison relative : vrai si :math:`|x1-x2| < eps * |x1|` avec : .. code-block:: rst - ‘EGAL’ : égalité “exacte” des 2 nombres flottants - ‘ABSO’ : égalité des 2 nombres flottants à un epsilon près (eps) en comparaison absolue : vrai si :math:`|x1-x2| < eps` - ‘RELA’ : égalité des 2 nombres flottants à un epsilon près (eps) en comparaison relative : vrai si :math:`|x1-x2| < eps * |x1|`