From ef0555dd349ffbd1a56ae59ccbb5c458fd74da8c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Dec 2020 21:31:34 +0000 Subject: apprendre-a-programmer-en-tex (20dec20) git-svn-id: svn://tug.org/texlive/trunk@57179 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/plain/apprendre-a-programmer-en-tex/README | 53 +++++++++------------ .../apprendre-a-programmer-en-tex/fonts/GMC.zip | Bin 0 -> 306184 bytes .../fonts/linlibmonoc.zip | Bin 3370866 -> 0 bytes .../output/apprendre-a-programmer-en-tex.pdf | Bin 4356465 -> 4012401 bytes .../output/progtexcode.txt | 2 +- .../source/apprendre-a-programmer-en-tex.tex | 18 +++---- 6 files changed, 32 insertions(+), 41 deletions(-) create mode 100644 Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/GMC.zip delete mode 100644 Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/linlibmonoc.zip (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/README b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/README index ed792bf0460..6b73c795168 100644 --- a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/README +++ b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/README @@ -53,35 +53,27 @@ 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. +GoMono a été adoptée. Cette police est quasiment identique à LuxiMono, +exception faite de la lettre "l", mais c'est sans grande importance car elles +ont les mêmes chasses : à peinr 52sp de différence à l'échelle 0.8 qui est +utilisée dans ce livre. C'est une différence insigifiante. + +Pour les codes figurant dans le texte du livre, la police GMC a été créée à +partir de GoMono en multipliant par 0.8 la dimension horizontale de tous les +glyphes. 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 ; + a) les polices à chasse fixe sont légèrement différentes, comme expliqué + ci-dessus. + Cela ne devrait pas entraîner de modification de la mise en page car la chasse + de GoMono est extrêmement proche de celle de Luximono ; - b) les mentions Luximono sont changées pour LinuxlibertineMonoTC ; + b) les mentions Luximono sont changées pour GoMono ; - c) la licence est modifiée (page réelle 6) ; + c) la licence est modifiée (voir 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 ! @@ -101,8 +93,8 @@ 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. + - seules les fontes GMC et les fontes de libertine-legacy sont à installer + à la main. 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 @@ -117,19 +109,18 @@ donnée pour GNU-linux avec TeXlive car je ne connais ni windows ni mikTeX. c) aller dans /fonts/maps/dvips/libertine-legacy et lancer dans la console la commande suivante - updmap -user --enable map=libertine-legacy.map + updmap -user --enable Map=libertine-legacy.map -2) Installation des fontes LinuxLibertineMono « condensées » : +2) Installation des fontes GMC : - a) dézipper le fichier linlibmonoc.zip + a) dézipper le fichier GMC.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 + c) aller dans /fonts/maps/dvips/GMC et lancer dans la console la + commande suivante : + updmap -user --enable Map=GMC.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 diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/GMC.zip b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/GMC.zip new file mode 100644 index 00000000000..c5e57d79840 Binary files /dev/null and b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/GMC.zip differ diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/linlibmonoc.zip b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/linlibmonoc.zip deleted file mode 100644 index bf116f5297f..00000000000 Binary files a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/fonts/linlibmonoc.zip and /dev/null differ diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/apprendre-a-programmer-en-tex.pdf b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/apprendre-a-programmer-en-tex.pdf index 9e349e04e8a..1785280676b 100644 Binary files a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/apprendre-a-programmer-en-tex.pdf and b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/apprendre-a-programmer-en-tex.pdf differ diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/progtexcode.txt b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/progtexcode.txt index fcd1a19ec7c..e41a520b5d8 100644 --- a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/progtexcode.txt +++ b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/output/progtexcode.txt @@ -7,7 +7,7 @@ %% Encodage ISO 8859-1 %% %% _____ %% %% %% -%% © 2014 Christian Tellechea %% +%% © 2014-2020 Christian Tellechea %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/source/apprendre-a-programmer-en-tex.tex b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/source/apprendre-a-programmer-en-tex.tex index 529d26e7980..bc5a675f360 100644 --- a/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/source/apprendre-a-programmer-en-tex.tex +++ b/Master/texmf-dist/doc/plain/apprendre-a-programmer-en-tex/source/apprendre-a-programmer-en-tex.tex @@ -8,7 +8,7 @@ %% %% %% ___ %% %% %% -%% © 2014 Christian Tellechea %% +%% © 2014-2020 Christian Tellechea %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -18,7 +18,6 @@ %| Encodage ISO 8859-1 (latin1) | %| À compiler avec pdflatex en mode pdf | %|___________________________________________________________________________| - \RequirePackage{etex} \documentclass[fontsize=10pt,chapterprefix=true]{scrbook} @@ -104,7 +103,8 @@ %| | \usepackage{amssymb,textcomp,eurosym,libertine} \usepackage[libertine]{newtxmath} -\renewcommand*\ttdefault{LinuxLibertineMonoTC-TLF} +\newcommand*\GMC@scale{0.8} +\usepackage[scaled=0.8]{GoMono} \DeclareRobustCommand*\libLegacyGlyph[1]{{\ifcsname fxl@#1\endcsname\@nameuse{fxl@#1}\else\errmessage{glyphe fxl@#1 non défini}\fi}} \DeclareRobustCommand*\bioLegacyKeyGlyph[1]{{\ifcsname fxk@#1\endcsname\@nameuse{fxk@#1}\else\errmessage{glyphe fxk@#1 non défini}\fi}} \newcommand*\DeclareTextGlyphX[5]{\@namedef{#1@#4}{{\fontfamily{#3}\fontencoding{#2}\selectfont\char#5\relax}}} @@ -501,7 +501,7 @@ %% Encodage ISO 8859-1 %% %% _____ %% %% %% -%% © 2014 Christian Tellechea %% +%% © 2014-2020 Christian Tellechea %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -642,7 +642,7 @@ }% échappement ¤...¤ \defactive\%{\unexpanded{\@commenttrue\itshape\color{codegray}\%}}% commentaire \defactive\^^M{\unexpanded{\if@comment\normalfont\ttfamily\color{black}\fi\@commentfalse}\par\leavevmode}% retour charriot - \normalfont\renewcommand*\ttdefault{LinuxLibertineMonoTCC-TLF}\ttfamily + \normalfont\renewcommand*\ttdefault{GMC-TLF}\ttfamily \setbox\z@\hbox{0}\edef\tt@spc{\hskip\the\wd\z@\relax}% \catcode`\ =13 \begingroup @@ -1138,10 +1138,10 @@ \small ISBN 978-2-9548602-0-6\medskip - \textcopyright{} Christian \textsc{Tellechea}, 2014\medskip + \textcopyright{} Christian \textsc{Tellechea}, 2014--2020\medskip \scriptsize - Révision \no2a, 26/04/2019\medskip + Révision \no2b, 20/12/2020\medskip Photo couverture \textcopyright{} Christian~\textsc{Tellechea}\par Photo 4\ieme{} couverture \textcopyright{} Willi~\textsc{Heidelbach}. @@ -16563,7 +16563,7 @@ Avant de b \item \idx\pagegoal est la dimension verticale du texte à composer dans la page en cours. \end{itemize} -La dimension \idx\pagetotal n'est pas actualisée en permanence, mais seulement après chaque paragraphe composé. Par ailleurs, au tout début de la construction d'une page, lorsqu'elle est vide, \idx\pagetotal vaut \numprint[pt]0 alors que \idx\pagegoal vaut \numprint[pt]{16383,99999}\footnote{Lire le \TeX book page~133 et plus généralement le chapitre 15 en entier.}, soit \idx\maxdimen. Par conséquent, notre futur algorithme devra tenir compte de cette spécificité au début des pages. Afin que \idx\pagegoal prenne une valeur reflétant la hauteur de la page, il faudra donc, avant de mesurer quoi que ce soit, faire en sorte que la nouvelle page ne soit pas vide . Insérer le matériel vertical «\idx\hbox\verb-{}-\idx\nointerlineskip» teindra lieu de remplissage de haut de page, tout en ne prenant aucune place verticalement. Ainsi, après cette opération, \idx\pagegoal sera égal à la hauteur de la zone de texte en haut d'une page. Nous sommes maintenant assurés que, quelles que soient les circonstances, la différence entre \idx\pagegoal et \idx\pagetotal sera la hauteur de l'espace vertical disponible restant dans la page en cours. +La dimension \idx\pagetotal n'est pas actualisée en permanence, mais seulement après chaque paragraphe composé. Par ailleurs, au tout début de la construction d'une page, lorsqu'elle est vide, \idx\pagetotal vaut \numprint[pt]0 alors que \idx\pagegoal vaut \numprint[pt]{16383,99999}\footnote{Lire le \TeX book page~133 et plus généralement le chapitre 15 en entier.}, soit \idx\maxdimen. Par conséquent, notre futur algorithme devra tenir compte de cette spécificité au début des pages. Afin que \idx\pagegoal prenne une valeur reflétant la hauteur de la page, il faudra donc, avant de mesurer quoi que ce soit, faire en sorte que la nouvelle page ne soit pas vide . Insérer le matériel vertical «\idx\hbox\verb-{}-\idx\nointerlineskip» tiendra lieu de remplissage de haut de page, tout en ne prenant aucune place verticalement. Ainsi, après cette opération, \idx\pagegoal sera égal à la hauteur de la zone de texte en haut d'une page. Nous sommes maintenant assurés que, quelles que soient les circonstances, la différence entre \idx\pagegoal et \idx\pagetotal sera la hauteur de l'espace vertical disponible restant dans la page en cours. Ces deux primitives étaient ce qui nous manquait pour construire l'algorithme permettent de couper $n$ fois une boite verticale pour la loger sur $n+1$ pages. @@ -17450,7 +17450,7 @@ Peut-on effectuer les coupures, mais ne pas ins Nom de la fonte = \fontname\font\par¤\idx*\fontname\idx*\font¤ \printallchars/ -Par chance, il semblerait que dans la \idx{fonte} à chasse fixe utilisée dans ce livre (qui est « \texttt{LinLibertineMTC} »), le caractère \no23 de cette \idx{fonte} n'ait aucune dimension horizontale. Vérifions-le : +Par chance, il semblerait que dans la \idx{fonte} à chasse fixe utilisée dans ce livre (qui est « \texttt{GoMono} »), le caractère \no23 de cette \idx{fonte} n'ait aucune dimension horizontale. Vérifions-le : \showcode/\setbox0=\hbox{\tt\char23}¤\idx*\setbox\idx*\hbox\idx*\tt\idx*\char¤ Largeur = \the\wd0 \qquad Hauteur = \the\ht0 \qquad Profondeur = \the\dp0 ¤\idx*\the\idx*\wd\idx*\ht\idx*\dp¤/ -- cgit v1.2.3