commit 49bba32a14389235536b59a086244362d4f5e1c6 Author: François Poulain Date: Sat May 16 14:53:30 2020 +0200 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..27f701e --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +guide.pdf +guide_libre_asso.* +teaser.pdf +version_html/ +version_epub/ + +*.aux +*.ilg +*.log +*.lof +*.lot +*.nlo +*.nls +*.out +*.toc +*.tns +*.nav +*.snm +*.old +*.blg +*.bbl +*.haux +*.htoc diff --git a/20120601-guide-libre-association-version-pour-imprimeur.pdf b/20120601-guide-libre-association-version-pour-imprimeur.pdf new file mode 100644 index 0000000..4388f65 Binary files /dev/null and b/20120601-guide-libre-association-version-pour-imprimeur.pdf differ diff --git a/20120601-guide-libre-association.pdf b/20120601-guide-libre-association.pdf new file mode 100644 index 0000000..7670904 Binary files /dev/null and b/20120601-guide-libre-association.pdf differ diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..b8f5cf6 --- /dev/null +++ b/COPYING @@ -0,0 +1,15 @@ +Vous êtes encouragés à utiliser, copier, diffuser et modifier ce document selon +les termes d'au moins une des licences suivantes : + +- licence Art libre 1.3 ou ultérieure (http://artlibre.org/licence/lal) ; +- licence Creative Commons By Sa 2.0 ou ultérieure (http://creativecommons.org/licenses/by-sa/2.0/fr/legalcode) ; +- licence GNU Free Documentation License 1.3 ou ultérieure (http://www.gnu.org/licenses/fdl.html). + +L'étendue des permissions offertes par ces licences ne concerne pas les logos +qui restent la propriété de leurs détenteurs respectifs, ni les médias externes +utilisés pour composer cette œuvre. + +La liste de ces éléments est précisée dans l'archive contenant les sources de +cette œuvre. Une copie des licences y est également incluse. + +Les marques citées appartiennent à leurs détenteurs respectifs. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ed733f1 --- /dev/null +++ b/Makefile @@ -0,0 +1,52 @@ +#all: guide.pdf teaser.pdf guide.html +#all: index.xhtml +all: guide.pdf + +EXT = aux ilg log lof lot nlo nls out toc tns nav snm old blg bbl haux htoc + +TEMP=$(foreach ext,$(EXT), guide.$(ext) teaser.$(ext)) + +PDFTEX = pdflatex -interaction nonstopmode +NEED_RERUN = '(There were undefined references|Rerun (me )?to get (cross-references|the bars) right)|((Reference|Citation).*undefined)|(Label.*multiply defined)' + +all : ${PDF} +guide_libre_asso.wiki: + wget "http://wiki.april.org/index.php?title=Guide_Libre_Association_complet&action=raw" -O $@ + +guide_libre_asso.tex: guide_libre_asso.wiki + sed -f tools/wiki2tex.sed $< > $@ + sed -i $@ -e 's/.png//g' + vim -c '%s/^\(\s*\*.*\)\n\(\s*[^*]\|\n\)/\1\r\\end{itemize}\r\2/g' -c '%s/^\(\s*[^*].*\|\)\n\s*\*/\1\r\\begin{itemize}\r*/g' -c '%s/^\s*\*/\\item/' -c ':x' $@ + +guide.pdf: guide.tex guide_libre_asso.tex lolipop.cls + ${PDFTEX} $< + if egrep -q $(NEED_RERUN) $(subst tex,log,$<) ; then ${PDFTEX} $< ; fi + +teaser.pdf: teaser.tex guide.pdf + ${PDFTEX} $< + +version_html/tmp/guide.html: guide.tex guide_libre_asso.tex lolipop.hva + cd version_html/tmp &&\ + hevea -I ../../ $< 2> guide.log &&\ + if egrep -q $(NEED_RERUN) guide.log ; then hevea -I ../../ $< 2> guide.log; fi + +version_html/tmp/index.html: version_html/tmp/guide.html + cd $(dir $<) && hacha -nolinks $(notdir $<) + +version_html/tmp/index.xhtml: version_html/tmp/index.html + cd $(dir $<) &&\ + (tidy -c -e -utf8 --output-xhtml 1 --fix-uri 1 $(notdir $<) > $(notdir $@) || test -f $(notdir $@)) &&\ + (for file in guide*.html; do tidy -utf8 --output-xhtml 1 $$file > `basename $$file html`xhtml; done || /bin/true) &&\ + (tidy -utf8 --output-xhtml 1 index.html > index.xhtml || test -f index.xhtml) &&\ + sed -i -e 's/guide\([0-9]*\)\.html/guide\1.xhtml/g' *.xhtml + +version_html/guide.html: version_html/tmp/index.xhtml $(wildcard version_html/tmp/*.xhtml) + cd tools/xslt/ && ./xslt-html.sh + +clean: + rm -fv $(TEMP) version_html/tmp/* + +mrproper: clean + rm -fv guide.pdf guide_libre_asso.* teaser.pdf version_html/guide.html + +distclean: mrproper diff --git a/README b/README new file mode 100644 index 0000000..fd2d470 --- /dev/null +++ b/README @@ -0,0 +1,15 @@ +== Guide libre association == + +=== Pour construire le guide, version pdf === + +La procédure est faite sur une Debian Wheezy, avec une distribution LaTeX +installée, ainsi que les build-essential. + +- Dans un terminal, tapez "make". + +=== Pour construire le guide, version html === + +La procédure est faite sur une Debian Wheezy, avec une distribution LaTeX +installée, ainsi que les build-essential, hevea et xsltproc. + +- Dans un terminal, tapez "make version_html/index.html". diff --git a/cc-by-sa.txt b/cc-by-sa.txt new file mode 100644 index 0000000..f07c67d --- /dev/null +++ b/cc-by-sa.txt @@ -0,0 +1,133 @@ + Creative Commons + + Creative Commons Legal Code + + Paternité - Partage Des Conditions Initiales A l'Identique 2.0 + Creative Commons n'est pas un cabinet d'avocats et ne fournit pas de services de conseil juridique. La distribution de la présente version de ce contrat ne crée aucune relation juridique entre + les parties au contrat présenté ci-après et Creative Commons. Creative Commons fournit cette offre de contrat-type en l'état, à seule fin d'information. Creative Commons ne saurait être tenu + responsable des éventuels préjudices résultant du contenu ou de l'utilisation de ce contrat. + + Contrat + + L'Oeuvre (telle que définie ci-dessous) est mise à disposition selon les termes du présent contrat appelé Contrat Public Creative Commons (dénommé ici « CPCC » ou « Contrat »). L'Oeuvre est + protégée par le droit de la propriété littéraire et artistique (droit d'auteur, droits voisins, droits des producteurs de bases de données) ou toute autre loi applicable. Toute utilisation de + l'Oeuvre autrement qu'explicitement autorisée selon ce Contrat ou le droit applicable est interdite. + L'exercice sur l'Oeuvre de tout droit proposé par le présent contrat vaut acceptation de celui-ci. Selon les termes et les obligations du présent contrat, la partie Offrante propose à la + partie Acceptante l'exercice de certains droits présentés ci-après, et l'Acceptant en approuve les termes et conditions d'utilisation. + + 1. Définitions + a. « Oeuvre » : oeuvre de l'esprit protégeable par le droit de la propriété littéraire et artistique ou toute loi applicable et qui est mise à disposition selon les termes du présent Contrat. + b. « Oeuvre dite Collective » : une oeuvre dans laquelle l'oeuvre, dans sa forme intégrale et non modifiée, est assemblée en un ensemble collectif avec d'autres contributions qui constituent + en elles-mêmes des oeuvres séparées et indépendantes. Constituent notamment des Oeuvres dites Collectives les publications périodiques, les anthologies ou les encyclopédies. Aux termes de + la présente autorisation, une oeuvre qui constitue une Oeuvre dite Collective ne sera pas considérée comme une Oeuvre dite Dérivée (telle que définie ci-après). + c. « Oeuvre dite Dérivée » : une oeuvre créée soit à partir de l'Oeuvre seule, soit à partir de l'Oeuvre et d'autres oeuvres préexistantes. Constituent notamment des Oeuvres dites Dérivées + les traductions, les arrangements musicaux, les adaptations théâtrales, littéraires ou cinématographiques, les enregistrements sonores, les reproductions par un art ou un procédé + quelconque, les résumés, ou toute autre forme sous laquelle l'Oeuvre puisse être remaniée, modifiée, transformée ou adaptée, à l'exception d'une oeuvre qui constitue une Oeuvre dite + Collective. Une Oeuvre dite Collective ne sera pas considérée comme une Oeuvre dite Dérivée aux termes du présent Contrat. Dans le cas où l'Oeuvre serait une composition musicale ou un + enregistrement sonore, la synchronisation de l'oeuvre avec une image animée sera considérée comme une Oeuvre dite Dérivée pour les propos de ce Contrat. + d. « Auteur original » : la ou les personnes physiques qui ont créé l'Oeuvre. + e. « Offrant » : la ou les personne(s) physique(s) ou morale(s) qui proposent la mise à disposition de l'Oeuvre selon les termes du présent Contrat. + f. « Acceptant » : la personne physique ou morale qui accepte le présent contrat et exerce des droits sans en avoir violé les termes au préalable ou qui a reçu l'autorisation expresse de + l'Offrant d'exercer des droits dans le cadre du présent contrat malgré une précédente violation de ce contrat. + g. « Options du Contrat » : les attributs génériques du Contrat tels qu'ils ont été choisis par l'Offrant et indiqués dans le titre de ce Contrat : Paternité - Pas d'Utilisation Commerciale - + Partage Des Conditions Initiales A l'Identique. + + 2. Exceptions aux droits exclusifs. Aucune disposition de ce contrat n'a pour intention de réduire, limiter ou restreindre les prérogatives issues des exceptions aux droits, de l'épuisement + des droits ou d'autres limitations aux droits exclusifs des ayants droit selon le droit de la propriété littéraire et artistique ou les autres lois applicables. + + 3. Autorisation. Soumis aux termes et conditions définis dans cette autorisation, et ceci pendant toute la durée de protection de l'Oeuvre par le droit de la propriété littéraire et artistique + ou le droit applicable, l'Offrant accorde à l'Acceptant l'autorisation mondiale d'exercer à titre gratuit et non exclusif les droits suivants : + a. reproduire l'Oeuvre, incorporer l'Oeuvre dans une ou plusieurs Oeuvres dites Collectives et reproduire l'Oeuvre telle qu'incorporée dans lesdites Oeuvres dites Collectives; + b. créer et reproduire des Oeuvres dites Dérivées; + c. distribuer des exemplaires ou enregistrements, présenter, représenter ou communiquer l'Oeuvre au public par tout procédé technique, y compris incorporée dans des Oeuvres Collectives; + d. distribuer des exemplaires ou phonogrammes, présenter, représenter ou communiquer au public des Oeuvres dites Dérivées par tout procédé technique; + e. lorsque l'Oeuvre est une base de données, extraire et réutiliser des parties substantielles de l'Oeuvre. + + Les droits mentionnés ci-dessus peuvent être exercés sur tous les supports, médias, procédés techniques et formats. Les droits ci-dessus incluent le droit d'effectuer les modifications + nécessaires techniquement à l'exercice des droits dans d'autres formats et procédés techniques. L'exercice de tous les droits qui ne sont pas expressément autorisés par l'Offrant ou dont il + n'aurait pas la gestion demeure réservé, notamment les mécanismes de gestion collective obligatoire applicables décrits à l'article 4(d). + + 4. Restrictions. L'autorisation accordée par l'article 3 est expressément assujettie et limitée par le respect des restrictions suivantes : + a. L'Acceptant peut reproduire, distribuer, représenter ou communiquer au public l'Oeuvre y compris par voie numérique uniquement selon les termes de ce Contrat. L'Acceptant doit inclure une + copie ou l'adresse Internet (Identifiant Uniforme de Ressource) du présent Contrat à toute reproduction ou enregistrement de l'Oeuvre que l'Acceptant distribue, représente ou communique au + public y compris par voie numérique. L'Acceptant ne peut pas offrir ou imposer de conditions d'utilisation de l'Oeuvre qui altèrent ou restreignent les termes du présent Contrat ou + l'exercice des droits qui y sont accordés au bénéficiaire. L'Acceptant ne peut pas céder de droits sur l'Oeuvre. L'Acceptant doit conserver intactes toutes les informations qui renvoient à + ce Contrat et à l'exonération de responsabilité. L'Acceptant ne peut pas reproduire, distribuer, représenter ou communiquer au public l'Oeuvre, y compris par voie numérique, en utilisant + une mesure technique de contrôle d'accès ou de contrôle d'utilisation qui serait contradictoire avec les termes de cet Accord contractuel. Les mentions ci-dessus s'appliquent à l'Oeuvre + telle qu'incorporée dans une Oeuvre dite Collective, mais, en dehors de l'Oeuvre en elle-même, ne soumettent pas l'Oeuvre dite Collective, aux termes du présent Contrat. Si l'Acceptant + crée une Oeuvre dite Collective, à la demande de tout Offrant, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Collective toute référence au dit Offrant, comme demandé. Si + l'Acceptant crée une Oeuvre dite Collective, à la demande de tout Auteur, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Collective toute référence au dit Auteur, comme + demandé. Si l'Acceptant crée une Oeuvre dite Dérivée, à la demande de tout Offrant, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Dérivée toute référence au dit Offrant, + comme demandé. Si l'Acceptant crée une Oeuvre dite Dérivée, à la demande de tout Auteur, il devra, dans la mesure du possible, retirer de l'Oeuvre dite Dérivée toute référence au dit + Auteur, comme demandé. + b. L'Acceptant peut reproduire, distribuer, représenter ou communiquer au public une Oeuvre dite Dérivée y compris par voie numérique uniquement sous les termes de ce Contrat, ou d'une + version ultérieure de ce Contrat comprenant les mêmes Options du Contrat que le présent Contrat, ou un Contrat Creative Commons iCommons comprenant les mêmes Options du Contrat que le + présent Contrat (par exemple Paternité - Pas d'Utilisation Commerciale - Partage Des Conditions Initiales A l'Identique 2.0 Japon). L'Acceptant doit inclure une copie ou l'adresse Internet + (Identifiant Uniforme de Ressource) du présent Contrat, ou d'un autre Contrat tel que décrit à la phrase précédente, à toute reproduction ou enregistrement de l'Oeuvre dite Dérivée que + l'Acceptant distribue, représente ou communique au public y compris par voie numérique. L'Acceptant ne peut pas offrir ou imposer de conditions d'utilisation sur l'Oeuvre dite Dérivée qui + altèrent ou restreignent les termes du présent Contrat ou l'exercice des droits qui y sont accordés au bénéficiaire, et doit conserver intactes toutes les informations qui renvoient à ce + Contrat et à l'avertissement sur les garanties. L'Acceptant ne peut pas reproduire, distribuer, représenter ou communiquer au public y compris par voie numérique l'Oeuvre dite Dérivée en + utilisant une mesure technique de contrôle d'accès ou de contrôle d'utilisation qui serait contradictoire avec les termes de cet Accord contractuel. Les mentions ci-dessus s'appliquent à + l'Oeuvre dite Dérivée telle qu'incorporée dans une Oeuvre dite Collective, mais, en dehors de l'Oeuvre dite Dérivée en elle-même, ne soumettent pas l'Oeuvre Collective, aux termes du + présent Contrat. + c. Si l'Acceptant reproduit, distribue, représente ou communique au public, y compris par voie numérique, l'Oeuvre ou toute Oeuvre dite Dérivée ou toute Oeuvre dite Collective, il doit + conserver intactes toutes les informations sur le régime des droits et en attribuer la paternité à l'Auteur Original, de manière raisonnable au regard au médium ou au moyen utilisé. Il + doit communiquer le nom de l'Auteur Original ou son éventuel pseudonyme s'il est indiqué ; le titre de l'Oeuvre Originale s'il est indiqué ; dans la mesure du possible, l'adresse Internet + ou Identifiant Uniforme de Ressource (URI), s'il existe, spécifié par l'Offrant comme associé à l'Oeuvre, à moins que cette adresse ne renvoie pas aux informations légales (paternité et + conditions d'utilisation de l'Oeuvre). Dans le cas d'une Oeuvre dite Dérivée, il doit indiquer les éléments identifiant l'utilisation l'Oeuvre dans l'Oeuvre dite Dérivée par exemple + « Traduction anglaise de l'Oeuvre par l'Auteur Original » ou « Scénario basé sur l'Oeuvre par l'Auteur Original ». Ces obligations d'attribution de paternité doivent être exécutées de + manière raisonnable. Cependant, dans le cas d'une Oeuvre dite Dérivée ou d'une Oeuvre dite Collective, ces informations doivent, au minimum, apparaître à la place et de manière aussi + visible que celles à laquelle apparaissent les informations de même nature. + d. Dans le cas où une utilisation de l'Oeuvre serait soumise à un régime légal de gestion collective obligatoire, l'Offrant se réserve le droit exclusif de collecter ces redevances par + l'intermédiaire de la société de perception et de répartition des droits compétente. Sont notamment concernés la radiodiffusion et la communication dans un lieu public de phonogrammes + publiés à des fins de commerce, certains cas de retransmission par câble et satellite, la copie privée d'Oeuvres fixées sur phonogrammes ou vidéogrammes, la reproduction par reprographie. + + 5. Garantie et exonération de responsabilité + a. En mettant l'Oeuvre à la disposition du public selon les termes de ce Contrat, l'Offrant déclare de bonne foi qu'à sa connaissance et dans les limites d'une enquête raisonnable : + i. L'Offrant a obtenu tous les droits sur l'Oeuvre nécessaires pour pouvoir autoriser l'exercice des droits accordés par le présent Contrat, et permettre la jouissance paisible et + l'exercice licite de ces droits, ceci sans que l'Acceptant n'ait aucune obligation de verser de rémunération ou tout autre paiement ou droits, dans la limite des mécanismes de gestion + collective obligatoire applicables décrits à l'article 4(e); + ii. L'Oeuvre n'est constitutive ni d'une violation des droits de tiers, notamment du droit de la propriété littéraire et artistique, du droit des marques, du droit de l'information, du + droit civil ou de tout autre droit, ni de diffamation, de violation de la vie privée ou de tout autre préjudice délictuel à l'égard de toute tierce partie. + b. A l'exception des situations expressément mentionnées dans le présent Contrat ou dans un autre accord écrit, ou exigées par la loi applicable, l'Oeuvre est mise à disposition en l'état + sans garantie d'aucune sorte, qu'elle soit expresse ou tacite, y compris à l'égard du contenu ou de l'exactitude de l'Oeuvre. + + 6. Limitation de responsabilité. A l'exception des garanties d'ordre public imposées par la loi applicable et des réparations imposées par le régime de la responsabilité vis-à-vis d'un tiers + en raison de la violation des garanties prévues par l'article 5 du présent contrat, l'Offrant ne sera en aucun cas tenu responsable vis-à-vis de l'Acceptant, sur la base d'aucune théorie + légale ni en raison d'aucun préjudice direct, indirect, matériel ou moral, résultant de l'exécution du présent Contrat ou de l'utilisation de l'Oeuvre, y compris dans l'hypothèse où l'Offrant + avait connaissance de la possible existence d'un tel préjudice. + + 7. Résiliation + a. Tout manquement aux termes du contrat par l'Acceptant entraîne la résiliation automatique du Contrat et la fin des droits qui en découlent. Cependant, le contrat conserve ses effets envers + les personnes physiques ou morales qui ont reçu de la part de l'Acceptant, en exécution du présent contrat, la mise à disposition d'Oeuvres dites Dérivées, ou d'Oeuvres dites Collectives, + ceci tant qu'elles respectent pleinement leurs obligations. Les sections 1, 2, 5, 6 et 7 du contrat continuent à s'appliquer après la résiliation de celui-ci. + b. Dans les limites indiquées ci-dessus, le présent Contrat s'applique pendant toute la durée de protection de l'Oeuvre selon le droit applicable. Néanmoins, l'Offrant se réserve à tout + moment le droit d'exploiter l'Oeuvre sous des conditions contractuelles différentes, ou d'en cesser la diffusion; cependant, le recours à cette option ne doit pas conduire à retirer les + effets du présent Contrat (ou de tout contrat qui a été ou doit être accordé selon les termes de ce Contrat), et ce Contrat continuera à s'appliquer dans tous ses effets jusqu'à ce que sa + résiliation intervienne dans les conditions décrites ci-dessus. + + 8. Divers + a. A chaque reproduction ou communication au public par voie numérique de l'Oeuvre ou d'une Oeuvre dite Collective par l'Acceptant, l'Offrant propose au bénéficiaire une offre de mise à + disposition de l'Oeuvre dans des termes et conditions identiques à ceux accordés à la partie Acceptante dans le présent Contrat. + b. A chaque reproduction ou communication au public par voie numérique d'une Oeuvre dite Dérivée par l'Acceptant, l'Offrant propose au bénéficiaire une offre de mise à disposition du + bénéficiaire de l'Oeuvre originale dans des termes et conditions identiques à ceux accordés à la partie Acceptante dans le présent Contrat. + c. La nullité ou l'inapplicabilité d'une quelconque disposition de ce Contrat au regard de la loi applicable n'affecte pas celle des autres dispositions qui resteront pleinement valides et + applicables. Sans action additionnelle par les parties à cet accord, lesdites dispositions devront être interprétées dans la mesure minimum nécessaire à leur validité et leur + applicabilité. + d. Aucune limite, renonciation ou modification des termes ou dispositions du présent Contrat ne pourra être acceptée sans le consentement écrit et signé de la partie compétente. + e. Ce Contrat constitue le seul accord entre les parties à propos de l'Oeuvre mise ici à disposition. Il n'existe aucun élément annexe, accord supplémentaire ou mandat portant sur cette + Oeuvre en dehors des éléments mentionnés ici. L'Offrant ne sera tenu par aucune disposition supplémentaire qui pourrait apparaître dans une quelconque communication en provenance de + l'Acceptant. Ce Contrat ne peut être modifié sans l'accord mutuel écrit de l'Offrant et de l'Acceptant. + f. Le droit applicable est le droit français. + + Creative Commons n'est pas partie à ce Contrat et n'offre aucune forme de garantie relative à l'Oeuvre. Creative Commons décline toute responsabilité à l'égard de l'Acceptant ou de toute autre + partie, quel que soit le fondement légal de cette responsabilité et quel que soit le préjudice subi, direct, indirect, matériel ou moral, qui surviendrait en rapport avec le présent Contrat. + Cependant, si Creative Commons s'est expressément identifié comme Offrant pour mettre une Oeuvre à disposition selon les termes de ce Contrat, Creative Commons jouira de tous les droits et + obligations d'un Offrant. + + A l'exception des fins limitées à informer le public que l'Oeuvre est mise à disposition sous CPCC, aucune des parties n'utilisera la marque « Creative Commons » ou toute autre indication ou + logo afférent sans le consentement préalable écrit de Creative Commons. Toute utilisation autorisée devra être effectuée en conformité avec les lignes directrices de Creative Commons à jour au + moment de l'utilisation, telles qu'elles sont disponibles sur son site Internet ou sur simple demande. + + Creative Commons peut être contacté à http://creativecommons.org/. + diff --git a/fdl.txt b/fdl.txt new file mode 100644 index 0000000..2f7e03c --- /dev/null +++ b/fdl.txt @@ -0,0 +1,451 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The "publisher" means any person or entity that distributes copies of +the Document to the public. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/geometry.sty b/geometry.sty new file mode 100644 index 0000000..b46f4ee --- /dev/null +++ b/geometry.sty @@ -0,0 +1,1130 @@ +%% +%% This is file `geometry.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% geometry.dtx (with options: `package') +%% +%% Copyright (C) 1996-2010 +%% by Hideo Umeki +%% +%% This work may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3c of this license +%% or (at your option) any later version. The latest version of this +%% license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work is "maintained" (as per the LPPL maintenance status) +%% by Hideo Umeki. +%% +%% This work consists of the files geometry.dtx and +%% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{geometry} + [2010/09/12 v5.6 Page Geometry] +\RequirePackage{keyval}% +\RequirePackage{ifpdf}% +\RequirePackage{ifvtex}% +\RequirePackage{ifxetex}% +\newif\ifGm@verbose +\newif\ifGm@landscape +\newif\ifGm@swap@papersize +\newif\ifGm@includehead +\newif\ifGm@includefoot +\newif\ifGm@includemp +\newif\ifGm@hbody +\newif\ifGm@vbody +\newif\ifGm@heightrounded +\newif\ifGm@showframe +\newif\ifGm@showcrop +\newif\ifGm@pass +\newif\ifGm@resetpaper +\newif\ifGm@layout +\newif\ifGm@newgm +\newcount\Gm@cnth +\newcount\Gm@cntv +\newcount\c@Gm@tempcnt +\newdimen\Gm@bindingoffset +\newdimen\Gm@wd@mp +\newdimen\Gm@odd@mp +\newdimen\Gm@even@mp +\newdimen\Gm@layoutwidth +\newdimen\Gm@layoutheight +\newdimen\Gm@layouthoffset +\newdimen\Gm@layoutvoffset +\newtoks\Gm@dimlist +\def\Gm@warning#1{\PackageWarningNoLine{geometry}{#1}}% +\def\ifGm@preamble#1{% + \ifGm@newgm + \Gm@warning{`#1': not available in `\string\newgeometry'; skipped}% + \else + \expandafter\@firstofone + \fi}% +\def\Gm@Dhratio{1:1}% = left:right default for oneside +\def\Gm@Dhratiotwo{2:3}% = inner:outer default for twoside. +\def\Gm@Dvratio{2:3}% = top:bottom default +\def\Gm@Dhscale{0.7}% +\def\Gm@Dvscale{0.7}% +\def\Gm@dvips{dvips}% +\def\Gm@dvipdfm{dvipdfm}% +\def\Gm@pdftex{pdftex}% +\def\Gm@xetex{xetex}% +\def\Gm@vtex{vtex}% +\def\Gm@true{true}% +\def\Gm@false{false}% +\edef\Gm@orgpw{\the\paperwidth}% +\edef\Gm@orgph{\the\paperheight}% +\def\Gm@savelength#1{% + \g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname + #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}% +\def\Gm@saveboolean#1{% + \csname if#1\endcsname + \g@addto@macro\Gm@restore{\expandafter\noexpand\csname #1true\endcsname}% + \else + \g@addto@macro\Gm@restore{\expandafter\noexpand\csname #1false\endcsname}% + \fi}% +\def\Gm@restore{}% +\def\Gm@save{% + \Gm@savelength{paperwidth}% + \Gm@savelength{paperheight}% + \Gm@savelength{textwidth}% + \Gm@savelength{textheight}% + \Gm@savelength{evensidemargin}% + \Gm@savelength{oddsidemargin}% + \Gm@savelength{topmargin}% + \Gm@savelength{headheight}% + \Gm@savelength{headsep}% + \Gm@savelength{topskip}% + \Gm@savelength{footskip}% + \Gm@savelength{baselineskip}% + \Gm@savelength{marginparwidth}% + \Gm@savelength{marginparsep}% + \Gm@savelength{columnsep}% + \Gm@savelength{hoffset}% + \Gm@savelength{voffset} + \Gm@savelength{Gm@layoutwidth}% + \Gm@savelength{Gm@layoutheight}% + \Gm@savelength{Gm@layouthoffset}% + \Gm@savelength{Gm@layoutvoffset}% + \Gm@saveboolean{@twocolumn}% + \Gm@saveboolean{@twoside}% + \Gm@saveboolean{@mparswitch}% + \Gm@saveboolean{@reversemargin}}% +\def\Gm@initnewgm{% + \Gm@passfalse + \Gm@swap@papersizefalse + \Gm@dimlist={} + \Gm@hbodyfalse + \Gm@vbodyfalse + \Gm@heightroundedfalse + \Gm@includeheadfalse + \Gm@includefootfalse + \Gm@includempfalse + \let\Gm@width\@undefined + \let\Gm@height\@undefined + \let\Gm@textwidth\@undefined + \let\Gm@textheight\@undefined + \let\Gm@lines\@undefined + \let\Gm@hscale\@undefined + \let\Gm@vscale\@undefined + \let\Gm@hmarginratio\@undefined + \let\Gm@vmarginratio\@undefined + \let\Gm@lmargin\@undefined + \let\Gm@rmargin\@undefined + \let\Gm@tmargin\@undefined + \let\Gm@bmargin\@undefined + \Gm@layoutfalse + \Gm@layouthoffset\z@ + \Gm@layoutvoffset\z@ + \Gm@bindingoffset\z@}% +\def\Gm@initall{% + \let\Gm@driver\@empty + \let\Gm@truedimen\@empty + \let\Gm@paper\@undefined + \Gm@resetpaperfalse + \Gm@landscapefalse + \Gm@verbosefalse + \Gm@showframefalse + \Gm@showcropfalse + \Gm@newgmfalse + \Gm@initnewgm}% +\def\Gm@setdriver#1{% + \expandafter\let\expandafter\Gm@driver\csname Gm@#1\endcsname}% +\def\Gm@unsetdriver#1{% + \expandafter\ifx\csname Gm@#1\endcsname\Gm@driver\let\Gm@driver\@empty\fi}% +\def\Gm@setbool{\@dblarg\Gm@@setbool}% +\def\Gm@setboolrev{\@dblarg\Gm@@setboolrev}% +\def\Gm@@setbool[#1]#2#3{\Gm@doif{#1}{#3}{\csname Gm@#2\Gm@bool\endcsname}}% +\def\Gm@@setboolrev[#1]#2#3{\Gm@doifelse{#1}{#3}% + {\csname Gm@#2\Gm@false\endcsname}{\csname Gm@#2\Gm@true\endcsname}}% +\def\Gm@doif#1#2#3{% + \lowercase{\def\Gm@bool{#2}}% + \ifx\Gm@bool\@empty + \let\Gm@bool\Gm@true + \fi + \ifx\Gm@bool\Gm@true + \else + \ifx\Gm@bool\Gm@false + \else + \let\Gm@bool\relax + \fi + \fi + \ifx\Gm@bool\relax + \Gm@warning{`#1' should be set to `true' or `false'}% + \else + #3 + \fi}% +\def\Gm@doifelse#1#2#3#4{% + \Gm@doif{#1}{#2}{\ifx\Gm@bool\Gm@true #3\else #4\fi}}% +\def\Gm@reverse#1{% + \csname ifGm@#1\endcsname + \csname Gm@#1false\endcsname\else\csname Gm@#1true\endcsname\fi}% +\def\Gm@defbylen#1#2{% + \begingroup\setlength\@tempdima{#2}% + \expandafter\xdef\csname Gm@#1\endcsname{\the\@tempdima}\endgroup}% +\def\Gm@defbycnt#1#2{% + \begingroup\setcounter{Gm@tempcnt}{#2}% + \expandafter\xdef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}\endgroup}% +\def\Gm@sep@ratio#1:#2{\@tempcnta=#1\@tempcntb=#2}% +\def\Gm@setbyratio[#1]#2#3#4{% determine #4 by ratio + \expandafter\Gm@sep@ratio\Gm@mratio\relax + \if#1b + \edef\@@tempa{\the\@tempcnta}% + \@tempcnta=\@tempcntb + \@tempcntb=\@@tempa\relax + \fi + \expandafter\setlength\expandafter\@tempdimb\expandafter + {\csname Gm@#3\endcsname}% + \ifnum\@tempcntb>\z@ + \multiply\@tempdimb\@tempcnta + \divide\@tempdimb\@tempcntb + \fi + \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdimb}}% +\def\Gm@detiv#1#2#3#4{% determine #4. + \expandafter\setlength\expandafter\@tempdima\expandafter + {\csname Gm@layout#1\endcsname}% + \expandafter\setlength\expandafter\@tempdimb\expandafter + {\csname Gm@#2\endcsname}% + \addtolength\@tempdima{-\@tempdimb}% + \expandafter\setlength\expandafter\@tempdimb\expandafter + {\csname Gm@#3\endcsname}% + \addtolength\@tempdima{-\@tempdimb}% + \ifdim\@tempdima<\z@ + \Gm@warning{`#4' results in NEGATIVE (\the\@tempdima).% + ^^J\@spaces `#2' or `#3' should be shortened in length}% + \fi + \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdima}}% +\def\Gm@detiiandiii#1#2#3{% determine #2 and #3. + \expandafter\setlength\expandafter\@tempdima\expandafter + {\csname Gm@layout#1\endcsname}% + \expandafter\setlength\expandafter\@tempdimb\expandafter + {\csname Gm@#1\endcsname}% + \addtolength\@tempdima{-\@tempdimb}% + \ifdim\@tempdima<\z@ + \Gm@warning{`#2' and `#3' result in NEGATIVE (\the\@tempdima).% + ^^J\@spaces `#1' should be shortened in length}% + \fi + \ifx\Gm@mratio\@undefined + \expandafter\Gm@sep@ratio\Gm@Dmratio\relax + \else + \expandafter\Gm@sep@ratio\Gm@mratio\relax + \ifnum\@tempcntb>\z@\else + \Gm@warning{margin ratio a:b should be non-zero; default used}% + \expandafter\Gm@sep@ratio\Gm@Dmratio\relax + \fi + \fi + \@tempdimb=\@tempdima + \advance\@tempcntb\@tempcnta + \divide\@tempdima\@tempcntb + \multiply\@tempdima\@tempcnta + \advance\@tempdimb-\@tempdima + \expandafter\edef\csname Gm@#2\endcsname{\the\@tempdima}% + \expandafter\edef\csname Gm@#3\endcsname{\the\@tempdimb}}% +\def\Gm@detall#1#2#3#4{% + \@tempcnta\z@ + \if#1h + \let\Gm@mratio\Gm@hmarginratio + \edef\Gm@Dmratio{\if@twoside\Gm@Dhratiotwo\else\Gm@Dhratio\fi}% + \else + \let\Gm@mratio\Gm@vmarginratio + \edef\Gm@Dmratio{\Gm@Dvratio}% + \fi + \if#1h + \ifx\Gm@lmargin\@undefined\else\advance\@tempcnta4\relax\fi + \ifGm@hbody\advance\@tempcnta2\relax\fi + \ifx\Gm@rmargin\@undefined\else\advance\@tempcnta1\relax\fi + \Gm@cnth\@tempcnta + \else + \ifx\Gm@tmargin\@undefined\else\advance\@tempcnta4\relax\fi + \ifGm@vbody\advance\@tempcnta2\relax\fi + \ifx\Gm@bmargin\@undefined\else\advance\@tempcnta1\relax\fi + \Gm@cntv\@tempcnta + \fi + \ifcase\@tempcnta + \if#1h + \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% + \else + \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% + \fi + \Gm@detiiandiii{#2}{#3}{#4}% + \or + \ifx\Gm@mratio\@undefined + \if#1h + \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% + \else + \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% + \fi + \setlength\@tempdimc{\@nameuse{Gm@#4}}% + \Gm@detiiandiii{#2}{#3}{#4}% + \expandafter\let\csname Gm@#2\endcsname\@undefined + \Gm@defbylen{#4}{\@tempdimc}% + \else + \Gm@setbyratio[f]{#1}{#4}{#3}% + \fi + \Gm@detiv{#2}{#3}{#4}{#2}% + \or\Gm@detiiandiii{#2}{#3}{#4}% + \or\Gm@detiv{#2}{#2}{#4}{#3}% + \or + \ifx\Gm@mratio\@undefined + \if#1h + \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% + \else + \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% + \fi + \setlength\@tempdimc{\@nameuse{Gm@#3}}% + \Gm@detiiandiii{#2}{#4}{#3}% + \expandafter\let\csname Gm@#2\endcsname\@undefined + \Gm@defbylen{#3}{\@tempdimc}% + \else + \Gm@setbyratio[b]{#1}{#3}{#4}% + \fi + \Gm@detiv{#2}{#3}{#4}{#2}% + \or\Gm@detiv{#2}{#3}{#4}{#2}% + \or\Gm@detiv{#2}{#2}{#3}{#4}% + \or\Gm@warning{Over-specification in `#1'-direction.% + ^^J\@spaces `#2' (\@nameuse{Gm@#2}) is ignored}% + \Gm@detiv{#2}{#3}{#4}{#2}% + \else\fi}% +\def\Gm@clean{% + \ifnum\Gm@cnth<4\let\Gm@lmargin\@undefined\fi + \ifodd\Gm@cnth\else\let\Gm@rmargin\@undefined\fi + \ifnum\Gm@cntv<4\let\Gm@tmargin\@undefined\fi + \ifodd\Gm@cntv\else\let\Gm@bmargin\@undefined\fi + \ifGm@hbody\else + \let\Gm@hscale\@undefined + \let\Gm@width\@undefined + \let\Gm@textwidth\@undefined + \fi + \ifGm@vbody\else + \let\Gm@vscale\@undefined + \let\Gm@height\@undefined + \let\Gm@textheight\@undefined + \fi + }% +\def\Gm@parse@divide#1#2#3#4{% + \def\Gm@star{*}% + \@tempcnta\z@ + \@for\Gm@tmp:=#1\do{% + \expandafter\KV@@sp@def\expandafter\Gm@frag\expandafter{\Gm@tmp}% + \edef\Gm@value{\Gm@frag}% + \ifcase\@tempcnta\relax\edef\Gm@key{#2}% + \or\edef\Gm@key{#3}% + \else\edef\Gm@key{#4}% + \fi + \@nameuse{Gm@set\Gm@key false}% + \ifx\empty\Gm@value\else + \ifx\Gm@star\Gm@value\else + \setkeys{Gm}{\Gm@key=\Gm@value}% + \fi\fi + \advance\@tempcnta\@ne}% + \let\Gm@star\relax}% +\def\Gm@branch#1#2#3{% + \@tempcnta\z@ + \@for\Gm@tmp:=#1\do{% + \KV@@sp@def\Gm@frag{\Gm@tmp}% + \edef\Gm@value{\Gm@frag}% + \ifcase\@tempcnta\relax% cnta == 0 + \setkeys{Gm}{#2=\Gm@value}% + \or% cnta == 1 + \setkeys{Gm}{#3=\Gm@value}% + \else\fi + \advance\@tempcnta\@ne}% + \ifnum\@tempcnta=\@ne + \setkeys{Gm}{#3=\Gm@value}% + \fi}% +\def\Gm@magtooffset{% + \@tempdima=\mag\Gm@truedimen sp% + \@tempdimb=1\Gm@truedimen in% + \divide\@tempdimb\@tempdima + \multiply\@tempdimb\@m + \addtolength{\hoffset}{1\Gm@truedimen in}% + \addtolength{\voffset}{1\Gm@truedimen in}% + \addtolength{\hoffset}{-\the\@tempdimb}% + \addtolength{\voffset}{-\the\@tempdimb}}% +\def\Gm@setlength#1#2{% + \let\Gm@len=\relax\let\Gm@td=\relax + \edef\addtolist{\noexpand\Gm@dimlist=% + {\the\Gm@dimlist \Gm@len{#1}{#2}}}\addtolist}% +\def\Gm@expandlengths{% + \def\Gm@td{\Gm@truedimen}% + \def\Gm@len##1##2{\setlength{##1}{##2}}% + \the\Gm@dimlist}% +\def\Gm@setsize#1(#2,#3)#4{% + \let\Gm@td\relax + \expandafter\Gm@setlength\csname #1width\endcsname{#2\Gm@td #4}% + \expandafter\Gm@setlength\csname #1height\endcsname{#3\Gm@td #4}% + \ifGm@landscape\Gm@swap@papersizetrue\else\Gm@swap@papersizefalse\fi}% +\def\Gm@setpaper@ifpre#1{% + \ifGm@preamble{#1}{\def\Gm@paper{#1}\@nameuse{Gm@#1}{paper}}}% +\@namedef{Gm@a0paper}#1{\Gm@setsize{#1}(841,1189){mm}}% ISO A0 +\@namedef{Gm@a1paper}#1{\Gm@setsize{#1}(594,841){mm}}% ISO A1 +\@namedef{Gm@a2paper}#1{\Gm@setsize{#1}(420,594){mm}}% ISO A2 +\@namedef{Gm@a3paper}#1{\Gm@setsize{#1}(297,420){mm}}% ISO A3 +\@namedef{Gm@a4paper}#1{\Gm@setsize{#1}(210,297){mm}}% ISO A4 +\@namedef{Gm@a5paper}#1{\Gm@setsize{#1}(148,210){mm}}% ISO A5 +\@namedef{Gm@a6paper}#1{\Gm@setsize{#1}(105,148){mm}}% ISO A6 +\@namedef{Gm@b0paper}#1{\Gm@setsize{#1}(1000,1414){mm}}% ISO B0 +\@namedef{Gm@b1paper}#1{\Gm@setsize{#1}(707,1000){mm}}% ISO B1 +\@namedef{Gm@b2paper}#1{\Gm@setsize{#1}(500,707){mm}}% ISO B2 +\@namedef{Gm@b3paper}#1{\Gm@setsize{#1}(353,500){mm}}% ISO B3 +\@namedef{Gm@b4paper}#1{\Gm@setsize{#1}(250,353){mm}}% ISO B4 +\@namedef{Gm@b5paper}#1{\Gm@setsize{#1}(176,250){mm}}% ISO B5 +\@namedef{Gm@b6paper}#1{\Gm@setsize{#1}(125,176){mm}}% ISO B6 +\@namedef{Gm@c0paper}#1{\Gm@setsize{#1}(917,1297){mm}}% ISO C0 +\@namedef{Gm@c1paper}#1{\Gm@setsize{#1}(648,917){mm}}% ISO C1 +\@namedef{Gm@c2paper}#1{\Gm@setsize{#1}(458,648){mm}}% ISO C2 +\@namedef{Gm@c3paper}#1{\Gm@setsize{#1}(324,458){mm}}% ISO C3 +\@namedef{Gm@c4paper}#1{\Gm@setsize{#1}(229,324){mm}}% ISO C4 +\@namedef{Gm@c5paper}#1{\Gm@setsize{#1}(162,229){mm}}% ISO C5 +\@namedef{Gm@c6paper}#1{\Gm@setsize{#1}(114,162){mm}}% ISO C6 +\@namedef{Gm@b0j}#1{\Gm@setsize{#1}(1030,1456){mm}}% JIS B0 +\@namedef{Gm@b1j}#1{\Gm@setsize{#1}(728,1030){mm}}% JIS B1 +\@namedef{Gm@b2j}#1{\Gm@setsize{#1}(515,728){mm}}% JIS B2 +\@namedef{Gm@b3j}#1{\Gm@setsize{#1}(364,515){mm}}% JIS B3 +\@namedef{Gm@b4j}#1{\Gm@setsize{#1}(257,364){mm}}% JIS B4 +\@namedef{Gm@b5j}#1{\Gm@setsize{#1}(182,257){mm}}% JIS B5 +\@namedef{Gm@b6j}#1{\Gm@setsize{#1}(128,182){mm}}% JIS B6 +\@namedef{Gm@ansiapaper}#1{\Gm@setsize{#1}(8.5,11){in}}% +\@namedef{Gm@ansibpaper}#1{\Gm@setsize{#1}(11,17){in}}% +\@namedef{Gm@ansicpaper}#1{\Gm@setsize{#1}(17,22){in}}% +\@namedef{Gm@ansidpaper}#1{\Gm@setsize{#1}(22,34){in}}% +\@namedef{Gm@ansiepaper}#1{\Gm@setsize{#1}(34,44){in}}% +\@namedef{Gm@letterpaper}#1{\Gm@setsize{#1}(8.5,11){in}}% +\@namedef{Gm@legalpaper}#1{\Gm@setsize{#1}(8.5,14){in}}% +\@namedef{Gm@executivepaper}#1{\Gm@setsize{#1}(7.25,10.5){in}}% +\@namedef{Gm@screen}#1{\Gm@setsize{#1}(225,180){mm}}% +\define@key{Gm}{paper}{\setkeys{Gm}{#1}}% +\let\KV@Gm@papername\KV@Gm@paper +\define@key{Gm}{a0paper}[true]{\Gm@setpaper@ifpre{a0paper}}% +\define@key{Gm}{a1paper}[true]{\Gm@setpaper@ifpre{a1paper}}% +\define@key{Gm}{a2paper}[true]{\Gm@setpaper@ifpre{a2paper}}% +\define@key{Gm}{a3paper}[true]{\Gm@setpaper@ifpre{a3paper}}% +\define@key{Gm}{a4paper}[true]{\Gm@setpaper@ifpre{a4paper}}% +\define@key{Gm}{a5paper}[true]{\Gm@setpaper@ifpre{a5paper}}% +\define@key{Gm}{a6paper}[true]{\Gm@setpaper@ifpre{a6paper}}% +\define@key{Gm}{b0paper}[true]{\Gm@setpaper@ifpre{b0paper}}% +\define@key{Gm}{b1paper}[true]{\Gm@setpaper@ifpre{b1paper}}% +\define@key{Gm}{b2paper}[true]{\Gm@setpaper@ifpre{b2paper}}% +\define@key{Gm}{b3paper}[true]{\Gm@setpaper@ifpre{b3paper}}% +\define@key{Gm}{b4paper}[true]{\Gm@setpaper@ifpre{b4paper}}% +\define@key{Gm}{b5paper}[true]{\Gm@setpaper@ifpre{b5paper}}% +\define@key{Gm}{b6paper}[true]{\Gm@setpaper@ifpre{b6paper}}% +\define@key{Gm}{c0paper}[true]{\Gm@setpaper@ifpre{c0paper}}% +\define@key{Gm}{c1paper}[true]{\Gm@setpaper@ifpre{c1paper}}% +\define@key{Gm}{c2paper}[true]{\Gm@setpaper@ifpre{c2paper}}% +\define@key{Gm}{c3paper}[true]{\Gm@setpaper@ifpre{c3paper}}% +\define@key{Gm}{c4paper}[true]{\Gm@setpaper@ifpre{c4paper}}% +\define@key{Gm}{c5paper}[true]{\Gm@setpaper@ifpre{c5paper}}% +\define@key{Gm}{c6paper}[true]{\Gm@setpaper@ifpre{c6paper}}% +\define@key{Gm}{b0j}[true]{\Gm@setpaper@ifpre{b0j}}% +\define@key{Gm}{b1j}[true]{\Gm@setpaper@ifpre{b1j}}% +\define@key{Gm}{b2j}[true]{\Gm@setpaper@ifpre{b2j}}% +\define@key{Gm}{b3j}[true]{\Gm@setpaper@ifpre{b3j}}% +\define@key{Gm}{b4j}[true]{\Gm@setpaper@ifpre{b4j}}% +\define@key{Gm}{b5j}[true]{\Gm@setpaper@ifpre{b5j}}% +\define@key{Gm}{b6j}[true]{\Gm@setpaper@ifpre{b6j}}% +\define@key{Gm}{ansiapaper}[true]{\Gm@setpaper@ifpre{ansiapaper}}% +\define@key{Gm}{ansibpaper}[true]{\Gm@setpaper@ifpre{ansibpaper}}% +\define@key{Gm}{ansicpaper}[true]{\Gm@setpaper@ifpre{ansicpaper}}% +\define@key{Gm}{ansidpaper}[true]{\Gm@setpaper@ifpre{ansidpaper}}% +\define@key{Gm}{ansiepaper}[true]{\Gm@setpaper@ifpre{ansiepaper}}% +\define@key{Gm}{letterpaper}[true]{\Gm@setpaper@ifpre{letterpaper}}% +\define@key{Gm}{legalpaper}[true]{\Gm@setpaper@ifpre{legalpaper}}% +\define@key{Gm}{executivepaper}[true]{\Gm@setpaper@ifpre{executivepaper}}% +\define@key{Gm}{screen}[true]{\Gm@setpaper@ifpre{screen}}% +\define@key{Gm}{paperwidth}{\ifGm@preamble{paperwidth}{% + \def\Gm@paper{custom}\Gm@setlength\paperwidth{#1}}}% +\define@key{Gm}{paperheight}{\ifGm@preamble{paperheight}{% + \def\Gm@paper{custom}\Gm@setlength\paperheight{#1}}}% +\define@key{Gm}{papersize}{\ifGm@preamble{papersize}{% + \def\Gm@paper{custom}\Gm@branch{#1}{paperwidth}{paperheight}}}% +\define@key{Gm}{layout}{\Gm@layouttrue\@nameuse{Gm@#1}{Gm@layout}}% +\let\KV@Gm@layoutname\KV@Gm@layout +\define@key{Gm}{layoutwidth}{\Gm@layouttrue\Gm@setlength\Gm@layoutwidth{#1}}% +\define@key{Gm}{layoutheight}{\Gm@layouttrue\Gm@setlength\Gm@layoutheight{#1}}% +\define@key{Gm}{layoutsize}{\Gm@branch{#1}{layoutwidth}{layoutheight}}% +\define@key{Gm}{landscape}[true]{\ifGm@preamble{landscape}{% + \Gm@doifelse{landscape}{#1}% + {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{swap@papersize}\fi}% + {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{swap@papersize}\fi}}}% +\define@key{Gm}{portrait}[true]{\ifGm@preamble{portrait}{% + \Gm@doifelse{portrait}{#1}% + {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{swap@papersize}\fi}% + {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{swap@papersize}\fi}}}% +\define@key{Gm}{hscale}{\Gm@hbodytrue\edef\Gm@hscale{#1}}% +\define@key{Gm}{vscale}{\Gm@vbodytrue\edef\Gm@vscale{#1}}% +\define@key{Gm}{scale}{\Gm@branch{#1}{hscale}{vscale}}% +\define@key{Gm}{width}{\Gm@hbodytrue\Gm@defbylen{width}{#1}}% +\define@key{Gm}{height}{\Gm@vbodytrue\Gm@defbylen{height}{#1}}% +\define@key{Gm}{total}{\Gm@branch{#1}{width}{height}}% +\let\KV@Gm@totalwidth\KV@Gm@width +\let\KV@Gm@totalheight\KV@Gm@height +\define@key{Gm}{textwidth}{\Gm@hbodytrue\Gm@defbylen{textwidth}{#1}}% +\define@key{Gm}{textheight}{\Gm@vbodytrue\Gm@defbylen{textheight}{#1}}% +\define@key{Gm}{text}{\Gm@branch{#1}{textwidth}{textheight}}% +\let\KV@Gm@body\KV@Gm@text +\define@key{Gm}{lines}{\Gm@vbodytrue\Gm@defbycnt{lines}{#1}}% +\define@key{Gm}{includehead}[true]{\Gm@setbool{includehead}{#1}}% +\define@key{Gm}{includefoot}[true]{\Gm@setbool{includefoot}{#1}}% +\define@key{Gm}{includeheadfoot}[true]{\Gm@doifelse{includeheadfoot}{#1}% + {\Gm@includeheadtrue\Gm@includefoottrue}% + {\Gm@includeheadfalse\Gm@includefootfalse}}% +\define@key{Gm}{includemp}[true]{\Gm@setbool{includemp}{#1}}% +\define@key{Gm}{includeall}[true]{\Gm@doifelse{includeall}{#1}% + {\Gm@includeheadtrue\Gm@includefoottrue\Gm@includemptrue}% + {\Gm@includeheadfalse\Gm@includefootfalse\Gm@includempfalse}}% +\define@key{Gm}{ignorehead}[true]{% + \Gm@setboolrev[ignorehead]{includehead}{#1}}% +\define@key{Gm}{ignorefoot}[true]{% + \Gm@setboolrev[ignorefoot]{includefoot}{#1}}% +\define@key{Gm}{ignoreheadfoot}[true]{\Gm@doifelse{ignoreheadfoot}{#1}% + {\Gm@includeheadfalse\Gm@includefootfalse}% + {\Gm@includeheadtrue\Gm@includefoottrue}}% +\define@key{Gm}{ignoremp}[true]{% + \Gm@setboolrev[ignoremp]{includemp}{#1}}% +\define@key{Gm}{ignoreall}[true]{\Gm@doifelse{ignoreall}{#1}% + {\Gm@includeheadfalse\Gm@includefootfalse\Gm@includempfalse}% + {\Gm@includeheadtrue\Gm@includefoottrue\Gm@includemptrue}}% +\define@key{Gm}{heightrounded}[true]{\Gm@setbool{heightrounded}{#1}}% +\define@key{Gm}{hdivide}{\Gm@parse@divide{#1}{lmargin}{width}{rmargin}}% +\define@key{Gm}{vdivide}{\Gm@parse@divide{#1}{tmargin}{height}{bmargin}}% +\define@key{Gm}{divide}{\Gm@parse@divide{#1}{lmargin}{width}{rmargin}% + \Gm@parse@divide{#1}{tmargin}{height}{bmargin}}% +\define@key{Gm}{lmargin}{\Gm@defbylen{lmargin}{#1}}% +\define@key{Gm}{rmargin}{\Gm@defbylen{rmargin}{#1}}% +\let\KV@Gm@left\KV@Gm@lmargin +\let\KV@Gm@inner\KV@Gm@lmargin +\let\KV@Gm@innermargin\KV@Gm@lmargin +\let\KV@Gm@right\KV@Gm@rmargin +\let\KV@Gm@outer\KV@Gm@rmargin +\let\KV@Gm@outermargin\KV@Gm@rmargin +\define@key{Gm}{tmargin}{\Gm@defbylen{tmargin}{#1}}% +\define@key{Gm}{bmargin}{\Gm@defbylen{bmargin}{#1}}% +\let\KV@Gm@top\KV@Gm@tmargin +\let\KV@Gm@bottom\KV@Gm@bmargin +\define@key{Gm}{hmargin}{\Gm@branch{#1}{lmargin}{rmargin}}% +\define@key{Gm}{vmargin}{\Gm@branch{#1}{tmargin}{bmargin}}% +\define@key{Gm}{margin}{\Gm@branch{#1}{lmargin}{tmargin}% + \Gm@branch{#1}{rmargin}{bmargin}}% +\define@key{Gm}{hmarginratio}{\edef\Gm@hmarginratio{#1}}% +\define@key{Gm}{vmarginratio}{\edef\Gm@vmarginratio{#1}}% +\define@key{Gm}{marginratio}{\Gm@branch{#1}{hmarginratio}{vmarginratio}}% +\let\KV@Gm@hratio\KV@Gm@hmarginratio +\let\KV@Gm@vratio\KV@Gm@vmarginratio +\let\KV@Gm@ratio\KV@Gm@marginratio +\define@key{Gm}{hcentering}[true]{\Gm@doifelse{hcentering}{#1}% + {\def\Gm@hmarginratio{1:1}}{}}% +\define@key{Gm}{vcentering}[true]{\Gm@doifelse{vcentering}{#1}% + {\def\Gm@vmarginratio{1:1}}{}}% +\define@key{Gm}{centering}[true]{\Gm@doifelse{centering}{#1}% + {\def\Gm@hmarginratio{1:1}\def\Gm@vmarginratio{1:1}}{}}% +\define@key{Gm}{twoside}[true]{\Gm@doifelse{twoside}{#1}% + {\@twosidetrue\@mparswitchtrue}{\@twosidefalse\@mparswitchfalse}}% +\define@key{Gm}{asymmetric}[true]{\Gm@doifelse{asymmetric}{#1}% + {\@twosidetrue\@mparswitchfalse}{}}% +\define@key{Gm}{bindingoffset}{\Gm@setlength\Gm@bindingoffset{#1}}% +\define@key{Gm}{headheight}{\Gm@setlength\headheight{#1}}% +\define@key{Gm}{headsep}{\Gm@setlength\headsep{#1}}% +\define@key{Gm}{footskip}{\Gm@setlength\footskip{#1}}% +\let\KV@Gm@head\KV@Gm@headheight +\let\KV@Gm@foot\KV@Gm@footskip +\define@key{Gm}{nohead}[true]{\Gm@doifelse{nohead}{#1}% + {\Gm@setlength\headheight\z@\Gm@setlength\headsep\z@}{}}% +\define@key{Gm}{nofoot}[true]{\Gm@doifelse{nofoot}{#1}% + {\Gm@setlength\footskip\z@}{}}% +\define@key{Gm}{noheadfoot}[true]{\Gm@doifelse{noheadfoot}{#1}% + {\Gm@setlength\headheight\z@\Gm@setlength\headsep + \z@\Gm@setlength\footskip\z@}{}}% +\define@key{Gm}{footnotesep}{\Gm@setlength{\skip\footins}{#1}}% +\define@key{Gm}{marginparwidth}{\Gm@setlength\marginparwidth{#1}}% +\let\KV@Gm@marginpar\KV@Gm@marginparwidth +\define@key{Gm}{marginparsep}{\Gm@setlength\marginparsep{#1}}% +\define@key{Gm}{nomarginpar}[true]{\Gm@doifelse{nomarginpar}{#1}% + {\Gm@setlength\marginparwidth\z@\Gm@setlength\marginparsep\z@}{}}% +\define@key{Gm}{columnsep}{\Gm@setlength\columnsep{#1}}% +\define@key{Gm}{hoffset}{\Gm@setlength\hoffset{#1}}% +\define@key{Gm}{voffset}{\Gm@setlength\voffset{#1}}% +\define@key{Gm}{offset}{\Gm@branch{#1}{hoffset}{voffset}}% +\define@key{Gm}{layouthoffset}{\Gm@setlength\Gm@layouthoffset{#1}}% +\define@key{Gm}{layoutvoffset}{\Gm@setlength\Gm@layoutvoffset{#1}}% +\define@key{Gm}{layoutoffset}{\Gm@branch{#1}{layouthoffset}{layoutvoffset}}% +\define@key{Gm}{twocolumn}[true]{% + \Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}% +\define@key{Gm}{onecolumn}[true]{% + \Gm@doifelse{onecolumn}{#1}{\@twocolumnfalse}{\@twocolumntrue}}% +\define@key{Gm}{reversemp}[true]{% + \Gm@doif{reversemp}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% +\define@key{Gm}{reversemarginpar}[true]{% + \Gm@doif{reversemarginpar}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% +\define@key{Gm}{driver}{\ifGm@preamble{driver}{% + \edef\@@tempa{#1}\edef\@@auto{auto}\edef\@@none{none}% + \ifx\@@tempa\@empty\let\Gm@driver\relax\else + \ifx\@@tempa\@@none\let\Gm@driver\relax\else + \ifx\@@tempa\@@auto\let\Gm@driver\@empty\else + \setkeys{Gm}{#1}\fi\fi\fi\let\@@auto\relax\let\@@none\relax}}% +\define@key{Gm}{dvips}[true]{\ifGm@preamble{dvips}{% + \Gm@doifelse{dvips}{#1}{\Gm@setdriver{dvips}}{\Gm@unsetdriver{dvips}}}}% +\define@key{Gm}{dvipdfm}[true]{\ifGm@preamble{dvipdfm}{% + \Gm@doifelse{dvipdfm}{#1}{\Gm@setdriver{dvipdfm}}{\Gm@unsetdriver{dvipdfm}}}}% +\define@key{Gm}{pdftex}[true]{\ifGm@preamble{pdftex}{% + \Gm@doifelse{pdftex}{#1}{\Gm@setdriver{pdftex}}{\Gm@unsetdriver{pdftex}}}}% +\define@key{Gm}{xetex}[true]{\ifGm@preamble{xetex}{% + \Gm@doifelse{xetex}{#1}{\Gm@setdriver{xetex}}{\Gm@unsetdriver{xetex}}}}% +\define@key{Gm}{vtex}[true]{\ifGm@preamble{vtex}{% + \Gm@doifelse{vtex}{#1}{\Gm@setdriver{vtex}}{\Gm@unsetdriver{vtex}}}}% +\define@key{Gm}{verbose}[true]{\ifGm@preamble{verbose}{\Gm@setbool{verbose}{#1}}}% +\define@key{Gm}{reset}[true]{\ifGm@preamble{reset}{% + \Gm@doifelse{reset}{#1}{\Gm@restore@org\Gm@initall + \ProcessOptionsKV[c]{Gm}\Gm@setdefaultpaper}{}}}% +\define@key{Gm}{resetpaper}[true]{\ifGm@preamble{resetpaper}{% + \Gm@setbool{resetpaper}{#1}}}% +\define@key{Gm}{mag}{\ifGm@preamble{mag}{\mag=#1}}% +\define@key{Gm}{truedimen}[true]{\ifGm@preamble{truedimen}{% + \Gm@doifelse{truedimen}{#1}{\let\Gm@truedimen\Gm@true}% + {\let\Gm@truedimen\@empty}}}% +\define@key{Gm}{pass}[true]{\ifGm@preamble{pass}{\Gm@setbool{pass}{#1}}}% +\define@key{Gm}{showframe}[true]{\Gm@setbool{showframe}{#1}}% +\define@key{Gm}{showcrop}[true]{\Gm@setbool{showcrop}{#1}}% +\def\Gm@setdefaultpaper{% + \ifx\Gm@paper\@undefined + \Gm@setsize{paper}(\strip@pt\paperwidth,\strip@pt\paperheight){pt}% + \Gm@setsize{Gm@layout}(\strip@pt\paperwidth,\strip@pt\paperheight){pt}% + \Gm@swap@papersizefalse + \fi}% +\def\Gm@adjustpaper{% + \ifdim\paperwidth>\p@\else + \PackageError{geometry}{% + \string\paperwidth\space(\the\paperwidth) too short}{% + Set a paper type (e.g., `a4paper').}% + \fi + \ifdim\paperheight>\p@\else + \PackageError{geometry}{% + \string\paperheight\space(\the\paperheight) too short}{% + Set a paper type (e.g., `a4paper').}% + \fi + \ifGm@swap@papersize + \setlength\@tempdima{\paperwidth}% + \setlength\paperwidth{\paperheight}% + \setlength\paperheight{\@tempdima}% + \fi + \ifGm@layout\else + \setlength\Gm@layoutwidth{\paperwidth}% + \setlength\Gm@layoutheight{\paperheight}% + \fi}% +\def\Gm@checkmp{% + \ifGm@includemp\else + \@tempcnta\z@\@tempcntb\@ne + \if@twocolumn + \@tempcnta\@ne + \else + \if@reversemargin + \@tempcnta\@ne\@tempcntb\z@ + \fi + \fi + \@tempdima\marginparwidth + \advance\@tempdima\marginparsep + \ifnum\@tempcnta=\@ne + \@tempdimc\@tempdima + \setlength\@tempdimb{\Gm@lmargin}% + \advance\@tempdimc-\@tempdimb + \ifdim\@tempdimc>\z@ + \Gm@warning{The marginal notes overrun the paper edge.^^J + \@spaces Add \the\@tempdimc\space and more to the left margin}% + \fi + \fi + \ifnum\@tempcntb=\@ne + \@tempdimc\@tempdima + \setlength\@tempdimb{\Gm@rmargin}% + \advance\@tempdimc-\@tempdimb + \ifdim\@tempdimc>\z@ + \Gm@warning{The marginal notes overrun the paper.^^J + \@spaces Add \the\@tempdimc\space and more to the right margin}% + \fi + \fi + \fi}% +\def\Gm@adjustmp{% + \ifGm@includemp + \@tempdimb\marginparwidth + \advance\@tempdimb\marginparsep + \Gm@wd@mp\@tempdimb + \Gm@odd@mp\z@ + \Gm@even@mp\z@ + \if@twocolumn + \Gm@wd@mp2\@tempdimb + \Gm@odd@mp\@tempdimb + \Gm@even@mp\@tempdimb + \else + \if@reversemargin + \Gm@odd@mp\@tempdimb + \if@mparswitch\else + \Gm@even@mp\@tempdimb + \fi + \else + \if@mparswitch + \Gm@even@mp\@tempdimb + \fi + \fi + \fi + \fi}% +\def\Gm@adjustbody{ + \ifGm@hbody + \ifx\Gm@width\@undefined + \ifx\Gm@hscale\@undefined + \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% + \else + \Gm@defbylen{width}{\Gm@hscale\Gm@layoutwidth}% + \fi + \fi + \ifx\Gm@textwidth\@undefined\else + \setlength\@tempdima{\Gm@textwidth}% + \ifGm@includemp + \advance\@tempdima\Gm@wd@mp + \fi + \edef\Gm@width{\the\@tempdima}% + \fi + \fi + \ifGm@vbody + \ifx\Gm@height\@undefined + \ifx\Gm@vscale\@undefined + \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% + \else + \Gm@defbylen{height}{\Gm@vscale\Gm@layoutheight}% + \fi + \fi + \ifx\Gm@lines\@undefined\else + \ifdim\topskip<\ht\strutbox + \setlength\@tempdima{\topskip}% + \setlength\topskip{\ht\strutbox}% + \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space + to \the\topskip}% + \fi + \setlength\@tempdima{\baselineskip}% + \multiply\@tempdima\Gm@lines + \addtolength\@tempdima{\topskip}% + \addtolength\@tempdima{-\baselineskip}% + \edef\Gm@textheight{\the\@tempdima}% + \fi + \ifx\Gm@textheight\@undefined\else + \setlength\@tempdima{\Gm@textheight}% + \ifGm@includehead + \addtolength\@tempdima{\headheight}% + \addtolength\@tempdima{\headsep}% + \fi + \ifGm@includefoot + \addtolength\@tempdima{\footskip}% + \fi + \edef\Gm@height{\the\@tempdima}% + \fi + \fi}% +\def\Gm@process{% + \ifGm@pass + \Gm@restore@org + \else + \Gm@@process + \fi}% +\def\Gm@@process{% + \Gm@expandlengths + \Gm@adjustpaper + \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}% + \Gm@adjustmp + \Gm@adjustbody + \Gm@detall{h}{width}{lmargin}{rmargin}% + \Gm@detall{v}{height}{tmargin}{bmargin}% + \setlength\textwidth{\Gm@width}% + \setlength\textheight{\Gm@height}% + \setlength\topmargin{\Gm@tmargin}% + \setlength\oddsidemargin{\Gm@lmargin}% + \addtolength\oddsidemargin{-1\Gm@truedimen in}% + \ifGm@includemp + \advance\textwidth-\Gm@wd@mp + \advance\oddsidemargin\Gm@odd@mp + \fi + \if@mparswitch + \setlength\evensidemargin{\Gm@rmargin}% + \addtolength\evensidemargin{-1\Gm@truedimen in}% + \ifGm@includemp + \advance\evensidemargin\Gm@even@mp + \fi + \else + \evensidemargin\oddsidemargin + \fi + \advance\oddsidemargin\Gm@bindingoffset + \addtolength\topmargin{-1\Gm@truedimen in}% + \ifGm@includehead + \addtolength\textheight{-\headheight}% + \addtolength\textheight{-\headsep}% + \else + \addtolength\topmargin{-\headheight}% + \addtolength\topmargin{-\headsep}% + \fi + \ifGm@includefoot + \addtolength\textheight{-\footskip}% + \fi + \ifGm@heightrounded + \setlength\@tempdima{\textheight}% + \addtolength\@tempdima{-\topskip}% + \@tempcnta\@tempdima + \@tempcntb\baselineskip + \divide\@tempcnta\@tempcntb + \setlength\@tempdimb{\baselineskip}% + \multiply\@tempdimb\@tempcnta + \advance\@tempdima-\@tempdimb + \multiply\@tempdima\tw@ + \ifdim\@tempdima>\baselineskip + \addtolength\@tempdimb{\baselineskip}% + \fi + \addtolength\@tempdimb{\topskip}% + \textheight\@tempdimb + \fi + \advance\oddsidemargin\Gm@layouthoffset% + \advance\evensidemargin\Gm@layouthoffset% + \advance\topmargin\Gm@layoutvoffset% + \addtolength\Gm@layoutwidth{\Gm@bindingoffset}% + }% end of \Gm@@process +\def\Gm@detectdriver{% + \ifx\Gm@driver\@empty + \typeout{*geometry* driver: auto-detecting}% + \ifpdf + \Gm@setdriver{pdftex}% + \else + \Gm@setdriver{dvips}% + \fi + \ifvtex + \Gm@setdriver{vtex}% + \fi + \ifxetex + \Gm@setdriver{xetex} + \fi + \else + \ifx\Gm@driver\Gm@xetex %% + \ifxetex\else + \Gm@warning{Wrong driver setting: `xetex'; trying `pdftex' driver}% + \Gm@setdriver{pdftex} + \fi + \fi + \ifx\Gm@driver\Gm@vtex + \ifvtex\else + \Gm@warning{Wrong driver setting: `vtex'; trying `dvips' driver}% + \Gm@setdriver{dvips}% + \fi + \fi + \fi + \ifx\Gm@driver\relax + \typeout{*geometry* detected driver: }% + \else + \typeout{*geometry* detected driver: \Gm@driver}% + \fi}% +\def\Gm@showparams#1{% + \ifGm@verbose\expandafter\typeout\else\expandafter\wlog\fi + {\Gm@logcontent{#1}}}% +\def\Gm@showdim#1{* \string#1=\the#1^^J}% +\def\Gm@showbool#1{\@nameuse{ifGm@#1}#1\space\fi}% +\def\Gm@logcontent#1{% + *geometry* verbose mode - [ #1 ] result:^^J% + \ifGm@pass * pass: disregarded the geometry package!^^J% + \else + * driver: \if\Gm@driver\else\Gm@driver\fi^^J% + * paper: \ifx\Gm@paper\@undefined\else\Gm@paper\fi^^J% + * layout: \ifGm@layout\else\fi^^J% + \ifGm@layout + * layout(width,height): (\the\Gm@layoutwidth,\the\Gm@layoutheight)^^J% + \fi + * layoutoffset:(h,v)=(\the\Gm@layouthoffset,\the\Gm@layoutvoffset)^^J% + \@ifundefined{Gm@lines}{}{* lines: \Gm@lines^^J}% + \@ifundefined{Gm@hmarginratio}{}{* hratio: \Gm@hmarginratio^^J}% + \@ifundefined{Gm@vmarginratio}{}{* vratio: \Gm@vmarginratio^^J}% + \ifdim\Gm@bindingoffset=\z@\else + * bindingoffset: \the\Gm@bindingoffset^^J\fi + * modes: % + \Gm@showbool{landscape}% + \Gm@showbool{includehead}% + \Gm@showbool{includefoot}% + \Gm@showbool{includemp}% + \if@twoside twoside\space\fi% + \if@mparswitch\else\if@twoside asymmetric\space\fi\fi% + \Gm@showbool{heightrounded}% + \ifx\Gm@truedimen\@empty\else truedimen\space\fi% + \Gm@showbool{showframe}% + \Gm@showbool{showcrop}% + ^^J% + * h-part:(L,W,R)=(\Gm@lmargin, \Gm@width, \Gm@rmargin)^^J% + * v-part:(T,H,B)=(\Gm@tmargin, \Gm@height, \Gm@bmargin)^^J% + \fi + \Gm@showdim{\paperwidth}% + \Gm@showdim{\paperheight}% + \Gm@showdim{\textwidth}% + \Gm@showdim{\textheight}% + \Gm@showdim{\oddsidemargin}% + \Gm@showdim{\evensidemargin}% + \Gm@showdim{\topmargin}% + \Gm@showdim{\headheight}% + \Gm@showdim{\headsep}% + \Gm@showdim{\topskip}% + \Gm@showdim{\footskip}% + \Gm@showdim{\marginparwidth}% + \Gm@showdim{\marginparsep}% + \Gm@showdim{\columnsep}% + * \string\skip\string\footins=\the\skip\footins^^J% + \Gm@showdim{\hoffset}% + \Gm@showdim{\voffset}% + \Gm@showdim{\mag}% + * \string\@twocolumn\if@twocolumn true\else false\fi^^J% + * \string\@twoside\if@twoside true\else false\fi^^J% + * \string\@mparswitch\if@mparswitch true\else false\fi^^J% + * \string\@reversemargin\if@reversemargin true\else false\fi^^J% + * (1in=72.27pt=25.4mm, 1cm=28.453pt)^^J}% +\def\Gm@cropmark(#1,#2,#3,#4){% + \begin{picture}(0,0) + \setlength\unitlength{1truemm}% + \linethickness{0.25pt}% + \put(#3,0){\line(#1,0){17}}% + \put(0,#4){\line(0,#2){17}}% + \end{picture}}% +\providecommand*\vb@xt@{\vbox to}% +\def\Gm@vrule{\vrule width 0.2pt height\textheight depth\z@}% +\def\Gm@hrule{\hrule height 0.2pt depth\z@ width\textwidth}% +\def\Gm@hruled{\hrule height\z@ depth0.2pt width\textwidth}% +\newcommand*{\Gm@vrules@mpi}{% + \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces + \hskip \textwidth\Gm@vrule\hskip \marginparsep + \llap{\Gm@vrule}\hfil\Gm@vrule}}% +\newcommand*{\Gm@vrules@mpii}{% + \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep + \llap{\Gm@vrule}\ignorespaces + \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep + \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}}% +\newcommand*{\Gm@pageframes}{% + \vb@xt@\z@{% + \ifGm@showcrop + \vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset% + \hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset% + \vb@xt@\Gm@layoutheight{% + \let\protect\relax + \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,1,-3,3)\hfil\Gm@cropmark(1,1,3,3)}% + \vfil + \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,-1,-3,-3)\hfil\Gm@cropmark(1,-1,3,-3)}}% + \hss}% + \vss}% + \fi% + \ifGm@showframe + \if@twoside + \ifodd\count\z@ + \let\@themargin\oddsidemargin + \else + \let\@themargin\evensidemargin + \fi + \fi + \moveright\@themargin% + \vb@xt@\z@{% + \vskip\topmargin\vb@xt@\z@{\vss\Gm@hrule}% + \vskip\headheight\vb@xt@\z@{\vss\Gm@hruled}% + \vskip\headsep\vb@xt@\z@{\vss\Gm@hrule}% + \@tempdima\textwidth + \advance\@tempdima by \marginparsep + \advance\@tempdima by \marginparwidth + \if@mparswitch + \ifodd\count\z@ + \Gm@vrules@mpi + \else + \Gm@vrules@mpii + \fi + \else + \Gm@vrules@mpi + \fi + \vb@xt@\z@{\vss\Gm@hrule}% + \vskip\footskip\vb@xt@\z@{\vss\Gm@hruled}% + \vss}% + \fi% + }}% +\def\ProcessOptionsKV{\@ifnextchar[%] + {\@ProcessOptionsKV}{\@ProcessOptionsKV[]}}% +\def\@ProcessOptionsKV[#1]#2{% + \let\@tempa\@empty + \@tempcnta\z@ + \if#1p\@tempcnta\@ne\else\if#1c\@tempcnta\tw@\fi\fi + \ifodd\@tempcnta + \edef\@tempa{\@ptionlist{\@currname.\@currext}}% + \else + \@for\CurrentOption:=\@classoptionslist\do{% + \@ifundefined{KV@#2@\CurrentOption}% + {}{\edef\@tempa{\@tempa,\CurrentOption,}}}% + \ifnum\@tempcnta=\z@ + \edef\@tempa{\@tempa,\@ptionlist{\@currname.\@currext}}% + \fi + \fi + \edef\@tempa{\noexpand\setkeys{#2}{\@tempa}}% + \@tempa + \AtEndOfPackage{\let\@unprocessedoptions\relax}}% +\def\Gm@setkeys{\setkeys{Gm}}% +\def\Gm@processconfig{% + \let\Gm@origExecuteOptions\ExecuteOptions + \let\ExecuteOptions\Gm@setkeys + \InputIfFileExists{geometry.cfg}{}{} + \let\ExecuteOptions\Gm@origExecuteOptions}% +\Gm@save +\edef\Gm@restore@org{\Gm@restore}% +\Gm@initall +\Gm@processconfig +\ProcessOptionsKV[c]{Gm}% +\Gm@setdefaultpaper +\ProcessOptionsKV[p]{Gm}% +\Gm@process +\AtBeginDocument{% + \Gm@savelength{paperwidth}% + \Gm@savelength{paperheight}% + \edef\Gm@restore@org{\Gm@restore}% + \ifGm@resetpaper + \edef\Gm@pw{\Gm@orgpw}% + \edef\Gm@ph{\Gm@orgph}% + \else + \edef\Gm@pw{\the\paperwidth}% + \edef\Gm@ph{\the\paperheight}% + \fi + \ifGm@pass\else + \ifnum\mag=\@m\else + \Gm@magtooffset + \divide\paperwidth\@m + \multiply\paperwidth\the\mag + \divide\paperheight\@m + \multiply\paperheight\the\mag + \fi + \fi + \Gm@detectdriver + \ifx\Gm@driver\Gm@xetex + \@ifundefined{pdfpagewidth}{}{% + \setlength\pdfpagewidth{\Gm@pw}% + \setlength\pdfpageheight{\Gm@ph}}% + \ifnum\mag=\@m\else + \ifx\Gm@truedimen\Gm@true + \setlength\paperwidth{\Gm@pw}% + \setlength\paperheight{\Gm@ph}% + \fi + \fi + \fi + \ifx\Gm@driver\Gm@pdftex + \@ifundefined{pdfpagewidth}{}{% + \setlength\pdfpagewidth{\Gm@pw}% + \setlength\pdfpageheight{\Gm@ph}}% + \ifnum\mag=\@m\else + \@tempdima=\mag sp% + \@ifundefined{pdfhorigin}{}{% + \divide\pdfhorigin\@tempdima + \multiply\pdfhorigin\@m + \divide\pdfvorigin\@tempdima + \multiply\pdfvorigin\@m}% + \ifx\Gm@truedimen\Gm@true + \setlength\paperwidth{\Gm@pw}% + \setlength\paperheight{\Gm@ph}% + \fi + \fi + \fi + \ifx\Gm@driver\Gm@vtex + \@ifundefined{mediawidth}{}{% + \mediawidth=\paperwidth + \mediaheight=\paperheight}% + \ifvtexdvi + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% + \fi + \fi + \ifx\Gm@driver\Gm@dvips + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% + \ifx\Gm@driver\Gm@dvips\ifGm@landscape + \AtBeginDvi{\special{! /landplus90 true store}}% + \fi\fi + \else\ifx\Gm@driver\Gm@dvipdfm + \ifcase\ifx\AtBeginShipoutFirst\relax\@ne\else + \ifx\AtBeginShipoutFirst\@undefined\@ne\else\z@\fi\fi + \AtBeginShipoutFirst{\special{papersize=\the\paperwidth,\the\paperheight}}% + \or + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% + \fi + \fi\fi + \@tempswafalse + \ifGm@showframe + \@tempswatrue + \else\ifGm@showcrop + \@tempswatrue + \fi\fi + \if@tempswa + \RequirePackage{atbegshi}% + \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{% + \baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@ + \Gm@pageframes\box\AtBeginShipoutBox}}% + \fi + \Gm@save + \edef\Gm@restore@pkg{\Gm@restore}% + \ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi + \Gm@showparams{preamble}% + \let\Gm@pw\relax + \let\Gm@ph\relax + }% end of \AtBeginDocument +\newcommand{\geometry}[1]{% + \Gm@clean + \setkeys{Gm}{#1}% + \Gm@process}% +\@onlypreamble\geometry +\DeclareRobustCommand\Gm@changelayout{% + \setlength{\@colht}{\textheight} + \setlength{\@colroom}{\textheight}% + \setlength{\vsize}{\textheight} + \setlength{\columnwidth}{\textwidth}% + \if@twocolumn% + \advance\columnwidth-\columnsep + \divide\columnwidth\tw@% + \@firstcolumntrue% + \fi% + \setlength{\hsize}{\columnwidth}% + \setlength{\linewidth}{\hsize}}% +\newcommand{\newgeometry}[1]{% + \clearpage + \Gm@restore@org + \Gm@initnewgm + \Gm@newgmtrue + \setkeys{Gm}{#1}% + \Gm@newgmfalse + \Gm@process + \ifnum\mag=\@m\else\Gm@magtooffset\fi + \Gm@changelayout + \Gm@showparams{newgeometry}}% +\newcommand{\restoregeometry}{% + \clearpage + \Gm@restore@pkg + \Gm@changelayout}% +\newcommand*{\savegeometry}[1]{% + \Gm@save + \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}}% +\newcommand*{\loadgeometry}[1]{% + \clearpage + \@ifundefined{Gm@restore@@#1}{% + \PackageError{geometry}{% + \string\loadgeometry : name `#1' undefined}{% + The name `#1' should be predefined with \string\savegeometry}% + }{\@nameuse{Gm@restore@@#1}% + \Gm@changelayout}}% +\endinput +%% +%% End of file `geometry.sty'. diff --git a/guide.tex b/guide.tex new file mode 100644 index 0000000..605ea96 --- /dev/null +++ b/guide.tex @@ -0,0 +1,18 @@ +\documentclass[imprimeur]{lolipop} + +\title{Guide Libre Association} +\subject{Guide d'usage des logiciels libres en milieu associatif} +\keywords{Logiciels libres, association, Internet, travail collaboratif} +\version{1.1} +\date{\today} +\organisation{April} +\orgwebsite{www.april.org} +\orgcontact{contact@april.org} +\orgaddress{2 place Sainte-Opportune --- 75001 Paris} +\sourcesaddress{http://guide.libreassociation.info} + +\begin{document} + +\input{guide_libre_asso.tex} + +\end{document} diff --git a/includes/images/000000015340.jpg b/includes/images/000000015340.jpg new file mode 100644 index 0000000..c92958d Binary files /dev/null and b/includes/images/000000015340.jpg differ diff --git a/includes/images/Framabook_ed_spe_Richard_Stallman_Revolution_premierecouvPLAT.jpg b/includes/images/Framabook_ed_spe_Richard_Stallman_Revolution_premierecouvPLAT.jpg new file mode 100644 index 0000000..497b6cf Binary files /dev/null and b/includes/images/Framabook_ed_spe_Richard_Stallman_Revolution_premierecouvPLAT.jpg differ diff --git a/includes/images/bordure.pdf b/includes/images/bordure.pdf new file mode 100755 index 0000000..b18be9a Binary files /dev/null and b/includes/images/bordure.pdf differ diff --git a/includes/images/bordure.svg b/includes/images/bordure.svg new file mode 100755 index 0000000..b6b8861 --- /dev/null +++ b/includes/images/bordure.svg @@ -0,0 +1,729 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/includes/images/catalogue-libre.png b/includes/images/catalogue-libre.png new file mode 100644 index 0000000..dbcccbc Binary files /dev/null and b/includes/images/catalogue-libre.png differ diff --git a/includes/images/comment-ca-marche.png b/includes/images/comment-ca-marche.png new file mode 100644 index 0000000..65f72a2 Binary files /dev/null and b/includes/images/comment-ca-marche.png differ diff --git a/includes/images/couverture.pdf b/includes/images/couverture.pdf new file mode 100644 index 0000000..a9e5d1f Binary files /dev/null and b/includes/images/couverture.pdf differ diff --git a/includes/images/couverture.png b/includes/images/couverture.png new file mode 100644 index 0000000..3bd748c Binary files /dev/null and b/includes/images/couverture.png differ diff --git a/includes/images/couverture.svg b/includes/images/couverture.svg new file mode 100644 index 0000000..9e5a745 --- /dev/null +++ b/includes/images/couverture.svg @@ -0,0 +1,2153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Collection Aprilwww.april.org + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Associations + + Libres + Logiciels + + + Guide Libre Association + Des logiciels pour libérer votre projet associatif + + + + + + + + + + + + + + + + diff --git a/includes/images/documents-sous-licence-libre.png b/includes/images/documents-sous-licence-libre.png new file mode 100644 index 0000000..ad5c817 Binary files /dev/null and b/includes/images/documents-sous-licence-libre.png differ diff --git a/includes/images/essayez-la-liberte.png b/includes/images/essayez-la-liberte.png new file mode 100644 index 0000000..4998c07 Binary files /dev/null and b/includes/images/essayez-la-liberte.png differ diff --git a/includes/images/essayez_la_liberte_mini.jpg b/includes/images/essayez_la_liberte_mini.jpg new file mode 100644 index 0000000..24b45ab Binary files /dev/null and b/includes/images/essayez_la_liberte_mini.jpg differ diff --git a/includes/images/expolibre.png b/includes/images/expolibre.png new file mode 100644 index 0000000..717f813 Binary files /dev/null and b/includes/images/expolibre.png differ diff --git a/includes/images/faites-passer.jpg b/includes/images/faites-passer.jpg new file mode 100644 index 0000000..daf3869 Binary files /dev/null and b/includes/images/faites-passer.jpg differ diff --git a/includes/images/formats-ouverts.png b/includes/images/formats-ouverts.png new file mode 100644 index 0000000..593bbf8 Binary files /dev/null and b/includes/images/formats-ouverts.png differ diff --git a/includes/images/formats_ouverts_V_mini.jpeg b/includes/images/formats_ouverts_V_mini.jpeg new file mode 100644 index 0000000..f4507e6 Binary files /dev/null and b/includes/images/formats_ouverts_V_mini.jpeg differ diff --git a/includes/images/hirondelle1.pdf b/includes/images/hirondelle1.pdf new file mode 100644 index 0000000..d4bc1da Binary files /dev/null and b/includes/images/hirondelle1.pdf differ diff --git a/includes/images/hirondelle1.svg b/includes/images/hirondelle1.svg new file mode 100644 index 0000000..661caa0 --- /dev/null +++ b/includes/images/hirondelle1.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/includes/images/hirondelle2.pdf b/includes/images/hirondelle2.pdf new file mode 100644 index 0000000..7a4be6a Binary files /dev/null and b/includes/images/hirondelle2.pdf differ diff --git a/includes/images/hirondelle2.svg b/includes/images/hirondelle2.svg new file mode 100644 index 0000000..70fff09 --- /dev/null +++ b/includes/images/hirondelle2.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/includes/images/licences_libres_affiche.300.png b/includes/images/licences_libres_affiche.300.png new file mode 100644 index 0000000..04b6dcf Binary files /dev/null and b/includes/images/licences_libres_affiche.300.png differ diff --git a/includes/images/logiciel-libre-a-partager.jpg b/includes/images/logiciel-libre-a-partager.jpg new file mode 100644 index 0000000..c94e16f Binary files /dev/null and b/includes/images/logiciel-libre-a-partager.jpg differ diff --git a/includes/images/marguerite1.pdf b/includes/images/marguerite1.pdf new file mode 100644 index 0000000..ec68194 --- /dev/null +++ b/includes/images/marguerite1.pdf @@ -0,0 +1,68 @@ +%PDF-1.5 +% +3 0 obj +<< /Length 4 0 R + /Filter /FlateDecode +>> +stream +xuTnV1 S'ʂP: >^h%Թqr~lOJ.?\_Gq|"uv|'.wurxhә4MNCVabXSnI/ +Іj  Ď;wi0М1 uZ; pn1We6pS[.Jչ j l/™5/N|ZT" <尢4zuZL#pW1d:1c;)q4%”( l8S[q۠"zE#K9s&7)G2 cmrtT0TfNlfFѝ;9:a2:laDd3-Ϧ%q =FH߁]|/ Q/'DKM&uRX׎zEydnyJbpe|Q̺–$`RchYcdQ]L VU3+ͰݨJZCi4[ Ŕ@Ci{7µS ~ǸtX8*2fCk1]/ (oŎKGS&r84fC';|#GޏlEӺd-e4A)Pe76Վ5nElJ.fHǯՏ^G*jՄSkJy_7SQv +endstream +endobj +4 0 obj + 695 +endobj +2 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + >> +>> +endobj +5 0 obj +<< /Type /Page + /Parent 1 0 R + /MediaBox [ 0 0 7.770684 13.841983 ] + /Contents 3 0 R + /Group << + /Type /Group + /S /Transparency + /CS /DeviceRGB + >> + /Resources 2 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 5 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Creator (cairo 1.10.2 (http://cairographics.org)) + /Producer (cairo 1.10.2 (http://cairographics.org)) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000001092 00000 n +0000000809 00000 n +0000000015 00000 n +0000000787 00000 n +0000000881 00000 n +0000001157 00000 n +0000001284 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +1336 +%%EOF diff --git a/includes/images/marguerite1.svg b/includes/images/marguerite1.svg new file mode 100644 index 0000000..e9d8fea --- /dev/null +++ b/includes/images/marguerite1.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/includes/images/marguerite2.pdf b/includes/images/marguerite2.pdf new file mode 100644 index 0000000..4532a13 Binary files /dev/null and b/includes/images/marguerite2.pdf differ diff --git a/includes/images/marguerite2.svg b/includes/images/marguerite2.svg new file mode 100644 index 0000000..0eea07a --- /dev/null +++ b/includes/images/marguerite2.svg @@ -0,0 +1,71 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/includes/images/revolution-logiciel-libre.png b/includes/images/revolution-logiciel-libre.png new file mode 100644 index 0000000..b56bbaa Binary files /dev/null and b/includes/images/revolution-logiciel-libre.png differ diff --git a/includes/images/signature-allorge.png b/includes/images/signature-allorge.png new file mode 100644 index 0000000..e61062a Binary files /dev/null and b/includes/images/signature-allorge.png differ diff --git a/includes/images/tache.pdf b/includes/images/tache.pdf new file mode 100644 index 0000000..d431e13 Binary files /dev/null and b/includes/images/tache.pdf differ diff --git a/includes/images/tache.svg b/includes/images/tache.svg new file mode 100644 index 0000000..11ffc90 --- /dev/null +++ b/includes/images/tache.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/includes/images/vente-liee.png b/includes/images/vente-liee.png new file mode 100644 index 0000000..e59091b Binary files /dev/null and b/includes/images/vente-liee.png differ diff --git a/includes/images/vignettes/catalogue-libre.png b/includes/images/vignettes/catalogue-libre.png new file mode 100644 index 0000000..7930d8b Binary files /dev/null and b/includes/images/vignettes/catalogue-libre.png differ diff --git a/includes/images/vignettes/comment-ca-marche.png b/includes/images/vignettes/comment-ca-marche.png new file mode 100644 index 0000000..2f8f0dc Binary files /dev/null and b/includes/images/vignettes/comment-ca-marche.png differ diff --git a/includes/images/vignettes/documents-sous-licence-libre.png b/includes/images/vignettes/documents-sous-licence-libre.png new file mode 100644 index 0000000..479d6a5 Binary files /dev/null and b/includes/images/vignettes/documents-sous-licence-libre.png differ diff --git a/includes/images/vignettes/essayez-la-liberte.png b/includes/images/vignettes/essayez-la-liberte.png new file mode 100644 index 0000000..49d11cd Binary files /dev/null and b/includes/images/vignettes/essayez-la-liberte.png differ diff --git a/includes/images/vignettes/expolibre.png b/includes/images/vignettes/expolibre.png new file mode 100644 index 0000000..61680ba Binary files /dev/null and b/includes/images/vignettes/expolibre.png differ diff --git a/includes/images/vignettes/faites-passer.jpg b/includes/images/vignettes/faites-passer.jpg new file mode 100644 index 0000000..aaac41f Binary files /dev/null and b/includes/images/vignettes/faites-passer.jpg differ diff --git a/includes/images/vignettes/formats-ouverts.png b/includes/images/vignettes/formats-ouverts.png new file mode 100644 index 0000000..7f76334 Binary files /dev/null and b/includes/images/vignettes/formats-ouverts.png differ diff --git a/includes/images/vignettes/logiciel-libre-a-partager.jpg b/includes/images/vignettes/logiciel-libre-a-partager.jpg new file mode 100644 index 0000000..36aad88 Binary files /dev/null and b/includes/images/vignettes/logiciel-libre-a-partager.jpg differ diff --git a/includes/images/vignettes/revolution-logiciel-libre.png b/includes/images/vignettes/revolution-logiciel-libre.png new file mode 100644 index 0000000..eb5b6c1 Binary files /dev/null and b/includes/images/vignettes/revolution-logiciel-libre.png differ diff --git a/includes/images/vignettes/vente-liee.png b/includes/images/vignettes/vente-liee.png new file mode 100644 index 0000000..5888979 Binary files /dev/null and b/includes/images/vignettes/vente-liee.png differ diff --git a/includes/screenshots/dolibarr.png b/includes/screenshots/dolibarr.png new file mode 100644 index 0000000..a512a4c Binary files /dev/null and b/includes/screenshots/dolibarr.png differ diff --git a/includes/screenshots/firefox.png b/includes/screenshots/firefox.png new file mode 100644 index 0000000..8a8bee3 Binary files /dev/null and b/includes/screenshots/firefox.png differ diff --git a/includes/screenshots/framadate.png b/includes/screenshots/framadate.png new file mode 100644 index 0000000..c41f1cc Binary files /dev/null and b/includes/screenshots/framadate.png differ diff --git a/includes/screenshots/freeplane.png b/includes/screenshots/freeplane.png new file mode 100644 index 0000000..361e20a Binary files /dev/null and b/includes/screenshots/freeplane.png differ diff --git a/includes/screenshots/galette.png b/includes/screenshots/galette.png new file mode 100644 index 0000000..a31d136 Binary files /dev/null and b/includes/screenshots/galette.png differ diff --git a/includes/screenshots/gcompris.png b/includes/screenshots/gcompris.png new file mode 100644 index 0000000..8066257 Binary files /dev/null and b/includes/screenshots/gcompris.png differ diff --git a/includes/screenshots/gimp.png b/includes/screenshots/gimp.png new file mode 100644 index 0000000..42278db Binary files /dev/null and b/includes/screenshots/gimp.png differ diff --git a/includes/screenshots/gnu-and-penguin.png b/includes/screenshots/gnu-and-penguin.png new file mode 100644 index 0000000..306fb1c Binary files /dev/null and b/includes/screenshots/gnu-and-penguin.png differ diff --git a/includes/screenshots/gnucash.png b/includes/screenshots/gnucash.png new file mode 100644 index 0000000..08f1a98 Binary files /dev/null and b/includes/screenshots/gnucash.png differ diff --git a/includes/screenshots/grisbi.png b/includes/screenshots/grisbi.png new file mode 100644 index 0000000..357cb89 Binary files /dev/null and b/includes/screenshots/grisbi.png differ diff --git a/includes/screenshots/inkscape.png b/includes/screenshots/inkscape.png new file mode 100644 index 0000000..a45f1bd Binary files /dev/null and b/includes/screenshots/inkscape.png differ diff --git a/includes/screenshots/libreoffice.png b/includes/screenshots/libreoffice.png new file mode 100644 index 0000000..a3c5753 Binary files /dev/null and b/includes/screenshots/libreoffice.png differ diff --git a/includes/screenshots/phpcompta.png b/includes/screenshots/phpcompta.png new file mode 100644 index 0000000..7de7925 Binary files /dev/null and b/includes/screenshots/phpcompta.png differ diff --git a/includes/screenshots/pidgin.png b/includes/screenshots/pidgin.png new file mode 100644 index 0000000..e5f9bfc Binary files /dev/null and b/includes/screenshots/pidgin.png differ diff --git a/includes/screenshots/scenari.png b/includes/screenshots/scenari.png new file mode 100644 index 0000000..b8793a2 Binary files /dev/null and b/includes/screenshots/scenari.png differ diff --git a/includes/screenshots/scratch.png b/includes/screenshots/scratch.png new file mode 100644 index 0000000..1dd4fb1 Binary files /dev/null and b/includes/screenshots/scratch.png differ diff --git a/includes/screenshots/spip.png b/includes/screenshots/spip.png new file mode 100644 index 0000000..ab1913b Binary files /dev/null and b/includes/screenshots/spip.png differ diff --git a/includes/screenshots/stellarium.png b/includes/screenshots/stellarium.png new file mode 100644 index 0000000..d5f186f Binary files /dev/null and b/includes/screenshots/stellarium.png differ diff --git a/includes/screenshots/thunderbird.png b/includes/screenshots/thunderbird.png new file mode 100644 index 0000000..7798756 Binary files /dev/null and b/includes/screenshots/thunderbird.png differ diff --git a/includes/screenshots/vignettes/dolibarr.png b/includes/screenshots/vignettes/dolibarr.png new file mode 100644 index 0000000..d506959 Binary files /dev/null and b/includes/screenshots/vignettes/dolibarr.png differ diff --git a/includes/screenshots/vignettes/firefox.png b/includes/screenshots/vignettes/firefox.png new file mode 100644 index 0000000..8764ac8 Binary files /dev/null and b/includes/screenshots/vignettes/firefox.png differ diff --git a/includes/screenshots/vignettes/framadate.png b/includes/screenshots/vignettes/framadate.png new file mode 100644 index 0000000..7192b17 Binary files /dev/null and b/includes/screenshots/vignettes/framadate.png differ diff --git a/includes/screenshots/vignettes/freeplane.png b/includes/screenshots/vignettes/freeplane.png new file mode 100644 index 0000000..b144fb4 Binary files /dev/null and b/includes/screenshots/vignettes/freeplane.png differ diff --git a/includes/screenshots/vignettes/galette.png b/includes/screenshots/vignettes/galette.png new file mode 100644 index 0000000..dee70b3 Binary files /dev/null and b/includes/screenshots/vignettes/galette.png differ diff --git a/includes/screenshots/vignettes/gcompris.png b/includes/screenshots/vignettes/gcompris.png new file mode 100644 index 0000000..dc25830 Binary files /dev/null and b/includes/screenshots/vignettes/gcompris.png differ diff --git a/includes/screenshots/vignettes/gimp.png b/includes/screenshots/vignettes/gimp.png new file mode 100644 index 0000000..5eeedba Binary files /dev/null and b/includes/screenshots/vignettes/gimp.png differ diff --git a/includes/screenshots/vignettes/gnu-and-penguin.png b/includes/screenshots/vignettes/gnu-and-penguin.png new file mode 100644 index 0000000..de60670 Binary files /dev/null and b/includes/screenshots/vignettes/gnu-and-penguin.png differ diff --git a/includes/screenshots/vignettes/gnucash.png b/includes/screenshots/vignettes/gnucash.png new file mode 100644 index 0000000..2c4b362 Binary files /dev/null and b/includes/screenshots/vignettes/gnucash.png differ diff --git a/includes/screenshots/vignettes/grisbi.png b/includes/screenshots/vignettes/grisbi.png new file mode 100644 index 0000000..c408942 Binary files /dev/null and b/includes/screenshots/vignettes/grisbi.png differ diff --git a/includes/screenshots/vignettes/inkscape.png b/includes/screenshots/vignettes/inkscape.png new file mode 100644 index 0000000..28b781b Binary files /dev/null and b/includes/screenshots/vignettes/inkscape.png differ diff --git a/includes/screenshots/vignettes/libreoffice.png b/includes/screenshots/vignettes/libreoffice.png new file mode 100644 index 0000000..f5e27a4 Binary files /dev/null and b/includes/screenshots/vignettes/libreoffice.png differ diff --git a/includes/screenshots/vignettes/phpcompta.png b/includes/screenshots/vignettes/phpcompta.png new file mode 100644 index 0000000..9c0446c Binary files /dev/null and b/includes/screenshots/vignettes/phpcompta.png differ diff --git a/includes/screenshots/vignettes/pidgin.png b/includes/screenshots/vignettes/pidgin.png new file mode 100644 index 0000000..6ca6227 Binary files /dev/null and b/includes/screenshots/vignettes/pidgin.png differ diff --git a/includes/screenshots/vignettes/scenari.png b/includes/screenshots/vignettes/scenari.png new file mode 100644 index 0000000..92d52fc Binary files /dev/null and b/includes/screenshots/vignettes/scenari.png differ diff --git a/includes/screenshots/vignettes/scratch.png b/includes/screenshots/vignettes/scratch.png new file mode 100644 index 0000000..767d5e4 Binary files /dev/null and b/includes/screenshots/vignettes/scratch.png differ diff --git a/includes/screenshots/vignettes/spip.png b/includes/screenshots/vignettes/spip.png new file mode 100644 index 0000000..fc5f4bc Binary files /dev/null and b/includes/screenshots/vignettes/spip.png differ diff --git a/includes/screenshots/vignettes/stellarium.png b/includes/screenshots/vignettes/stellarium.png new file mode 100644 index 0000000..eb3e2af Binary files /dev/null and b/includes/screenshots/vignettes/stellarium.png differ diff --git a/includes/screenshots/vignettes/thunderbird.png b/includes/screenshots/vignettes/thunderbird.png new file mode 100644 index 0000000..c2b49a6 Binary files /dev/null and b/includes/screenshots/vignettes/thunderbird.png differ diff --git a/includes/screenshots/vignettes/wiki-april.png b/includes/screenshots/vignettes/wiki-april.png new file mode 100644 index 0000000..e9ceec8 Binary files /dev/null and b/includes/screenshots/vignettes/wiki-april.png differ diff --git a/includes/screenshots/wiki-april.png b/includes/screenshots/wiki-april.png new file mode 100644 index 0000000..f769993 Binary files /dev/null and b/includes/screenshots/wiki-april.png differ diff --git a/lal.txt b/lal.txt new file mode 100644 index 0000000..0d2f658 --- /dev/null +++ b/lal.txt @@ -0,0 +1,152 @@ +Licence Art Libre + + Licence Art Libre 1.3 (LAL 1.3) + + Préambule : + + Avec la Licence Art Libre, l'autorisation est donnée de copier, de diffuser et de transformer librement les oeuvres dans le respect des droits de l'auteur. + + Loin d'ignorer ces droits, la Licence Art Libre les reconnaît et les protège. Elle en reformule l'exercice en permettant à tout un chacun de faire un usage créatif des productions de l'esprit + quels que soient leur genre et leur forme d'expression. + + Si, en règle générale, l'application du droit d'auteur conduit à restreindre l'accès aux oeuvres de l'esprit, la Licence Art Libre, au contraire, le favorise. L'intention est d'autoriser + l'utilisation des ressources d'une oeuvre ; créer de nouvelles conditions de création pour amplifier les possibilités de création. La Licence Art Libre permet d'avoir jouissance des oeuvres + tout en reconnaissant les droits et les responsabilités de chacun. + + Avec le développement du numérique, l'invention d'internet et des logiciels libres, les modalités de création ont évolué : les productions de l'esprit s'offrent naturellement à la circulation, + à l'échange et aux transformations. Elles se prêtent favorablement à la réalisation d'oeuvres communes que chacun peut augmenter pour l'avantage de tous. + + C'est la raison essentielle de la Licence Art Libre : promouvoir et protéger ces productions de l'esprit selon les principes du copyleft : liberté d'usage, de copie, de diffusion, de + transformation et interdiction d'appropriation exclusive. + + Définitions : + + Nous désignons par « oeuvre », autant l'oeuvre initiale, les oeuvres conséquentes, que l'oeuvre commune telles que définies ci-après : + + L'oeuvre commune : + Il s'agit d'une oeuvre qui comprend l'oeuvre initiale ainsi que toutes les contributions postérieures (les originaux conséquents et les copies). Elle est créée à l'initiative de l'auteur + initial qui par cette licence définit les conditions selon lesquelles les contributions sont faites. + + L'oeuvre initiale : + C'est-à-dire l'oeuvre créée par l'initiateur de l'oeuvre commune dont les copies vont être modifiées par qui le souhaite. + + Les oeuvres conséquentes : + C'est-à-dire les contributions des auteurs qui participent à la formation de l'oeuvre commune en faisant usage des droits de reproduction, de diffusion et de modification que leur confère la + licence. + + Originaux (sources ou ressources de l'oeuvre) : + Chaque exemplaire daté de l'oeuvre initiale ou conséquente que leurs auteurs présentent comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures. + + Copie : + Toute reproduction d'un original au sens de cette licence. + + 1- OBJET. + Cette licence a pour objet de définir les conditions selon lesquelles vous pouvez jouir librement de l'oeuvre. + + 2. L'ÉTENDUE DE LA JOUISSANCE. + Cette oeuvre est soumise au droit d'auteur, et l'auteur par cette licence vous indique quelles sont vos libertés pour la copier, la diffuser et la modifier. + + 2.1 LA LIBERTÉ DE COPIER (OU DE REPRODUCTION). + Vous avez la liberté de copier cette oeuvre pour vous, vos amis ou toute autre personne, quelle que soit la technique employée. + + 2.2 LA LIBERTÉ DE DIFFUSER (INTERPRÉTER, REPRÉSENTER, DISTRIBUER). + Vous pouvez diffuser librement les copies de ces oeuvres, modifiées ou non, quel que soit le support, quel que soit le lieu, à titre onéreux ou gratuit, si vous respectez toutes les conditions + suivantes : + - joindre aux copies cette licence à l'identique ou indiquer précisément où se trouve la licence ; + - indiquer au destinataire le nom de chaque auteur des originaux, y compris le vôtre si vous avez modifié l'oeuvre ; + - indiquer au destinataire où il pourrait avoir accès aux originaux (initiaux et/ou conséquents). + + Les auteurs des originaux pourront, s'ils le souhaitent, vous autoriser à diffuser l'original dans les mêmes conditions que les copies. + + 2.3 LA LIBERTÉ DE MODIFIER. + Vous avez la liberté de modifier les copies des originaux (initiaux et conséquents) dans le respect des conditions suivantes : + - celles prévues à l'article 2.2 en cas de diffusion de la copie modifiée ; + - indiquer qu'il s'agit d'une oeuvre modifiée et, si possible, la nature de la modification ; + - diffuser cette oeuvre conséquente avec la même licence ou avec toute licence compatible ; + Les auteurs des originaux pourront, s'ils le souhaitent, vous autoriser à modifier l'original dans les mêmes conditions que les copies. + + 3. DROITS CONNEXES. + Les actes donnant lieu à des droits d'auteur ou des droits voisins ne doivent pas constituer un obstacle aux libertés conférées par cette licence. + C'est pourquoi, par exemple, les interprétations doivent être soumises à la même licence ou une licence compatible. De même, l'intégration de l'oeuvre à une base de données, une compilation ou + une anthologie ne doit pas faire obstacle à la jouissance de l'oeuvre telle que définie par cette licence. + + 4. L' INTEGRATION DE L'OEUVRE. + Toute intégration de cette oeuvre à un ensemble non soumis à la LAL doit assurer l'exercice des libertés conférées par cette licence. + + Si l'oeuvre n'est plus accessible indépendamment de l'ensemble, alors l'intégration n'est possible qu'à condition que l'ensemble soit soumis à la LAL ou une licence compatible. + + 5. CRITERES DE COMPATIBILITÉ. + Une licence est compatible avec la LAL si et seulement si : + - elle accorde l'autorisation de copier, diffuser et modifier des copies de l'oeuvre, y compris à des fins lucratives, et sans autres restrictions que celles qu'impose le respect des autres + critères de compatibilité ; + - elle garantit la paternité de l'oeuvre et l'accès aux versions antérieures de l'oeuvre quand cet accès est possible ; + - elle reconnaît la LAL également compatible (réciprocité) ; + - elle impose que les modifications faites sur l'oeuvre soient soumises à la même licence ou encore à une licence répondant aux critères de compatibilité posés par la LAL. + + 6. VOS DROITS INTELLECTUELS. + La LAL n'a pas pour objet de nier vos droits d'auteur sur votre contribution ni vos droits connexes. En choisissant de contribuer à l'évolution de cette oeuvre commune, vous acceptez seulement + d'offrir aux autres les mêmes autorisations sur votre contribution que celles qui vous ont été accordées par cette licence. Ces autorisations n'entraînent pas un désaisissement de vos droits + intellectuels. + + 7. VOS RESPONSABILITES. + La liberté de jouir de l'oeuvre tel que permis par la LAL (liberté de copier, diffuser, modifier) implique pour chacun la responsabilité de ses propres faits. + + 8. LA DURÉE DE LA LICENCE. + Cette licence prend effet dès votre acceptation de ses dispositions. Le fait de copier, de diffuser, ou de modifier l'oeuvre constitue une acceptation tacite. + Cette licence a pour durée la durée des droits d'auteur attachés à l'oeuvre. Si vous ne respectez pas les termes de cette licence, vous perdez automatiquement les droits qu'elle vous confère. + Si le régime juridique auquel vous êtes soumis ne vous permet pas de respecter les termes de cette licence, vous ne pouvez pas vous prévaloir des libertés qu'elle confère. + + 9. LES DIFFÉRENTES VERSIONS DE LA LICENCE. + Cette licence pourra être modifiée régulièrement, en vue de son amélioration, par ses auteurs (les acteurs du mouvement Copyleft Attitude) sous la forme de nouvelles versions numérotées. + Vous avez toujours le choix entre vous contenter des dispositions contenues dans la version de la LAL sous laquelle la copie vous a été communiquée ou alors, vous prévaloir des dispositions + d'une des versions ultérieures. + + 10. LES SOUS-LICENCES. + Les sous-licences ne sont pas autorisées par la présente. Toute personne qui souhaite bénéficier des libertés qu'elle confère sera liée directement aux auteurs de l'oeuvre commune. + + 11. LE CONTEXTE JURIDIQUE. + Cette licence est rédigée en référence au droit français et à la Convention de Berne relative au droit d'auteur. + + MODE D'EMPLOI : + + - Comment utiliser la Licence Art Libre ? + + Pour bénéficier de la Licence Art Libre il suffit d'accompagner votre + oeuvre de cette mention : + + [Nom de l'auteur, titre, date et le cas échéant, le nom des + auteurs de l'oeuvre initiale et conséquentes ainsi que leur localisation]. + Copyleft: cette oeuvre est libre, vous pouvez la copier, la diffuser et la modifier selon les termes de la Licence Art Libre http://www.artlibre.org + + - Pourquoi utiliser la Licence Art Libre ? + + 1/ Pour mettre à disposition votre oeuvre au plus grand nombre. + 2/ Pour la laisser diffuser librement. + 3/ Pour lui permettre d'évoluer en autorisant sa copie, diffusion et + transformation par d'autres. + 4/ Pour pouvoir vous-même utiliser les ressources d'une oeuvre quand celle-ci est sous Licence Art Libre : la copier, la diffuser ou la transformer librement. + 5/ Ce n'est pas tout : La Licence Art Libre offre un cadre juridique intéressant pour empêcher toute appropriation abusive. Il n'est pas possible de s'emparer de votre oeuvre pour en + court-circuiter le processus créatif et en avoir une jouissance exclusive. + + - Quand utiliser la Licence Art Libre ? + + Chaque fois que vous voulez bénéficier et faire bénéficier des droits de copie, diffusion et transformation des créations, sans qu'il n'y ait d'appropriation exclusive, utilisez la Licence Art + Libre. Par exemple, pour des projets scientifiques, artistiques ou pédagogiques. + + - A quels types d'oeuvres convient la Licence Art Libre ? + + La Licence Art Libre s'applique aussi bien aux oeuvres numériques que non numériques. + Vous pouvez mettre sous Licence Art Libre tout texte, toute image, tout son, tout geste, toutes sortes de machins sur lesquels vous disposez suffisamment de droits d'auteurs pour agir. + + - Cette licence a une histoire : + + Elle est née de l'observation et de la pratique du numérique, du logiciel libre, d'internet et de l'art. Elle est issue des rencontres « Copyleft Attitude » qui ont eu lieu à Paris en 2000. + Pour la première fois elles faisaient se rencontrer des informaticiens du libre avec des gens du monde de l'art. Il s'agissait d'adapter les principes du copyleft qui définissent le logiciel + libre à toutes sortes de créations. http://www.artlibre.org + + Copyleft Attitude, 2007. + Vous pouvez reproduire et diffuser cette licence à l'identique (verbatim). + + Document publié sur artlibre.org + + Vous pouvez le consulter en ligne depuis http://artlibre.org/licence/lal diff --git a/lolipop.cls b/lolipop.cls new file mode 100644 index 0000000..436ccc2 --- /dev/null +++ b/lolipop.cls @@ -0,0 +1,775 @@ +% Bienvenue sur la classe lolipop. +\ProvidesClass{lolipop}[2012/03/31] + +% Lolipop est une classe LaTeX moderne. +\NeedsTeXFormat{LaTeX2e} + +% Elle se base pour l'essentiel sur la classe LaTeX book. +\LoadClass[10pt,twoside,french]{book} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Dépendances générales +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Nous écrivons en unicode. +\RequirePackage[utf8]{inputenc} + +% Nous utilisons de jolies fontes vectorielles. +\RequirePackage[T1]{fontenc} +% Packagé dans tex-gyre +\RequirePackage{tgchorus} +% Packagé dans lmodern +\RequirePackage{lmodern} + +% Nous étendons LaTeX avec le symbole €. +\RequirePackage{eurosym} +\DeclareUnicodeCharacter{20AC}{{\euro}} + +% Nous aurons besoin de quadrichromie, +\RequirePackage[cmyk]{xcolor} +% ainsi que de différentes subtilités graphiques. +\RequirePackage{pgf} +\RequirePackage{tikz} +\usetikzlibrary{shapes,snakes,shadows,arrows} +\RequirePackage{amssymb} + +% Le paquet environ permet facilement de switcher entre macro et environnement. +\usepackage{environ} + +% Le paquet ifthen facilite le contrôle de flux. +\usepackage{ifthen} +\usepackage[strict]{changepage} + +% Nous définissons de nouveaux types de flottants en nous appuyant sur le paquet +% float. +\usepackage{float} + +% Nous éditons les hyperliens, avec césure, unicode, et sans cadre. +\RequirePackage[hyphens]{url} +\RequirePackage[breaklinks=true, unicode=True, pdfborder={0 0 0}]{hyperref} +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<\do\:}% + +% Le paquet microtype permet les fonctionnalités de microtypographie. +% \RequirePackage{microtype} + +% Et finalement, nous mettrons en oeuvre les subtilités de la typographie +% française. +\RequirePackage[french]{babel} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Chemins +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@includes{includes/} +\def\@images{\@includes images/} +\def\@screenshots{\@includes screenshots/} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mise en page +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Avec geometry, c'est trop facile. +\RequirePackage[ + paperwidth = 168mm, + paperheight = 230mm, + inner = 17mm, + outer = 3.2cm, + marginparwidth = 2.7cm, + marginparsep = .5cm, + top = 15mm, + bottom = 25mm, + twoside +]{geometry} + +% Toutefois, nous modifierons la géométrie pour le mainmatter, et la restaurons +% pour le backmatter. +\let\ltxmainmatter\mainmatter +\def\mainmatter{ + \newgeometry{ + inner = 17mm, + outer = 6.2cm, + marginparwidth = 5.7cm, + marginparsep = .5cm, + top = 15mm, + bottom = 25mm, + twoside + } + \ltxmainmatter +} + +\let\ltxbackmatter\backmatter +\def\backmatter{ + \restoregeometry + \ltxbackmatter +} + +% Headers et footers discrets +\pagestyle{plain}% + +% Pas de césure pour les mots en majuscule. +\uchyph=0 + +% Traits de coupe et marques d'impression, en option +\usepackage{eso-pic} +\def\lolipop@addborder{ + \pgfdeclareimage{bordure}{\@images bordure} + \newcommand\reflecteven[1]{\checkoddpage\ifoddpage{{##1}}\else\reflectbox{##1}\fi} + \AddToShipoutPicture{% + \parindent 0pt% + \reflecteven{\pgfuseimage{bordure}}% + \hspace{-168mm} + } +} +\DeclareOption{imprimeur}{\lolipop@addborder} +\ProcessOptions + +% Autorisons plus d'écarts entre mots. +\pretolerance=9999 +% \tolerance=1000 +% \emergencystretch 0.5pt +% \hbadness9999 +% \vbadness9999 + +\setlength\parskip{0pt plus 4pt minus 0pt} + +% Autorisons plus d'écarts entre flottants. +\setlength\floatsep {12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\textfloatsep{20\p@ \@plus 4\p@ \@minus 6\p@} +\setlength\intextsep {12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\abovecaptionskip{10\p@ \@plus 4\p@ \@minus 2\p@} +\setlength\belowcaptionskip{0\p@ \@plus 4\p@ \@minus 0\p@} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mise en forme +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Couleur %%% + +% Le magenta est la couleur dominante du guide. +\definecolor{mgray}{cmyk}{0,0.191,0.080,0.263} +\definecolor{magenta}{cmyk}{0,1,0,0} +\newcommand{\magenta}{\color{magenta}} +% Nous l'utiliserons notamment pour les emphases. +\renewcommand{\emph}[1]{{\it#1}} +\newcommand{\strong}[1]{{\bf\magenta#1}} +% Ainsi que pour les exergues, que nous définirons comme un paragraphe centré +% dans la marge. +\NewEnviron{exergue}{ + \let\href\fnhref + \marginpar{ + \checkoddpage\ifoddpage\raggedright\else\raggedleft\fi + \begin{minipage}{4.0cm} + \centering + \bf\large\magenta + \BODY + \end{minipage} + } + \let\href\mphref +} + +%%% Hyperliens %%% + +% La coloration des liens est sans intérêt en général (on le fera à plus haut +% niveau si nécessaire). +\hypersetup{colorlinks=false} +% Par contre, ceux-ci doivent être imprimés vu que le guide est destiné à +% l'impression. Pour cela, nous stockons l'interfaces de hyperref et +% redéfinissons les notres. +\let\hhref\href +\let\hurl\url +\let\href\mphref +\newcommand{\mphref}[2]{\hhref{#1}{#2\footnote{\url{#1}}}} +\renewcommand{\url}[1]{\hurl{#1}} +\newcommand{\email}[1]{\hhref{mailto:#1}{\tech{#1}}} +% Cependant, cela ne permet plus d'afficher un lien dans une footnote. Pour +% cela, on va hacker les footnotes. +\newcommand{\fnhref}[2]{#2 (\url{#1})} +\let\ltxfootnote\footnote +\renewcommand{\footnote}[1]{% + \let\href\fnhref% + \ltxfootnote{#1}% + \let\href\mphref% +} + +%%% Fontes %%% + +% Une interface pour acceder aux fontes TgChorus. +\newcommand{\chorus}{\fontfamily{qzc}\selectfont} +\newcommand{\textchorus}[1]{{\chorus #1}} + +% Nous utiliserons TgChorus pour les headers. +\newcommand{\headingfont}{\chorus} +\newcommand{\textheadingfont}[1]{{\chorus #1}} + +%%% Autres interfaces %%% + +% Pour l'écrit étranger. +\newcommand{\foreign}[1]{{\it #1}} +\let\etranger\foreign + +% Pour les marques. +\newcommand{\brand}[1]{{#1}} +\let\marque\brand + +% Pour les aspects techniques. +\newcommand{\tech}[1]{{\tt #1}} +\let\info\tech +\let\shell\tech +\let\command\tech + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Sectionning +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Décoration %%% +\newcommand\reflectodd[1]{\checkoddpage\ifoddpage{\reflectbox{#1}}\else{#1}\fi} +\newlength{\headwidth} +\pgfdeclareimage{tache}{\@images tache} + +\newcommand{\fancychapter}[1]{ + \reflectodd{ + \setlength\headwidth{0.6\columnwidth} + \setbox0=\hbox{\hspace{1em}\reflectodd{#1}} + \ifthenelse{\lengthtest{\wd0>\headwidth}} + {\setbox0=\hbox{\hspace{1em}\reflectodd{\parbox[b]{0.6\columnwidth}{\alignhead #1}}}}{} + \pgfmathsetmacro{\largeur}{\wd0*0.07} + \parindent\z@ + \begin{tikzpicture} + \draw[thick,scale=0.5] (0,0) -- node[above=10pt-1.1\dp0]{\copy0} (\largeur + 0.35,0); + \node {\pgfuseimage{tache}}; + \end{tikzpicture} + } +} + +\newcommand{\fancymark}[1]{ + \setbox0=\hbox{#1} + \pgfmathsetmacro{\largeur}{\wd0*0.07} + \begin{tikzpicture} + \draw[thick,scale=0.5] (0,0) -- node[above=1pt-\dp0]{\copy0} (\largeur + 0.35,0); + \draw[scale=0.5] (\largeur,0) to[in=175,out=0,looseness=1.25] (\largeur + 0.75,0.25) node {$\scriptscriptstyle\blacksquare$}; + \draw[thick,scale=0.5] (\largeur + 0.125,0) -- (\largeur + 0.75 + 0.25 + 0.125,0) node {$\scriptscriptstyle\blacktriangleright$}; + \draw[scale=0.5] (\largeur+0.25,0) to[in=170,out=0,looseness=1.25] (\largeur+1-0.125,-0.25) node {$\scriptscriptstyle\bigstar$}; + \end{tikzpicture} +} + +%%% Chapitres %%% + +\def\alignhead{\checkoddpage\ifoddpage\raggedright\else\raggedleft\fi} + +\renewcommand\chapter{ + \clearpage + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter +} + +\def\@chapapp{} + +\def\@makechapterhead#1{% + \vspace*{20\p@}% + {\parindent \z@ + \alignhead + \headingfont + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \Huge\bfseries + {\Large\@chapapp}\space\thechapter.\par + \vspace*{10\p@}% + \fi + \fi + \interlinepenalty\@M + \fancychapter { + \headingfont + \Huge \bfseries #1 + } + \par\nobreak + \vskip 20\p@ + } +} + +\def\@makeschapterhead#1{% + \vspace*{20\p@}% + {\parindent \z@ + \alignhead + \fancychapter { + \headingfont + \interlinepenalty\@M + \Huge \bfseries #1 + } + \par\nobreak + \vskip 20\p@ + } +} + +%%% Autres %%% +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-2.5ex \@plus -2ex \@minus -.2ex}% + {2.3ex \@plus.2ex \@minus-.1ex}% + {\raggedright\magenta\headingfont\Large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-2.25ex\@plus -2ex \@minus -.2ex}% + {1.5ex \@plus .1ex \@minus-.1ex}% + {\raggedright\magenta\headingfont\large\bfseries}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-2.00ex\@plus -2ex \@minus -.2ex}% + {1.2ex \@plus .1ex \@minus-.1ex}% + {\raggedright\magenta\headingfont\normalsize\bfseries$\blacktriangleright$\hspace{1ex}}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-1.8ex \@plus-1ex \@minus-.1ex}% + {0.5ex \@plus 0.1ex \@minus-.1ex}% + {\raggedright\normalcolor\normalfont\normalsize\itshape$\looparrowright$\hspace{1ex}}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {2.25ex \@plus 1ex \@minus .1ex}% + {-1em}% + {\normalcolor\normalfont\normalsize\itshape}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : captures +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Redéfinissons un style "lolipop", inspiré de plain. +\newcommand\floatc@lolipop[2]{ + \setbox\@tempboxa\hbox{\textit{\normalcolor #2}}% + \ifdim\wd\@tempboxa>\hsize \textit{\normalcolor #2}\par + \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi +} +\newcommand\fs@lolipop{ + \let\@fs@capt\floatc@lolipop + \def\@fs@pre{}\def\@fs@post{}% + \def\@fs@mid{\vspace\abovecaptionskip\relax}% + \let\@fs@iftopcapt\iffalse} +% Et utilisons le style lolipop +\floatstyle{lolipop} +\newfloat{screenshot}{tbp}{scr} +\floatname{screenshot}{Capture} +% Mais le flottant ne sera pas l'interface utilisateur. À la place, nous +% utiliserons un environnement "capture", pour simplifier. +\NewEnviron{capture}[2][tbp]{ + \let\href\fnhref + \begin{screenshot}[#1] + \begin{center} + \pgfimage[width=0.9\columnwidth]{\@screenshots #2} + \end{center} + \caption{\BODY} + \end{screenshot} + \let\href\mphref +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : logiciels +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Commençons par écrire un constructeur pour les parametres à déclarer. +\def\lolipop@declare#1{% + \global\long\expandafter% + \def \csname lolipop@#1\endcsname {}% + \global\long\expandafter% + \def \csname #1\endcsname ##1{% + \global\long\expandafter% + \def \csname lolipop@#1\endcsname{##1}% + }% +} + +% Déclarons les paramètres qui nous intéressent. +\lolipop@declare{nom} +\lolipop@declare{logo} +\lolipop@declare{description} +\lolipop@declare{apprentissage} +\lolipop@declare{installation} +\lolipop@declare{lien} +\lolipop@declare{equivalent} + +% L'interface utilisateur est l'environnement "logiciel". Là où le logiciel est +% déclaré, son résumé est inséré en marge et une référence est crée. +\NewEnviron{logiciel}{ + \nom{} \logo{} \description{} \apprentissage{} + \installation{} \lien{} \equivalent{} + \BODY + \let\href\fnhref + \marginpara{ + \label{logiciel:\lolipop@nom} + \begin{rosebox}{\lolipop@nom} + \sffamily\footnotesize +% Logo : \lolipop@logo + \if@not@empty{\lolipop@description }{\lolipop@description \\ } + \if@not@empty{\lolipop@apprentissage}{Apprentissage : \iconify{hirondelle}{\lolipop@apprentissage} \\ } + \if@not@empty{\lolipop@installation }{Installation : \iconify{marguerite}{\lolipop@installation} \\ } + \if@not@empty{\lolipop@lien }{Lien : \lolipop@lien \\ } + \if@not@empty{\lolipop@equivalent }{Équivalents : \lolipop@equivalent \\ } + \end{rosebox} + } + \let\href\mphref +} + +% \marginpara est une version améliorée de \marginpar ... + +\newlength\marginboxwidth +\setlength\marginboxwidth{57mm} +\def\marginpara#1{% + \setbox0=\hbox{\parbox[c]{\marginboxwidth}{#1}}% + \marginpar{\mbox{}\vspace{0.1\ht0}\copy0\vspace{0.1\ht0}}% +} + +% Déclarons les icones utilisées de façon répétitives, pour optimiser l'espace. +\pgfdeclareimage[height=8pt]{hirondelle1}{\@images hirondelle1} +\pgfdeclareimage[height=8pt]{hirondelle2}{\@images hirondelle2} +\pgfdeclareimage[height=8pt]{marguerite1}{\@images marguerite1} +\pgfdeclareimage[height=8pt]{marguerite2}{\@images marguerite2} + +% Une jolie boite de titre pour coller cela. +\tikzstyle{roseboxstyle}=[fill=magenta!20, very thick, drop shadow={color = magenta!60!black!40}, rectangle, inner sep=4pt, inner ysep=4pt] +\tikzstyle{rosetitlebox}=[fill=magenta, text=black, drop shadow={color = magenta!70!black!70}, inner ysep=4pt, inner sep=1ex] +\addtolength\marginboxwidth{-4pt} +\NewEnviron{rosebox}[1]{ + \begin{tikzpicture} + \node [roseboxstyle] (box){ + \begin{minipage}{\marginboxwidth} + \checkoddpage\ifoddpage\raggedright\else\raggedleft\fi + \vspace{10pt} + \begin{minipage}{40mm} + \BODY + \end{minipage} + \vspace{-8pt} + \end{minipage} + }; + \checkoddpage\ifoddpage + \node[rosetitlebox, rounded corners, right=6pt] at (box.north west) {\large\bf #1}; + \else + \node[rosetitlebox, rounded corners, left=6pt] at (box.north east) {\large\bf #1}; + \fi + \end{tikzpicture} +} + +% Test si un contenu est vide. +\def\if@not@empty#1#2{% + \ifthenelse{\equal{#1}{}}{}{#2}% +} + +% Insert autant d'image1 que d'étoiles passées en argument. Complète avec autant +% d'image2 que nécessaire. Ce n'est pas codé très intelligemment, mais c'est +% efficace. +\def\iconify#1#2{ + \ifthenelse{\equal{#2}{*}}{ + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + } + { + \ifthenelse{\equal{#2}{**}}{ + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + } + { + \ifthenelse{\equal{#2}{***}}{ + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#11}}} + } + { + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + \raisebox{-2pt}{\makebox[1em]{\pgfuseimage{#12}}} + } + } + } +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : ressources +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Définit un autre type de flottant, les encarts "Pour aller plus loin" +\NewEnviron{ressource}[1]{ + \let\href\fnhref + \label{#1} + \marginpara{ + \cyanbox{Pour aller plus loin}{ + \sffamily\footnotesize \BODY + \ifthenelse{\equal{#1}{}}{}{% + \begin{center} + \pgfimage[width=35mm]{\@images #1} + \end{center} + } + } + } + \let\href\mphref +} + +% Ce flottant fait appel à une autre boite en marge, que l'on nomme les cyanbox +\tikzstyle{cyanboxstyle}=[fill=cyan!20, very thick, drop shadow={color = cyan!60!black!40}, rectangle, inner sep=4pt, inner ysep=4pt] +\tikzstyle{cyantitlebox}=[fill=cyan, text=black, drop shadow={color = cyan!70!black!70}, inner ysep=4pt, inner sep=1ex] +\newcommand{\cyanbox}[2]{ + \begin{tikzpicture} + \node [cyanboxstyle] (box){ + \begin{minipage}{\marginboxwidth} + \checkoddpage\ifoddpage\raggedright\else\raggedleft\fi + \vspace{10pt} + \begin{minipage}{40mm} + \raggedright #2 + \end{minipage} + \end{minipage} + }; + \checkoddpage\ifoddpage + \node[cyantitlebox, rounded corners, right=6pt] at (box.north west) {\bf #1}; + \else + \node[cyantitlebox, rounded corners, left=6pt] at (box.north east) {\bf #1}; + \fi + \end{tikzpicture} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : le saviez vous ? +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Définit un autre type de flottant, les encarts "Le saviez vous ?" +\def\lesaviezvous{Le saviez vous~?\Large?} +\newcommand\didyouknow[1]{ + \let\href\fnhref + \label{#1} + \marginpara{ + \begin{bluebox}{\lesaviezvous} + \sffamily\footnotesize #1 + \end{bluebox} + } + \let\href\mphref +} + +% Ce flottant fait appel à une autre boite en marge, que l'on nomme les bluebox +\tikzstyle{blueboxstyle}=[fill=cyan!20, very thick, drop shadow={color = cyan!60!black!40}, rectangle, inner sep=4pt, inner ysep=4pt] +\tikzstyle{bluetitlebox}=[fill=cyan, text=black, drop shadow={color = cyan!70!black!70}, inner ysep=4pt, inner sep=1ex] +\NewEnviron{bluebox}[1]{ + \begin{tikzpicture} + \node [blueboxstyle] (box){ + \begin{minipage}{\marginboxwidth} + \checkoddpage\ifoddpage\raggedright\else\raggedleft\fi + \vspace{10pt} + \begin{minipage}{40mm} + \raggedright\BODY + \end{minipage} + \end{minipage} + }; + \checkoddpage\ifoddpage + \node[bluetitlebox, rounded corners, right=6pt] at (box.north west) {\bf #1}; +% \node[left=-8pt] at (box.west) {\bf\Huge\textcolor{black!60}{?}}; + \else + \node[bluetitlebox, rounded corners, left=6pt] at (box.north east) {\bf #1}; +% \node[right=-8pt] at (box.east) {\bf\Huge\textcolor{black!60}{?}}; + \fi + \end{tikzpicture} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : encarts +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newlength\boxwidth +\newlength\bottomspace +\setlength\boxwidth{131mm} +\setlength\bottomspace{-\baselineskip} +\addtolength\boxwidth{-10pt} +% Ce flottant fait appel à une autre boite en marge, que l'on nomme les whitebox +\tikzstyle{whiteboxstyle}=[draw=magenta, fill=white, very thick, rectangle, rounded corners, inner sep=4pt, inner ysep=4pt] +\tikzstyle{whitetitlebox}=[fill=white, text=black, drop shadow, inner ysep=4pt, inner sep=1ex] +\def\whitebox#1#2{ + \checkoddpage\ifoddpage\else\hspace{-\marginparwidth}\hspace{15mm}\fi + \begin{tikzpicture} + \node [whiteboxstyle] (box){ + \begin{minipage}{\boxwidth} + \parindent 15pt + \vspace{10pt} + #2 + \end{minipage} + }; + \node[whitetitlebox, rounded corners, right=6pt] at (box.north west) {\bf #1}; + \end{tikzpicture} + \vspace{\bottomspace} +} + +% Et utilisons le style lolipop +\floatstyle{lolipop} +\newfloat{encartflottant}{tbp}{scr} +\floatname{encartflottant}{Encart} +% Mais le flottant ne sera pas l'interface utilisateur. À la place, nous +% utiliserons un environnement "encart", pour simplifier. +\NewEnviron{encart}[2][tbp]{ + \begin{encartflottant}[#1] + \label{#2} + \whitebox{#2}{\BODY} + \end{encartflottant} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Glossaire(s) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Entree de glossaire +\NewEnviron{Glossaire}[1]{% + \setlength\parskip{0pt plus 0pt minus 0pt} + \subsubsection{#1}% + \hypertarget{glossaire:#1}{}% + \BODY% +} + +% Référence dans le texte +% TODO: améliorer la présentation. +% Idée : ne mettre en exergue qu'une fois par chapitre, à la première occurence. +\newcommand{\glossaire}[2][]{% + \ifthenelse{\equal{#1}{}}{\def\target{#2}}{\def\target{#1}}% + \hyperlink{glossaire:\target}{%\magenta#2\textsuperscript{?}}% + #2} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 1er et 2e de couvertures +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Déclarons les paramètres qui nous intéressent +\lolipop@declare{title} +\lolipop@declare{subject} +\lolipop@declare{keywords} +\lolipop@declare{version} +\lolipop@declare{date} +\lolipop@declare{organisation} +\lolipop@declare{orgwebsite} +\lolipop@declare{orgcontact} +\lolipop@declare{orgaddress} +\lolipop@declare{sourcesaddress} + +% Profitons en pour renseigner les métadonnées. +\AtBeginDocument{ + \hypersetup{ + pdftitle=\lolipop@title, + pdfauthor=\lolipop@organisation, + pdfsubject=\lolipop@subject, + pdfkeywords=\lolipop@keywords, + } +} + +% Page de titre +\def\maketitle{% + \thispagestyle{empty} + \AddToShipoutPicture*{% + \parindent 0pt% + \pgfimage{\@images couverture}% + } + \mbox{} + \clearpage + \makeours + \clearpage +} + +% Ours +\def\makeours{ + \mbox{} + \vfill + \begin{center}\footnotesize + \lolipop@title\ --- \reflectbox{\copyright} \lolipop@organisation \\ + Version \lolipop@version\ du \lolipop@date \\ + \lolipop@orgaddress \\ + Site Web : \url{\lolipop@orgwebsite} \\ + \email{\lolipop@orgcontact} \\ + \vspace{0.5\baselineskip} + Licence de ce document : voir page \pageref{licence}. \\ + Sources originales et version \info{pdf} maintenue : \\ + \url{\lolipop@sourcesaddress} + \end{center} + \vspace{1cm} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 3e et 4e de couvertures +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\makecouv{ + \clearpage + \checkoddpage\ifoddpage\mbox{}\clearpage\fi + \setlength\bottomspace{0.0\baselineskip} + \RenewEnviron{encart}[1]{ + \begin{encartflottant}[b!] + \hspace{-16mm}\whitebox{##1}{\BODY} + \end{encartflottant} + } + \newgeometry{ + inner = 17mm, + outer = 20mm, + marginparwidth = 0mm, + marginparsep = 0mm, + top = 14mm, + bottom = 14mm, + twoside + } + \setlength\floatsep{16\p@ \@plus 8\p@ \@minus 4\p@} + \thispagestyle{empty} + \setcounter{footnote}{0} + \mbox{}\par +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Table des matières +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\setcounter{tocdepth}{2} + +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \magenta\headingfont\bfseries\large + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Signature +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage{multicol} +\NewEnviron{signature}{ + \vfill + \begin{center} + \begin{tabular}{lll} + \BODY + \end{tabular} + \end{center} + \vfill +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Annexes +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\ltxappendix\appendix +\renewcommand\appendix{\par + \ltxappendix + %\addtocontents{toc}{\clearpage} + \setcounter{chapter}{0} + \setcounter{section}{0} + \gdef\thechapter{\@Alph\c@chapter} + \def\@chapapp{Annexe} + \@mainmattertrue +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Index(es) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Divers +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% On utilise des tirets quadratins à la place de tous les tirets possibles ... +\DeclareUnicodeCharacter{2012}{{--}} +\DeclareUnicodeCharacter{2013}{{--}} +\DeclareUnicodeCharacter{2014}{{--}} +\DeclareUnicodeCharacter{2015}{{--}} diff --git a/lolipop.hva b/lolipop.hva new file mode 100644 index 0000000..037949d --- /dev/null +++ b/lolipop.hva @@ -0,0 +1,273 @@ +\usepackage{book} +\footerfalse + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Dépendances générales +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Nous écrivons en unicode. +\usepackage[utf8]{inputenc} + +% Nous étendons LaTeX avec le symbole €. +\usepackage{eurosym} + +% Ainsi que de symboles supplémentaires. +\usepackage{amssymb} + +% Le paquet ifthen facilite le contrôle de flux. +\usepackage{ifthen} + +% Nous définissons de nouveaux types de flottants en nous appuyant sur le paquet +% float. +\usepackage{float} + +% Nous éditons les hyperliens, avec césure, unicode, et sans cadre. +\usepackage[hyphens]{url} +\usepackage[breaklinks=true, unicode=True, pdfborder={0 0 0}]{hyperref} +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<\do\:}% + +% Et finalement, nous mettrons en oeuvre les subtilités de la typographie +% française. +\usepackage[french]{babel} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Chemins +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@includes{../includes/} +\def\@images{\@includes images/} +\def\@screenshots{\@includes screenshots/} +\def\@lowres{vignettes/} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mise en forme +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\strong}[1]{\begin{rawhtml}\end{rawhtml}#1\begin{rawhtml}\end{rawhtml}} +% Ainsi que pour les exergues, que nous définirons comme un paragraphe centré +% dans la marge. +\newenvironment{exergue} +{\begin{rawhtml}
\end{rawhtml}} +{\begin{rawhtml}
\end{rawhtml}} + +%%% Hyperliens %%% +\newcommand{\email}[1]{\href{mailto:#1}{\tech{#1}}} +%\newcommand{\url}[1]{\href{#1}{\tech{#1}}} + +%%% Footnotes +\newcounter{footnotenr}[] +\renewcommand{\footnote}[1]{ + \refstepcounter{footnotenr} + \begin{rawhtml} +\end{rawhtml}\thefootnotenr\begin{rawhtml} + +\end{rawhtml}#1\begin{rawhtml}\end{rawhtml} +} + +%%% Autres interfaces %%% + +% Pour l'écrit étranger. +\newcommand{\foreign}[1]{\begin{rawhtml}\end{rawhtml}#1\begin{rawhtml}\end{rawhtml}} +\let\etranger\foreign + +% Pour les marques. +\newcommand{\brand}[1]{\begin{rawhtml}\end{rawhtml}#1\begin{rawhtml}\end{rawhtml}} +\let\marque\brand + +% Pour les aspects techniques. +\newcommand{\tech}[1]{\begin{rawhtml}\end{rawhtml}#1\begin{rawhtml}\end{rawhtml}} +\let\info\tech +\let\shell\tech +\let\command\tech + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : captures +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{capture}[2][]{\begin{rawhtml}
+ + +\end{rawhtml}} +{\begin{rawhtml} +
\end{rawhtml}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : logiciels +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Déclarons les paramètres qui nous intéressent. +\newcommand{\nom}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +\newcommand{\logo}[1]{} + +\renewcommand{\description}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +\newcommand{\apprentissage}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +\newcommand{\installation}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +\newcommand{\lien}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +\newcommand{\equivalent}[1] +{\begin{rawhtml}
\end{rawhtml}#1\begin{rawhtml}
\end{rawhtml}} + +% L'interface utilisateur est l'environnement "logiciel". Là où le logiciel est +% déclaré, son résumé est inséré en marge et une référence est crée. +\newenvironment{logiciel} +{\begin{rawhtml}

\end{rawhtml}} +{\begin{rawhtml}

\end{rawhtml}\par} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Flottants : encarts +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{encart}[2][] +{\begin{rawhtml}

\end{rawhtml}} +{\begin{rawhtml}

\end{rawhtml}\par} + +\newenvironment{ressource}[1] +{\begin{rawhtml}

+\end{rawhtml}} +{\begin{rawhtml}

\end{rawhtml}\par} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Glossaire(s) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Entree de glossaire +\newenvironment{Glossaire}[1]{ +\begin{rawhtml}
\end{rawhtml} +\begin{rawhtml}\end{rawhtml} +#1 +\begin{rawhtml}
\end{rawhtml} +}{ +\begin{rawhtml}\end{rawhtml}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Couvertures +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Commençons par écrire un constructeur pour les parametres à déclarer. +\def\lolipop@declare#1{% + \long\expandafter% + \def \csname lolipop@#1\endcsname {}% + \long\expandafter% + \def \csname #1\endcsname ##1{% + \long\expandafter% + \def \csname lolipop@#1\endcsname{##1}% + }% +} + +% Déclarons les paramètres qui nous intéressent +\lolipop@declare{title} +\lolipop@declare{subject} +\lolipop@declare{keywords} +\lolipop@declare{version} +\lolipop@declare{date} +\lolipop@declare{organisation} +\lolipop@declare{orgwebsite} +\lolipop@declare{orgcontact} +\lolipop@declare{orgaddress} +\lolipop@declare{sourcesaddress} + +% Page de titre +\def\maketitle{\makeours} + +\def\makecouv{} + +\def\makeours{ +\begin{rawhtml}
\end{rawhtml} +\lolipop@title +\begin{rawhtml}
+
\end{rawhtml} +\reflectbox{\copyright} \lolipop@organisation +\begin{rawhtml}
+
\end{rawhtml} +Version \lolipop@version\ du \lolipop@date +\begin{rawhtml}
+
\end{rawhtml} +\lolipop@orgaddress +\begin{rawhtml}
+
\end{rawhtml} +Site Web : \begin{rawhtml}\end{rawhtml} +\lolipop@orgwebsite +\begin{rawhtml}\end{rawhtml} +\begin{rawhtml}
+
\end{rawhtml} +\begin{rawhtml}\end{rawhtml} +\lolipop@orgcontact +\begin{rawhtml}\end{rawhtml} +\begin{rawhtml}
+
\end{rawhtml} +\hyperlink{licence}{Licence de ce document} +\begin{rawhtml}
+
\end{rawhtml} +Sources originales et version \info{pdf} maintenue : +\begin{rawhtml}\end{rawhtml} +\lolipop@sourcesaddress +\begin{rawhtml}\end{rawhtml} +\begin{rawhtml}
\end{rawhtml} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Table des matières +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\setcounter{tocdepth}{2} +\renewcommand{\tableofcontents}{ +\begin{rawhtml}
\end{rawhtml} +{\@readtoc{htoc}{\contentsname}} +\begin{rawhtml}
\end{rawhtml} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Signature +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage{multicol} +\newenvironment{signature} +{\begin{rawhtml}
\end{rawhtml} +\begin{center}\begin{tabular}{lll}} +{\begin{rawhtml}
\end{rawhtml} +\end{tabular}\end{center}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Divers +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewcommand{\@makesection}[7]{% +\renewcommand{\csname @#3@level\endcsname}{#2}% +\renewcommand{#1}[2][]{% +\@secbegin\@checkdepth{#2}{\refstepcounter{#3}}% +\ifoptarg\@checktocdepth{#2}{\@doaddtoc{#2}{#5}{##1}}\else +\@checktocdepth{#2}{\@doaddtoc{#2}{#5}{##2{}}}\fi +\ifoptarg\cuthere{#3}{\@addsecnumber{#2}{#5}{##1}}\else +\cuthere{#3}{\@addsecnumber{#2}{#5}{\begin{@norefs}##2{}\end{@norefs}}}\fi +#4\@secanchor% +\@altdepth{#2} +{\@alttocdepth{#2}{\@locname{htoc\thetocanchor}{#5}#6}{#5#6}} +{\@checktocdepth{#2}{\@locname{htoc\thetocanchor}{}}}% +##2{}#7\@secend}% +\renewcommand{#1*}[1]{% +\@secbegin\cuthere{#3}{##1}% +#4\@secanchor{}##1{}#7\@secend}}% + +\def\frontmatter{% +\@makesection + {\chapter}{-1}{chapter} + {\@open{H1}{\envclass@attr{chapter}}}{}{}{\@close{H1}} +} +\def\mainmatter{ +\setcounter{chapter}{0} +\@makesection + {\chapter}{-1}{chapter} + {\@open{H1}{\envclass@attr{chapter}}}{\thechapter.}{\quad}{\@close{H1}} +} +\def\backmatter{} +\renewcommand{\large}{\@insert{DIV}{class="guide_large_font"}} diff --git a/teaser.tex b/teaser.tex new file mode 100644 index 0000000..b759d7f --- /dev/null +++ b/teaser.tex @@ -0,0 +1,42 @@ +\documentclass{lolipop} +\usepackage{pdfpages} +\newgeometry{hmargin={4cm}} + +\begin{document}\large +\AddToShipoutPicture{\parbox{0pt}{\vspace{-520mm}\rotatebox{45}{\parbox{5cm}{\Huge\bf\color{black!50}\centering Brouillon\\ \normalfont\normalsize Ne pas diffuser, merci}}}} + +\includepdf[pages={1}]{guide.pdf} + +\chapter*{Tout sur le Guide Libre Association de l'April} + +\section*{Dirigeants, salariés, bénévoles, investis dans un projet associatif...} + +Le guide d’usage des logiciels libres en milieu associatif est fait pour vous ! + +Afin de «~jeter des ponts entre les logiciels libres et le monde associatif~», l'April a réalisé, en partenariat avec la Fondation Crédit Coopératif, un guide répertoriant des méthodes et des outils de travail adaptés aux besoins des associations. + +Distribué gratuitement, ce guide est prévu pour donner à chaque association les clés de ses libertés informatiques. + +\section*{Quand le guide sera-t-il disponible ?} + +Le guide sera dévoilé le 20 juin 2012 à l'occasion du salon Solutions GNU/Linux à Paris, la Défense : +\begin{center} +\large\url{http://www.solutionslinux.fr} +\end{center} + +\section*{Comment se procurer le guide ?} + +Pour organiser la distribution, l'April met à disposition un formulaire à la page : +\begin{center} +\large\url{http://guide.libreassociation.info} +\end{center} + +Il suffit que vous remplissiez ce formulaire, et les guides vous seront expédiés dès que possible. Pensez à bien préciser le nombre d'exemplaires +que vous pensez qu'il soit pertinent de recevoir. + +\section*{Découvrez le dès maintenant !} + +Pour que vous appréciez son contenu, les pages suivantes sont extraites du guide. Rendez-vous le 20 juin 2012 pour sa publication officielle ! + +\includepdf[pages={3-7,27-28,77,80}]{guide.pdf} +\end{document} diff --git a/tools/wiki2tex.sed b/tools/wiki2tex.sed new file mode 100755 index 0000000..385131d --- /dev/null +++ b/tools/wiki2tex.sed @@ -0,0 +1,47 @@ +# Passer du wiki à du TeX avec Sed + +# Caractères spéciaux +s/ / /g +# s/\(\$\|~\|%\|\&\|{\|}\|_\|#\|\\\)/\\\1/g +# +# acceptons de mettre du code LaTeX dans la page wiki +s/\ /\\nbspace /g +s/\(\$\|~\|%\|\&\|_\|#\)/\\\1/g +s/« /«\~/g +s/ »/\~»/g +s/’/'/g +s/n°/\\no /g +s/\\nbspace /~/g +s/\\colsep/\&\&/g + +# À voir ultérieurement +s/\[\[[Cc]at[ée]gor[\(ie\)y].*\]\]//g +s/{{[ ]*[Tt]ravail [Ee]n [Cc]ours.*}}//g +s///g + +# Mise en forme +s/'''\([^\('''\)]*\)'''/\\strong{\1}/g +s/''\([^\(''\)]*\)''/\\emph{\1}/g +s/\([^<]*\)<\/em>/\\emph{\1}/g + +# buggy ... +s/\([^\(<\/ref>\)]*\)<\/ref>/\\emph{\1}/g +s//\\footnote{/g +s/<\/ref>/}/g + +# Liens +s/\[\[\([^|]*\)|\([^]]*\)\]\]/\\href{http:\/\/wiki.april.org\/\1}{\2}/g +s/\[\[\([^]]*\)\]\]/\\href{http:\/\/wiki.april.org\/\1}{\1}/g +s/\[\([^] ]*\) \([^]]*\)\]/\\href{\1}{\2}/g +s/ \(http[^ }<)]*\)/ \\url{\1}/g + +# Structure +s/^\s*==\s\?Annexes\s\?==/\\appendix/ +s/^\s*==\s\?Couverture\s\?==/\\makecouv/ +s/^\s*======\s\?\(.*\)\s\?======/\\paragraph{\1}/ +s/^\s*=====\s\?\(.*\)\s\?=====/\\subsubsection{\1}/ +s/^\s*====\s\?\(.*\)\s\?====/\\subsection{\1}/ +s/^\s*===\s\?\(.*\)\s\?===/\\section{\1}/ +s/^\s*==\s\?\(.*\)\s\?==/\\chapter{\1}/ + +s/__TOC__/\\tableofcontents/ diff --git a/tools/xslt/conf.xml b/tools/xslt/conf.xml new file mode 100644 index 0000000..c93c420 --- /dev/null +++ b/tools/xslt/conf.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/dtd/catalog b/tools/xslt/dtd/catalog new file mode 100644 index 0000000..b5f8b16 --- /dev/null +++ b/tools/xslt/dtd/catalog @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/tools/xslt/dtd/xhtml-lat1.ent b/tools/xslt/dtd/xhtml-lat1.ent new file mode 100644 index 0000000..ffee223 --- /dev/null +++ b/tools/xslt/dtd/xhtml-lat1.ent @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/dtd/xhtml-special.ent b/tools/xslt/dtd/xhtml-special.ent new file mode 100644 index 0000000..ca358b2 --- /dev/null +++ b/tools/xslt/dtd/xhtml-special.ent @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/dtd/xhtml-symbol.ent b/tools/xslt/dtd/xhtml-symbol.ent new file mode 100644 index 0000000..63c2abf --- /dev/null +++ b/tools/xslt/dtd/xhtml-symbol.ent @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/dtd/xhtml1-strict.dtd b/tools/xslt/dtd/xhtml1-strict.dtd new file mode 100644 index 0000000..2927b9e --- /dev/null +++ b/tools/xslt/dtd/xhtml1-strict.dtd @@ -0,0 +1,978 @@ + + + + + +%HTMLlat1; + + +%HTMLsymbol; + + +%HTMLspecial; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/dtd/xhtml1-transitional.dtd b/tools/xslt/dtd/xhtml1-transitional.dtd new file mode 100644 index 0000000..628f27a --- /dev/null +++ b/tools/xslt/dtd/xhtml1-transitional.dtd @@ -0,0 +1,1201 @@ + + + + + +%HTMLlat1; + + +%HTMLsymbol; + + +%HTMLspecial; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xslt/guide-html.xsl b/tools/xslt/guide-html.xsl new file mode 100644 index 0000000..4b94a51 --- /dev/null +++ b/tools/xslt/guide-html.xsl @@ -0,0 +1,253 @@ + + + + + + + + + + +<!DOCTYPE html> + + + + + +Guide Libre Association + + + + + + + + + + + +
+ +
+ logo libreassociation + logo fondation credit coop + logo april +
+
+

Guide Libre Association

+

Des logiciels pour libérer votre projet associatif

+

Version PDF du guide

+
+ +
+ + +
+ +
+

Guide Libre Association

+

Des logiciels pour libérer votre projet associatif

+
+ +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + ../src/ + + + + + +
+ +
+
+ + + + + + + + +

+
+ + + + {$var_Alt} + + + +
+
+
+

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ Apprentissage : + Hirondelle + + + Hirondelle + Hirondelle + + + Hirondelle + non + + + non + non + + +
+
+ + + +
+ Installation : + Marguerite + + + Marguerite + Marguerite + + + Marguerite + non + + + non + non + + +
+
+ + +() + + + + + + + + + + +
+ diff --git a/tools/xslt/xslt-html.sh b/tools/xslt/xslt-html.sh new file mode 100755 index 0000000..18813c1 --- /dev/null +++ b/tools/xslt/xslt-html.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +export XML_CATALOG_FILES="dtd/catalog" +xsltproc -o ../../version_html/guide.html guide-html.xsl conf.xml