1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
-------------------------------- Avant propos ---------------------------------
Ceci est le fichier LISEZMOI du livre « Apprendre à programmer en TeX »
Tous les fichiers fournis dans ce paquet sont sous licence « LPPL v1.2 »
Résumé : le présent paquet contient tous les fichiers permettant de compiler le
livre « Apprendre à programmer en TeX ». Il n'est pas nécessaire
d'effectuer la compilation pour obtenir les fichiers de sortie puisque
ceux-ci sont également fournis :
- apprendre-a-programmer-en-tex.pdf
- progtexcode.txt
---------------------------------- Foreword -----------------------------------
This is the README file of the book "Apprendre à programmer en TeX"
All the files of this bundle are under "LPPL v1.2" licence
Abstract: this package contains all the files needed to compile the book
"Apprendre à programmer en TeX". It is not necessary to perform a
compilation to obtain the output files since they are also provided:
- apprendre-a-programmer-en-tex.pdf
- progtexcode.txt
The text below is available in French only.
-------------------------------------------------------------------------------
I) Prendre le large
Dès le début, c'était prévu après 4 ans grand maximum : libérer le code source
du livre et par la même occasion, en faire don à la communauté LaTeX. J'ai bien
conscience que les 4 ans sont passé depuis un bon moment, et c'est donc avec un
léger retard que je me décide à agir. Tout le « Matériel » de ce livre (code
source, fichiers pdf, fichiers générés par la compilation, fichiers nécessaires
à la compilation) va enfin prendre l'air et naviguer de par le monde via
internet, ce qui sera bien plus profitable que de dormir au fin fond d'un
répertoire de mon disque dur.
II) Conséquences
1) La première conséquence est, je l'espère en secret, que davantage
d'utilisateurs de LaTeX oseront jeter un œil à ce livre et s'essaieront à la
programmation !
2) La deuxième conséquence est que la licence change. Tout le Matériel se
trouve désormais sous la « LaTeX project public license » (LPPL) version 1.2,
mais ce changement implique la chose suivante : il n'est plus possible
d'utiliser dans le Matériel la police à chasse fixe « Luximono » qui était
employée dans le livre, car elle n'est pas sous licence libre.
Faire un choix de police de remplacement n'a pas été facile mais finalement,
LinuxLibertineMono a été adoptée. Cela donne une certaine cohérence à
l'ensemble puisque la police du texte est LinuxLibertine. Malheureusement,
telle qu'elle est conçue, son énorme défaut est de chasser beaucoup trop. Il a
donc fallu la modifier pour créer deux autres polices plus « condensées » :
a) pour les caractères dans le corps du texte, j'ai créé une police
LinuxlibertineMonoTC où les glyphes de LinuxLibertineMonoT ont été, via
fontforge, réduits de 75% horizontalement et 92% verticalement. Ce sont,
après bien des essais, les coefficients qui lui permettent de s'insérer au
mieux (à mon goût) dans le texte, qui donnent une chasse proche de celle de
Luximono et qui rendent le gris typographique acceptable ;
b) pour les codes figurant dans le texte du livre, la police
LinuxlibertineMonoTCC a été créée, toujours à partir de LinuxLibertineMonoT,
mais les glyphes ont été davantage réduit horizontalement : 67%
horizontalement et 92% verticalement.
3) Enfin, la dernière conséquence est que le fichier pdf produit après
compilation du code source n'est pas exactement celui qui a servi à imprimer le
livre. Il n'y a que très peu de modifications :
a) les polices à chasse fixe sont différentes, comme expliqué ci-dessus.
Outre les considérations esthétiques sur lesquelles je ne m'étendrai pas,
cela ne devrait pas entraîner de modification de la mise en page car la
chasse de LinuxlibertineMonoTC est extrêmement proche de celle de Luximono ;
b) les mentions Luximono sont changées pour LinuxlibertineMonoTC ;
c) la licence est modifiée (page réelle 6) ;
d) quelques corrections ont été faites (coquilles, erreurs dans les codes,
etc.), mais une infime partie en regard de ce qui resterait à faire !
III) Compilation
Selon la LPPL 1.2, quiconque peut compiler et distribuer le Matériel sous le
nom originel, sous réserve qu'aucun changement n'y ait été apporté.
Pour que la compilation puisse être effectuée le plus simplement possible, les
7 fichiers nécessaires à la compilation se trouvent dans le dossier /source, et
on y trouve en plus le fichier manderlbrot.tex qui a servi à générer le pdf où
est dessiné l'ensemble de Mandelbrot à l'aide d'une version modifiée de TeX.
Par ailleurs, toujours par souci de simplicité :
- tout le code source est dans un seul fichier « livre.tex », qui est le
code source à compiler avec l'exécutable pdflatex ;
- seules 3 fontes sont à installer à la main, à savoir LinuxlibertineMonoTC,
LinuxlibertineMonoTCC et les fontes de libertine-legacy.
Pour installer ces fontes, il faut aller dans le répertoire /fonts où se
trouvent des fichiers zippés permettant ces installations. La procédure est
donnée pour GNU-linux avec TeXlive car je ne connais ni windows ni mikTeX.
1) Installation des fontes "libertine-legacy"
a) dézipper le fichier libertine-legacy.zip
b) copier les répertoires /fonts et /tex dans le texmf personnel (permettre
d'écrire à l'intérieur des dossiers existants)
c) aller dans /fonts/maps/dvips/libertine-legacy et lancer dans la console la
commande suivante
updmap -user --enable map=libertine-legacy.map
2) Installation des fontes LinuxLibertineMono « condensées » :
a) dézipper le fichier linlibmonoc.zip
b) copier les répertoires /fonts et /tex dans le texmf personnel (permettre
d'écrire à l'intérieur des dossiers existants)
c) aller dans /fonts/maps/dvips/linlibmonoc et lancer dans la console les
deux commandes suivantes :
updmap -user --enable map=LinuxLibertineMonoTC.map
updmap -user --enable map=LinuxLibertineMonoTCC.map
On peut s'assurer que l'installation s'est correctement déroulée en examinant
la sortie générée par la commande
updmap -user --listmaps
Quoi qu'il en soit, afin que tout ceux qui ne peuvent compiler ce code source
puissent y accéder, les 2 fichiers dignes d'intérêt qui sont générés à la
compilation se trouvent dans le répertoire /output, c'est-à-dire :
- apprendre-a-programmer-en-tex.pdf (le fichier pdf de sortie)
- progtexcode.txt (le fichier qui contient les 454 codes commentés exposés
dans les exemples de ce livre).
IV) Conclusion
Bonne lecture et surtout, prenez du plaisir avec (La)TeX !
N'hésitez pas à poser des questions si certaines choses ne sont pas claires,
que ce soit à moi directement ou dans un forum où les contributeurs se parlent
dans la langue de Molière !
Bien évidemment, toute contribution est encouragée, de même que tout retour
voire un petit remerciement qui vaudra largement le prix auquel est vendu ce
livre (car il est toujours possible de l'acheter sur lulu.com) ; pour ce faire,
passer par l'email ou le dépôt sur framagit :
unbonpetit@netc.fr
https://framagit.org/unbonpetit/apprendre-a-programmer-en-tex/
Christian Tellechea
|