Pierre Boulet
Communication Efficace pour les Scientifiques
Pierre.Boulet@lifl.fr http://www.lifl.fr/~boulet
Typographie scientifique Résumé. Nous donnons ici quelques conseils pour composer certains éléments courants dans les textes scientifiques : les mathématiques, les tableaux, les algorithmes et les bibliographies. Le but est toujours de produire des documents efficaces pour faire passer le message, donc les plus faciles et agréables à lire possible.
L
composition de documents scientifiques (en sciences pour l’ingénieur en particulier) fait appel à certaines spécificités dont la principale est la manipulation de valeurs numériques et la présence de formules mathématiques. Les autres éléments qui peuvent se rencontrer souvent sont les tableaux (la plupart du temps de nombres), les descriptions d’algorithmes et les références bibliographiques. Passons successivement en revue ces différents éléments.
1. Rédaction des mathématiques Les mathématiques ont la particularité d’utiliser √ ∑ de nombreux symboles (≤, +, 3 , , ∈, etc.) et de nombreux alphabets (européen, grec, hébreux, calligraphique, lettres ajourées). Composer des formules mathématiques demande donc un support spécifique dans le logiciel, à la fois en termes de polices de caractères et de placement de ces caractères pour respecter les habitudes de notation. Ces notations sont issues d’une longue histoire [16,17,23] et ne sont pas toujours stabilisées (différentes spécialités peuvent adopter des notations différentes pour les mêmes notions). On notera cependant l’existence des normes ISO 31 [13, 21] et IEC 60027 [12] qui définissent des standards de notation à utiliser dans les sciences pour l’ingénieur. Un domaine particulier qui est très codifié est l’utilisation des unités. On trouvera dans [3, 20] une description complète du système international et de son utilisation. Il faut en particulier retenir qu’il faut une espace insécable entre la grandeur numérique et son unité. Concernant le style de rédaction des mathématiques, on pourra se rapporter à [9, 10, 14, 24] et aux documents joints à ce cours : [19] et les trois premières sections de [15].
Concernant les outils, LATEX est sans conteste le standard pour la composition de textes à forte composante mathématique. Les références [1,7,10] et les documentations des paquetages amsmath et mh (disponibles sur CTAN [5]) donnent des indications sur la rédaction des mathématiques en LATEX.
2. Tableaux Après les formules mathématiques, les tableaux, généralement de nombres, sont une des formes typographiques les plus compliquées. Ils consistent en un
arrangement de données en lignes et en colonnes et utilisent souvent plusieurs variations de fontes voire des filets ou des fonds de couleur pour préciser leur signification. La référence sur le sujet de la composition de tableaux est le chapitre 15 de [8]. On trouvera des discussions sur l’organisation du contenu des tableaux dans [2, 6, 24]. On organisera les données de façon à permettre au lecteur de comprendre rapidement le message du tableau. La plupart du temps, il s’agit de faire des comparaisons entre des grandeurs. Les ensembles de données à comparer seront organisés verticalement dans des colonnes ordonnées selon un ordre logique ou permettant une comparaison la plus facile possible. On pourra utiliser une variation typographique (italique, couleur, etc.) pour mettre en valeur une colonne qui est au cœur de la comparaison. La première ligne et la première colonne servent très souvent de titres aux colonnes et aux lignes. On pourra alors leur appliquer un enrichissement typographique (gras, taille plus grande, couleur de fond, etc.). Pour marquer les relations hiérarchiques dans les entêtes de colonnes, on placera leur contenu à cheval sur plusieurs colonnes avec éventuellement des filets horizontaux pour bien en marquer la portée. Dans les entêtes de lignes, on utilisera plutôt des enrichissements typographiques (gras et retraits par exemple). On utilise de moins en moins les filets pour séparer les lignes et les colonnes des tableaux. Les filets verticaux sont à proscrire, ils surchargent inutilement le tableau et les espaces blancs entre les colonnes suffisent à les séparer. On peut utiliser des filets horizontaux pour délimiter le tableau ou en faciliter la compréhension. Dans ce cas, les filets au dessus et en dessous du tableau sont plus épais que ceux de l’intérieur. Les entêtes de colonnes sont en général centrées, les autres textes alignés à gauche et les valeurs numériques alignées à droite. Les colonnes de nombres représentant une même grandeur seront alignées sur le séparateur décimal. Comme tout tableau un peu complexe est difficile à lire, on se posera systématiquement la question de l’utilisation d’un graphique à la place du tableau. Un tableau n’est utile que si les valeurs numériques précises sont nécessaires. Un graphique sera beaucoup plus pertinent pour montrer des évolutions de grandeurs. Si très peu de valeurs sont à présenter, on pourra même se passer d’illustration et les donner dans le texte courant. Et dans tous les cas, il faut donner un titre au tableau, titre qu’on placera au dessus
Exemple de composition de tableau issue de la documentation du paquetage booktabs. Mauvais
gnats gnu emu armadillo
gram each stuffed frozen
$13.65 .01 92.50 33.33 8.99
Bon
Item Animal
Description
Gnat
per gram each stuffed stuffed frozen
Gnu Emu Armadillo
Price ($) 13.65 0.01 92.50 33.33 8.99
du tableau, et si le tableau est flottant, on le numérotera et on le référencera dans le texte. En LATEX, on pourra utiliser les paquetages array (améliorations générales des possibilités des environnements array et tabular), booktabs (filets horizontaux) et dcolumn (alignement vertical sur le séparateur décimal).
3. Algorithmes Les articles en informatique décrivent très souvent des algorithmes. Ceux-ci sont aussi utilisés dans d’autres domaines scientifiques. La question de leur présentation est traitée en détails dans [24]. Nous reprenons ici les principes les plus importants de cette présentation, à savoir ce qui est attendu de la description d’un algorithme et les différents formalismes qu’on peut utiliser pour les présenter. Le lecteur d’un article présentant un algorithme s’attend à trouver tout ou partie des éléments suivants : – les étapes constituant l’algorithme ; – ses entrées, ses sorties et les structures de données internes utilisées ; – son domaine d’application et les limites d’utilisation ; – une démonstration de sa correction ; – une analyse de sa complexité en temps et en espace ;
– des expérimentations confirmant les résultats théoriques. Selon les domaines et l’importance de l’algorithme dans la proposition, certains de ces éléments pourront être omis. Il convient de se référer à la littérature du domaine pour identifier quels sont ces éléments optionnels. Les formalismes couramment utilisés sont – une liste des étapes, qui ne convient que dans des cas où le flot de contrôle est très simple (pas de boucles ni de conditionnelles) ; – du pseudocode, une description plus adaptée à la machine qu’à l’homme ; – du prosecode où on mixe du texte libre à une structuration du type pseudocode ; – des illustrations graphiques. En général, on préférera les explications textuelles et les notations mathématiques abstraites à des notations plus proches des langages de programmation. On évitera le plus possible de mettre des lignes de code dans un article.
4. Bibliographie La présentation des références bibliographiques doit avant tout être faite dans un style consistant. Des indications sur les styles possibles sont données dans les livres [6, 11, 18] et les éditeurs imposent en général un style particulier. Tous insistent cependant sur l’attention qu’il faut porter à la précision et à l’exactitude des références. Une référence erronée ou incomplète n’est pas de grande utilité et pourra même être propagée par d’autres auteurs. Il convient de vérifier qu’on fait référence à la « meilleure version » d’un article : on préférera dans l’ordre la version journal puis la version conférence et enfin le rapport de recherche uniquement s’il n’en existe pas de version publiée. Les éléments indispensables à toute référence bibliographique sont, dans l’ordre d’apparition : – le nom des auteurs, ou du rédacteur ; – le titre de la contribution ; – l’intitulé éventuel du journal, du livre ou de la conférence où la contribution est parue ; – l’éditeur et la date de parution ; – d’autres informations comme les numéros de pages ou le lieu de la conférence. En termes d’outils, pour LATEX, le standard est BibTEX [22]. Pour OpenOffice.org, on dit beaucoup de bien de Zotero [4], une extension de Firefox qui permet la gestion d’une base de références et l’export
Description en prosecode du tri fusion. Tri fusion (l) Entrée : une liste l d’éléments non triés Sortie : la liste des éléments de l triés
1. si l est de longueur < 2 2. alors retourner l 3. sinon 3.1. séparer la liste l en deux listes l1 et l2 de taille à peu près égale 3.2. trier l1 et l2 par tri fusion 3.3. retourner le résultat de la fusion de l1 et l2 Cet algorithme fait appel à la fusion de listes : Fusion (l1 , l2 ) Entrées : deux listes l1 et l2 d’éléments triés Sortie : la liste triée des éléments de l1 et de l2
0. créer une liste f vide 1. Tant qu’il reste des éléments dans l1 et l2 1.1 comparer les têtes des deux listes 1.2 transférer la plus petite en queue de la liste f 2. transférer les éléments restants de la liste non vide l1 ou l2 en queue de f 3. retourner f Il conviendrait de prouver que l’algorithme fonctionne correctement, d’établir sa complexité en temps (Θ(n log n)) et en espace (Θ(n)) et de l’illustrer sur un exemple.
vers OpenOffice.org writer, Microsoft Word ou encore BibTEX.
Les quelques sujets traités ici complètent l’introduction à la typographie proposée dans le cours sur la typographie générale. En complément et selon les conseils généraux donnés lors du premier cours, le lecteur attentif à la forme de ce qu’il lit apprendra les notations habituelles de son domaine et pourra ainsi produire des documents conformes aux habitudes de ses lecteurs, ce qui leur en facilitera la lecture.
Références [1] Beccari (Claudio). – Typesetting mathematics for science and technology according to ISO 31/XI. TUGboat, vol. 18, n� 1, 1997. – http://www.tug.org/TUGboat/Articles/tb18- 1/tb54becc.pdf. [2] Booth (Wayne C.), Colomb (Gregory G.) et Williams (Joseph M.). – The Craft of Research (third edition). – The University of Chicago Press, 2008. [3] Bureau International des Poids et Mesures. – Le système international d’unités (SI). – http://www.bipm. org/fr/si/si_brochure/. [4] Center for History and New Media at George Mason University. – Zotero. – http://www.zotero.org/. [5] The Comprehensive TEX Archive Network. – http://www.ctan.org/. [6] Davis (Martha). – Scientific Papers and Presentations (second edition). – Elsevier Academic Press, 2005. [7] Downes (Michael). – Short Math Guide for LATEX. – Rapport technique, American Mathematical Society, 2002. ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf. [8] Felici (James). – Le manuel complet de typographie. – Peachpit Press, 2003. [9] Goss (David). – Some hints on mathematical style. – http://www.math.ohio-state.edu/~goss/hint.pdf, 2007. [10] Higham (Nicholas J.). – Handbook of Writing for the Mathematical Sciences. – SIAM, 1998. http://www. maths.manchester.ac.uk/~higham/hwms/. [11] Imprimerie nationale. – Lexique des règles typographiques en usage à l’imprimerie nationale. – Imprimerie nationale, 2002. [12] International Electrotechnical Commission. – IEC60027. – http://www.iec.ch/cgi-bin/procgi.pl/www/ iecwww.p?wwwlang=E&wwwprog=sea22.p&search=iecnumber&header=IEC&pubno=60027&part=&se= &number=&searchfor=&ics=. [13] International Organization for Standardization. – ISO 31-11 :1992, quantities and units – part 11 : Mathematical signs and symbols for use in the physical sciences and technology. – http://www.iso.org/iso/iso_ catalogue/catalogue_tc/catalogue_detail.htm?csnumber=3653&commid=46202, 1992. [14] Kleiman (Steven L.). – Writing a math phase two paper. MIT Undergraduate Journal of Mathematics, vol. 1, 1992, pp. 195–206. – http://www-math.mit.edu/phase2/UJM/vol1/KLEIMA~1.PDF. [15] Knuth (Donald E.), Larrabee (Tracy L.) et Roberts (Paul M.). – Mathematical Writing. – Math Association of America, 1989. http://www-cs-faculty.stanford.edu/~knuth/klr.html. [16] Mehl (Serge). – ChronoMath. – http://www.chronomath.com/. [17] Miller (Jeff). – Earliest uses of various mathematical symbols. – http://members.aol.com/Jeff570/mathsym. html. [18] Ramat (Aurel). – Le Ramat de la typographie (Édition 2005 conforme aux deux orthographes). – Aurel Ramat, 2004. [19] Saudrais (Eddie). – Le petit typographe rationnel. – http://perso.wanadoo.fr/eddie.saudrais/prepa/typo.pdf, 2005. [20] Taylor (B.N.). – Guide for the Use of the International System of Units (SI) (version 2.3). – Gaithersburg, MD, National Institute of Standards and Technology, 2007. http://physics.nist.gov/SP811. [21] Wikipedia. – ISO 31. – http://en.wikipedia.org/wiki/ISO_31. [22] Williams (Graham). – TEX catalogue – bibliographies. – http://texcatalogue.sarovar.org/bytopic.html# bibliography. [23] Wolfram (Stephen). – Mathematical notation : Past and future. – http://www.stephenwolfram.com/ publications/talks/mathml/index.html, 2000. [24] Zobel (Justin). – Writing for Computer Science (second edition). – Springer, 2004.