<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le mpg-blog &#187; context</title>
	<atom:link href="http://weblog.elzevir.fr/par-tag/context/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.elzevir.fr</link>
	<description>LaTeX et autres geekeries</description>
	<lastBuildDate>Thu, 08 Jul 2010 09:56:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rencontre ConTeXt 2008, partie 8</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-8/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-8/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 18:22:25 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-8/</guid>
		<description><![CDATA[On discutait avec Taco avant-hier du « mode conférence » qui permet
contrairement à la vie normale de se coucher à point d&#8217;heure et d&#8217;être
réveillé pour la présentation du matin le lendemain ; mode généralement suivi
d&#8217;un craquage en règle au retour. Je dois être un peu mal réglé car c&#8217;est ce
matin que j&#8217;ai craqué. En même [...]]]></description>
			<content:encoded><![CDATA[<p>On discutait avec Taco avant-hier du « mode conférence » qui permet
contrairement à la vie normale de se coucher à point d&#8217;heure <em>et</em> d&#8217;être
réveillé pour la présentation du matin le lendemain ; mode généralement suivi
d&#8217;un craquage en règle au retour. Je dois être un peu mal réglé car c&#8217;est ce
matin que j&#8217;ai craqué. En même temps, je me suis réveillé exactement au moment
de la pause café : tout n&#8217;est donc pas perdu&#8230;</p>

<p><span id="more-19"></span></p>

<h3>Norbert Preining : idées du gestionnaire TeX Live</h3>

<p>Norbert commence par rappeler les idées et le fonctionnement de l&#8217;installateur
et du gestionnaire de paquets de TeX Live, sur lesquels j&#8217;ai déjà promis de
revenir ultérieurement. Il présent une nouvelle idée très intéressante : il
serait possible assez facilement d&#8217;adapter le gestionnaire de paquets pour gérer
plusieurs sources d&#8217;installation et de mise à jour (un peu à la manière de APT,
le gestionnaire de paquets Debian).</p>

<p>Une application intéressante serait de permettre aux mainteneurs de <em>context
minimals</em>, la distribution de référence de ConTeXt, de proposer un dépôt TeX
Live à partir duquel tout le monde pourrait installer facilement la toute
dernière version de ConTeXt au sein de son installation TeX Live existante.
L&#8217;idée soulève un enthousiasme visible.</p>

<h3>Taco : documentation ConTeXt</h3>

<p>Différents projets : traduction de « ConTeXt, an excursion » du néerlandais vers
l&#8217;anglais (effectuée, une version imprimée et reliée est disponible ici pour la
modique somme de 10€). Autre gros projet : le manuel de référence ConTeXt.
Actuellement plus de 400 pages. Rédigé principalement pas Taco, qui lance un
appel à contributions : il veut bien rédiger le texte, mais il aimerait l&#8217;aide
de relecteurs pour corriger les coquilles et signaler les passages peu clairs.
Le manuel est sous GFDL et pourra être intégré dans TeX Live.</p>

<p>(En passant, beaucoup de documentation existante sur ConTeXt, rédigée par Hans,
n&#8217;est pas incluse dans TeX Live parce qu&#8217;Hans n&#8217;en a pas publié les sources.
C&#8217;est l&#8217;objet de légères tensions mais la position de TeX Live est claire et je
l&#8217;approuve.)</p>

<h3>Hans et Taco : questions et réponses</h3>

<p>La première question concerne la compatibilité entre MarkII et MarkIV. Hans
évoque l&#8217;idée de geler MarkII et de ne plus développer que MarkIV (en corrigeant
quand même les bugs dans MarkII). Ceci réglerait en quelque sorte le problème :
les documents pour lesquels la stabilité serait importante utiliseraient MkII,
et MkIV continuerait à être utilisé par les gens vivant sur la brèche (comme
c&#8217;est souvent le cas des utilisateurs de ConTeXt).</p>

<p>De façon peu surprenante, la question provoque des échanges vifs : les positions
sont un peu variées et partagées entre l&#8217;envie de profiter d&#8217;un rythme
de développement élevé et la crainte d&#8217;un gros bazar pour compiler ses vieux
documents en se demandant si c&#8217;étaient des documents pour MarkIV ou pour
MarkII. Taco suggère d&#8217;introduire une commande dans le documents indiquant pour
quelle version de ConTeXt il a été écrit. Hans ne semble pas enthousiasmé par
l&#8217;idée.</p>

<h3>5 minutes de gloires</h3>

<p>L&#8217;après-midi commence par 5 minutes de gloire (auxquelles je vais lâchement
essayer d&#8217;échapper).</p>

<ul>
<li>Ancien utilisateur de ConTeXt : l&#8217;avait découvert il y a quelques années en
cherchant à installer TeX sous windows (!). L&#8217;a utilisé pendant longtemps pour
ses documents personnels, mais n&#8217;a jamais abandonné LaTeX car c&#8217;est le seul
format accepté par la plupart des journaux mathématiques. A cessé d&#8217;utiliser
ConTeXt simplement parce que tous ses documents sont mathématiques (et le
support mathématique de ConTeXt n&#8217;est pas non plus totalement au niveau de
celui de LaTeX).</li>
<li>Utilisateur régulier de ConTeXt. Apprécie notamment MarkIV pour pouvoir hacker
plus facilement en Lua.</li>
</ul>

<h3>Arthur : un nouveau logo ConTeXt ?</h3>

<p>Visiblement la suite du bidouillage auquel j&#8217;assistais cette nuit. Un peu plus
ordonné quand même <img src='http://weblog.elzevir.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Très graphique, donc dommage pour les notes&#8230; Taco fait
remarquer très justement qu&#8217;un vidéo-projecteur est un outil très utile pour
travailler sur les fontes de façon précise : on peut bien voir et pointer les
détails, puis s&#8217;éloigner de quelques mètres pour avoir une bonne vue d&#8217;ensemble.</p>

<h3>Git</h3>

<p>Système de contrôle de version, un peu comme CVS ou SVN. Git est la « stupid
content tracker » d&#8217;après sa page de man (d&#8217;où son nom). L&#8217;orateur avoue alors
que ça n&#8217;a pas de rapport direct avec ConTeXt (ouf) mais que comme les système
de contrôle de version sont partout (documents perso, projet libres, et même
distribution de logiciels). D&#8217;après l&#8217;orateur, git est le meilleur <img src='http://weblog.elzevir.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>Particularités de git :
- Dépôts distribués : tous les dépôts son égaux (mais l&#8217;un peut devenir quand
  même central si l&#8217;on veut). Les deux commandes de base sont <code>git pull</code> et
  <code>git push</code>. On peut contrôler très facilement quelle partie du dépôt on
  distribue. La propagation ressemble pas mal à ce qui se passe pour les
  serveurs de news.
- <em>merging</em> et <em>branching</em> faciles : le plus gros point fort de git. Avec SVN il
  y a beaucoup de de choses à faire manuellement. Avec git, c&#8217;est tellement
  naturel que le cycle de travail finit par consister en grande partie en <code>git
  branch</code> et <code>git merge</code> (qui marchent).
- L&#8217;index. Qu&#8217;est-ce que c&#8217;est ? C&#8217;est une interface entre la copie de travail
  et le dépôt. Tout doit être indexé avant d&#8217;être « commité ». Ceci permet en
  fait d&#8217;indexer seulement certains changements, ce qui est incroyablement
  pratique.
- Très efficace. Par exemple, toutes les anciennes version de ConTeXt font 2.9G,
  678M compressée, 156M dans un dépôt git, 15M dans le même dépôt après la
  commande <code>git gc</code>. Également rapide.</p>

<p>Deux trucs <strong>très</strong> faciles par rapport à svn : création d&#8217;un dépôt personnel
directement depuis une copie de travail : <code>git init</code> (à comparer à <code>svnadmin
create foo &amp;&amp; svn import /path/to/foo &amp;&amp; mkdir foo &amp;&amp; svn co url:foo foo</code>&#8230;)
Autre truc facile : on a pas besoin de lui dire quand on renomme ou copie des
fichiers, il devine tout seul (pratique pour importer des archives, et le plus
impressionnant, c&#8217;est que ça marche pour de vrai). Un autre truc marrant :
certaines commandes git permettent d&#8217;envoyer les patchs par mail et de les
importer depuis le mail <img src='http://weblog.elzevir.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<h3>Tutoriel ConTeXt, suite</h3>

<p>Au programme : tableaux, figures et peut-être maths.</p>

<h4>Tableaux</h4>

<p>Le premier environnement de
tableau, <code>\starttabulate</code>, ressemble beaucoup à l&#8217;environnement <code>tabular</code> de
LaTeX, en remplaçant <code>&amp;</code> par <code>\NC</code> et <code>\\</code> par <code>\NC\NR</code> (et sert juste à
aligner, sans dessiner les grille). Il y a par contre beaucoup plus de types de
colonnes et de choses pour régler les largeurs, les fontes, des commandes avant
et après chaque cellule : en gros, à peu près ce que l&#8217;on peut faire avec les
extensions <em>array</em>, <em>longtable</em> et une partie de <em>tabularx</em> en LaTeX. On peut
aussi régler pas mal de choses globalement par <code>\setuptabulate</code> et créer ses
environnement de tableau personnels par <code>\definetabulate</code>.</p>

<p>Pour dessiner les réglures, on a <code>\starttable</code>. La syntaxe est assez différente
dans le sens où c&#8217;est à chaque changement de cellule qu&#8217;on indique la présence
ou non d&#8217;une  réglure. On a un équivalent facile à utiliser de <code>\multirow</code>, à
savoir <code>\use2</code>. Suivent d&#8217;autres variantes de tables (façon HTML ou autre) que
je ne note pas ainsi que des détails sur les couleurs (qui semblent très bien
marcher), le contrôle de l&#8217;espacement, les titres et le placement. Pour en
savoir plus, voir <em>ConTeXt, an excursion</em> p. 25-35, les deux articles (<a href="http://tug.org/TUGboat/Articles/tb28-3/tb90mahajan.pdf">1</a>,
<a href="http://www.tug.org/TUGboat/Articles/tb29-1/tb91mahajan.pdf">2</a>) de TUGBoat, et la <a href="http://wiki.contextgarden.net/Table">page table</a> du wiki.</p>

<h4>Flottants et graphiques</h4>

<p>Inclusion de graphiques : on peut insérer des <code>jpg</code>, des <code>png</code> des (pages de
<code>pdf</code>) et même des graphies MetaPost <code>mps</code>. Sont dissociés le placement par
<code>\placefigure</code> et l&#8217;insertion en soit avec <code>\externalfigure</code>.</p>

<p>Flottants configurables avec <code>\setupfloat</code> qui a en gros les mêmes options que
les paquets <em>floatrow</em>, <em>caption</em> et <em>placeins</em> de LaTeX. On peut aussi en
définir de nouveaux avec <code>\definefloat</code> (sans grande surprise, hein). On peut
aussi facilement placer plusieurs flottants ensemble avec <code>\startcombination</code>
(un peu comme <em>subfig</em> ou <em>floatrow</em> en LaTeX). On peut aussi habiller
des figures par du texte avec <code>\startfloat</code>. Pour aller plus loin :
<code>metafun-p.pdf</code> et <code>details.pdf</code>.</p>

<p>Maths : comme en LaTeX, <code>$$...$$</code> n&#8217;est pas recommandé <img src='http://weblog.elzevir.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  L&#8217;orateur passe très
vite sur les bonnes façons de faire, il y a déjà eu une présentation à ce sujet
ce matin (que j&#8217;ai manquée). J&#8217;en profite pour placer une remarque qui m&#8217;a
frappée : les matheux et assimilés ne sont pas la base d&#8217;utilisateurs ni la
cible principale de ConTeXt. C&#8217;est assez intéressant parce que ça implique que
ConTeXt soit vraiment performant et utilisable pour le reste, car il n&#8217;y a pas
la pression de « c&#8217;est le seul truc décent pour taper des maths » pour attirer
et retenir les utilisateurs. C&#8217;est d&#8217;ailleurs plaisant de voir que TeX (au sens
large) peut être apprécié par d&#8217;autres que les matheux et les geeks. Pour plus
de détails sur les maths, voir les trois <em>my way</em> suivants (<a href="http://dl.contextgarden.net/myway/mathalign.pdf">1</a>, <a href="http://dl.contextgarden.net/myway/matharrows.pdf">2</a>
<a href="http://dl.contextgarden.net/myway/context-latex-math.pdf">3</a>) sur le <em>garden</em>.</p>

<h4> Présentation à la main</h4>

<p>Tutoriel interactif, vi à la main de bout en bout, démontrant comment sans
charger aucun module on peut transformer une texte quelconque en une jolie
présentation à la beamer (sans overlay, quand même) avec même des fontes plus
sympa (luatex inside) en moins de 100 lignes de code ConTeXt. Impressionnant
mais très clair. Pas de notes sur les détails : je vais pas recopier et
commenter 100 lignes de code en direct non plus <img src='http://weblog.elzevir.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<h4>Fin du tutoriel : références, tables des matières, etc.</h4>

<p>Peu de notes, mais en gros ça fait la majorité des choses qu&#8217;on en attend : avec
ou sans titres, styles prédéfinis, tables des matières partielles (à la
<em>minitoc</em>), et de même pour les listes de flottants variées. Tout le systèm de
références (croisée, tables de matières, index, biblio) dérive d&#8217;un nombre fini
de concept et de commandes ConTeXt, ce qui rend le tout assez homogène et
configurable sans trop de non-sens.</p>

<h3>Clôture</h3>

<p>Après le tutoriel (à 18h20), Taco présente encore quelques logos expérimentaux
pour ConTeXt, et propose qu&#8217;au lieu du programme initial qui prévoyait une
clôture de la conférence vers 16h, on aille d&#8217;abord manger, puis qu&#8217;on fasse la
cérémonie de clôture et qu&#8217;on continue à papoter de ConTeXt, à hacker et à créer
des logos jusqu&#8217;à 8h ou 9h. Je n&#8217;ai pas trop compris s&#8217;il voulait dire 21h ce
soir, on 9h très tard cette nuit&#8230; Attendons et voyons, comme disent nos amis
saxons.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 7</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-7/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-7/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 00:30:59 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-5-3/</guid>
		<description><![CDATA[Samedi soir

Hier soir a eu lieu une longue présentation/discussion sur contextgarden,
texshow, les context minimals, et autres sujets liés à la communauté ConTeXt
plus qu&#8217;aux questions techniques. L&#8217;objet était surtout de recueillir les avis
sur ce qui pourrait être amélioré et dans quelle(s) direction(s) aller
concernant la documentation et la distribution.



C&#8217;était très intéressant et instructif, non seulement sur ConTeXt, [...]]]></description>
			<content:encoded><![CDATA[<h3>Samedi soir</h3>

<p>Hier soir a eu lieu une longue présentation/discussion sur contextgarden,
texshow, les context minimals, et autres sujets liés à la communauté ConTeXt
plus qu&#8217;aux questions techniques. L&#8217;objet était surtout de recueillir les avis
sur ce qui pourrait être amélioré et dans quelle(s) direction(s) aller
concernant la documentation et la distribution.</p>

<p><span id="more-18"></span></p>

<p>C&#8217;était très intéressant et instructif, non seulement sur ConTeXt, mais aussi
sur la communauté TeX, voire la vie de projets « Open Source » en général :
finition plus ou moins professionnelle du logiciel et surtout de sa
documentation et de sa distribution, développement centralisé ou distribué,
compétition entre projets, base d&#8217;utilisateur visée&#8230;</p>

<p>La discussion plus ou moins formelle se termine vers 22h et se prolonge
sporadiquement autour d&#8217;un feu de camp.</p>

<h3>Dimanche</h3>

<p>Aujourd&#8217;hui, c&#8217;était relâche, si on peut appeler ainsi un dimanche où le départ
est fixé à 7h45 (du matin). Mais ça valait la peine : on a eu droit à une
magnifique journée d&#8217;excursion au travers d&#8217;une bonne partie de la Slovénie
(très beau pays, que je découvre).</p>

<p>Les deux points forts en ont été la visite d&#8217;une des plus grandes des nombreuses
grottes du territoire : absolument magnifiques, mais, cher lecteur, les photos
étaient interdites ; et les ateliers au musée des techniques : chaque
participant a pu fondre (en plomb) un sceaux avec le logo TeX (dont le musée
avait eu la gentillesse de faire graver la négatif spécialement à notre
attention) puis fabriquer (reliure et couverture) un livret d&#8217;une douzaine de
pages, que nous avons ramené chez nous.</p>

<p>En une journée, beaucoup de très bons souvenirs donc (les ateliers étaient de
plus une totale surprise), sans compter les paysages vus en passant (quand je ne
dormais pas), les deux restaurants plutôt agréables, et le tout inclus dans le
tarif (déjà très modéré) de la conférence&#8230;</p>

<p>Pendant que je rédige, Taco et quelques autres discutent (réalisation sous
FontForge à l&#8217;appui), d&#8217;une adaptation du logo ConTeXt dans la fonte Laibach
(récemment utilisée par Hans pour démontrer certaines possibilités de LuaTeX), à
grand coup de ligatures créées spécialement à cet effet.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 6</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-6/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-6/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 16:38:24 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-5/</guid>
		<description><![CDATA[5 minutes de gloire


Professionnel de l&#8217;édition, travaillant au départ sous FrameMaker, bouquins
d&#8217;histoire de l&#8217;art. Progressivement plus de matériel compliqué, surtout des
appareils de notes complexes et volumineux. Il entend alors parler de TeX,
essaye LaTeX, et a des problèmes d&#8217;interférence de paquets. Essaie alors
ConTeXt, dont le développement centralisé évite ces problèmes. Il reste encore
des choses à ajuster [...]]]></description>
			<content:encoded><![CDATA[<h3>5 minutes de gloire</h3>

<ul>
<li>Professionnel de l&#8217;édition, travaillant au départ sous FrameMaker, bouquins
d&#8217;histoire de l&#8217;art. Progressivement plus de matériel compliqué, surtout des
appareils de notes complexes et volumineux. Il entend alors parler de TeX,
essaye LaTeX, et a des problèmes d&#8217;interférence de paquets. Essaie alors
ConTeXt, dont le développement centralisé évite ces problèmes. Il reste encore
des choses à ajuster à la main, au niveau des la table des matières et l&#8217;index
(interlignes, etc) quand même.</li>
<li>Sort un slide super marrant avec des bonhommes qui tiennent des drapeaux et
nous demande de deviner ce que ça veut dire. Visiblement c&#8217;est du langage de
sémaphore. L&#8217;auteur fait aussi des bouquins bilingues (grec + thèque) (une
page de chaque langue face à face) avec des maths et beaucoup de notes de bas
de pages. Joue aussi avec de l&#8217;XML pour composer son carnet d&#8217;adresses en
ConTeXt.</li>
</ul>

<p><span id="more-17"></span></p>

<h3>Taco : finalement pas de tutoriel Lua</h3>

<p>Comme il ne peut de toute façon pas nous apprendre Lua en 45 minutes, il va
plutôt nous montrer comment c&#8217;est utilisé dans LuaTeX. Il recommande chaudement
(et j&#8217;approuve) le livre <em>Programming in Lua</em> pour apprendre (pas très cher en
papier, et la première édition lisible en ligne). (La référence Lua, à jour, est
aussi disponible en ligne, mais peut aussi s&#8217;acheter en papier si l&#8217;on veut,
ndlr.)</p>

<p>Commence par montrer la différente entre <code>print()</code> et <code>tex.print()</code> : l&#8217;un écrit
dans le log, l&#8217;autre dans le document (dans le flux d&#8217;entrée de TeX pour être
précis). Pour apprendre ce genre de choses, voir la section « the {texio}
library » dans le manuel de LuaTeX (nommé luatexref-t.pdf, et composé avec
ConTeXt et MPlib pour l&#8217;anecdote : observer les lunes en bas des pages : elles
font un tour complet sur la longueur du document ; pourtant ça compile très vite
et Hans en est très fier).</p>

<p>Présente ensuite <code>\startluacode</code> (c&#8217;est du ConTeXt) qui a l&#8217;avantage de lire le
code Lua en verbatim (pratique pour les % et autres). Le démo met du temps à
marcher parce qu&#8217;il faut quand même échapper le signe <code>%</code> pour TeX, puis le <code>\</code>
pour Lua, et qu&#8217;il faut bien 5 minutes pour retrouver la bonne combinaison. (Je
ne sais pas si c&#8217;est si anecdotique que ça, à la réflexion.)</p>

<p>Montre ensuite un exemple impressionnant mais un rien trop technique pour moi de
génération à la volée d&#8217;une fonte virtuelle à utiliser dans le document (en
modifiant une fonte existante).</p>

<p>L&#8217;orateur suivant va plus loin en montrant comment on peut générer des fontes
virtuelles dont les glyphes sont des images externes auxquelles on peut même
appliquer des traitements basiques (rotation, étirement, symétrie). C&#8217;est
marrant pour montrer ce qu&#8217;on peut faire, mais quand à l&#8217;intérêt réel&#8230; Ensuite
on enchaîne il enchaîne sur sa vraie présentation :</p>

<h3>Hartmut Henkel : Aperçu de LPeg pour les habitués de AWK</h3>

<p>Bon, soyons honnêtes avant que ça commence : je ne sas pas me servi de AWK même
si je vois vaguement ce que c&#8217;est, et j&#8217;ai entendu dire que Lpeg est une
bibliothèque Lua récemment intégrée à LuaTeX, mais rien de plus. Voyons si ça
s&#8217;éclaire.</p>

<p>La présentation commence par une blague (réussie) sur ce que wikipedia renvoie
pour Lpeg : <em>low pressure electric gun</em>. En vrai, PEG signifie <em>parsing
expression grammar</em> et le <em>L</em> est là pour Lua. Il s&#8217;agit de décrire un langage
formel et de récupérer des chaînes dedans correspondant aux différents éléments
de la « phrase ».</p>

<p>Différences entre des regex et Lpeg :
0. Il y a des ancres (<code>^</code>) implicites.
0. On peut construire les motifs LPeg plus facilement.
0. Pas de problèmes de fin de ligne.
0. Pas de problème non plus pour traiter des flux binaires.
0. Grammaire plus puissante.</p>

<p>(Je décroche assez rapidement : la présentation est vraiment adressée aux
habitués de awk. J&#8217;aurais quand même appris quelques truc choses si un jour je
dois utiliser lpeg.)</p>

<h3>Taco : les fichiers sources de ConTeXt MarkIV</h3>

<p>Visite guidée des divers fichiers sources de ConTeXt, à la manière des bus à
impériale qui font le tour de la ville. Le bus avance assez vite, il y a plein
de bâtiments, pas le temps de prendre de photos. Ça semble quand même bien
structuré par quartier : caractères, boîtes, fontes, langues, modules, etc. Les
bâtiments abritent généralement des macros TeX ou des fonctions Lua, plus
rarement les deux peuvent cohabiter. On peut retrouver le plan de la ville dans
le manuel de ConTeXt (ndlr : comme dirait Wikipedia, <em>référence nécessaire</em>, il
y a sans doute plus d&#8217;un manuel&#8230; j&#8217;imagine qu&#8217;on trouvera aussi prochainement
la présentation de Taco sur le <a href="http://meeting.contextgarden.net/2008/">site de la conférence</a>).</p>

<p>Ah, en fait Hans reprend la visite, on va maintenant s&#8217;attarder sur certains
quartiers. On regarde par exemple <code>char-def.lua</code> qui est une grosse table en
Lua associant à chaque caractère certaines propriétés telles que définies par le
standard Unicode (catégorie, direction, nom, version majuscule ou minuscule
(équivalent de <code>\uccode</code> et <code>\lccode</code>)&#8230;).</p>

<p>On change de quartier et on flâne un peu dans <code>core-*</code>, qui gère des choses
comme les inclusions de fichiers, etc. Puis on va voire les <code>font-*</code> : là aussi
il y a des tables gigantesques recensant toutes les propriétés OpenType
connues, ce genre de chose. Il y a une famille nommée <code>l-*</code> qui reprend en gros
les diverses bibliothèques Lua intégrées à LuaTeX et les enveloppe dans des
fonctions qui font par exemple un peu plus de contrôle d&#8217;erreur que les versions
« brutes » fournies par LuaTeX. D&#8217;autres familles ont le contrôle de « régimes »
(les encodages d&#8217;entrée). Il y a aussi un gratte-ciel nommé <code>sort-lan.lua</code>qui
définit comment trier des mots dans différents langages.</p>

<p>(Au passage, j&#8217;observe une ou deux astuces de codage en Lua pour intercepter
proprement certaines erreurs communes et avoir l&#8217;occasion d&#8217;engueuler
l&#8217;utilisateur nous-même (on va pas laisser ce plaisir à l&#8217;interpréteur Lua, non
plus), tout en gardant un code compact et lisible. Tant mieux parce qu&#8217;à part ça
je commence à me perdre dans certains points particuliers à ConTeXt qu&#8217;Hans est
en train de détailler.)</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 5</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-5-2/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-5-2/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 11:03:01 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-4/</guid>
		<description><![CDATA[Deuxième jour de la conférence : le réveil est aussi difficile qu&#8217;hier, et on
commence par les 5 minutes de gloire réglementaires&#8230;

5 minutes de gloire


N&#8217;utilise pas encore ConTeXt, faute de manuel pour l&#8217;apprendre (sous forme de
livre, pas de pdf). C&#8217;est la raison de sa présence ici : apprendre de façon
vivante.
Mathématicien à la base. Utilisateur de ConTeXt, [...]]]></description>
			<content:encoded><![CDATA[<p>Deuxième jour de la conférence : le réveil est aussi difficile qu&#8217;hier, et on
commence par les 5 minutes de gloire réglementaires&#8230;</p>

<h3>5 minutes de gloire</h3>

<ul>
<li>N&#8217;utilise pas encore ConTeXt, faute de manuel pour l&#8217;apprendre (sous forme de
livre, pas de pdf). C&#8217;est la raison de sa présence ici : apprendre de façon
vivante.</li>
<li>Mathématicien à la base. Utilisateur de ConTeXt, et réalisateur de fontes
(Minion Math). Son principal intérêt pour ConTeXt vient de &#8216;intégration de
LuaTeX, plus précisément ses apports au niveau fontes et typo.</li>
</ul>

<p><span id="more-16"></span></p>

<h3>Martin Schröder : bibliothèques pdf et TeX</h3>

<p>(Apparemment la même présentation qu&#8217;à Cork.)</p>

<p>(L&#8217;orateur fait une expérience et demande qui dans l&#8217;audience a déjà ouvert un
pdf dans son éditeur de texte (dézippé) pour voire : une forêt de mains se lève.
Deuxième question : qui a regardé la standard pdf &#8212; déjà moins de mains&#8230;)</p>

<p>(Nldr : actuellement, pdfTeX utilise xpdf pour la plupart de ses
manipulations sur les pdf (inclusion, etc.).) D&#8217;autres biblio sont apparues
récemment, et leurs fans respectifs demandent à l&#8217;équipe pdfTeX pourquoi elle ne
les utilisent pas plutôt.  Exigences pour une bonne biblio pdf : être libre,
activement maintenue, proposer un haut niveau d&#8217;abstraction, permettre
l&#8217;écriture, supporte pdf1.5, les couleurs&#8230;</p>

<p>Actuellement il y a trois moteurs TeX produisant du pdf, sans réelle base de
code commune. pdfTeX mélange xpdf (C++), TeX (WEB-Pascal), et du code en C, avec
XPDF lié statiquement. LuaTeX fait à peu près pareil, sans couche d&#8217;abstraction
claire entre LuaTeX et pdf. XeTeX au contraire sépare deux programme (xdvipdfmx
a réécrit son propre analyseur de pdf).</p>

<p>Xpdf a ses défauts : conçus pour lire au départ (pas écrire), pas conçus comme
une biblio, problème de sécurité&#8230; D&#8217;autres biblio sont :
- poppler : <em>fork</em> de xpdf, actif, mais pas d&#8217;écriture ;
- podofo : très intéressante, C++, ecriture, mais surtout exploration ;
- GNU PDF : belles promesse, rien de publié ou de prêt à sortir ;
- iText : en Java, écriture ;
- MuPDF : dérive de GhostScript, pas très actif ;
- multivalent : lecteur universel en Java, écriture, dernière activité en 2006 ;
- d&#8217;autres&#8230;</p>

<p>En conclusion, il n&#8217;y a pas de solution parfaite maintenant : xpdf vieillit,
poppler semle prêt, podofo, Mupdf et GNU PDF sont le futur.</p>

<h3>Hartmur Henkel : MetaPost pour débutants</h3>

<p>Outil de programmation de graphiques vectoriels, de haute qualité typo (avec un
peu d&#8217;effort) bien copain avec (La)TeX, langage de macros, <em>fun</em> et même Metafun
(avec ConTeXt). Exemple de truc bitmap moche et comparaison avec la version
MetaPost.</p>

<p>Histoire : descendant de MetaFont (version 0 en 1984 par Knuth), MetaPost nait
en 1990, assez peu développé depuis 95, récemment repris avec brio par Taco H.
(bugs corrigés, fonctionnalités, MPlib en LuaTeX, etc.). Le différence entre les
deux est essentiellement le format de sortie : PS (vectoriel) contre GF
(bitmap).</p>

<p>Sources d&#8217;info : manuel de l&#8217;utilisateur, <em>Metafont book</em> (Knuth), le format
plain.mp, le paquet MetaFun et sa doc.</p>

<p>Pour travailler avec, il faut : le programme mpost (toute bonne distro TeX), un
éditeur de texte, lecteur PS ou PDF, papier et crayon pour concevoir et calculer
le dessin. Exemple de document :</p>

<pre><code>prologues := 3;     % sortie EPS
beginfig(1)     % figure numéro 1
draw (0,0)--(3,4);  % commande de dessin
endfig;         % fin de la figure
end         % fin du fichier
</code></pre>

<p>Les commandes ne commencent pas par <code>\</code> et l&#8217;unité par défaut est le point
PostScript.  En ConTeXt, on peut inclure les eps produits par MP directement en
compilant par PDFLatex, grâce à quelques macros magiques qui s&#8217;occupent de tout.</p>

<p>On voir ensuite quelques commande de base, et le concept de développement (et
pas exécution) des boucles for par exemple. Concept pratiques, comme le solveur
d&#8217;équations linéaires. Introduction à la syntaxe bizarre (pour moi) des
variables avec suffixes et de la variable spéciale (!) <code>z</code>. Exemple de chemins,
cycles, etc. (Remarque perso : la syntaxe de TikZ ressemble en effet beaucoup à
celle de MP, concernant les chemins.)</p>

<p>Trucs qui m&#8217;impressionnent : accès un « temps » dans la représentation
paramétrique d&#8217;un chemin (ça a l&#8217;air super, ça), extraction de sous-chemins,
« temps » et points d&#8217;intersection de chemins (ça c&#8217;est encore mieux). Les
définitions <code>vardef</code> de macros et leur utilisation pour automatiser plein de
calculs.</p>

<p>Intégration avec TeX pour le texte des étiquettes, légendes etc. avec <code>etex</code> et
<code>btex</code>. Lent, un peu lourd (fichiers intermédiaires) pour certains trucs. On
comprend l&#8217;intérêt d&#8217;un truc comme MPlib liant étroitement LuaTeX et MP.</p>

<p>Ce qui fournit une transition toute trouvée vers</p>

<h3>Taco : MPlib</h3>

<p>Buts : un composant MetaPost ré-utilisable « <em>reentrant</em> » (?), sans les vieux
bugs, rapide. Problèmes avec la MetaPost actuel : le WEB-Pascal a mal vieillit,
les morceaux de code C restant sont assez indissociable du reste de TeX Live
niveau compilation&#8230; Solution : tout passer en CWEB, ne dépendant que de
<code>ctangle</code> pour compiler, et livrer le résultat sous forme d&#8217;une bibliothèque. Le
programme <code>mpost</code> devient un léger enrobage autour de cette bibliothèque.
Suivent quelques détails techniques sur le style de programmation utilisé.</p>

<p>Taco présente ensuite un exemple de programme C minimal appelant MPlib, ainsi
qu&#8217;un programme Lua minimal l&#8217;utilisant. La structure de données retournée est
intéressante : <code>postscript</code> en est une partie mais pas tout, ça ouvre la voie à
d&#8217;autres types de sortie (théoriquement). Le système horriblement compliqué qui
fait fonctionner <code>btex...etex</code> et <code>TEX()</code> en MP est ré-implémenté sous forme
d&#8217;une sous-bibliothèque : plus simple, plus propre, plus rapide.</p>

<p>Le planning : première bêta 1.100 présentée au TUG&#8217;08, avec tout les outils de
base évoqués ci-dessus. La suite : plus d&#8217;allocation dynamique, étendre les
capacités (limites et précision) (= MegaPost), améliorer les messages d&#8217;erreur
et étendre les API.</p>

<p>Taco finit en remerciant les différents TUG de par le monde qui ont financé le
projet, lui permettant d&#8217;y consacrer un temps suffisant, et en montrant
différents trucs de MP utilisés dans sa présentation, avec les temps de
compilation via pdfTeX+MP ou LuaTeX+MPlib : la différence est impressionnante.</p>

<p>Autre jolie transition&#8230;.</p>

<h3>Hans : intégration de MetaPost dans ConTeXt</h3>

<p>Avec beaucoup d&#8217;exemple et de mesures de performance. Où j&#8217;apprends au passage
que metafun est un format metapost (il y a des formats MP comme il y a des
formats TeX), actuellement le seul utilisable via l&#8217;interface utilisateur (aussi
nommée) metafun de ConTeXt pour MetaPost.</p>

<p>Il y a pas mal d&#8217;explications techniques sur beaucoup d&#8217;aspects qui étaient
problématiques auparavant, et les solutions apportées. Ce qu&#8217;un débutant comme
moi en retient, c&#8217;est que maintenant, ça marche exactement de la façon dont on
veut que ça marche : ça a enfin l&#8217;air raisonnable, il n&#8217;y a plus de <em>hacks</em>
insensés. Le truc est bien intégré et l&#8217;interface utilisateur semble claire
(autant que je puisse en juger).</p>

<h3>Faire un bouquin de 1200 pages sur les langues du monde entier</h3>

<p>Rapport d&#8217;expérience sur la réalisation (en ConTeXt) de ce bouquin (référence ?)
décrivant les quelque 7000 langages référencé, avec des cartes, un index
monstrueux (400 pages), etc. et la création à cet effet du module <em>ethnologue</em>
pour ConTeXt.</p>

<p>On parle de beaucoup de problèmes d&#8217;organisation, comme les répertoires où
mettre les fichiers, le définition du mode « relecture » (très propre en
ConTeXt, il faut le dire), comment lire des fichiers de données aux formats
variés (ça a aussi l&#8217;air facile), l&#8217;index, etc. Le question de l&#8217;encodage et des
fontes n&#8217;est pas abordée : ce n&#8217;était visiblement pas un problème. XeTeX a été
utilisé avec MarkII.</p>

<p>Remarque hors sujet : au milieu de la présentation, des trolls sur langues vs
idiome sont lancés. En général, on apprend pas mal de choses sur les langues,
les systèmes d&#8217;écriture et leurs histoires ici (surtout le soir autour d&#8217;un
verre de whisky breton (on aura tout vu))&#8230;</p>

<p>Une des conclusions est que TeX a une place à prendre par rapport à la
concurrence (sérieuse, genre InDesign ou XPress, pas Word) pour les projets
traitant des gros paquets de données structurées presque en base de données, car
il autorise un traitement automatique programmé très efficace dans ce contexte.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-5-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 4</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-4-2/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-4-2/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 20:40:04 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-4-2/</guid>
		<description><![CDATA[Taco : le module bib

Présentation du module bib de ConTeXt, qui gère la biblio. Ça a l&#8217;air très
configurable, bien conçu à divers niveaux (les données, leur présentation, les
styles de citation, &#8230;), intégrant les réponses aux problèmes courants de
bibliographie, et ça rappelle assez biblatex. 

Je suis un peu déçu
de voir que l&#8217;appel à bibtex n&#8217;est pas [...]]]></description>
			<content:encoded><![CDATA[<h3>Taco : le module bib</h3>

<p>Présentation du module <em>bib</em> de ConTeXt, qui gère la biblio. Ça a l&#8217;air très
configurable, bien conçu à divers niveaux (les données, leur présentation, les
styles de citation, &#8230;), intégrant les réponses aux problèmes courants de
bibliographie, et ça rappelle assez <em>biblatex</em>. 
<span id="more-15"></span>
Je suis un peu déçu
de voir que l&#8217;appel à <code>bibtex</code> n&#8217;est pas géré automatiquement par <code>texexec</code>.</p>

<p>(Présentation très courte pour cause de retard dans l&#8217;emploi du temps, on
enchaîne sur le dîner.)</p>

<h3>Tuto sur le module <em>taspresent</em></h3>

<p>Démo interactive. Pas de notes.</p>

<p>Une remarque intéressante, qui vient quand l&#8217;auteur fait une démo d&#8217;intégration
d&#8217;image avec des dessins dessus pour pointer des éléments. Il dit qu&#8217;il calcule
les coordonnées du matériel à ajouter par essai-erreur. Hans Hagen fait
remarquer qu&#8217;un méthode moins primitive consiste à dessiner d&#8217;abord un
quadrillage en surimpression, puis à lire bravement les coordonnées. Votre
serviteur n&#8217;y aurait pas pensé (bien que ça paraisse si évident dès qu&#8217;on la
dit).</p>

<p>Note amusante : on a un exemple de « bug » de MPlib : en tout cas, un truc qui
ne marche pas pareil qu&#8217;avec MetaPost.</p>

<h3>Hans : XML en MarkIV</h3>

<p>Commence par commenter un peu le code de a présentation « TeX et LuaTeX » à
TUG&#8217;08 (voir la vidéo pour comprendre le côté fun de cette présentation).</p>

<p>Fait ensuite une démo de MarkIV comme **serveur oueb*** (sérieux). Bon, pas un
super, mais quand même. (Ça utilise la bibliothèque luasocket récemment incluse
dans LuaTeX, nldr.) Il utilise une <abbr title="Document Type Definition">DTD</abbr> particulière pour la page.</p>

<p>Ensuite on voit MarkIV compiler directement un document XML. On voit le code,
qui est relativement clair et consiste à décrire comment on veut mettre en forme
les différentes balises XML. Il y a plein de fonctionnalités qui ont l&#8217;air
sympa, mais je n&#8217;apprécie pas tout faute d&#8217;habitude de ce genre de questions.</p>

<p>Exemple marrant : Hans a une base de données de sa discothèque en XML, et peut
facilement en extraire une notice et la mettre en forme avec dix lignes plutôt
explicites de code MarkIV (et/ou faire coupler ça avec un recherche par artiste,
etc.).</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 3</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-3/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-3/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 16:00:40 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-3/</guid>
		<description><![CDATA[5 minutes de gloire

Non utilisateur (encore) de ConTeXt. Espère régler avec ConTeXt des problèmes
rencontrés en LaTeX (utilisé depuis 10 ans). Trouve TeX bizarre en tant que
langage de programmation, espère en Lua.



Norbert Preining : l&#8217;installateur TeX Live 2008

Non utilisateur, quoique que mainteneur sur Debian&#8230;

Pas de présentation structurée, mais une jolie présentation interactive. Tout
se passe bien, ce [...]]]></description>
			<content:encoded><![CDATA[<h3>5 minutes de gloire</h3>

<p>Non utilisateur (encore) de ConTeXt. Espère régler avec ConTeXt des problèmes
rencontrés en LaTeX (utilisé depuis 10 ans). Trouve TeX bizarre en tant que
langage de programmation, espère en Lua.</p>

<p><span id="more-13"></span></p>

<h3>Norbert Preining : l&#8217;installateur TeX Live 2008</h3>

<p>Non utilisateur, quoique que mainteneur sur Debian&#8230;</p>

<p>Pas de présentation structurée, mais une jolie présentation interactive. Tout
se passe bien, ce qui est rassurant à quelques jours de la sortie de TeX Live.
Pas trop de notes, car je mets au propre mes notes d&#8217;hier et ce matin, et que je
ferai de toutes façon vraisemblablement un billet séparé sur TeX Live 2008
prochainement.</p>

<h3>Tutoriel ConTeXt</h3>

<h4>Sources d&#8217;info</h4>

<dl>
<dt>Générales</dt>
<dd>- <a href="http://www.pragma-ade.com/show-man-1.htm">http://www.pragma-ade.com/show-man-1.htm</a> (attention, plusieurs
pages)
- <a href="http://wiki.contextgarden.net/Main_Page">http://wiki.contextgarden.net/Main_Page</a>
- <a href="http://texshow.contextgarden.net">http://texshow.contextgarden.net</a></dd>

<dt>Modules</dt>
<dd>http://groups.foundry.supelec.fr/modules</dd>
</dl>

<h4>Installation</h4>

<p>Cf les séances de ce matin : COnTeXt minimals, TeXLive (mais MkIV à finir de
configurer manuellement, <a href="http://wiki.contextgarden.net/Running_Mark_IV">une page</a> y est consacrée sur le wiki ConTeXt).
Conseils divers sur comment régler son environnement pour les minimals, que je
ne reproduis pas (je trouve que les minimals mériteraient une meilleure
installation et cohabotation, cf la conf de ce matin sur l&#8217;installateur Mac.)</p>

<p>Pour tester son installation, le fichier minimal est :</p>


<div class="wp_syntax"><div class="code"><pre class="tex" style="font-family:monospace;">\starttext
Hello, World!
\stoptext</pre></div></div>


<p>On le lance avec au choix <code>context hello</code> (MkIV, LuaTeX), ou <code>texexex -xtx
hello</code> (XeTeX), etc. Ça doit produire un pdf. Pour les vrais documents, des
éditeurs recommandes sont les classiques, plus Scite, (Windows/Linux) pour
lequel un mode ConTeXt très bien fait semble exister.</p>

<h4>Les bases</h4>


<div class="wp_syntax"><div class="code"><pre class="tex" style="font-family:monospace;">\enableregime[utf8] % encodage (inutile pour MkIV, qui utilise utf8 par défaut)
%\enableregime[windows}
\mainlanguage[de] % prend soin des césures mais pas de la miseen page
\starttext
...
\stoptext</pre></div></div>


<p>Valeurs par défaut :
- papier A4 (réglable dans tlmgr sous TeX LIve 2008, ndlr) ;
- marges latérales 30mm, verticales 25mm, en-tête et pied de page 20mm ;
- utiliser <code>\showlayout</code> pour le voir.</p>

<p>ConTeXt cherche les fichiers dans le répertoire courant, et dans le répertoire
parent. On peut régler l&#8217;emplacement des figures avec
<code>\setupexternalfigures[directory=~/path/to/figures]</code>. On inclut des fichiers
avec <code>input fichier</code> (sans accolades).</p>

<p>La commande <code>\frame</code> et l&#8217;environnement <code>framedtext</code> est un bon exemple des
possibilités de configuration de ConTeXt. (Ndlr : l&#8217;environnement est très
pratique pour encadrer du texte verbatim sans effort, alors que c&#8217;est douloureux
et manuel en LaTeX.)</p>


<div class="wp_syntax"><div class="code"><pre class="tex" style="font-family:monospace;">\framed[width=.5\textwidth, offset=15pt, frame=on]{Welcome to Bohinj!}</pre></div></div>


<p>Les volontaires se voient remettre un livret d&#8217;exercices imprimé pour
poursuivre&#8230; Pause café d&#8217;abord pour que tout le monde finisse de configurer
une installation potable.</p>

<h4>Aller un peu plus loin</h4>

<p>Les thèmes abordés incluent : modèle de page (<code>\showlayout</code> ou <code>\ShowLayout</code> du
module <em>layout</em> (plus visuel)) et réglage des dimensions (<code>\setuplayout</code>),
taille du papier (<code>\setuppapersize</code> et éventuellement <code>\definepapersize</code>), page
spéciale (de titre, colophon, etc.) avec <code>\startstandardmakeup</code>et
<code>\setupmakeup</code>.</p>

<dl>
<dt>La commande/environnement <code>\frame</code> : c&#8217;est un ingrédient de base pour beaucoup</dt>
<dt>de chose et pas seulement pour encadrer. Repris par beaucoup d&#8217;environnement,</dt>
<dt>donc ses options sont souvent disponibles pour d&#8217;autres environnements. Conseil</dt>
<dd>regarder les exemples la plupart des noms d&#8217;options parlent d&#8217;eux-même. Voire
aussi <code>\setupframedtexts</code>, <code>\defineframed</code>, avec une notion d&#8217;héritage. Comme
<code>frame</code> n&#8217;autorise pas les coupures de pages, voire aussi <code>textbackgrounds</code> qui
y ressemble mais les autorise (sous certaines conditions)</dd>
</dl>

<p>Suggestion d&#8217;exercice : prendre les exemples de pages de titre sur la
<a href="http://zoonek.free.fr/LaTeX/">page LaTeX</a> de Vincent Zoonekynd et essayer de les reproduire.</p>

<h4>Structure du document</h4>

<p>Commandes de structure prédéfinies :
- <code>\chapter</code> = <code>\title</code>
- <code>\section</code> = <code>\subject</code>
- <code>\subsection</code> = <code>\subsubject</code>
- <code>\susubbsection</code> = <code>\susubbsubject</code>
Configurées avec <code>\setupheads</code> (numérotation, espace autour, matériel autour,
alignement, coupures, mise en forme avec une commande perso) pour tous d&#8217;un
coup, ou <code>\setuphead[niveau]</code> individuellement. Possibilité de définir ses
niveaux de titre avec <code>\definehead</code>.</p>

<p>Pour les gros documents :
- <code>\startfrontmatter</code> &#8230; <code>\stopfrontmatter</code> 
- <code>\startbodymatter</code> &#8230; <code>\stopbodymatter</code> 
- <code>\startbackmatter</code> &#8230; <code>\stopbackmatter</code> 
- <code>\startappendices</code> &#8230; <code>\stopappendices</code>
Personnalisés avec <code>\setupsectionblocks</code> globalement, ou <code>\setupsectionblosk</code>
individuellement. On peut aussi en définir avec&#8230; (faux suspense&#8230;.)
<code>\definesectionblock</code> (sans rire).</p>

<p>&#91;Ici il y a des trucs avec des <code>\v!</code>et <code>\c!</code>que je ne comprends pas trop.&#93;</p>

<p>Je ne note pas la suite, pourtant tout aussi intéressante, car je suis trop
fatigué pour noter et écouter en même temps&#8230; Le tout donne l&#8217;impression d&#8217;une
interface très cohérente, à la syntaxe naturelle, et suffisamment puissante pour
tout configurer avec autant de souplesse sinon plus que n&#8217;en fournissent les
extensions LaTeX classiques <em>titlesec</em>, <em>fancyhdr</em>, <em>geometry</em>, <em>enumitem</em>,
etc. (À la pause café, quelqu&#8217;un faisait remarquer que le classe <em>memoir</em> se
rapproche pas mal de ConTeXt en ce qu&#8217;elle inclut les extensions nécessaires
pour configurer un minimum).</p>

<p>Bref, un tuto qui donne envie (et il y avait du matériel pour bien plus que 3h,
on est inondés d&#8217;informations). La partie 2 a lieu dimanche.</p>

<p>Je suis un peu perdu sur le programme, j&#8217;arrête donc ce billet ici en attendant
de voir, on part donc sur un rythme de trois billets par jours : chers lecteurs,
accrochez-vous !</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontre ConTeXt 2008, partie 2</title>
		<link>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-2/</link>
		<comments>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-2/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 12:34:16 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-2/</guid>
		<description><![CDATA[Première vraie journée de travail&#8230;

Un concept sympa inventé par Mojca : tous les participants au meeting qui ne
font pas déjà une présentation on droit à « 5 minutes de gloire » où ils se
présentent et expliquent pourquoi et pour quoi ils utilisent (ou pas ConTeXt),
éventuellement ce qu&#8217;ils font dans la vie, etc. Le but est [...]]]></description>
			<content:encoded><![CDATA[<p>Première vraie journée de travail&#8230;</p>

<p>Un concept sympa inventé par Mojca : tous les participants au meeting qui ne
font pas déjà une présentation on droit à « 5 minutes de gloire » où ils se
présentent et expliquent pourquoi et pour quoi ils utilisent (ou pas ConTeXt),
éventuellement ce qu&#8217;ils font dans la vie, etc. Le but est évident d&#8217;aider les
participants à faire connaissance.</p>

<p><span id="more-12"></span></p>

<h3>Début 9h : 2 x 5 minutes de gloire</h3>

<ul>
<li>maths (LaTeX), conTeXt pas possible avec les journaux. Guide en polonais </li>
<li>débutants, curieux (étudiants en info (?))</li>
</ul>

<h3>M. Schröder : 5 ans de pdfTeX : les leçons</h3>

<p>N&#8217;utilise pas ConTeXt.</p>

<h4>Intro</h4>

<p>Était mainteneur de pdfTeX de 2003 à 2005. Conseils aux dév. Open Source :
soyez pros, amusez-vous, publiez des versions tôt et souvents.</p>

<h4>Admin</h4>

<p>Choisissez une bonne licence, même si ça vous paraît ennuyeux (GPL, BSD, LPPL).
Ayez un bon site web, tenez-le à jour. Ayez un dépôt VCS (public si possible)
(existence de services publics : TUG, sf, etc.). Ayez un système de &laquo;&nbsp;tracking&nbsp;&raquo;
des bugs, mais faites attention à ne pas être bloqué sur un programme
particulier. Ayez une mailing list, avec les messages de comit publiés dessus
(plus tard, liste de dev + liste utilisateurs).</p>

<p>Hygiène du code : licence, compil nickel, style de codage (cf GNU, OpenBSD)
(programme indent) portabilité, identification des binaires. Documentation : la tenir à jour, inc. installation etc. Annonces correctes.</p>

<h4>Aspect sociaux</h4>

<p>Motivations des membres ? Modèle : gentil dictateur, méritocratie, démocratie ?
Ayez un but clair et maintenez une feuille de route.  Décidez de règles de
résultion des conflits (même si vous les croyez inutiles).  Construisez un
esprit d&#8217;équipe. Essayez de vous rencontrer en vrai.</p>

<h4>Relations publiques</h4>

<p>Le <em>site web</em> ! Blog ? Fréquenter les listes, blogs et forums liés. Utiliser
freshmeat et wikipedia.</p>

<h4>Questions</h4>

<p>Comment adapter aux petits projet ? Ex des rencontres : on peut se rencontrer à
un meeting plus gros et en profiter pour boire une bière tous ensemble.</p>

<h3>Taco : LuaTeX</h3>

<p>Pas utilisateur&#8230;</p>

<p>Ingrédients : Lua 5.1, biblio lua, morceux de fontforge, xdvipdfmx, TeX,
pdfTeX, Aleph (Omega), code C ; des bugs.</p>

<h4>L&#8217;année dernière.</h4>

<p>Première bêta (0.10). Extensions de TeX (attributs),
Unicode, système de fontes (OTF), blblios lua, <code>\directlua</code>, interpréteur
texlua, &laquo;&nbsp;callbacks&nbsp;&raquo;.</p>

<p>Les &laquo;&nbsp;callbacks&nbsp;&raquo; : des &laquo;&nbsp;hooks&nbsp;&raquo; dans le fonctionnement interne de TeX, exécutant
la fonction Lua de votre choix. Étendent ou remplace des fonctions internes de
TeX.</p>

<h4>Cette année : 0.29</h4>

<p>Extensions de fontesi (formats AAT et ttc, &laquo;&nbsp;subsetting&nbsp;&raquo;, type1 + unicode,
recherche PDF, images dans lesfontes virtuelles), refait la césure
(<code>\discretionary</code> autorisé dans <code>\hyphenation</code>, chargement dynamique (plus
besoin de initex), etc.), extensions lua (MPlib, os étendu, img, luasocket
(réseau), texluac), version dans TeX Live (0.25.4).</p>

<h4>Futur</h4>

<p>Moteur de maths, interface Lua à toutes les fonctions typo, allocation mémoire
dynamique, lua->pdf direct, luatexlib (?).</p>

<h4>Liens</h4>

<p>Site : www.luatex.org
Tracker : tracker.luatex.org</p>

<h4>Questions</h4>

<ul>
<li>possibilité de générer autre chose que du pdf ? À terme, peut-être, mais pas dans l&#8217;immédiat (meilleure séparation du &laquo;&nbsp;back-end&nbsp;&raquo;).</li>
<li>utilisateur ? Actuellement, juste ConTeXt MkIV.</li>
</ul>

<h3>Arthur : TeX et Unicode</h3>

<p>Utilisateur de ConTeXt. (Même conf qu&#8217;au TUG.)</p>

<p>Lire de l&#8217;utf-8 et supporter Unicode, c&#8217;est pas pareil ! Déjà en interne il y
que 16 bits (=BMP), et surtout il y a les propriétés des caractères et leurs
relations, qui manquent encore.</p>

<p>Caractères combinants. Comme les accents de TeX : <code>\'e</code> = <code>é</code> mais dans l&#8217;autre
sens (caractère+accent) et sans commandes TeX. Il ya donc plusieurs façons
d&#8217;écrire un même caractère (parfois). Notion d&#8217;équivalence canonique, mais
problème de normalisation. Deux formes normales : totalement décomposée,
totalement composée. (Pas mal d&#8217;exemples et de démos, pas notés&#8230;)</p>

<p>Pour en revenir à TeX, pour qu&#8217;il soit réellement compatible Unicode, il faut
qu&#8217;il traite de façon équivalente les représentations équivalentes d&#8217;un même
caractère : actuellement, ce n&#8217;est pas la cas. Ça compte pour le rendu, mais
aussi pour les motifs de césures. LuaTeX a une nouveau moteur de césure qui gère
ça d&#8217;une façon. Une solution adoptée dans XeTeX consiste à tout normaliser
avant, mais ça pose des problèmes (bugs (?) dans Unicode, problèmes de fontes).</p>

<h3>Pause café (10h45-11h15)</h3>

<p>Après la pose, c&#8217;est la demie-matinée des installateurs.</p>

<h3>Mojca : ConTeXt minimals</h3>

<p>Utilisatrice de ConTeXt, prétend ne pas savoir utiliser LaTeX. Une des
personnalités les plus enthousiastes et entraînantes du monde ConTeXt
(organisatrice de la conf ici, responsable de ma présence à BachoTeX, etc.)
(Même conf qu&#8217;à BachoTeX.)</p>

<p>Spécificités de ConTeXt : mises à jour très fréquentes, besoin de retour
utilisateur rapide (et le contraire  fonctionnalités demandées et intégrées très
rapidement). Dépend des toutes dernières version des fontes (lm, TeX Gyre) et
binaires (LuaTeX).</p>

<p>Distro existantes : MikTeX, TeX Live, W32TeX : très orientées LaTeX et rythme
de màj inadapté. Distro ConTeXt existante : que des zip, installation et mise à
jour pénible (compatibilité, génération des formats, etc.), essentiellement
ré-installer à chaque mise à jour.</p>

<p>Maintenant les minimals : basés sur rsync, peu de trafic. Modulaire. Pas
d&#8217;installation nécessaire : tout placer dans un coin et lancer le script qui
gère les variables d&#8217;environnement et ça marche (dans le shell courant, ndlr).
Contenu : pdfTeX, XeTeX et LuaTeX toute dernière version. Fichiers de base mais
rien en rapport avec LaTeX. Fontes de base, dernières version (et pas de cm et
autres). ConTeXt, dernière version stable, versions beta et alpha (facile à
sélectionner sur la ligne de commande ou par défaut). Modules du <em>garden</em>
ConTeXt, TikZ version svn. Support technique (rsync, etc).  Supporte toutes les
plateformes courantes (Win, Linux, BSD, 64bits, Unix variés).</p>

<p>Installation : une démo (qui marche !)&#8230; (Assortie de commentaire blessants sur
l&#8217;obsolescence des fontes type 1, des tfm et de pdfTeX, au moment où elle évoque
la possibilité de n&#8217;installer que LuaTeX + XeTeX, sans toutes les
&laquo;&nbsp;vieilleries&nbsp;&raquo;&#8230; (ndlr)) Après install, sourcer (pas éxécuter) setuptex pour
régler les variables d&#8217;environnement (de façon non permanente, je le répète).
Utilisation : commande <code>context</code> pour MkIV, <code>texexec</code> pour MkII.</p>

<h4>Questions</h4>

<p>Tournent surtout autour des problèmes de conf, avec le fichier à sourcer et
toutes les variables d&#8217;environnement. Aussi, structure un peu particulière, pas
totalement TDS-compatible. Scripts shells pas très portables (?).</p>

<h3>ConTeXt minimals pour windows</h3>

<p>Problèmes précedemment évoqués des minimals : variables d&#8217;environnement à régler
shell par shell, lancer conTeXt depuis un programme externe : la galère.</p>

<p>Solution choisie : régler l&#8217;environnement dans la base de registre, tout
dépendant du PATH. Un premier &laquo;&nbsp;installateur&nbsp;&raquo; écrit en pascal : pas suffisant
pour convaincre les utilisateurs normaux. Actuellement &laquo;&nbsp;vrai&nbsp;&raquo; installateur
windows basé sur Inno Setup. Inclus juste la base (rsync) pour télécharger le
reste. Démo : ça a une bonne tête.</p>

<h3>ConTeXt minimals pour Mac OS X</h3>

<p>Même remarque de départ : besoin d&#8217;être un <em>power-user</em> pour installer, pas
normal. Autre besoin : basculer facilement entre différences installations
(TeX Live variées, ConTeXt minimals, etc) au niveau de tout le système. But :
fournir une distro ConTeXt de référence pour le Mac.</p>

<p>Demande : Mac OS X 10.4 ou plus, pour le moment juste basé sur Intel. Démo
installateur : ça marche et ça a une bonne tête. (Remarque en passant : c&#8217;est
encore au stade de bêta non publique, mais ça pourrait être publier
prochainement sur le site des minimals.)</p>

<p>Démo du sélecteur de TeX : c&#8217;est aussi <em>user-friendly</em> qu&#8217;on peut le souhaiter,
et ça marche. Ça autorise en particulier à avoir plein de bêta différentes de
ConTeXt.</p>

<p>Problèmes rencontrés : bugs dans les outils développeur Apple, ancien mécanisme
de conf de LuaTeX, manque de système de contrôle de version pour les source
de ConTeXt.</p>

<p>Buts futurs : publication, binaires universels, options d&#8217;install (avec ou sans
tel module, fonte, etc.)</p>

<h3>13h : repas</h3>

<p>Il y aurait du avoir un mini truc sur TeX Live 2008, par Norbert, mais c&#8217;est
annulé ou reporté pour cause de retard : le repas n&#8217;attend pas.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/rencontre-context-2008-partie-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Deuxième rencontre ConTeXt, partie 1</title>
		<link>http://weblog.elzevir.fr/2008/08/deuxieme-rencontre-context-partie-1/</link>
		<comments>http://weblog.elzevir.fr/2008/08/deuxieme-rencontre-context-partie-1/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 12:20:06 +0000</pubDate>
		<dc:creator>mpg</dc:creator>
				<category><![CDATA[TeX et compagnie]]></category>
		<category><![CDATA[context]]></category>

		<guid isPermaLink="false">http://weblog.elzevir.fr/2008/08/deuxieme-rencontre-context-partie-1/</guid>
		<description><![CDATA[Ce billet inaugure une série « notes et impressions de la deuxième recontre
internationale des utilisateurs (et non-utilisateurs) de ConTeXt », en direct ou
léger différé, de votre envoyé spécial à Bohinj, Slovénie.



Disclaimer : Les notes de conférences sont prises relativement en vrac, selon
mon intérêt et mon état intellectuel du moment. Ne pas les considérer comme des
notes [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet inaugure une série « notes et impressions de la deuxième recontre
internationale des utilisateurs (et non-utilisateurs) de ConTeXt », en direct ou
léger différé, de votre envoyé spécial à Bohinj, Slovénie.</p>

<p><span id="more-11"></span></p>

<p><em>Disclaimer</em> : Les notes de conférences sont prises relativement en vrac, selon
mon intérêt et mon état intellectuel du moment. Ne pas les considérer comme des
notes sérieuses et fiables, elles sont surtout là pour donner une idée de ce qui
s&#8217;est dit, et éventuellement donner envie de lire des notes plus sérieuses sur
le sujet.</p>

<p>Les conférences ont l&#8217;air d&#8217;être enregistrées. Des <em>proceedings</em> nous ont été
distribués et seront probablement mis en ligne, ainsi que les supports de
présentation utilisés. Il est probable que dans les jours suivant la conférence,
j&#8217;édite tous les billets de la série pour rajouter les liens appropriés.</p>

<p>Il en va de même pour les photos que je prends : je le mettrai en ligne en
rentrant, et selon ma motivation j&#8217;insérerais a posteriori des liens vers les
photos intéressantes dans les billets.</p>

<h3>Le lieu</h3>

<p>Le cadre est assez idyllique : <a href="http://maps.google.fr/maps?q=bohinj&amp;f=q&amp;hl=fr&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;ie=UTF8&amp;ll=46.323223,13.952637&amp;spn=0.464706,0.738831&amp;t=p&amp;z=10">Bohinj</a> est une petit village (dont nous
sommes d&#8217;ailleurs un peu à l&#8217;écart) dans les Alpes, près d&#8217;un lac et dans les
montagnes. Le programme de la rencontre comporte d&#8217;ailleurs baignade, randonnée,
cours d&#8217;escalade&#8230;.</p>

<p>Nous sommes logés dans ce qui semble être un centre de vacances, il y a en tout
cas une colonie d&#8217;enfants avec nous, qui nous observent parfois un peu comme
s&#8217;ils étaient au zoo, et font aussi parfois du bruit pendant les conférences&#8230;
Grosso modo c&#8217;est quand même très bien : la nourriture est correcte (la présence
de végétariens est prise en compte), il y a un accès wi-fi avec un
débit suffisant pour être partagé entre une trentaine de <em>geeks</em> sans devenir
trop frustrant.</p>

<h3>Les personnes</h3>

<p>Il est amusant de noter qu&#8217;une proportion non négligeable des personnes
présentes n&#8217;utilise pas (encore) LaTeX. Nous sommes en tout une trentaine,
venant de tous les coins de l&#8217;Europe, avec une prédominance Allemande, trois
français inscrits et deux présents (votre serviteur et Arthur Reutenauer,
actuellement président de [GUTenbeg][]).</p>

<p>Les âges sont variés, mais tout le monde est assez <em>geek</em> (pendant les
conférences, en moyenne 28 claviers crépitent doucement, sur 30 personnes
présentes dont l&#8217;orateur&#8230; La consommation de bière (peut-être gratuite, selon
l&#8217;état des finances des organisateurs à la fin du meeting) n&#8217;est pas
négligeable. On observe une majorité d&#8217;utilisateur de Linux, beaucoup de
Macqueux, à peu près aucun Windows.</p>

<h3>Le programme</h3>

<p>L&#8217;organisation est plutôt bien faite quoiqu&#8217;assez « familiale » avec un petit
côté « dernière minute » qui n&#8217;est pas pour me déplaire. Les conférences
démarrent à 9h et sont étalées tout au long de la journée, jusqu&#8217;en soirée,
mais avec des pauses détente. Un covoiturage efficace a permit à la plupart des
participants d&#8217;éviter d&#8217;avoir à prendre le bus depuis leur gare ou aéroport
d&#8217;arrivée. Pour l&#8217;instant tout se passe très bien.</p>

<p>Le soir de l&#8217;arrivée, un <em>talk</em> était prévu, sans orateur déterminé. Arthur R.
s&#8217;est proposé pour faire sa présentation sur les nouveaux motifs de césure en
UTF-8 produits récemment par Mojca et lui. Il s&#8217;agit de la même présentation
qu&#8217;il a effectuée il y a un mois à Cork. Pas de notes, car je me battais avec le
non-driver linux de ma carte wifi, et que je pense avoir des notes de Cork (que
je mettrai peut-être en ligne un de ces jours).</p>

<p>On passe ensuite la soirée à discuter, geeker et boire de la bière, jusqu&#8217;à une
heure assez avancée pour la plupart. Cette conférence débute très agréablement,
mais je n&#8217;espère pas en rentrer reposé&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.elzevir.fr/2008/08/deuxieme-rencontre-context-partie-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
