From fd197ed645cbd2c9535802a6f33e28b6dfcf3bb3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 17 Aug 2015 22:40:41 +0000 Subject: e-french (17aug15) git-svn-id: svn://tug.org/texlive/trunk@38141 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/e-french/README | 99 + .../doc/generic/e-french/changements.html | 91 + .../texmf-dist/doc/generic/e-french/histoire.html | 85 + .../doc/generic/e-french/install/MiniDocEf_Lnx.pdf | Bin 0 -> 43196 bytes .../doc/generic/e-french/install/MiniDocEf_Win.pdf | Bin 0 -> 44898 bytes .../doc/generic/e-french/install/MiniDoc_Unx.txt | 48 + .../doc/generic/e-french/install/MiniDoc_Win.txt | 45 + .../doc/generic/e-french/install/Probl_Msg.pdf | Bin 0 -> 38440 bytes .../doc/generic/e-french/install/Probl_Msg.txt | 23 + .../texmf-dist/doc/generic/e-french/licence.html | 86 + .../texmf-dist/doc/generic/e-french/lisez-moi.html | 38 + .../doc/generic/e-french/manuels/FrenchLe.html | 39 + .../doc/generic/e-french/manuels/FrenchPro.html | 41 + .../doc/generic/e-french/manuels/efrench.pdf | Bin 0 -> 1107393 bytes .../doc/generic/e-french/manuels/faq.pdf | Bin 0 -> 295554 bytes .../doc/generic/e-french/manuels/french_doc.pdf | Bin 0 -> 158672 bytes .../doc/generic/e-french/manuels/frenchle.pdf | Bin 0 -> 333346 bytes .../doc/generic/e-french/src/MiniDocEf_Lnx.tex | 60 + .../doc/generic/e-french/src/MiniDocEf_Win.tex | 58 + .../doc/generic/e-french/src/Probl_Msg.tex | 48 + .../doc/generic/e-french/src/efrench.tex | 5163 ++++++++++++++++++++ Master/texmf-dist/doc/generic/e-french/src/faq.tex | 1472 ++++++ .../doc/generic/e-french/src/french_doc.tex | 17 + .../doc/generic/e-french/src/french_doc.txt | 4293 ++++++++++++++++ .../doc/generic/e-french/src/frenchle.tex | 2526 ++++++++++ .../doc/generic/e-french/src/myfroptn.sty | 17 + .../texmf-dist/doc/generic/e-french/src/mymaj.sty | 181 + Master/texmf-dist/makeindex/e-french/fridx1.ist | 16 + .../texmf-dist/tex/generic/e-french/deutschx.mlp | 34 + Master/texmf-dist/tex/generic/e-french/efrench.ldf | 59 + Master/texmf-dist/tex/generic/e-french/efrench.sty | 12 + Master/texmf-dist/tex/generic/e-french/enbib.ldf | 44 + Master/texmf-dist/tex/generic/e-french/epreuve.sty | 63 + .../texmf-dist/tex/generic/e-french/fenglish.sty | 126 + .../texmf-dist/tex/generic/e-french/frabbrev.tex | 297 ++ .../texmf-dist/tex/generic/e-french/francais.mlp | 43 + Master/texmf-dist/tex/generic/e-french/frbabel.sty | 170 + Master/texmf-dist/tex/generic/e-french/frbib.ldf | 44 + .../texmf-dist/tex/generic/e-french/french-msg.tex | 206 + Master/texmf-dist/tex/generic/e-french/french.all | 39 + Master/texmf-dist/tex/generic/e-french/french.cfg | 11 + Master/texmf-dist/tex/generic/e-french/french.chk | 55 + Master/texmf-dist/tex/generic/e-french/french.cmd | 89 + Master/texmf-dist/tex/generic/e-french/french.dmy | 70 + Master/texmf-dist/tex/generic/e-french/french.ldf | 87 + Master/texmf-dist/tex/generic/e-french/french.sty | 3200 ++++++++++++ .../tex/generic/e-french/french_french-msg.tex | 213 + .../texmf-dist/tex/generic/e-french/frenchle.cfg | 12 + .../texmf-dist/tex/generic/e-french/frenchle.ldf | 63 + .../texmf-dist/tex/generic/e-french/frenchle.sty | 2080 ++++++++ .../texmf-dist/tex/generic/e-french/frenchpro.ldf | 59 + .../texmf-dist/tex/generic/e-french/frenchpro.sty | 11 + .../texmf-dist/tex/generic/e-french/frhyphex.tex | 75 + .../texmf-dist/tex/generic/e-french/fxabbrev.tex | 297 ++ .../tex/generic/e-french/german_french-msg.tex | 205 + .../texmf-dist/tex/generic/e-french/internat.mlp | 54 + Master/texmf-dist/tex/generic/e-french/mlp-01.sty | 13 + Master/texmf-dist/tex/generic/e-french/mlp-31.sty | 16 + Master/texmf-dist/tex/generic/e-french/mlp-33.sty | 19 + Master/texmf-dist/tex/generic/e-french/mlp-49.sty | 59 + Master/texmf-dist/tex/generic/e-french/mlp-49n.sty | 59 + .../texmf-dist/tex/generic/e-french/mlp-opts.sty | 14 + Master/texmf-dist/tex/generic/e-french/mlp.sty | 29 + .../texmf-dist/tex/generic/e-french/ndeutsch.mlp | 40 + .../texmf-dist/tex/generic/e-french/noesterr.mlp | 40 + .../texmf-dist/tex/generic/e-french/oesterre.mlp | 40 + .../texmf-dist/tex/generic/e-french/pmfrench.sty | 12 + Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 11 +- Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc | 1 + Master/tlpkg/tlpsrc/e-french.tlpsrc | 0 71 files changed, 22517 insertions(+), 2 deletions(-) create mode 100644 Master/texmf-dist/doc/generic/e-french/README create mode 100644 Master/texmf-dist/doc/generic/e-french/changements.html create mode 100644 Master/texmf-dist/doc/generic/e-french/histoire.html create mode 100644 Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Lnx.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Win.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Unx.txt create mode 100644 Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Win.txt create mode 100644 Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.txt create mode 100644 Master/texmf-dist/doc/generic/e-french/licence.html create mode 100644 Master/texmf-dist/doc/generic/e-french/lisez-moi.html create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/FrenchLe.html create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/FrenchPro.html create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/french_doc.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf create mode 100644 Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Lnx.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Win.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/Probl_Msg.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/efrench.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/faq.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/french_doc.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/french_doc.txt create mode 100644 Master/texmf-dist/doc/generic/e-french/src/frenchle.tex create mode 100644 Master/texmf-dist/doc/generic/e-french/src/myfroptn.sty create mode 100644 Master/texmf-dist/doc/generic/e-french/src/mymaj.sty create mode 100644 Master/texmf-dist/makeindex/e-french/fridx1.ist create mode 100644 Master/texmf-dist/tex/generic/e-french/deutschx.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/efrench.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/efrench.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/enbib.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/epreuve.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/fenglish.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/frabbrev.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/francais.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/frbabel.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/frbib.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/french-msg.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/french.all create mode 100644 Master/texmf-dist/tex/generic/e-french/french.cfg create mode 100644 Master/texmf-dist/tex/generic/e-french/french.chk create mode 100644 Master/texmf-dist/tex/generic/e-french/french.cmd create mode 100644 Master/texmf-dist/tex/generic/e-french/french.dmy create mode 100644 Master/texmf-dist/tex/generic/e-french/french.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/french.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/french_french-msg.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/frenchle.cfg create mode 100644 Master/texmf-dist/tex/generic/e-french/frenchle.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/frenchle.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/frenchpro.ldf create mode 100644 Master/texmf-dist/tex/generic/e-french/frenchpro.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/frhyphex.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/fxabbrev.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/german_french-msg.tex create mode 100644 Master/texmf-dist/tex/generic/e-french/internat.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-01.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-31.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-33.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-49.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-49n.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp-opts.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/mlp.sty create mode 100644 Master/texmf-dist/tex/generic/e-french/ndeutsch.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/noesterr.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/oesterre.mlp create mode 100644 Master/texmf-dist/tex/generic/e-french/pmfrench.sty create mode 100644 Master/tlpkg/tlpsrc/e-french.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/e-french/README b/Master/texmf-dist/doc/generic/e-french/README new file mode 100644 index 00000000000..6137e03e261 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/README @@ -0,0 +1,99 @@ + eFrench - French typography for LaTeX + + Version 5.9995 2015-08-17 + +e-French, FRENCHLE and FRENCH. + ------------------- + The package e-french installed gives access to both + frenchle.sty and french.sty. + --------------------------- + +Therefore the package with frenchle disapeard to be placed +under THE obsolete packages. + + +HISTORY from FrenchPro to e-French + +The eFrench projet is born in order to keep up to date French for (La)Tex and +maintain it available for future users. FrenchPro for (La)Tex, is the result +of a fifteen years work of its creator, Bernard Gaulle + +Beginning 1999, the FrenchPro package was marketted as shareware, and Bernard +Gaulle alone owner of all rights. He died Aug. 2nd 2007. His wife Catherine +Gaulle, the heiress, gave authorization in that matter to the eFrench group in +order to maintain the whole work in the future. + +The project is maintained by a small group started by Laurent Bloch and hosted +by Tux Family: http://projects.tuxfamily.org/group.pl?name=efrench, +email: efrench@lists.tuxfamily.org. + + + The credit for this piece of work remains with + the first and main author, Bernard Gaulle. + +LICENCE + +Copyright 2010 eFrench Group +This work may be distributed and/or modified under the conditions of the +LaTeX Project Public License, either version 1.3 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.3 or later +is part of all distributions of LaTeX version 2005/12/01 or later. + +This work has the LPPL maintenance status «maintained». +The Current Maintainer of this work is Raymond Juillerat +(raymond -at- juil-dot-ch). + +DISTRIBUTION + +The distribution includes an unique package for both Unix (Linux, OSx) +or Windows operating systems. Compatibility have been tested +under MikTeX (2.8 and 2.9) and TeXLive (Ubuntu). +The user's manual is named efrench.pdf, documentation of french.sty +(source) is named french_doc.pdf. A FAQ explains the context in which +these packages are to be used. + +** The install directory + Short documentations for beginners are written in +- in english: MiniDoc_Unx.txt for Unix, + MiniDoc_Win.txt for Windows +- in french : MiniDocEf_Unx.pdf for Unix, + MiniDocEf_Win.pdf for Windows + Because pdf better for languages using + non 7-bits accented characters like french. + +** The french directory +The french directory with its content is to be placed in a correct +place in the Tex Directory Structure, normally under .../tex/plain +resulting in the branch .../tex/plain/french + +** The doc directory +The documentation is provided with the sources as required under +LPPL agreement +- User's manuals are under "/manuels". +- Short documentation + - histoire.html is the history of french.sty written in french + an abstract is given in changements.html + - lisez-moi.html explains why this name "efrench" + - licence.html explains the licence-history (french and english) + In order to render non-ascii accented characters in french, + html instead text for these short documentations + + +MIGRATING FROM FRENCHPRO + + No problem for the user. French.sty is the FrenchPro's version +with shareware test removed and updated to a new version. + +MIGRATING FROM FRENCHLE + It is not neccessary to migrate, in e-french frenchle.sty is as +easy accessible as french.sty + But if you will migrate there are only these things to do: +- replace "frenchle" with "french" in the \usepackage calling it. +- if in use please rename frenchle.cfg to french.cfg and adapt it. + - Within it, please desactivate the things with french + guillemets (chevrons), if they were active. + +Enjoy. Raymond Juillerat for the e-french group + raymond(at)juil(dot)ch + diff --git a/Master/texmf-dist/doc/generic/e-french/changements.html b/Master/texmf-dist/doc/generic/e-french/changements.html new file mode 100644 index 00000000000..912956d64d4 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/changements.html @@ -0,0 +1,91 @@ + +changements e-French + + + + + + + + + +

Historique très résumé

+L'historique svn complet du projet est disponible à l'adresse : + +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/
+ +Ce fichier en est un résumé lisible pour les utilisateurs, présenté par ordre +chronologique inverse.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
2012-05-28
 -Le manuel frenchle.pdf pour frenchle dont Bernard Gaulle s'est occupé jusqu'à + fin mai 2007 a été repris et mise à jour.
 
2012-03-07
 -la foire aux questions (FAQ) dont Bernard Gaulle s'est occupé jusqu'à + fin mai 2007 a été reprise et mise à jour.
 
2011-09-26
 -révision due au conflit dû à \arabic aussi utilisé pour la langue + arabe. Il faut utiliser \arabicLang à la place.
+ \<langue>Lang corrigerait + tout autre conflit de ce genre, s'il y en a
 
2010-08-07
 -première version sur le CTAN
 -révision de l'installateur
 -suppression du contrôle de licence
 -révision de l'installateur
 
2009-11-11
 -naissance officielle du projet, sur + + http://projects.tuxfamily.org/?do=group;name=efrench
+ + diff --git a/Master/texmf-dist/doc/generic/e-french/histoire.html b/Master/texmf-dist/doc/generic/e-french/histoire.html new file mode 100644 index 00000000000..a19a1a0bc0f --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/histoire.html @@ -0,0 +1,85 @@ + +historique e-French + + + + + + + + + + + +

e-French succède à FrenchPro

+
    +
  1. Explications en français
  2. +
  3. Copyright and short history
  4. +
  5. Les distributions + pour unix-linux + et Windows
  6. +
  7. Les bases des distributions
  8. +
  9. Le Wiki
  10. +
+

Quelques explications

+FrenchPro, le grand'œuvre de Bernard Gaulle ne doit pas tomber dans l'oubli +après la mortde son auteur, survenue le 2 août 2007. +C'est pour maintenir cet outil précieux de la typographie française +que s'est constituéun groupe d'utilisateurs enthousiastes. +Le projet reprenant les travaux laissés brutalement en plan s'appelle eFrench. +Son but est de continuer de mettre à disposition des utilisateurs de LaTeX +ce chef-d'œuvrede la typographie française. +

L'héritière de Bernard, son épouse Catherine Gaulle est aussi +l'héritière des droits d'auteur.Elle autorise cette manière +de maintenir le projet à disposition du public.

+Le projet e-French est maintenu par Laurent Bloch + et une petite équipe enthousiaste. + Le tout étant publié sous licence publique des projets LaTeX, + LPPL,version 1,3 ou ultérieure.La dernière version de LPPL se + trouve soushttp://www.latex-project.org/lppl.txt +
 
+ N'oublions pas que
nous devons ce grand'œuvre essentiellement à
+ son premier et principal auteur, Bernard Gaulle

+  
+
+ + +

About the e-French Package, here «This work»

+

Copyright 2010 eFrench Group

+This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +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.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+

This work has the LPPL maintenance status «maintained».

+The Current Maintainer of this work is Laurent Bloch. +

This work consists of all files of the SVN repository +efrench/efrenchsource, under http://svn.tuxfamily.org/ or + here +and a copy is maintained here.

+The authors are the committers allowed by the maintainer. +
+

History

+

Birth of eFrench

+eFrench is born in order to keep up to date French for (La)Tex + +and maintain it available for future users. +

French for (La)Tex, is the result of a fifteen years work of its creator, +Bernard Gaulle +

Copyrighted by Gaulle-GUTenberg 1992-1998, B. Gaulle 1999-2007.

+Beginning 1999, the FrenchPro package was marketted as shareware, +and Bernard Gaulle alone owner of all rights. He died Aug. 2nd 2007. +His wife Catherine Gaulle, the heiress, gave authorization in that matter +to the e-French group in order to maintain the whole work in the future. +Now the package is delivered under Latex Project Public Licence.

+Since Nov. 11., 2009 maintained as eFrench by Laurent Bloch +(lb -at- laurentbloch.org) +

+ The credit for this piece of work remains with
+ the first and main author, Bernard Gaulle


+ + \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Lnx.pdf b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Lnx.pdf new file mode 100644 index 00000000000..f709545b851 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Lnx.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Win.pdf b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Win.pdf new file mode 100644 index 00000000000..fd27e293ea2 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Win.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Unx.txt b/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Unx.txt new file mode 100644 index 00000000000..5e46b52171d --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Unx.txt @@ -0,0 +1,48 @@ +How to install eFrench under Linux +june 6th 2012, for eFrench, RayJ +---------------------------------- + + This eFrench installation has been tested with TeXLive +but should be valid for all Linux systems. +This distribution abides by the LPPL copyright. + +Installation instructions +========================= + +Put the french directory (and if necessary also the +msg directory) in place beeing accessible by +the \input command. Under TeXLive, for example +here (~ is the user's directory) + ~/texmf/tex +or here + ~/texmf/tex/plain +(or in the system TDS under tex/plain) +This way to do has been sucessfully tested under Ubuntu (9 to 11) + +Notice +------ +If for any reason french.sty after installation announces +that msg.sty or msg-msg.tex is missing, then read the directives +from Probl_Msg.txt, here in the install directory. + +PS : +1. Messages are ANSI coded (latin9) +2. The language.dat file must define french as a + language, it's generally the case +3. For frenchle users a conflict can arise with the default frenchle + (installed for example under /usr/share/texmf-texlive/tex/latex/frenchle) + A solution is to suppress that directory with its whole content. + (followed by $sudo texhash) + Another (easier) is to use french.sty instead of frenchle.sty + +Documentation +============= + The user's manuals efrench.pdf and frenchle.pdf are in french. + Frenchle.pdf is included because it is also valid for efrench + as a good introduction to it's possibilities. And frenchle + is now a part of e-french. + + -- rayj for the eFrench group, all questions to be sent to +Laurent Bloch + +(/usr/share/texmf-texlive/tex/latex/frenchle/frenchle.cfg) diff --git a/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Win.txt b/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Win.txt new file mode 100644 index 00000000000..15eef298505 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/MiniDoc_Win.txt @@ -0,0 +1,45 @@ +How to install eFrench under Windows +june 6th 2012, for eFrench, RayJ +---------------------------------- + + This eFrench installation has been tested with MiKTeX +but should be valid for all TeX motors. +This distribution abides by the LPPL copyright. + +Installation instructions +========================= + +Put the french directory (and if necessary also the msg directory) +in a place beeing accessible by the \input command. +Under MikTeX 2.8, for example here + c:\LocalTexMf\tex\ +or here + c:\LocalTexMf\tex\plain\ +(or in the system TDS under tex\plain\) + + and announce it to MikTeX +(Maintenance - Setting - Roots - Add ...) + + +This way to do has also been tested under MikTeX 2.9 + +Notice +------ +If for any reason french.sty after installation announces +that msg.sty or msg-msg.tex is missing, then read the directives +from Probl_Msg.txt, here in the install directory. + +PS : +1. Messages are ANSI coded (latin9) +2. The language.dat file must define french as a + language, it's generally the case + +Documentation +============= + The user's manuals efrench.pdf and frenchle.pdf are in french. + Frenchle.pdf is included because it is also valid for efrench + as a good introduction to it's possibilities. And frenchle + is now a part of e-french. + + -- rayj for the eFrench group, all questions to be sent to +Laurent Bloch diff --git a/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.pdf b/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.pdf new file mode 100644 index 00000000000..9948795a453 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.txt b/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.txt new file mode 100644 index 00000000000..781725f60f3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.txt @@ -0,0 +1,23 @@ +Problems in french.sty with msg.sty and msg-msg.tex +=================================================== + +Maybe, after having installed the e-french package that french +announces that msg.sty is missing or that msg-msg.tex is missing. +With the new versions of TeXLive, no such problem, +by MikTeX v2.9, only msg-msg.tex is missing. +If msg.sty is missing, msg-msg.tex is generally also missing. +This would be the cas by older or other environnements. +In any case, these files can be found on the internet. +One possibility is CTAN, for exemple to get from + +at least the files msg.ins, msg.dtx and msgfiles.dtx. +and to download them in a work directory + Then with the command + latex msg.ins +you have the missing files msg.sty and msg-msg.tex, +in order to put them in your french directory. +A second possibility is to download them from + + + + diff --git a/Master/texmf-dist/doc/generic/e-french/licence.html b/Master/texmf-dist/doc/generic/e-french/licence.html new file mode 100644 index 00000000000..36e4ae3050d --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/licence.html @@ -0,0 +1,86 @@ + + + +Licence e-French + + + + + + + + + + + +(French version below.) +

Licence statement for the eFrench bundle

+ + + + + + + + + + + + + + + + + +
Copyright 1992-1998association GUTenberg & Bernard Gaulle
Copyright 1999-2007Bernard Gaulle (shareware)
Copyright 2010-2011contributors to the eFrench project
(Laurent Bloch, Raymond Juillerat, + Manuel Pégourié-Gonnard)
+

NOTE: After the death of Bernard Gaulle in 2007, his widow and heiress to his +copyrights, Catherine Gaulle, kindly agreed to have the French Pro bundle +released as eFrench under a free licence, namely the LPPL.

+

This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +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.3 or later and is part of all distributions of LaTeX +version 2005/12/01 or later.

+

This work has the LPPL maintenance status `maintained'.

+

The Current Maintainers of this work are the eFrench project contributors.

+

This work consists of the files found at + +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/ +and derived files.

+

Notice de licence pour le project eFrench

+ + + + + + + + + + + + + + + + + +
Copyright 1992-1998association GUTenberg & Bernard Gaulle
Copyright 1999-2007Bernard Gaulle (shareware)
Copyright 2010-2012contributeurs du projet eFrench
(Laurent Bloch, Raymond Juillerat, + Manuel Pégourié-Gonnard)
+

NOTE : Après la mort de Bernard Gaulle en 2007, sa veuve et héritière des +droits d'auteur, Catherine Gaulle, a aimablement permis que la distribution +French Pro devienne le projet eFrench et soit distribué sous une licence +libre, la LPPL +http://www.latex-project.org/lppl.txt. +

+

Ce projet est constitué des fichiers disponibles en + +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/ +et des fichiers dérivés. +

+ + + diff --git a/Master/texmf-dist/doc/generic/e-french/lisez-moi.html b/Master/texmf-dist/doc/generic/e-french/lisez-moi.html new file mode 100644 index 00000000000..1315b9ccd9e --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/lisez-moi.html @@ -0,0 +1,38 @@ + + + +lisez-moi e-French + + + + + + + + + + + +

eFrench - typographie française pour LaTeX

+

FrenchPro, le grand'œuvre de Bernard Gaulle ne doit pas tomber dans l'oubli +après la mort de son auteur, survenue le 2 août 2007. C'est pour maintenir cet +outil précieux de la typographie française que s'est constitué un groupe +d'utilisateurs enthousiastes. Le projet reprenant les travaux laissés +brutalement en plan s'appelle eFrench. Son but est de continuer de mettre à +disposition des utilisateurs de LaTeX ce chef-d'œuvre de la typographie +française.

+

L'héritière de Bernard, son épouse Catherine Gaulle est aussi l'héritière des +droits d'auteur. Elle autorise cette manière de maintenir le projet à +disposition du public (voir licence.html).

+

Le projet eFrench est maintenu par une petite équipe formée autour de Laurent +Bloch, et hébergé par Tux Family : + +http://projects.tuxfamily.org/?do=group;name=efrench +

+

N'oublions pas que nous devons ce grand'œuvre
+ essentiellement à son premier et principal auteur,
+ Bernard Gaulle. +

+ + + diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/FrenchLe.html b/Master/texmf-dist/doc/generic/e-french/manuels/FrenchLe.html new file mode 100644 index 00000000000..c874131eaeb --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/FrenchLe.html @@ -0,0 +1,39 @@ + + + + + Passer de FrenchLe à eFrench + + +


+

+

Comment passer de + FrenchLe à eFrench
+

+

C'est assez simple

+


+

+


+

+

L'extension frenchle.sty selon FrenchLe est un extrait de french.sty selon eFrench 

+

Après l'installation de de french.sty, selon les directives d'installation ayant veillé à ce que + la nouvelle installation est bien lue, quelques petites manupulations.
+ + + + + + + + + + + + + +
remplacer "frenchle" par "french" dans l'instruction \usepackage qui l'appelle.
s'il est utilisé renommer le fichier frenchle.cfg en french.cfg et l'adapter.
dans ce fichier, désactiver ce qui concerne '«' ET '»', si cette partie était active
+

+

Bien du plaisir à eFrench

+ + + diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/FrenchPro.html b/Master/texmf-dist/doc/generic/e-french/manuels/FrenchPro.html new file mode 100644 index 00000000000..7d7f73c7a41 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/FrenchPro.html @@ -0,0 +1,41 @@ + + + + + Passer de FrenchPro à eFrench + + +


+

+

Comment passer de + FrenchPro à eFrench
+

+

Rien de plus simple

+


+

+


+

+

Les modules french.sty sont compatibles 

+

Donc il suffit de suivre les directives d'installation, de veiller que + c'est bien la nouvelle installation qui est lue par défaut et le tout est + joué.
+

Le test de licence Partagiciel a été supprimé

+C'est la grande différence. Cette version tourne sous LPPL. +

+


+

Le système a été allégé 

+ + + + + + + + + +
Le fichier language.dat est totalement géré par TeXLive ou MikTeX. + Il suffit de charger la langue française.
Bien d'autres éléments dépassés et devenus inutiles ont été supprimés de la distribution.
+

+

Bien du plaisir à eFrench

+ + diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf new file mode 100644 index 00000000000..089e9942bea Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf new file mode 100644 index 00000000000..ae277032203 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/french_doc.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/french_doc.pdf new file mode 100644 index 00000000000..2291a6d0eb4 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/manuels/french_doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf new file mode 100644 index 00000000000..2e84de1c750 Binary files /dev/null and b/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf differ diff --git a/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Lnx.tex b/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Lnx.tex new file mode 100644 index 00000000000..32e84c3c92c --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Lnx.tex @@ -0,0 +1,60 @@ +% !TeX encoding = utf-8 +\documentclass[11pt, a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{hyperref} +\usepackage{french} +\author{Raymond Juillerat} +\begin{document} +\section*{eFrench Linux : mini-doc d'installation } +revue pour eFrench sous LPPL les 6 juin 2012 et 10 août 2015 par RayJ\\[3ex] + + Cette distribution de eFrench a été testée avec TeXLive mais elle doit +fonctionner avec tous les autres moteurs TeX. Cette distribution +est LPPL. + +\paragraph*{Remarque} +Si pour une raison ou une autre (ancien TexLive ou autre système), french.sty annonce que msg.sty ou msg-msg.tex manque, +installer aussi le paquet msg. Dans les prochaines versions de TeXLive, le paquet e-french sera installé d'office, msg aussi. + +\subsection*{Consignes d'installation} + + placer le répertoire /french (et si nécessaire aussi /msg) à un endroit où + tous les fichiers seront accessibles par{ \backslash}input. +\subsection*{Pour TeXLive, par exemple sous } + $\sim$/texmf/tex\hspace{1cm} +($\sim$ est le répertoire personnel)\\ +ou + + $\sim$/texmf/tex/plain + + et annoncez à TeXLive (\$ texhash $\sim$/texmf) + ce répertoire en tant que répertoire supplémentaire de sources . +Cette configuration a été testée avec succès sous Ubuntu (9 à 11) + +\subsection*{PS} +\begin{enumerate} +\item Le messages sont codés en ANSI (latin9) +\item Le fichier language.dat doit définir french en tant + que langue, ce qui est le cas généralement +\end{enumerate} + +\subsection*{Documentation } + +Les manuels sont fournis sous forme de fichier en format pdf : +efrench.pdf et frenchle.pdf, ce dernier étant aussi valable +pour efrench, les explications y sont plus détaillées +mais concernent moins de possibilités. Et frenchle +fait partie maintenant d'e-french. + + +\centering{Bonne utilisation de eFrench !} + + -- \href{mailto:raymond@juil.ch}{rayj } +pour l'équipe d'eFrench, pour toute question passer par son initiateur, +{Laurent Bloch} +\href{http://www.laurentbloch.org/MySpip3/spip.php?article166}{} + +\end{document} diff --git a/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Win.tex b/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Win.tex new file mode 100644 index 00000000000..0a53bf6531f --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/MiniDocEf_Win.tex @@ -0,0 +1,58 @@ +% !TeX encoding = utf-8 +\documentclass[11pt, a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{hyperref} +\usepackage{french} +\author{Raymond Juillerat} +\begin{document} +\section*{eFrench Windows : mini-doc d'installation } +revue pour eFrench sous LPPL le 13 août 2015, par RayJ\\[3ex] + + Cette distribution de eFrench a été testée avec MiKTeX mais elle doit +fonctionner avec tous les autres moteurs TeX. Cette distribution +est LPPL. + +\paragraph*{Remarque} +Si pour une raison ou une autre (ancien MikTeX ou autre système), french.sty annonce que msg.sty ou msg-msg.tex manque, +installer aussi le paquet msg. Dans les prochaines versions de MikTeX, le paquet e-french devrait être installé d'office, msg aussi. + +\subsection*{Consignes d'installation} + +Placer le répertoire \backslash french (et si nécessaire aussi \backslash msg) à un endroit où + tous les fichiers seront accessibles par \backslash input. +\subsection*{Pour MikTeX 2.8, par exemple sous} + c:\backslash LocalTexMf\backslash tex\\ +ou + + c:\backslash LocalTexMf\backslash tex\backslash plain\\ + et annoncez à MikTeX \textit{(Maintenance - Setting - Roots - Add ... )} + ce répertoire c:\backslash LocalTexMf en tant que répertoire supplémentaire de sources +Cette configuration a aussi été testée avec succès sous MikTeX 2.9. + +\subsection*{PS} +\begin{enumerate} +\item Le messages sont codés en ANSI (latin9) +\item Le fichier language.dat doit définir french en tant + que langue, ce qui est le cas généralement +\end{enumerate} + +\subsection*{Documentation } + +Les manuels sont fournis sous forme de fichier en format pdf : +efrench.pdf et frenchle.pdf, ce dernier étant aussi valable +pour efrench, les explications y sont plus détaillées +mais concernent moins de possibilités. Et frenchle +fait partie maintenant d'e-french. + +\centering{Bonne utilisation de eFrench !} + + -- \href{mailto:raymond@juil.ch}{rayj } + pour l'équipe d'eFrench, pour toute question passer par son initiateur, +{Laurent Bloch} +\href{http://www.laurentbloch.org/MySpip3/spip.php?article166}{} + + +\end{document} diff --git a/Master/texmf-dist/doc/generic/e-french/src/Probl_Msg.tex b/Master/texmf-dist/doc/generic/e-french/src/Probl_Msg.tex new file mode 100644 index 00000000000..41edda3fea2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/Probl_Msg.tex @@ -0,0 +1,48 @@ +% !TeX encoding = utf-8 +\documentclass[11pt, a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{hyperref} +\usepackage{french} +\author{Raymond Juillerat} +\begin{document} +\section*{Si french annonce que msg.sty ou msg-msg.tex est absent } + +Après l’installation, +vous voulez compiler en utilisant french.sty et ce dernier s'achope à +l'absence de l'un des deux fichiers msg.sty ou msg-msg.tex. + +Avec les nouvelles version de TeXLive, il n'y a pas de problème de ce genre. +Avec MikTeX, version 2.9, seul msg-msg.tex manque. + +Si msg.sty manque, alors généralement msg-msg.tex manque aussi. +C'est le cas avec d'autres environnements ou d'ancienne versions. + +Une possibilité, c'est de les chercher sur CTAN. + +Pour ce faire vous téléchargez de + +\href{http://mirror.ctan.org/tex-archive/macros/latex/contrib/msg/} +{http://mirror.ctan.org/tex-archive/macros/latex/contrib/msg/}\\ +au minimum les fichiers msg.ins, msg.dtx et msgfiles.dtx pour les +déposer dans un dossier de travail. Avec la commande +\textit{latex msg.ins}, vous aurez les fichiers cherchés + msg.sty et msg-msg.tex qui manquent pour les mettre +dans votre dossier french. + +Une autre possibilité, c'est de les télécharger de\\ +\href{http://www.efrench.org/distributions/e-fr\_msg/} +{http://www.efrench.org/distributions/e-fr\_msg/}\\ + + +\centering{Bonne utilisation de eFrench !} + + -- \href{mailto:raymond@juil.ch}{rayj } +pour l'équipe d'eFrench, pour toute question passer par son initiateur, +{Laurent Bloch} +\href{http://www.laurentbloch.org/MySpip3/spip.php?article166}{} + +\end{document} + diff --git a/Master/texmf-dist/doc/generic/e-french/src/efrench.tex b/Master/texmf-dist/doc/generic/e-french/src/efrench.tex new file mode 100644 index 00000000000..348d4344b54 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/efrench.tex @@ -0,0 +1,5163 @@ +% !TeX encoding = latin9 +% File efrench.tex +% This is the user's guide for the package ``french'' --bg 2006/03/24 +% LPPL Copyright as in Copyright.htm +% +% (a composer en 3 passages, +% avec makeindex -s fridx1.ist apres le deuxieme passage) +% +\documentclass[a4paper,11pt,openright]{report} +\usepackage[latin9]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{url} + +\makeatletter\def\tempa{\let\if@screen\iffalse}\makeatother% +\tempa% +\def\href#1#2{#2} +\let\titcolor\relax +\usepackage[print]{pdfscreen} + +\usepackage{french, mymaj, fancybox} + +\usersfrenchoptions{% + \disallowuchyph + \nooverfullhboxmark +} + + \definecolor{section0}{rgb}{.722,.525,.431} + \definecolor{section1}{rgb}{.937,.561,.123} + \definecolor{section2}{rgb}{.855,.647,.123} + \definecolor{section3}{rgb}{.804,.361,.361} + \definecolor{section4}{rgb}{.545,.271,.750} + \definecolor{section5}{rgb}{.627,.322,.176} + \definecolor{titcolor}{rgb}{.922,.725,.831} + \definecolor{bleu}{rgb}{.0,.0,.850} +\def\titcolor{\color{section0}} + +\hypersetup{ + pdfwindowui=true, pdfnewwindow=true, + colorlinks=true, pdfmenubar=true, pdffitwindow=true, + anchorcolor=bleu, urlcolor=bleu, +} + +\makeatletter +\newcommand{\linkandfootnote}[3]{% + \href{#3}{#2}\bgroup% + \expandafter\ifx\csname r@tlf.#1\endcsname\relax% + \expandafter\global% + \expandafter\let\csname r@tlf.#1\endcsname\empty% + \footnote{\texttt{<}\url{#3}\texttt{>}.\label{lf.#1}}% + \else\refmark{lf.#1}% + \fi\egroup% + }% +\makeatother + +\newif\ifnoDOCinstall +\newif\ifnoFINALS + +\textwidth=16.8cm +\textheight=24.0cm +\voffset -1in +\hoffset -1in +\oddsidemargin=2.2cm +\evensidemargin=2.2cm +\topmargin=1.0cm +\footskip=2.3cm + +\makeindex +\begin{document} + +\title{\fboxsep=2ex% + \shadowbox{\Huge Guide de l'utilisateur \textsl{eFrench}}% + \\[2\baselineskip]} +\author{dérivé de \textsl{French Pro} développé par {\LARGE B. \fsc{Gaulle}} \\[4\baselineskip]} +\date{\LARGE\frenchstyleid} + +\maketitle\thispagestyle{empty} + +\begin{resume} Cette notice décrit comment installer et utiliser avec \LaTeX{} + l'extension \textsl{} (appelée autrefois style \texttt{french} puis \texttt{ French Pro}). + Cette extension a été créée pour imprimer des documents typographiquement + plus conformes à l'usage français que ce que produit \LaTeX{} par défaut. + Un grand nombre de commandes peuvent être utilisées mais + l'emploi courant de cette extension ne nécessite + {\em a priori\/} aucune connaissance particulière + ni une utilisation forcenée de commandes spécifiques. Toutefois cet + emploi n'est pas toujours {\em transparent}. +\maj + Une version allégée est fournie (\texttt{frenchle}). +Une version appauvrie (\texttt{pmfrench}) + est aussi utilisable sur tous les sites et dans toutes les + configurations. L'installation de \textsl{eFrench} s'accompagne d'une + création de {\em format} pour l'introduction, notamment, des + fichiers de motifs de césure français. D'autres extensions l'accompagnent. +\end{resume} + +\sommaire[4] + +%% \NNL sert a éliminer les saut de page dans la toc ou le sommaire +%% mais cela génère de messages « Token not allowed » avec hyperref. +\newcommand{\NNL}{\protect\let\\\relax} +\makeatletter\def\HyPsd@CatcodeWarning#1{}\makeatother% +%% +\let\Subsubsection\subsection +\def\subsubsection#1{\Subsubsection[\NNL#1]{\protect\titcolor#1}} +\let\Subsection\section +\def\subsection#1{\Subsection[\NNL#1]{\protect\titcolor#1}} +\let\Section\chapter +\def\section#1{\Section[\NNL#1]{\protect\titcolor#1}} + +\hbox{}\vfill + +\Section*{\titcolor Introduction} + +\let\XXboi\backslash% abreviation +\let\exclam\pointexclamation +\def\oMlTeX{\texttt{\mbox{--mltex}}} +%\def\biburl#1{\hbox{}\hfill\texttt{<}\url{#1}\texttt{>}}% +\tthyphenation +\abbreviations + +% +\CheckSevenBits/À/% check it, will stop here if 7-bits. + {\STOP un retour charriot permet de continuer...} +% + +\begin{drapeaufd} +{\small +{\sf Les limites de mon langage\\ +signifient les limites\\ +de mon propre monde.}\par + +\smallskip +Ludwig \fsc{Wittgenstein}\\ +({in \em Tractatus logico-philosophicus}) +} +\end{drapeaufd} + +\bigskip + +\def\FrenchPro{\textsl{FrenchPro}} +\def\eFrench{\textsl{eFrench}} + +\ifx\ToDo\undefined +\font\lettrinefont=cmr17 scaled\magstep3\label{lettrinefont} +\else +\font\lettrinefont=cmr17 at 50pt\label{lettrinefont} +\fi +\lettrine{L'extension} {\eFrench} +a été conçue pour pouvoir imprimer des documents +respectant {\em automatiquement} un maximum de règles typographiques +françaises de l'imprimerie nationale +\maj +telles qu'elles sont présentées dans \cite{lexique}. +D'autres aspects comme, par exemple, + la francisation des classes de documents, des styles \LaTeX{} +ou la réalisation de documents +multilingues sont aussi abordés. + +%Nous parlerons indifféremment d'\textit{option de style}, d'\textit{extension} +%ou simplement d'\textit{option} en ce qui concerne la francisation +%de \LaTeX\ proposée ici. + +Tous les dispositifs introduits fonctionnent avec l'ensemble +des moteurs \TeX\ mais nous recommandons plutôt l'utilisation +\maj +d'un moteur avec option \oMlTeX +\footnote{Les moteurs \TeX{} basés sur \texttt{web2c} disposent + de cette option \oMlTeX\ à la création du format.}. + +Cette notice +\maj +qui fait suite à la +\makeatletter +\if@screen% +\linkandfootnote{FAQ}{FAQ (foire aux questions)}% +{http://efrench.org/bases/screen.pdf/FAQscreen.pdf} +\else% +\linkandfootnote{FAQ}{FAQ (foire aux questions)}% +{http://efrench.org/bases/FAQ.pdf} +\fi% +\makeatother + à propos de \LaTeX\ en français, +explique comment utiliser l'extension {\eFrench} +mais ne démontre pas largement ses effets ; vous pouvez +vous reporter d'une part à la notice d'utilisation de la version allégée +\makeatletter\if@screen% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf} +\else% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf} +\fi% +\makeatother% +et d'autre part au document +\linkandfootnote{torture}{<< test de torture >>}% +{http://efrench.org/bases/tst/frenchrf.dvi}. +\index{extension!allége@allégée \emph{frenchle}}% +\index{version!allégée}% +\index{frenchle@\emph{frenchle}}% + +\maj +Deux types d'utilisation sont possibles, l'un {\em normal\/} et +l'autre {\em étendu\/} plutôt réservé aux utilisateurs +expérimentés. Nous allons détailler ces deux types d'utilisation +(nous verrons par la suite qu'il existe aussi une utilisation +appauvrie pour ceux qui ne peuvent pas ou ne désirent pas faire +appel à tous les dispositifs). + +\section{Utilisation normale}\label{normal} +\index{utilisation!normale}% +Pour utiliser l'extension {\eFrench} il suffit de la {\em charger +en mémoire} pour \LaTeX{} +\hbox{c.-à-d.} comme toute extension, par +l'ordre \verb|\usepackage|. +\maj +En fait, on l'appelera sous le nom \texttt{french} +(de préférence à \texttt{frenchpro}) pour bénéficier d'un maximum +de dispositifs : +\index{usepackage@\texttt{\backslash usepackage}}% +\begin{verbatim} + \documentclass[a4paper,11pt]{book} + \usepackage{french} +\end{verbatim} + +\noindent +mais vous pouvez aussi charger l'extension {\eFrench} en faisant +appel à l'extension multilingue \emph{mlp} : % +\index{extension!eFrench@\emph{efrench}} +\begin{verbatim} + \documentclass[french,a4paper,11pt]{book} + \usepackage{mlp} +\end{verbatim} +\index{extension!mlp@\emph{mlp}}% +\index{mlp@\emph{mlp}}% +le résultat est identique dans les deux cas, mais si vous souhaitez utiliser +plusieurs langues dans le document il est alors plus normal de le faire +avec l'extension \emph{mlp} en précisant les langues en option (de +\vers|\usepackage| ou de \vers|\document|\-\vers|class|). + +Vous pouvez aussi utiliser {\eFrench} en option de l'extension +\index{babel@\emph{babel}!en opt@{\eFrench} en option de}% +multilingue \emph{babel} : +\begin{verbatim} + \documentclass[a4paper,11pt]{book} + \usepackage[frenchpro]{babel} +\end{verbatim} +mais dans ce cas certains dispositifs deviennent inopérants ; ils sont +décrits dans cette notice. + +\noindent +Mettre de préférence {\eFrench} en dernier dans la liste des +extensions que vous précisez +\footnote{L'extension {\eFrench} peut +aussi être chargée de façon anarchique par \texttt{\backslash +input french.sty} avant le \texttt{\backslash begin}\{\texttt{document}\} +mais cela est déconseillé.} +\maj +de façon à ce que {\eFrench} puisse s'adapter aux extensions déjà +chargées en mémoire. +\index{documentclass@\texttt{\backslash documentclass}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\index{activation de {\eFrench}}% +\index{babel@\emph{babel}!activ@activation de {\eFrench}}% +Cela dit, vous noterez toutefois que +l'extension {\eFrench} ne devient vraiment active qu'après +le \texttt{\backslash begin}\{\texttt{document}\} +\footnote{Sauf dans le cas d'une +utilisation via l'extension \emph{babel}.}. +\index{extension!babel@\emph{babel}}% +\index{extension!french@{\eFrench}}% +\index{babel@\emph{babel}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\par + +L'extension {\eFrench} est conçue pour être utilisée +avec les classes de document standard \LaTeX{} c.-à-d. + \verb|book|, \verb|report|, \verb|article| et +\index{classe!letter@\texttt{letter}}% +\index{classe!book@\texttt{book}}% +\index{classe!article@\texttt{article}}% +\index{classe!minimal@\texttt{minimal}}% +\index{book@\texttt{book}}% +\index{report@\texttt{report}}% +\index{article@\texttt{article}}% +\index{letter@\texttt{letter}}% +\index{minimal@\texttt{minimal}}% +\verb|letter|% +\footnote{L'extension {\eFrench} n'est pas utilisable, +par exemple, avec la classe \texttt{minimal}.}% +. + +\medskip +\noindent +[Pour ceux que la lecture des codes source ravit, il est précisé que, +depuis la version 3,30 du style french, +les commentaires ne figurent plus dans +le fichier \verb|french.sty| mais dans %] +\linkandfootnote{codefrench}{\texttt{french\_{}doc.pdf}}% +{http://efrench.org/bases/doc/french_doc.pdf}% +] +\index{fichier!french_doc.pdf@\texttt{french\string_doc.pdf}}% + +\subsection{Saisie}\label{saisie}\index{saisie}% +Rappelons ici quelques règles de saisie usuelles +pratiquées en dactylographie française et qui sont à appliquer +lorsque l'on saisit du \LaTeX{} destiné à être utilisé avec +l'extension {\eFrench} : +\begin{itemize} +\item vous devez saisir un espace (barre d'espacement du clavier) : +\begin{itemize} +\item avant la double ponctuation% +\footnote{Elle est aussi appelée {\em ponctuation haute}.} +(\verb|! ? : ;|) ; +\index{double ponctuation}\index{\texttt{\exclam}}\index{\texttt{?}}% +\item avant le \% (\verb|\%|) et en général les {\em unités} + monétaires, kilométriques, \etc.% +\index{unites@unités!de mesure}% +\index{\texttt{\%}}% +\item avant les guillemets fermants (\verb|>|\verb|>|) et le tiret +\index{tiret}\index{guillemets}% +\index{>a@\texttt{\superieura\relax\superieura}}% +\index{>b@\rightguillemets}% + lorsqu'il est utilisé en milieu de phrase% +\footnote{\label{tripleT}Les habitudes typographiques ne sont pas +toujours identiques selon les imprimeurs. Il semble, en effet, que dans +de nombreux cas le triple tiret soit utilisé. Le double tiret +me semble mieux adapté en milieu de phrase.} + (\verb|--|) + ; +\item après \verb|<|\verb|<| (et bien sûr après \verb|>|\verb|> , ; : . ! ?|% +\footnote{Il s'agit là du cas général ; +vous trouverez aisément de +nombreux exemples où il ne faudra pas saisir +d'espace après ces caractères +de ponctuation.}% +) et tiret ; +\index{\texttt{.}}\index{\texttt{;}}\index{\texttt{:}}% +\index{>) se saisissent directement si votre clavier +a été bien défini pour \LaTeX{} ou sinon : \verb|<<| et \verb|>>| ; toute +autre sorte de guillemets est à prohiber en français +(\verb|` " '| \`{ } \'{ } `` ,, '') ; +\item on marque les intervalles avec un simple tiret +(\verb|-|) comme dans << la guerre de 1939-45 >> ou << voir explication +p. 169-173 >>. +\index{\texttt{`}}\index{\texttt{\dittomark}}\index{\texttt{'}}% +\index{{\`\space}}\index{{\'\space}}\index{{``}}\index{{,,}}\index{{''}}% +\item les tirets se saisissent \verb|--| lorsqu'ils sont employés dans le +\index{-2@\texttt{--}}\index{-3@\texttt{---}}% + texte\refmark{tripleT} + ou en début d'énumération (mais on saisit \verb|---| pour +commencer le discours d'un personnage de roman) + ; +\item les points de suspension sont saisis par 3 points normaux (\verb|...|) ; +\index{\texttt{...}}% +\item les nombres \label{nombres}% +\index{nombres}% +\index{nombre}% +\index{nombre@\texttt{\backslash nombre}}% +\index{,@\texttt{\backslash ,}}% +ne s'écrivent pas en anglais comme en français : il faut +mettre une virgule pour séparer les unités de la partie +décimale, exemple : +1,5~km et mettre un blanc insécable% +\footnote{Le blanc insécable peut être remplacé, valablement ici, +par une {\em espace fine} (\texttt{\backslash,}) ; +c'est ce qui est appliqué avec la commande \texttt{\backslash nombre}. +On notera alors le moyen +mnémotechnique suivant pour transformer un nombre, de l'anglais au +français : \primo remplacer les virgules par \texttt{\backslash,} et +\secundo le point par une virgule.}% + (\texttt{\tilde}) pour séparer les tranches des milliers +ou des millièmes comme +dans \verb|12~345,678~91| mais pour avoir une composition aisée +on préfèrera la commande \verb|\nombre{12 345,678 91}|. +\end{itemize} +Ce qui suit est plus particulièrement lié à la +composition du document +mais doit être pris en compte dès la saisie : +\begin{itemize} +\item les locutions latines sont mises en italique dans le texte en +\index{locutions latines}\index{italique}\index{romain}% +romain (sauf pour cf., \etc. et toutes les locutions francisées comme +critérium) ; +\item voici aussi quelques abréviations usuelles (à retenir si +vous n'utilisez pas le dispositif d'abréviation proposé par l'extension + {\eFrench}, voir page \pageref{frenchmacros}) qui +\index{abreviations@abréviations!usuelles}% +se saisissent de la manière suivante : +\begin{verbatim} +\hbox{c.-à-d.} /\emph{i.e.} / p.ex. / \etc. / cf. / id. + p.i. / p.o. / doc. / chap. / part. / vol. + paragr. / R.S.V.P. / T.S.V.P. /... +\end{verbatim} +\item les noms propres se composent en petites capitales (mais le prénom + reste en romain classique) soit par exemple : Donald \fsc{knuth} +\index{romain}% + (voir plus loin l'ordre \verb|\fsc| au §~\ref{fsc} +page \pageref{fsc}) ; +\item ne pas mettre de point entre les lettres des sigles + ({\sc ratp, sncf}...)% +\footnote{Voir aussi l'ordre \texttt{\backslash lsc} au §~\ref{lsc} +page \pageref{lsc}.} +sauf lorsque ce sigle est peu connu et s'énonce lettre par lettre + ; \index{sigles}% +\item le caractère insécable ({\large\verb|~|}) +\index{caractère insécable (\texttt{\tilde})}% +\index{~@\texttt{\tilde}}%{{$\widetilde{\space\space}$}}% + ne s'utilise que pour corriger une +coupure malheureuse ; son utilisation systématique ne facilite pas la +relecture et est bien souvent sans raison d'être dans les textes +courants (et certainement pas pour la ponctuation +qui est entièrement gérée par l'extension {\eFrench}) ; +toutefois on pourra l'utiliser entre {\em prénom} et {\em nom} lorsque +le prénom est abrégé comme dans \verb|D.~KNUTH|% +\footnote{Autre exemple, entre {\em chiffres\/} et {\em unités\/} comme +dans : 130~km/h (\texttt{130\tilde{}km/h}).}. +Rappelons par ailleurs que l'on indique les points possibles de division +(\verb|-|) des +mots grâce à l'ordre \TeX{} \vers|\hyphen|\-\vers|ation|. Inversement, + on empêche la coupure d'un mot tout le long +d'un document en ne lui donnant aucun point de division possible +"cad" en le précisant ainsi : \vers|\hyphenation{|% +{\em mot}\/\verb|}| % +(il est aussi possible de fournir une liste +d'exceptions à la création du {\em format}\/ "cad" au moment de +\index{fichier!d'exceptions}% +l'installation ou ultérieurement, voir le §~\ref{cesure} page +\pageref{cesure} sur la césure) ; +\item les majuscules doivent toujours être accentuées ; +\item dans les titres, ne mettre de majuscule qu'à +la première lettre du +premier mot (consultez les bons ouvrages +\cite{lexique,codetypo,cahiers}, pour +connaître précisément quels \index{majuscules}% +sont les noms devant commencer par une majuscule) ; +ne pas terminer un titre par un caractère de ponctuation (à l'exception +des points d'exclamation et d'interrogation) ; +\item dans une énumération simple comme celle-ci +(c.-à-d. ne comportant pas plus d'une phrase par élément), +vous devez commencer chaque élément ({\em item}) par +une minuscule (en règle générale le double tiret << -- >> +\index{tiret}\index{enumeration@énumération simple}% +n'est jamais suivi d'une +majuscule) et le terminer par un point virgule (sauf le dernier) ; +\item dans les tableaux, les titres ("cad" l'ordre \verb|\caption| +\label{tableaux}% +\index{figures et tableaux}% +\index{tableaux!titres}% + de \LaTeX{}) doivent être positionnés autrement + que dans les figures ; ils doivent être impérativement + mis devant + les tableaux alors qu'ils se placent après dans le cas + des figures. +\end{itemize} + +Pour de plus amples renseignements on pourra consulter le manuel +de l'imprimerie nationale \cite{lexique} mais aussi +\maj +le petit document d'E. \fsc{Saudrais} \cite{saudrais} que l'on +trouvera sur Internet. + +\subsection{Les noms de fichiers} + +Une bonne habitude est de découper son document en autant de fichiers que +de chapitres ou sections (voire sous-sections, selon la complexité +du document). Une deuxième bonne habitude est aussi de ne jamais +mettre de caractères accentués dans les noms de fichiers car, non seulement +les systèmes d'exploitation n'aiment pas trop ça mais en plus +le document n'est plus portable sur un autre type de système. + +Pour préciser un fichier Windows il faut d'abord indiquer sur +\index{fichier!d'exceptions}% + quelle unité il réside (comme par exemple \verb|C:/fichier|% +\footnote{L'anti-slash est normalement reconnu par le moteur \TeX}% +) ; on indique ainsi un chemin absolu. Ce n'est pas toujours la bonne +méthode car d'une part le nom des unités peut varier et encore une fois +ce nom complet n'est plus portable sur un autre système. L'autre +méthode consiste, lorsque tous les fichiers sont sur la même unité, +d'indiquer le chemin relatif par rapport au dossier dans lequel +vous travaillez (par exemple \verb|./fichier| ou \verb|../figures/fichier|). +Si toutefois vous ne pouvez pas ou ne souhaitez pas appliquer cette +méthode il faudra donc coder en absolu mais avec quelques précautions +dues au caractère << \verb|:| >> qui est un caractère actif avec {\eFrench}. +Vous devrez définir vos unités Windows % +\index{unites@unités!Windows}%} + utilisées dans le document : +\begin{verbatim} + \WindowsUnits{disque=C,cd=D,autre=E} +\end{verbatim} +\index{windowsunits@\texttt{\backslash WindowsUnits}}% +\index{unites@unités!windowsunits@\texttt{\backslash WindowsUnits}}% + en choississant les noms que vous voulez (cela va définir des commandes +du même nom). Ensuite, lorsque vous aurez +besoin de faire appel à un fichier sur \texttt{C} (dans la +partie en français de votre document) il suffira de coder : +\begin{verbatim} + \disque:/fichier +\end{verbatim} +mais attention à ne pas oublier le << \verb|:| >> sinon +vous obtiendrez un message +<< \texttt{Use of ... doesn't match its definition} >>. +Ainsi vous pourrez coder : +\begin{verbatim} + \input{\disque:/bouqin/chapitreIV/sectionIII/texte.tex} + \graphicpath{\cd:/images} + \includegraphics{\autre:/bouqin/graphiques/image} +\end{verbatim} + +\subsection{Contenant et contenu} +Ne vous occupez surtout pas du contenant de votre document lorsque +vous le saisissez et concentrez vous uniquement sur le contenu (une bonne +occasion de se relire...). Lorsque vous saisissez des listes, des +énumérations, \etc. veillez à ce que celles-ci restent brèves (de l'ordre +d'une phrase ou deux) sinon réfléchissez à la possibilité de +rajouter une section de niveau inférieur. + +Il faut éviter à tout prix le souligné, c'est un dispositif de +secours qui ne donne jamais un bon effet typographique. + +De la même manière l'encadré ne doit pas être utilisé trop souvent +sauf s'il fait partie de la maquette. + +Une tendance qui nous vient d'outre-atlantique et qui n'est pas +du plus bel effet est l'usage immodéré de la numérotation en 5 ou +6 niveaux (par exemple : paragraphe 3.27.6.2.1). À partir du troisième +niveau demandez-vous s'il est vraiment indispensable de numéroter. + +En tout, l'exagération est un vilain défaut... tout au moins en typographie +(en excluant la publicité, bien entendu) ; c'est le cas de la numérotation +mais aussi de l'usage abusif de la couleur ou de fontes différentes. +Le sujet est vaste et je ne saurai trop vous recommander de bons ouvrages +comme \cite{ManPerrou,CompoPerrou}. + +\subsection{Programmation de votre éditeur de textes} +\index{editeur@éditeur de textes}% +Il est souhaitable de ne pas entraver l'action de l'extension {\eFrench} +par des {\em automatismes} mis en ½uvre au niveau de l'éditeur de +textes. Puisque la ponctuation est gérée +typographiquement par l'extension {\eFrench}, +il serait nocif de systématiser, par exemple, + l'insertion d'espace devant la +\index{ponctuation}% +double ponctuation ou la génération des points de +suspension à la \TeX{} +lorsqu'on saisit 3 points consécutifs. Votre éditeur de textes +\index{points!3 points}% +ne doit donc pas intervenir sur la ponctuation +que vous aurez saisie {\em à la française\/} (voir §~\ref{saisie}). + +Par contre votre éditeur de textes pourra vous rendre beaucoup de services +pour gérer les +\index{begin@\texttt{\backslash begin}}\index{end@\texttt{\backslash end}}% +\index{mode mathématique}% +\verb|\begin| et \verb|\end| de \LaTeX{}, +vous proposer des prototypes de documents ou d'environnements, +vous aider en mode mathématique, \etc. + +\subsection{Configuration avant utilisation}\label{conf} + +\index{configuration}\index{premiere@première utilisation}% +Il sera utile de configurer votre installation avant la première +utilisation de l'extension {\eFrench}. À cet effet, +il existe deux fichiers de configuration ; le premier +(\verb|keyboard.dat|) --~qui permet d'adapter la version de \TeX{} +de votre système à votre choix de clavier~-- est +indépendant des types de documents et en partie de l'extension {\eFrench}, +l'autre (\verb|language.dat|), dont un exemple est aussi fourni +dans la distribution, définit les langues utilisables, +les fichiers de césure +et les fichiers d'exceptions. +\index{fichier!d'exceptions}% +\index{langues}\index{cesure@césure}\index{fichier!de césure}% +Les fichiers de césure ne sont en fait utilisés qu'au +moment de la création du \index{format}% +\index{format!latex@\texttt{latex}}% +\index{initex@{\sc initex}}% +\index{nom des langues}\index{numeros@numéros des langues}% +{\em format} par {\sc initex} +\footnote{Si ce nom ne vous dit rien, sachez que l'on parle ici +de l'installation de \LaTeX{}... que vous n'avez pas faite ; +vous pouvez donc continuer d'ignorer ces termes (à condition +que quelqu'un fasse le nécessaire à votre place).}% +\footnote{Certains moteurs \TeX{}, comme Textures, travaillent +en permanence en mode \textsc{initex} et donc permettent de +charger des fichiers de césure à la volée.} + et sont donc supposés actifs au moment où l'extension +{\eFrench} +est mise en service. +Par contre, le nom des langues et +leurs numéros internes sont déduits du fichier \verb|language.dat|. +L'ordre de ces langues ne +doit donc jamais être changé une fois le {\em format} +fabriqué par {\sc initex}. +Bien que ce dernier fichier de configuration soit +destiné à être modifié par +\index{fichier!de configuration}% +\index{fichier!language.dat@\texttt{language.dat}}% +l'utilisateur, il n'est pas souhaitable que le nom des deux langues, +\verb|french| et \verb|english|, soit changé +\footnote{Il est toujours possible de définir des alias des langages +\texttt{french} et \texttt{english}.}% +. + +Ainsi, normalement, l'extension {\eFrench} doit -- en tout état de cause -- +trouver % et redéfinir ! +au moins deux langues : +\begin{center} +\verb|\french | et \verb| \english| +\end{center} +\index{langues!\texttt{\backslash french}}\index{langues!\texttt{\backslash english}}% +\index{french@\texttt{\backslash french}}\index{english@\texttt{\backslash english}}% +\verb|\english| permettant de revenir au standard \LaTeX{} et \verb|\french| +de réactiver l'extension {\eFrench} lorsque nécessaire. + +\subsection{Quelques commandes du mode texte}\label{commandes} + +On l'aura compris, les noms des langues précisés dans le fichier +de description \verb|language.dat| servent à définir des +commandes du même nom qui permettent de passer +dynamiquement d'une langue à une autre ; +ainsi dès lors que l'on a choisi d'utiliser +l'extension {\eFrench} on peut écrire : +\begin{verbatim} + Texte en français + \english + Text in English + \french + Suite du texte en français... +\end{verbatim} +%\ifnoDOCinstall\else\newpage\fi% +Mais il est aussi possible d'écrire d'une autre manière : +\begin{verbatim} + Texte en français + \begin{english} + Text in English + \end{english} + Suite du texte en français... +\end{verbatim} +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{english}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{english}\}}% +\index{endenglish@\texttt{\backslash endenglish}}% + +On peut ainsi mélanger des parties en français et d'autres en anglais, +voire dans d'autres langues. Chaque page ou partie de page du document +est composée selon la typographie associée à la langue active. +Si l'on souhaite une présentation homogène du début à la fin du +document on codera \verb|\ConstantLayout| juste après le +\index{ConstantLayout@\texttt{\backslash ConstantLayout}}% +\verb|\begin{document}|% +\footnote{Il est aussi possible de fournir cet ordre via +\texttt{\backslash usersfrenchoptions} dont on parle page \pageref{usersf}.}% +\index{usersfrenchoptions@\texttt{\backslash usersfrenchoptions}}% +. + +\medskip + +Quelques commandes ont été ajoutées au jeu standard \LaTeX{}, +il s'agit de : + +\begin{itemize} +\item \verb|\begin{resume} texte du résumé \end{resume}| +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{resume}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{resume}\}}% + + pour imprimer un {\em Résumé\/} lorsqu'on a déjà utilisé +\verb|\begin{abstract}| +\verb|...| \verb|\end{abstract}| en \verb|\english| ; +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{abstract}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{abstract}\}}% + +\item \verb|\begin{motsclef} liste des mots clef \end{motsclef}| +\index{environnement!motsclef@\texttt{motsclef}}% +\index{motsclef|see{environnement}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{motsclef}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{motsclef}\}}% + + pour imprimer la liste des mots clef d'un document ; + +on peut aussi utiliser +\verb|\begin{keywords}| +\verb|...| \verb|\end{keywords}| lorsque l'on est en \verb|\english| ; +\index{environnement!keywords@\texttt{keywords}}% +\index{keyword|see{environnement}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{keywords}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{keywords}\}}% + +\item \verb|\sommaire[n]| imprime le sommaire du document ; le paramètre +\index{sommaire1@\texttt{\backslash sommaire}}% +\index{sommaire2@\texttt{\backslash sommaire[n]}}% +optionnel \verb|[n]| peut prendre une valeur de 1 à 4 et permet +de choisir le +niveau de {\em profondeur} du sommaire% +\footnote{La profondeur dont on parle ici est (malheureusement, pour +des raisons techniques) inverse de celle de \LaTeX{} +(\texttt{\backslash tocdepth}).} +; avec le niveau 1 les titres de +\index{tocdepth@\texttt{\backslash tocdepth}}% +paragraphe et de sous-paragraphes ne seront pas imprimés, +tandis qu'au niveau +4 ce seront les titres de sections et tous les titres +de niveau inférieur% +\footnote{À condition que le compteur \LaTeX{} +\texttt{\backslash tocdepth} n'ait pas +été positionné à une valeur contradictoire.} + ; par +défaut \verb|n| prend la valeur 3 (retrait des titres de +sous-sections et des +éléments inférieurs) ; la commande +\verb|\tableofcontents| reste utilisable ; +\index{tableofcontents@\texttt{\backslash tableofcontents}}% +deux passages dans \LaTeX{} sont nécessaires pour produire un sommaire +correct ; + +\item pour réaliser une bibliographie +\index{bibliographie}% + (en faisant appel à un style ad hoc) on choisira de préférence l'utilitaire +\texttt{bibtex8} qui est capable de traiter les caractères accentués +des entrées bibliographiques à indexer et à préparer pour \LaTeX. +\index{bibtex8@\texttt{bibtex8}}% + Vous trouverez quelques styles BiB\TeX\ francisés sur \lsc{CTAN} et dans le +dossier \texttt{contrib} de la distribution. +\eFrench\ traduit les diverses commandes et mot-clés mise en ½uvre dans +ces styles et/ou quelques extensions \LaTeX\ de bibliographie +(voir aussi page \pageref{bibliographie}). + +\item \verb|\annexe| ou \verb|\annexes| permettent de commencer des annexes ; +ils doivent précéder immédiatement un ordre \verb|\chapter| ; +\index{annexe1@\texttt{\backslash annexe}}% +\index{annexe2@\texttt{\backslash annexes}}% +chaque titre d'annexe sera donné par \verb|\chapter{Nom_de_l'annexe}| ; la +table des matières et le sommaire sont modifiés (automatiquement) +en conséquence ; les annexes +sont numérotées alphabétiquement à partir de A ; +ceci ne peut pas être utilisé avec la +\index{article@\texttt{article}}% +classe \verb|article| (\LaTeX{} ne l'a pas prévu) ; +%un article en général n'a pas d'annexe ! + +\index{glossaire1@\texttt{\backslash glossaire}}% +\index{glossaire2@\texttt{\backslash glossaires}}% +\item pour réaliser un glossaire on peut : + \begin{order} + \item coder \verb|\glossary{[|{\em nom}\verb| :]| + {\em explication% +\footnote{L'ordre \texttt{\backslash glossary} ne doit + pas dépasser une ligne ni contenir de commentaires.}% +.} \verb|}| pour chaque entrée désirée ; + \item commencer le ou les glossaires par : + \verb|\glossaire| ou \verb|\glossaires| ; +chaque titre de glossaire est à donner par : \\ +\verb|\section{Nom_du_glossaire}| ; la table des matières et le sommaire +sont modifiés automatiquement en conséquence ; + \item mettre \verb|\printglossary| à l'endroit voulu dans + le document ; + si le nom du fichier glossaire n'a pas l'extension \verb|.gls| ou + porte un autre nom, on pourra coder : + +\verb| \printglossary[nom_de_fichier]| + +\index{printglossary@\texttt{\backslash printglossary}}% +\index{makeindex@\texttt{\backslash makeindex}}% +\index{fichier!glo@\texttt{.glo}}% +\index{fichier!gls@\texttt{.gls}}% +\index{fichier!gglo.ist@\texttt{gglo.ist}}% + Il faut rappeler que le fichier glossaire produit par \LaTeX{} a + l'extension \verb|.glo| et qu'il est d'usage que ce glossaire, une +\maj + fois trié par le programme \lsc{MAKEINDEX}% +\footnote{Le programme \lsc{MAKEINDEX} ne trie pas selon l'alphabet +français (lettres accentuées). On peut toujours ruser avec le caractère +\texttt{\at} ou utiliser un programme de tri 8-bits tel que \emph{Xindy}.% +\label{xindy}} +\index{makeindex@{\sc makeindex} (programme)}% + (commande \verb|makeindex| + \verb|-s| \verb|gglo.ist|), porte l'extension \verb|.gls|. + À défaut + d'utilitaire \lsc{MAKEINDEX} on pourra remplacer \verb|\printglossary| + par une commande \verb|\input| du fichier \verb|.glo|. Tout ce qui + précède n'est valable que si aucune option de style + n'est utilisée + pour mettre en page le glossaire et n'introduit l'environnement + \verb|theglossary|. + \end{order} +\item pour réaliser un index on utilisera +\maj +le programme \lsc{MAKEINDEX}\refmark{xindy} +(par ex\-em\-ple avec la commande : +\texttt{makeindex -s fridx1.ist} {\em fichier}). +\index{makeindex@{\sc makeindex} (programme)}% +\index{fichier!fridx1.ist@\texttt{fridx1.ist}}% +Il ne faut pas +\index{index!trie de l'}% +\index{index!makeindex@\texttt{makeindex}}% +\index{makeidx@\texttt{makeidx} (extension)}% +préciser à \LaTeX{} l'extension \texttt{make}\-\texttt{idx} car elle +est incluse et francisée dans l'extension {\eFrench} ; on consultera +toutefois la documentation de \verb|makeindex| +\cite{makeindex} ; la table des +matières et le sommaire sont modifiés ; +l'extension {\eFrench} apporte la commande \verb|\seealso| mais +contrairement à la commande \verb|\see| qui s'utilise uniquement +à l'intérieur d'\verb|\index|% +\footnote{Comme ceci : \texttt{\backslash index}\{\texttt{ +...|see}\{{\em qqc}\}\}.}% +, celle-ci s'utilise en dehors et produit la commande +\verb|\index| nécessaire ; il suffit de coder +\verb|\seealso{|{\em entrée}\verb|}{|{\em renvoi\/}\verb|}| ; +\index{index!see1@\texttt{see}}% +\index{see1@\texttt{\backslash see}}% +\index{see2@\texttt{\backslash seealso}}% +\index{index!see2@\texttt{\backslash seealso}}% +rappelons que la commande \vers|\print|\-\vers|index| permet +\index{printindex@\texttt{\backslash printindex}}% +l'impression de l'index ; + +Rappelons aussi +que la commande \verb|\index| ne doit pas dépasser une ligne +et qu'il est fort souhaitable de la placer dans le texte en dehors +de tout argument de commande. + +\item dans le texte courant (c.-à-d. le texte en +\verb|\normalsize|% +\index{texte courant}\index{normalsize@\texttt{\backslash normalsize}}% +\footnote{Si vous disposez d'une bonne extension qui permet +de changer de taille de police relativement comme \texttt{smaller} +ou \texttt{relsize}, le +texte mis en petite taille (\texttt{\backslash small}) sera imprimé +dans la taille inférieure appropriée en fonction +de la police utilisée à cet instant.\label{small} +Vous trouverez ma version personnelle (\texttt{mysmaller.sty} +dans le sous-répertoire \texttt{tst} de la distribution).}% +\index{taille de police}% +\index{extension!relsize@\emph{relsize}}% +) on pourra +utiliser les commandes suivantes pour faciliter la composition avec \LaTeX{} : +\begin{itemize} +\item \verb|\ier| ou \verb|\iers| pour imprimer 1\ier{} ou 1\iers{}; + il suffira de saisir \verb|1\ier{}| ou \verb|\iers{}|, +\index{ier@\texttt{\backslash ier}}\index{iers@\texttt{\backslash iers}}% +\item \verb|\iere| (et \verb|\ieres|) +pour imprimer 1\iere{}\!, (ou 1\ieres{}\!) par exemple, on saisira +\verb|1\iere{}| ou \verb|1\ieres{}|, +\index{iere@\texttt{\backslash iere}}\index{ieres@\texttt{\backslash ieres}}% +\item \verb|\ieme| (ou \verb|\iemes|) pour imprimer 2\ieme{} (\verb|2\ieme{}|), +\index{ieme@\texttt{\backslash ieme}}\index{iemes@\texttt{\backslash iemes}}% +\item \verb|\ordinal{|\emph{compteur}\verb|}| pour imprimer la valeur ordinale +d'un compteur (\emph{premier, deuxième, ...} jusqu'à \emph{vingtième}), +\verb|\Ordinal| pour commencer par une majuscule, +\verb|\Ordinale| ou \verb|\ordi|\-\verb|nale| +pour imprimer la même chose au +féminin (\emph{Première}), +\index{ordinal@\texttt{\backslash ordinal}}% +\index{ordinale@\texttt{\backslash ordinale}}% +\index{Ordinal@\texttt{\backslash Ordinal}}% +\index{Ordinale@\texttt{\backslash Ordinale}}% +\item \verb|\degres| pour imprimer 14\degres{}C (\verb|14\degres{}C|), +\index{degres@\texttt{\backslash degres}}% +\item \verb|\primo \secundo \tertio \quarto| donneront \primo\ \secundo\ +\tertio\ \quarto\ mais vous pouvez% +\index{primo@\texttt{\backslash primo}}\index{secundo@\texttt{\backslash secundo}}% +\index{tertio@\texttt{\backslash tertio}}\index{quarto@\texttt{\backslash quarto}}% +\footnote{Bien que cela ne soit pas l'usage typographique, on pourra aussi +utiliser : \texttt{\backslash primo) \backslash secundo) +\backslash tertio) \backslash quarto)} + qui donneront \primo)\ \secundo)\ \tertio)\ et \quarto)% +.} + continuer avec \verb|\quando={11}| qui donnera alors \quando={11}\!, +\index{quando@\texttt{\backslash quando}}% +\item \verb|\numero| ou \verb|\Numero| pour imprimer \numero 12 ou \Numero 13 +\index{numero@\texttt{\backslash numero}}\index{numeros@\texttt{\backslash numeros}}% +\index{Numero@\texttt{\backslash Numero}}\index{Numeros@\texttt{\backslash Numeros}}% +(\verb|\Numero 13|) mais il existe aussi \verb|\numeros| et \verb|\Numeros| +pour imprimer << \numeros >> et << \Numeros >>,\label{numero} +\item l'ordre \verb|\fup{texte}| permettra de surélever le texte et de le +mettre dans une police de petite taille (\verb|\small|\refmark{small}% +\index{fup@\texttt{\backslash fup}}% Du fait du \kern on ne pouvait +) comme pour imprimer {XVI\fup{e}} % pas couper ici. +(\verb|XVI\fup{e}|) ; +\end{itemize} +L'espacement engendré par ces commandes peut ne pas +convenir dans certains +\index{\texttt{\backslash\exclam}}% +\index{espace!fine@fine négative (\texttt{\backslash\exclam})}% +\index{espacement!correction d' (\texttt{\backslash\exclam})}% +cas, on le supprimera alors en saisissant \verb|\!| ; ainsi pour +imprimer (\numero\!) il faut saisir \verb|(\numero\!)|. +\item voici aussi quelques ordres pour pouvoir imprimer : +\begin{itemize} +\item le << a enroulé >> (\at) avec \verb|\at|, +\index{at@\texttt{\backslash at}}% +\item le circonflexe ou chapeau ({\Large\chap}) avec \verb|\chap|, +\index{chap@\texttt{\backslash chap}}% +\item la barre verticale (\texttt{\vert}) avec \verb|\texttt{\vert}| +\footnote{\label{ttOT1}% + Ces caractères existent dans d'autres polices +que la police télétype à condition de ne plus utiliser le +{\em fontencoding\/} \texttt{OT1} +(ni le codage de fonte \texttt{LO1} défini par l'extension \emph{mltex}) +mais \texttt{T1}.}, +\index{extension!mltex@\emph{mltex}}% +\index{codage!\texttt{LO1}}% +\index{LO1@\texttt{LO1} (codage)}% +\index{fontencoding@{\em fontencoding}!\texttt{LO1}}% +\index{fontencoding@{\em fontencoding}}% +\index{fontencoding@{\em fontencoding}!\texttt{OT1}}% +\index{fontencoding@{\em fontencoding}!\texttt{T1}}% +\index{encodage!voir codage}% +\index{codage!\texttt{OT1}}% +\index{codage!de fonte}% +\index{codage!\texttt{T1}}% +\index{OT1@\texttt{OT1} (codage)}% +\index{T1@\texttt{T1} (codage)}% +\index{vert@\texttt{\backslash vert}}% +\item la barre oblique inversée (\texttt{\backslash}) +\maj +avec \verb|\texttt{\backslash}|% +\footnote{Avec le codage de fontes \texttt{OT1} la commande +\texttt{\backslash backslash} est aussi utilisable + en romain droit mais attention car la version anglaise +ne donne pas le même glyphe.}\refmark{ttOT1}%, +\index{backslash@\texttt{\backslash backslash}}% +\item le tilde ({\Large\tilde}) avec \verb|\tilde| (en +fait ici \verb|{\Large\tilde}|) ; +\index{tilde@\texttt{\backslash tilde}}% +\end{itemize} + +\item l'ordre \verb|\fsc| permet de composer un nom propre en petites +capitales sans avoir à se préoccuper de savoir quelle partie doit +être ou non en majuscules ; ainsi \verb|\fsc{KNUTH}| autant que +\verb|\fsc{knuth}| imprimera \fsc{kNuTh} et ce nom ne sera jamais +coupé en bout de ligne +(sauf exception signalée au §~\ref{cesure}) ;\label{fsc} +la forme étoilée, \verb|\fsc*|, permet de forcer l'utilisation +le \verb|\rmfamily| et de \verb|\mdseries| lorsqu'il n'existe +pas de police en petites capitales, avec la même graisse, + dans la fonte en service. +\index{fsc*@\texttt{\backslash fsc*}}% +\index{rmfamily@\texttt{\backslash rmfamily}}% +\index{mdseries@\texttt{\backslash mdseries}}% + +\item \verb|\lsc| est destiné aux noms de firmes ou de marques quand on +veut les mettre en minuscules {\em small caps}. Par exemple, +\verb|\lsc{RaTp}| et \verb|\lsc{Unix}| s'imprimeront : \label{lsc} +\index{lsc@\texttt{\backslash lsc}}% +\lsc{RaTp} et \lsc{Unix} ; ces noms ne seront, non plus, jamais coupés en +fin de ligne +(sauf exception signalée au §~\ref{cesure}). +La forme étoilée, \verb|\lsc*|, permet de forcer l'utilisation +de \verb|\rmfamily| et de \verb|\mdseries| lorsqu'il n'existe +pas de police en petites capitales, avec la même graisse, + dans la fonte en service. +\index{lsc*@\texttt{\backslash lsc*}}% +\index{rmfamily@\texttt{\backslash rmfamily}}% +\index{mdseries@\texttt{\backslash mdseries}}% +\index{lsc@\texttt{\backslash lsc}}% +\end{itemize} + +Nous verrons plus loin les guillemets français (\S~\ref{guillemets} page +\pageref{guillemets}), les lettrines +\S~\ref{lettrines} page \pageref{lettrines}) et les commandes +pour la classe \texttt{letter} +\index{classe!letter@\texttt{letter}}% +(\S~\ref{letter} page \pageref{letter}). + +\subsection{Les commandes du mode mathématique}\label{maths} + +\index{mode mathématique}% + +Aucune commande spécifique n'est ajoutée, pour l'instant +\footnote{Les mathématiciens et typographes français doivent +d'abord se mettre d'accord +pour définir précisément ce qu'est la typographie mathématique +française et en quoi \AllTeX{} n'est pas entièrement satisfaisant.}% +, par l'extension {\eFrench} au mode mathématique. Cela est +dû en partie au fait que la composition mathématique n'est pas +encore bien standardisée en France. D'ici quelques temps peut-être... +Signalons cependant l'existence de l'extension \emph{fourier} +\index{fourier@\emph{fourier}}% +et de la fonte du même nom (en fait, \emph{fourier-GUT}, basée sur +la fonte \texttt{utopia} d'Adobe) qui apporte de nouvelles commandes +et facilités pour le mode mathématique (en codage \texttt{T1}). + +Une modification due à \eFrench\ est toutefois à signaler : il s'agit de la +suppression de l'espacement derrière la virgule car la virgule est +utilisée usuellement en français dans un nombre décimal, voir +\verb|\nombre| en % +\ref{nombres} page~\pageref{nombres} +(et \ref{frenchtypography} page~\pageref{frenchtypography}). +\index{nombre}% +\index{nombre@\texttt{\backslash nombre}}% +\index{nombres}% + +%D'autre part, des fontes mathématiques spécifiques et modernes +%sont encore à l'étude. +%En attendant, le mode mathématique est toujours composé avec +%les fontes \emph{cm} (c'est-à-dire en codage OT1). + +Les utilisateurs de l'option \oMlTeX\ ayant introduit la partie francisation de +clavier dans le format (avec \texttt{kbconfig}% +%%%%%%%%%%%%%%%%%%%%% +\ifnoDOCinstall\else% +%%%%%%%%%%%%%%%%%%%%% +, cf. §~\ref{kbconfig} page \pageref{kbconfig},% +\index{kbconfig@\texttt{kbconfig}}% +\fi) apprécieront de pouvoir imprimer des caractères accentués +\index{lettres accentuées!en mode mathématique}% +\index{caractères accentués!en mode mathématique}% +en mode mathématique +\footnote{Sauf l'accentuation \texttt{\backslash H} du mode texte +qui n'a pas d'équivalent en mode mathématique.}% +. + +\subsection{Les guillemets français}\label{guillemets} + +Les ordres \verb|<<| et \verb|>>|% +\footnote{En fait \texttt{\inferieura} et \texttt{\superieura} sont +des ordres (macros-instructions) réalisant +des fonctions spécifiques et ce spécialement +lorsque le caractère qui suit est +\texttt{\inferieura} et respectivement~\texttt{\superieura}.} +ou leurs équivalents 8-bits (<< et >>, si vous +en disposez à votre clavier ; +voir à ce propos le fichier \texttt{.kbc} correspondant à votre clavier) +\index{fichier!.kbc@\texttt{.kbc}}% + permettent de saisir facilement +\index{a@\texttt{\superieura\relax\superieura}}% +\index{>b@\rightguillemets}% +\index{guillemets!<>a@\texttt{\superieura\relax\superieura}}% +\index{guillemets!>>b@\rightguillemets}% +les guillemets français (et bien sûr de les imprimer : << >>) ; notez +qu'il est impératif de mettre des guillemets fermants à la fin d'une +citation (ou autre information) commencée par des guillemets ouvrants ; +cela est très important car ils forment un {\em bloc} (\verb|{}|) + au sens \LaTeX{} (mais aussi un environnement) +\index{environnement!guillemets@\texttt{guillemets}}% +; il est ainsi possible de changer de police + de caractères pour tout le texte entre guillemets sans avoir à +l'encadrer entre accolades ; par contre si on code quelque chose +comme \verb|\footnote{...<<| \verb|...}...\section{...}| alors la +\index{footnote@\texttt{\backslash footnote}}% +note de bas de page ne sera jamais fermée et tout le texte qui se +trouve après y sera inclus ; +par défaut l'extension {\eFrench} propage les guillemets à chaque +\maj +début de paragraphe, comme c'est l'usage, jusqu'aux guillemets fermants +(sauf à l'intérieur d'une lettrine.) +\index{lettrine!avec guillemets}% + +Rappelons qu'un espace est nécessaire après les guillemets ouvrants +et avant les guillemets fermants pour assurer une composition correcte. +Au cas où vous désireriez utiliser les guillemets à un autre usage +\footnote{Les guillemets français sont automatiquement désactivés +en mode mathématique avec les extensions AmS\LaTeX.} +\index{guillemets!avec AmS\LaTeX{}}% +\index{AmSLaTeX@AmS\LaTeX{}}% + que celui prévu dans l'extension {\eFrench}, choisissez alors l'option +\vers|\nofrenchguil|\-\vers|lemets| décrite +page~\pageref{nofrenchguillemets}. + +\verb|\begin{guillemets}| et bien sûr \verb|\end{guillemets}| +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{guillemets}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{guillemets}\}}% +peuvent être utilisés en \LaTeX{} à la place de +\verb|<<| et \verb|>>| ; +\index{guillemets@\texttt{\backslash guillemets}}% +\index{guillemets!guillemets@\texttt{\backslash guillemets}}% +\index{guillemets!endguillemets@\texttt{\backslash endguillemets}}% +\index{endguillemets@\texttt{\backslash endguillemets}}% + accessoirement on pourra aussi utiliser : + +\noindent +\verb| \guillemets{} | et \verb| \endguillemets{}| ; + +\noindent mais, encore une fois, toute citation commencée par des guillemets +doit se terminer par des guillemets ; +\index{citation}\index{citation!dans une citation}% +on devra absolument utiliser \verb|\endguillemets{}| +lorsque deux citations se terminent au +même endroit comme ici : + +\begin{verbatim} + << Première citation << suivie d'une + deuxième citation se terminant au + même endroit que la première par \endguillemets{} ; +\end{verbatim} +là où nous aurions normalement dû saisir \texttt{>{}>{}>{}>{}} +pour terminer les deux citations, nous avons mis \verb|\endguillemets{}| ; +on se servira aussi de la commande \verb|\endguil|\-\verb|lemets| +pour apparier \label{apparier} des guillemets +ouvrants qui auraient été fermés préalablement dans un bloc ou +environnement plus intérieur. + +\verb|\leftguillemets{}| ou \verb|\rightguillemets{}| peuvent aussi bien +\index{leftguillemets@\texttt{\backslash leftguillemets}}% +\index{rightguillemets@\texttt{\backslash rightguillemets}}% +\index{guillemets!leftguillemets@\texttt{\backslash leftguillemets}}% +\index{guillemets!rightguillemets@\texttt{\backslash rightguillemets}}% +être utilisés {\em ponctuellement\/} lorsqu'il est nécessaire de +ne pas apparier guillemets ouvrants et fermants ; il n'y a pas dans +ce cas de notion de {\em bloc} \LaTeX{}. + +\subsection{Les lettrines}\label{lettrines} + +\verb|\lettrine{L'extension}| a permis d'imprimer la lettrine de +l'introduction. + +Une lettrine doit être placée au début d'un paragraphe% +\maj +\footnote{La lettrine peut débuter tout environnement de type paragraphe +comme par exemple \texttt{\backslash parbox} (qui lui-même peut être dans un +environnement \texttt{tabular}, etc.).} +\maj + qui est supposé être composé, au minimum, \emph{au fer à gauche} +s'il n'est pas aligné aussi à droite. +\index{mise en page!au fer à gauche} +Le {\em texte} doit être une partie significative de la phrase, +ayant un sens +en soi. Le paragraphe doit se terminer implicitement (ligne blanche) ou +\index{par@\texttt{\backslash par}}% +\maj +explicitement (\verb|\par|) par une fin de paragraphe +lorsque cela est nécessaire (tout spécialement avant les +ordres de sectionnement). + +Le texte qui suit l'ordre \verb|\lettrine| doit obligatoirement commencer +par une lettre mais il ne devrait jamais être réduit +à une seule lettre (l'extension {\eFrench} émet dans ce cas un +message d'avertissement). +Si cette lettre doit être accentuée à la mode \TeX{} +ancienne alors le couple $accent + lettre$ sera mis entre accolades. + +Il nous faut distinguer maintenant deux options bien différentes +dans la construction des lettrines : + +\begin{enumerate} + +\item Vous souhaitez ajuster vous-même la taille de la police +utilisée pour la lettrine, c'est l'option par défaut +\index{noautomaticlettrine@\texttt{\backslash noautomaticlettrine}}% +\verb|\noautomaticlettrine|. + +Le nombre exact de lignes (usuellement 2 ou 3) +qui seront en retrait est calculé automatiquement mais vous pouvez +l'imposer\footnote{Mais attention, +l'effet rendu peut être assez laid +lorsque le caractère imprimé descend notablement en dessous +de la ligne de base.} + par la commande : +\begin{verbatim} + \def\lettrinehang{n} +\end{verbatim} +\index{lettrine!lignes en retrait \\ (\texttt{\backslash lettrinehang})}% +\index{lettrinehang@\texttt{\backslash lettrinehang}}% +(il n'y a pas de valeur par défaut). + +Notez bien que la lettrine doit dépasser légèrement du haut +de la première ligne ; elle ne doit pas être {\em posée} sur +le paragraphe mais y être incluse. + Si ce n'est pas le cas, alors cela veut dire que +votre taille de lettrine n'est pas adaptée et il vous faut donc la changer. +Le choix de la taille de police +peut être commandé lorsque la +valeur par défaut (\verb|\Huge|) ne convient pas, comme par exemple : +\index{lettrine@\texttt{\backslash lettrine}}% +\index{flettrine@\texttt{\backslash flettrine}}% +\index{lettrinefont@\texttt{\backslash lettrinefont}}% +\index{lettrine!taille de la}% +\index{lettrine!police utilisée \\(\texttt{\backslash lettrinefont})}% +\index{lettrine!encadrée (\texttt{\backslash flettrine})}% +\index{guillemets!dans une lettrine}% +\index{\texttt{\backslash\exclam}!après une lettrine}% +\begin{itemize} +\item \vers|\let\lettrinefont=\Large| (ou tout autre taille) ; +\item ou \vers|\font\lettrinefont=cmr17 scaled\magstep3| (ce qui +a été utilisé dans l'exemple page \pageref{lettrinefont}). +\end{itemize} + +\item Vous laissez l'extension {\eFrench} choisir la taille appropriée +\index{automaticlettrine@\texttt{\backslash automaticlettrine}}% +de la fonte, c'est l'option \vers|\automa|\-\vers|tic|\-% +\vers|let|\-\vers|trine|. + +Cette option est activée soit en codant \verb|\automaticlettrine| soit +en précisant un nom de police comme dans l'exemple ci-dessous :\\ +\verb| \def\lettrinefontname{cmr17}|\\ +\index{lettrine!nom de police utilisé\\(\texttt{\backslash lettrinefontname})}% +Notez bien qu'il s'agit ici simplement d'un nom de police et que rien +n'indique sa taille comme dans \verb|\lettrinefont|. + +Cette option calcule pour vous la taille de la police à utiliser en +fonction de son nom générique (par défaut la police courante) et du +nombre de lignes en retrait (par défaut 2). Ce calcul nécessitera +probablement, à l'impression ou à la visualisation, +la génération +d'une nouvelle (taille de) police par \lsc{Metafont}, si vous n'utilisez +\maj +\index{polices!PostScript}% +\index{polices!TrueType}% +pas de polices de type vectorielles PostScript ou TrueType. +\seealso{polices}{fontes}% +\end{enumerate} + +Toute ponctuation autour de la lettrine doit être précisée dans +le texte entre accolades. +Lorsque la lettrine doit être précédée ou suivie de guillemets, + il faudra +alors utiliser la forme exprimée ci-dessous :\\ +\verb| |\verb*|\lettrine[<< {|{\em La citation}\verb*|} >>]|\\ +(les blancs figurés dans l'exemple sont absolument nécessaires mais +les guillemets fermants peuvent être plus loin dans le paragraphe). +Notez que le mécanisme \verb|\every|\-\verb|parguillemets| +(voir §~\ref{everyparguills} +page \pageref{everyparguills}) n'est jamais en service dans une lettrine. +\maj +Cela signifie que si l'effet des guillemets doit être prolongé +au(x) paragraphe(s) suivant(s) il est impératif d'ouvrir à nouveau +les guillemets au début du premier paragraphe suivant. + +Le texte peut -- si nécessaire -- être légèrement +rapproché de la lettrine +par l'ordre \verb|\!|. Ce sera le cas, par exemple avec un << A >> dont la +partie haute est en général très fine. + +\verb|\flettrine{|{\em texte}\verb|}| est à utiliser lorsque +l'on désire produire une lettrine encadrée. + +\subsection{La classe \emph{letter} est francisée} \label{letter} + +Voici quelques ordres pour la classe \verb|letter| à placer +\index{classe!letter@\texttt{letter}}% +après la commande + \verb|\begin{|\-\verb|document}| pour être pris en compte par +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +l'extension {\eFrench} : +\begin{itemize} +\item \verb|\wideletter| est une option permettant une présentation +différente des lettres, plus classique, avec des lignes plus longues ; +\index{wideletter@\texttt{\backslash wideletter}}% +\item l'ordre \verb|\location| permet d'imprimer la +date d'une lettre comme il est d'usage ainsi en saisissant +\verb|\location{Paris, le}| +on obtient une composition de la date comme suit : + +\hbox to \textwidth{\hfill Paris, le \today} +\index{lettre}\index{courrier}\index{letter@\texttt{letter}}% +\index{location@\texttt{\backslash location}}% +\item \verb|\yourref{...}| permet de préciser la +référence à un courrier reçu + (par exemple \verb|\yourref|\-\verb|{BG-ML,|\-\verb|92-237}|) ; +\index{yourref@\texttt{\backslash yourref}}% +\item \verb|\ourref{...}| pour imprimer la référence +du courrier à envoyer ; +\index{ourref@\texttt{\backslash ourref}}% +\item \verb|\object{...}| pour indiquer l'objet du courrier ; +\index{object@\texttt{\backslash object}}% +\item \verb|\PS{...}| pour mettre un {\em postscriptum} ; +\index{PS@\texttt{\backslash PS}}\index{postscriptum@{\em postscriptum}}% +\item \verb|\email{...}| pour imprimer l'adresse réseau juste en + dessous de la signature ; +\index{email@\texttt{\backslash email}}% +\item \verb|\fclosing[n]| est une alternative à \verb|\closing|, il +permet de choisir la distance entre la formule de politesse et la +signature ; par défaut \texttt{n} vaut 9, soit 9 fois \verb|\medskipamount| ; +\index{fclosing@\texttt{\backslash fclosing}}% +\item +il est possible de personnaliser le haut de la première page (dans un style +personnel ou maison, ou avant le \verb|\begin{let|\-\verb|ter}|) +en définissant un \verb|\formhead| par + la séquence : \verb|\def\formhead|\-\verb|{...}| à la \TeX{} ou +par la commande \verb|\renewcom|\-\verb|mand{\formhead}{...}| de \LaTeX{} ; +\index{formhead@\texttt{\backslash formhead}}% +\item et par \verb|\def\formfoot{...}| (ou son équivalent \LaTeX{}) il est +possible de personnaliser le bas de cette même + première page ; +\index{formfoot@\texttt{\backslash formfoot}}% +\index{bas de page!d'une lettre}\index{haut de page!d'une lettre}% +ces deux dernières commandes ne sont pas opérationelles en cas +d'utilisation de +%\verb|\nopagenumbers| + styles de pages spécifiques (comme +\verb|\|[\texttt{this}]\verb|pagestyle{empty}|) qui ne permettent pas +l'impression de haut ou de bas de page. +\index{pagestyle@\texttt{\backslash pagestyle}}% +\index{thispagestyle@\texttt{\backslash thispagestyle}}% +\end{itemize} + +%Il faut noter que la classe \verb|letter| actuelle de \LaTeX{} est +%\index{classe!letter@\texttt{letter}}% +%assez imparfaite ; on est ainsi souvent amené à coder un \verb|\vfill| +%avant le \verb|\end{letter}| lorsque la lettre fait moins d'une page, +%sinon l'adresse du destinataire n'apparaît pas correctement +%placée dans +%la fenêtre de l'enveloppe. + +\subsection{Les messages à la console}\label{messages} + +\index{messages!à la console} + +Les messages émis par l'extension {\eFrench} +peuvent être en 7-bits (à la \TeX{}) ou en 8-bits (caractères accentués +normaux). Ce choix est fait à la création du format par l'installateur +(programme \texttt{kbconfig}% +%%%%%%%%%%%%%%%%%%%%% +\ifnoDOCinstall\else% +%%%%%%%%%%%%%%%%%%%%% +, cf. §~\ref{kbconfig} page \pageref{kbconfig}% +\index{kbconfig@\texttt{kbconfig}}% +\fi% +). +Il est toujours possible de forcer l'option d'émission en 8-bits en utilisant +la commande \verb|\usualmessages|, +\index{usualmessages@\texttt{\backslash usualmessages}}% +mais attention tous les moteurs \TeX{} ne disposent pas de +cette facilité et dans ce cas les caractères 8-bits sont +traduits en héxadécimal (\verb|^^xx|). + +Vous pouvez aussi demander à {\eFrench} d'envoyer des messages avec +l'ordre \verb|\kbtypeout| au lieu de l'ordre \LaTeX\ \verb|\typeout|. +{\eFrench} s'efforcera alors de traduire ces messages selon les +options que vous aurez fournies éventuellement à l'extension +\emph{keyboard} et selon le codage clavier de votre système +d'exploitation (à condition d'utiliser encore l'extension +\emph{keyboard} ou d'avoir créé le format \LaTeX\ +avec le configurateur de clavier \texttt{kbconfig}) dont on reparlera +\index{extension!keyboard@\emph{keyboard}}% +\index{kbtypeout@\texttt{\backslash kbtypeout}}% +\index{kbconfig@\texttt{kbconfig}}% +\index{messages!avec \texttt{\backslash kbtypeout}}% +plus loin (voir §~\ref{keyboard}). + +\subsection{À propos de césure\label{cesure}} + +On est souvent désemparé devant les messages \texttt{Overfull hbox}. +\index{cesure@césure}\index{Overfull@\texttt{Overfull hbox}}% +Rappelons que cela vient {\em en général\/} de mots qui ne peuvent +être coupés par \TeX{}. Les règles appliquées sont +celles fournies +dans le fichier des motifs de césure ({\em patterns}) française. +\index{motifs de césure}\index{patterns@{\em patterns}}% +Ce fichier est standard et ne doit en aucun cas être modifié. +Par contre il est toujours possible à l'auteur d'introduire des +coupures possibles à l'aide de la séquence \texttt{\backslash-} introduite +\index{\texttt{\backslash-}}% +à l'endroit voulu dans le mot. Cela doit rester exceptionnel. + +Plutôt que de forcer des coupures qui risqueraient d'être mauvaises +il faudra souvent préférer agir sur l'espacement entre les mots. +Pour cela quelques ordres sont fournis par l'extension {\eFrench}, on +les trouvera au §~\ref{frenchmacros} page~\pageref{frenchmacros}. +Rappelons simplement ici +l'existence de la séquence \texttt{\backslash,} pour rajouter ponctuellement +\index{\texttt{\backslash,}}% +une espace fine. Ce genre d'intervention manuelle qui relève +du travail de professionnel doit être fait avec une grande prudence... + +Rappelons aussi que dans les cas où la division des mots faite par \TeX{} +n'est pas parfaite il est aussi possible de la changer par l'ordre +\vers|\hyphenation|, + dans ce cas on indique les points de coupure avec des tirets (la +séquence \verb|\-| est ici, avec {\eFrench}, équivalente +à un espace) ; pour plus de détails se reporter à +\verb|\frenchhyphenation| page \pageref{frenchhyphenation} et +\verb|\moretolerance| page \pageref{moretolerance}. +Par défaut, le fichier \vers|frhyphex.tex| contenant +quelques exceptions françaises est introduit dans \TeX{} à +la création du {\em format}% +\footnote{Ceci n'est pas possible avec l'extension + \label{frhyphbab}\emph{babel}.} % +\maj +\index{fichier!d'exceptions}% +\index{format}% +mais vous pouvez avoir votre propre fichier d'exceptions en ayant dans votre +répertoire personnel un fichier de configuration \vers|language.dat| % +\index{fichier!language.dat@\texttt{language.dat}}% +\index{language.dat@\texttt{language.dat}}% +précisant le nom de ce fichier. Le chargement de ces exceptions peut alors +être fait, en précisant avant le \vers|\begin{document}| + l'ordre \vers|\frhyphex|\refmark{frhyphbab}% +.% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\label{frhyphex}% +\index{frhyphex@\texttt{\backslash frhyphex}!avec babel}% +\index{babel@\emph{babel}!frhyph@\texttt{\backslash frhyphex}} +\index{babel@\emph{babel}!pas@pas d'exception de césure} +\index{frhyphex@\texttt{\backslash frhyphex}}% + +\LaTeX{} ne permet pas en standard de couper les textes écrits en +\verb|verbatim|. L'extension {\eFrench} suppose que cela n'a pas +été changé par quelque option de style et propose +\index{tthyphenation@\texttt{\backslash tthyphenation}}% +\index{cesure@césure!tthyphenation@\texttt{\backslash tthyphenation}}% +\index{notthyphenation@\texttt{\backslash notthyphenation}}% +\index{cesure@césure!notthyphenation@\texttt{\backslash notthyphenation}}% +l'ordre \vers|\tthyphenation| pour résoudre le problème. +Cet ordre s'applique uniquement à la police utilisable en mode +télétype (fonte \verb|tt|), dans la taille de police +en cours (\texttt{\backslash small} +ou \texttt{\backslash normalsize} ou...) et au minimum sur le paragraphe +commencé. Bien +entendu l'ordre inverse \vers|\notthyphenation| est fourni pour +revenir au standard% +\footnote{On comprendra aisément que la séquence : \\ +\{\texttt{\backslash small\backslash tthyphenation blabla}\}\{% +\texttt{\backslash normalsize +\backslash nott\-hyphenation} \\ +ne produise pas l'effet désiré à cause +des différences de taille des polices utilisées.} +(voir aussi l'ordre \vers|\vers| au §~\ref{outils}). +Cela, toutefois, ne résout pas tous les problèmes et c'est +pourquoi l'extension {\eFrench} propose, comme on le +verra au §~\ref{versatim} page \pageref{versatim}, +l'environnement \vers|versatim|. + +Par défaut l'extension {\eFrench} autorise la coupure des mots +commençant par une majuscule (\texttt{\backslash allow\-uc\-hyph}) +\index{allowuchyph@\texttt{\backslash allowuchyph}}% +\index{cesure@césure!allowuchyph@\texttt{\backslash allowuchyph}}% +\index{disallowuchyph@\texttt{\backslash disallowuchyph}}% +\index{cesure@césure!disallowuchyph@\texttt{\backslash disallowuchyph}}% +suivant en cela la recommandation de la %première +réunion du {\em comité de francisation GUT\-enberg} +du 15 avil 1992 à l'ENS% +\footnote{C'était il y a longtemps ... et il n'y a jamais eu +d'autre réunion, à mon grand regret.}% +\index{GUTenberg}% +. Il me semble toutefois plus {\em productif} +de choisir l'option inverse (\texttt{\backslash dis\-allow\-uc\-hyph}) +car vous ne +risquerez jamais par exemple de couper malencontreusement les noms +propres (que l'on oublie souvent de protéger contre ce risque). +Mais bien sûr vous obtiendrez quelques \vers|Overfull hbox| +supplémentaires pour lesquels il vous faudra vous-même +préciser la césure. +L'option \verb|\allowuchyph| n'affecte pas les ordres tels que +\verb|\fsc| ou \verb|\lsc| (voir page \pageref{fsc}) +pour lesquels les noms sont, par +défaut, mis dans une boîte \TeX{}. +Si vous désirez qu'il en soit +autrement vous pourrez alors utiliser l'ordre +\verb|\allowfulluc|\-\verb|hyph|. +\index{allowfulluchyph@\texttt{\backslash allowfulluchyph}}% +\index{cesure@césure!allowfulluchyph@\texttt{\backslash allowfulluchyph}}% +Ces options de césure restent +inchangées lorsque +l'extension est réinitialisé par l'ordre \verb|\french| ou +alors par \verb|\begin{french}|. + +Il est aussi possible d'éviter la coupure d'un mot, localement, en le +plaçant dans un \verb|\hbox| ou bien, plus généralement, en plaçant le +texte à l'intérieur d'un environnement \texttt{nohyphenation} (plus +précisément voir p. \pageref{nohyphenation}). +\index{mbox@\texttt{\backslash mbox}}% +\index{nohyphenation@\texttt{\backslash nohyphenation}}% +\index{environnement!nohyphenation@\texttt{nohyphenation}}% +\index{cesure@césure!stoppée}% +\index{coupure!de mots}% +\index{coupure!de mots évitée} + +Les problèmes de césures surviennent essentiellement du fait du choix, +par défaut, de \LaTeX{} d'une mise en page entièrement justifiée. +\index{mise en page!justifiée}% +\index{composition|see{mise en page}}% +\index{composition!en drapeau}% +\seealso{drapeau}{compo. en drapeau}% +Rappelons que les environnements \texttt{flushleft} et \texttt{flushright} +permettent une composition \textit{en drapeau}. +\index{environnement!flushleft@\texttt{flushleft}}% +\index{environnement!flushright@\texttt{flushright}}% +L'extension {\eFrench} apporte sur ce points les nouveaux environnements +ci-après. + +\subsection{Environnements pour la composition \emph{en drapeau}} +\label{endrapeau} +\index{mise en page!au fer} +\index{mise en page!en drapeau} + +L'environnement \texttt{drapeaufg} permet une composition \emph{en drapeau, +au fer à gauche}, avec coupure de mots : + +\medskip +\noindent +\index{environnement!drapeaufg@\texttt{drapeaufg}}% +\begin{minipage}{0.5\textwidth} +\begin{verbatim} +\begin{drapeaufg} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à gauche. +\end{drapeaufg} +\end{verbatim} +\end{minipage} +% } +\hfill +\fbox{% +\begin{minipage}{0.33\textwidth} +\begin{drapeaufg} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à gauche. +\end{drapeaufg} +\end{minipage} + } +\index{mise en page!au fer à gauche} + +\medskip +L'environnement \texttt{drapeaufgIN} permet une composition +\emph{en drapeau, au fer à gauche} mais sans coupure de mot, selon +les recommandations de l'imprimerie nationale \cite{lexique}. +L'inconvénient de cette méthode est le risque de débordement dans la +marge à droite. Dans ce cas il faudra intervenir, au coup par coup, en +\index{saut de ligne (\texttt{\backslash\backslash})}% + insérant un \emph{saut de ligne} (\verb|\\|). + +\medskip +\noindent +\index{environnement!drapeaufg@\texttt{drapeaufg}}% +\begin{minipage}{0.5\textwidth} +\begin{verbatim} +\begin{drapeaufgIN} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à gauche et +sans coupure de mot. +\end{drapeaufgIN} +\end{verbatim} +\end{minipage} +% } +\hfill +\fbox{% +\begin{minipage}{0.33\textwidth} +\begin{drapeaufgIN} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à gauche et +sans coupure de mot. +\end{drapeaufgIN} +\end{minipage} + } +\index{environnement!drapeaufgIN@\texttt{drapeaufgIN}} + +\smallskip + +Des environnements équivalents existent pour la composition +\emph{en drapeau, au fer à droite} qui sont d'utilisation +un peu moins courante. Ainsi vous disposez de l'environnement +\texttt{drapeaufd} : + +\medskip +\index{environnement!drapeaufd@\texttt{drapeaufd}}% + +\noindent +\index{environnement!drapeaufg@\texttt{drapeaufg}}% +\begin{minipage}{0.5\textwidth} +\begin{verbatim} +\begin{drapeaufd} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à droite. +\end{drapeaufd} +\end{verbatim} +\end{minipage} +% } +\hfill +\fbox{% +\begin{minipage}{0.33\textwidth} +\begin{drapeaufd} +Ceci est un exemple +très simple d'une +composition en drapeau, +au fer à droite. +\end{drapeaufd} +\end{minipage} + } + +\medskip +et enfin l'environnement \texttt{drapeaufdIN} +qui ne donnera pas de coupure de mot (mais \texttt{drapeaufd} +a déjà fort peu de chances de générer une coupure de mot). +\index{mise en page!au fer à droite} +\index{environnement!drapeaufdIN@\texttt{drapeaufdIN}}% + +\subsection{Environnements de liste\label{envir}} + +Les environnements de liste en \LaTeX{} sont de plusieurs types +({\em itemize, enumerate, description,} \etc.) mais aucun d'eux ne +correspond typographiquement aux exigences françaises (marqueurs, +espacements horizontaux et verticaux, retrait, \etc.). +Tout cela a donc été modifié. + +Parmi ces modifications il faut noter l'espacement vertical dans +différentes listes qui a été considérablement réduit par rapport +aux valeurs standard dans \LaTeX. + +L'extension {\eFrench} apporte aussi un nouvel environnement de liste : +l'environnement \verb|order| +(\verb|\be|\-\verb|gin|\-\verb|{order}|, \verb|\end{order}|) +\index{order@\texttt{order}}\index{environnement!order@\texttt{order}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{order}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{order}\}}% +\index{endorder@\texttt{\backslash endorder}}% +a été conçu pour des listes ordonnées (\primo... \secundo...). +\index{liste ordonnée}% +Il s'agit en fait d'un environnement \verb|enume|\-\verb|rate| avec +numérotation latine. + +\subsection{Placement des figures} +Placer les figures et les tableaux à l'endroit désiré +relève parfois de +l'exploit en \LaTeX{}. Il est possible de demander le placement en +\index{figures et tableaux}% +\index{tableaux}% +\index{haut de page!(figures en...)}% +\index{bas de page!(figures en...)}% +haut de page (\verb|[t]|{\em op}), en bas de page (\verb|[b]|{\em ottom}), +sur une page séparée (\verb|[p]|{\em page of float}) ou à l'endroit +même (\verb|[h]|{\em ere}) mais cette dernière option fonctionne assez +rarement dans la pratique +\footnote{On peut toujours utiliser l'option \texttt{H} de l'extension +\emph{float}.}% +\index{extension!float@\emph{float}}% +. Il est donc très difficile de placer +une figure à l'endroit exact où elle arrive dans le texte. +C'est pour cette +raison que l'environnement \verb|figurette| a été créé ; +il s'utilise +exactement comme l'environnement \verb|figure| +(dans les classes de documents où il est défini) +mais ne comporte +aucun paramètre optionnel. + +\begin{verbatim} + \begin{figurette} + [\center] texte de la figure... + [\caption{titre de la figure}] + \end{figurette} +\end{verbatim} + +\label{figurette}% +\index{figurette}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{figurette}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{figurette}\}}% +\index{environnement!figurette@\texttt{figurette}}% +Cet environnement ne permet pas de faire des petits tableaux. Rappelons +que la +mise en page des tableaux est différente de celle des figures (voir +§~\ref{tableaux} page \pageref{tableaux}). +Comme son nom le laisse entendre, cet environnement est particulièrement +destiné aux petites figures ; celles-ci peuvent trouver plus facilement + leur place dans une page. Il ne faudra pas s'étonner toutefois, à +l'occasion de mises à jour ultérieures du texte, +de trouver d'éventuels +bas de page incomplets +lorsque les {\em figurettes} seront reportées à la page suivante. +Si vous utilisez {\bf aussi} l'environnement \verb|figure|, +il faudra surveiller que \LaTeX{} place bien les figures +en séquence (il peut +arriver effectivement que \LaTeX{} ne les place pas dans l'ordre de leur +numérotation). + +\subsection{Petits outils supplémentaires}\label{outils} +Il ne s'agit pas ici d'outils typiquement français mais +leur intérêt +m'a semblé suffisamment général pour être inclus +dans l'extension +(en attendant de les trouver par défaut dans \LaTeX{}) : + +\begin{itemize} +\item il est parfois bien utile de faire appel à une note de bas +\index{bas de page!note de...}% +de page\footnote{Voici la note.\label{note}} depuis plusieurs endroits +comme ici\refmark{note}, pour cela nous avons codé : +\index{refmark@\texttt{\backslash refmark}}% +\begin{verbatim} +... de page\footnote{Voici la note\label{note}} +depuis plusieurs endroits comme ici\refmark{note}, ... +\end{verbatim} +\item comme l'environnement \verb|verbatim| de \LaTeX{} est très rigide +une alternative est proposée avec l'environnement \vers|versatim| +\label{versatim} +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{versatim}\}}% +\index{versatim@\texttt{\backslash versatim}}% +\index{endversatim@\texttt{\backslash endversatim}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{versatim}\}}% +(\vers|\begin{versatim}| ... \vers|\end{versatim}|) qui sait couper +les phrases en fin de ligne et compose les lignes suite dans le style +de l'environnement \vers|verse|% +\footnote{L'environnement \texttt{versatim} et l'ordre \texttt{\backslash vers} +n'ont pas de version \texttt{*} comme \texttt{verbatim*} et +\texttt{\backslash verb*}, respectivement.\label{etoile} +Ils savent par contre obéir aux ordres \texttt{\backslash noenglishquote} et +\texttt{\backslash noenglishdoublequotes} que +l'on trouvera au §~\ref{noenglishquote} +page~\pageref{noenglishquote}.}% + ; +\item l'ordre \vers1\vers|...|1 fonctionne comme +\index{vers@\texttt{\backslash vers}}% +\verb|\verb|\refmark{etoile} ; il +autorise en plus la césure automatique ; cette césure par défaut +est réalisée entre les mots mais peut aussi se faire à +l'intérieur +des mots si l'option \texttt{\backslash tthyphenation} a +été précisée (voir § +\ref{cesure}) ; lorsqu'une séquence +\vers1\vers|blabla1\-\vers1tech1\-\verb1ni1\-\verb1que|1 +ne peut être coupée automatiquement par \TeX{} on pourra lui proposer des +coupures de la manière suivante : \vers1\vers|blabla|\-\vers|technique|1 ; +\item pour la mise au point \LaTeX{} il existe l'option \verb|draft| qui +permet de visualiser les débordements de ligne ; +l'extension {\eFrench} offre de même les commandes : \\ +\index{overfullhboxmark@\texttt{\backslash overfullhboxmark}}% +\verb| \overfullhboxmark | (et \verb|\nooverfullhboxmark|)\\ +qui peuvent, par contre, être activées à tout moment ; +cette option et son contraire ne doivent pas se retrouver sur la +même page, faute de quoi elles ne produiraient aucun effet ; +\item il est aussi très utile de retrouver où ont +été mis des \verb|\label|s +et quels noms ont été donnés, c'est pour cela +que l'extension {\eFrench} offre +la commande : \\ +\index{labelsinmargin@\texttt{\backslash labelsinmargin}}% +\verb| \labelsinmargin | (et \verb|\nolabelsinmargin|)\\ +qui imprimera dans la marge le texte des \verb|\label|s mais +attention n'y mettez pas de texte mathématique. Notez aussi que les +labels à l'intérieur des \verb|\footnote| ne sont jamais +imprimés dans +la marge. +\end{itemize} + +Tout ce qui est fait dans l'extension {\eFrench} devrait fonctionner +théoriquement avec \LaTeX{} sur tous les moteurs \TeX{}. +Pour exprimer cette idée en +\index{AllTeX@\texttt{\backslash AllTeX}}% +raccourci on écrit souvent : (La)\TeX{}. Cette présentation +n'étant pas très jolie, j'ai souhaité ici lui donner une forme +plus sympathique et plus définitive. L'extension {\eFrench} +propose donc la séquence \verb|\AllTeX| qui imprime \AllTeX. + +\subsection{Personnalisation} +Nous avons parlé jusqu'ici d'une utilisation normale, standard, +de l'extension {\eFrench}. Mais il est toujours possible de +la paramétrer pour une utilisation différente. Tout cela est décrit +dans les pages à venir mais pour les lecteurs pressés voici un résumé +des possibilités. + +Si l'on désire imposer des options par défaut différentes, pour +tout le document, on se reportera au paragraphe \ref{usersf} page +\pageref{usersf}. + +On peut simplifier les noms de commandes à rallonge de {\eFrench} +(voir §~\ref{simplification} page \pageref{simplification}). + +On peut changer de clavier de saisie (c'est-à-dire en général de système +d'exploitation), en cours de document, pour cela on se reportera +au descriptif de l'extension \emph{keyboard} (§~\ref{keyboard} +page \pageref{keyboard}). + +Il est possible de transmettre un document source francisé à +l'étranger sans que cela impose une modification de format, voir +pour cela le paragraphe suivant et le +<< style {\eFrench} du pauvre >> §~\ref{reduit} +page \pageref{reduit}. + +L'essentiel des autres commandes de personnalisation est décrit au +chapitre \ref{etendue} à partir de la page~\pageref{etendue}. + +\subsection{Transmettre un document à l'étranger} +Si vous devez envoyer votre document \LaTeX{} +à un destinataire éloigné qui +ne peut pas ou ne veut pas effectuer l'installation complète de l'extension +{\eFrench}, il vous faudra alors appauvrir la forme imprimée de votre +document. Vous pouvez procéder comme suit : +\begin{order} +\item Créer un nouveau document, vide. +\item Recopier dedans \verb|french.sty|. +\item Remplacer à la fin l'instruction \verb|\endinput| par l'ordre +\verb|\pmfrench| (voir explications du << Poor Man French Style >>, page +\pageref{reduit}). +\index{version!appauvrie}% +\index{version!réduite}% +\index{pmfrench@\emph{pmfrench}}% +\item Ajouter, toujours à la suite, votre document original +(en version \mbox{7-bits}, voir \verb|kb8to7|). +\end{order} +Ce nouveau document peut alors être transmis (notamment sur les réseaux +électroniques). Votre destinataire pourra alors composer +votre document avec +une francisation minimale. Mais il vaudra mieux l'engager à installer +entièrement les fichiers de l'extension {\eFrench} pour +qu'il bénéficie de tous +ses avantages. + +Une autre possibilité pourrait être de faire appel à la version allégée +de {\eFrench} (% +\makeatletter\if@screen% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\else% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\fi% +) +\index{extension!allége@allégée \emph{frenchle}} +\index{version!allégée}% +\index{frenchle@\emph{frenchle}}% +mais dans ce cas vous n'avez plus accès aux commandes +spécifiques de {\eFrench} ; +ce qui limite quand même beaucoup vos possibilités de composition. +%\subsection{Commandes périmées} +%\index{commandes!périmées}% +%Les commandes suivantes ne doivent plus être utilisées ; elles ne +%figureront plus dans la prochaine version de l'extension {\eFrench} : +%\begin{verbatim} +% \maj +%\minMAJ +%\end{verbatim} + +\subsection{Simplification des noms de commande}\label{simplification} +\index{commandes!noms simplifiés}% + +Les noms de commande définis par l'extension {\eFrench} sont volontairement +longs pour ne pas risquer de conflit avec d'autres codes \TeX{}. +Grâce à la commande \verb|\frenchalias| l'utilisateur +peut les simplifier à volonté en définissant +des équivalences. Voici un +exemple avec \verb|\overfullhboxmark| : +\begin{verbatim} + \documentclass[a4paper]{book} + \usepackage{french} + \frenchalias\BB\overfullhboxmark + \begin{document} + ... + \BB +\end{verbatim} +\index{frenchalias@\texttt{\backslash frenchalias}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\index{usepackage@\texttt{\backslash usepackage}}% + +\subsection{L'extension \emph{keyboard}} + +\label{keyboard} +Chaque utilisateur (dans un environnement multi-systèmes et/ou +multi-utili\-sateurs et/ou +multi-cla\-viers) a la possibilité d'utiliser un clavier +standard ou personnalisé. +Le type de clavier définit le codage d'entrée que l'on souhaite +utiliser. Quelque soit le \emph{format} \LaTeX\ mis en ½uvre par +l'installateur, il existe toujours un codage par défaut qui est +en général l'ASCII (c'est-à-dire 7-bits) mais qui peut être +tout autre si on a fait appel à \texttt{kbconfig} +\index{format} +%%%%%%%%%%%%%%%%%%%%% +\ifnoDOCinstall\else% +%%%%%%%%%%%%%%%%%%%%% +(voir §~\ref{kbconfig} page \pageref{kbconfig}) +\fi% +à la création du \emph{format}. +\index{format} +Dans le document \LaTeX\ il est possible d'utiliser +directement l'extension \emph{keyboard} : \\ +\verb| \usepackage[|\emph{codage d'entrée clavier}\verb|]{keyboard}|\\ +\verb| \usepackage{french}| + +On notera que la spécification de clavier doit intervenir, de préférence, +avant le chargement de l'extension {\eFrench}. + +Différents codages d'entrée sont disponibles, parmi ceux-ci +on trouvera : +\begin{description} +\item [ansinew] pour \lsc{Windows} ; +\index{windows@\lsc{windows}}% +\index{système!windows@\lsc{windows}}% +\item [latin1] pour Unix ou Linux par exemple mais ce n'est pas le +\index{unix@\lsc{unix}}% +\index{système!unix@\lsc{unix}}% +\index{linux@\lsc{linux}}% +\index{codage!d'entrée}% +\index{codage!ansiwnew@\texttt{ansinew}}% +\index{codage!latin1@\texttt{latin1}}% +\index{codage!latin9@\texttt{latin9}}% +\index{codage!decmulti@\texttt{decmulti}}% +\index{codage!utf8@\texttt{utf8}}% +\index{codage!next@\texttt{next}}% +\index{codage!applemac@\texttt{applemac}}% +\index{codage!cp850@\texttt{cp850}}% +\index{système!linux@\lsc{linux}}% + codage le meilleur ; +\item [latin9] c'est le codage \texttt{latin1} enrichi + avec le caractère euro et les + caractères français \oe, \OE\ et ¾ ; +\item [decmulti] pour Digital Unix, VMS, \etc. (option + avantageuse pour les systèmes \lsc{Unix} ne disposant + pas de \texttt{latin9}) ; +\item [utf8] qui est un sous-ensemble du codage \lsc{UNICODE} + utilisable avec \lsc{LINUX} depuis la RedHat 9 et tend à se + généraliser dans les systèmes d'exploitation comme par exemple + avec MacOs X ; + la version du format \LaTeX\ doit dater au moins de 2003 +(\texttt{2003/12/01}) pour bénéficier du codage \texttt{utf8} (avec +l'extension \emph{inputenc} à laquelle fait appel \eFrench\ pour +gérer ce cas spécifique) ; +\item [next] pour les systèmes du même nom ; + +\item [cp850] pour DOS avec code-page 850 ; +\index{dos@\lsc{dos}}% +\index{système!dos@\lsc{dos}}% + +\item [applemac] pour {MacOS} ; +\index{MacOs@MacOS}% +\index{système!MacOs}% + +\item [ascii] si l'on ne veut pas grand chose... +\end{description} +Il est toujours possible de définir son propre codage de clavier, +voire même (pour les plus expérimentés) de faire en sorte qu'une ou plusieurs +touches du clavier génèrent un code \LaTeX\ spécifique. + +Si, dans la suite du document, vous souhaitez changer de codage, il suffit de +mettre la commande \verb|\kbencoding{<|\textit{codage}\verb|>}|, +sous réserve qu'il existe un fichier +\verb|[|\textit{langage}\verb|.]|% +\verb|<|\textit{codage}\verb|>.kbc| dans le système. +\index{usepackage@\texttt{\backslash usepackage}}% +\index{extension!keyboard@\emph{keyboard}}% +\index{codage!clavier}% +\index{kbencoding@\texttt{\backslash kbencoding}}% +\index{extension!keyboard@\emph{keyboard}}% +\index{fichier!keyboard.sty@\texttt{keyboard.sty}}% +\index{fichier!.kbc@\texttt{.kbc}}% +\index{keyboard.sty@\texttt{keyboard.sty}}% +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% +\index{keyboard.dat@\texttt{keyboard.dat}}% +\index{fichier!langage.keyboard.dat@\texttt{[\textit{langage}.]keyboard.dat}}% +\index{langage.keyboard.dat@\texttt{[\textit{langage}.]keyboard.dat}}% +Comme on le voit, il est donc possible de faire appel à des configurations +de clavier différentes selon le langage utilisé. +%\eFrench\ livre par défaut ... + +\emph{Pourquoi utiliser l'extension \emph{keyboard} plutôt que l'extension +\emph{inputenc} + qui fait presque la même chose} ? Toute la différence réside dans ce +\emph{presque} : +\index{extension!inputenc@\emph{inputenc}} +\begin{itemize} +\item \emph{keyboard} ne définit que les caractères utiles (au + français) et non les 128 caractères complémentaires à l'ASCII ; +\item les caractères définis ne sont pas des caractères actifs, + si on utilise l'option \oMlTeX, mais des caractères usuels +\footnote{Ceci n'est pas vrai si l'option spéciale \texttt{\backslash +forceMlTeXtoCork} a été activée dans le fichier +\texttt{keyboard.dat} au chargement de l'extension \texttt{keyboard}.} + ; +\index{forceMlTeXtoCork@\texttt{\backslash forceMlTeXtoCork}}% +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% +\index{keyboard.dat@\texttt{keyboard.dat}}% +\item il est possible d'envoyer des messages à la console + avec \verb|\kbtypeout| et de les traduire automatiquement + dans le codage clavier du système d'exploitation où est + appelé \LaTeX\ ; +\index{kbtypeout@\texttt{\backslash kbtypeout}}% +\item plus généralement encore on peut demander avec l'ordre \verb|\kbIO| + d'écrire sur une << fichier >> \TeX\ en opérant une traduction +\index{kbIO@\texttt{\backslash kbIO}}% + de codage de son choix ; +\item le clavier peut être différent d'un langage à un autre ; +\item les exceptions aux motifs de césure restent effectives après un + changement de codage d'entrée ; +\item en mode mathématique les caractères accentués sont utilisables (ce + sont alors des caractères actifs) ; +\item les conversions majuscules-minuscules sont assurées ; +\item l'utilisation des fontes \emph{cm} +\index{fontes!cm@\emph{cm}}% + (c'est-à-dire avec le codage de fontes \texttt{OT1}% +\footnote{ou bien le codage de fonte \texttt{LO1} défini par l'extension + \emph{mltex}.}% +\index{extension!mltex@\emph{mltex}}% +\index{codage!\texttt{LO1}}% +\index{LO1@\texttt{LO1} (codage)}% +\index{fontencoding@{\em fontencoding}!\texttt{LO1}}% +) n'est pas un handicap +avec l'option \oMlTeX\ pour la coupure des mots accentués. +\end{itemize} + +Le codage par défaut est précisé dans le fichier \texttt{keyboard.dat}. +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% +\index{keyboard.dat@\texttt{keyboard.dat}}% +On peut avoir un fichier \texttt{keyboard.}\-\texttt{dat} +par type de document, dossier, répertoire, \etc. + +Les effets de l'extension \emph{keyboard} sont annulés par tout appel + ultérieur à l'extension \emph{inputenc}% +\footnote{Ce n'est pas le cas avec le codage \texttt{utf8} car ici +les extensions \emph{keyboard} et \emph{inputenc} sont complémentaires.}% +. + +On se reportera à la documentation de l'extension \emph{keyboard} +pour de plus amples détails. + +\subsection{Autres extensions} +\index{extension!autres extensions}% + +L'extension {\eFrench} n'est pas, a priori, incompatible avec +toutes les autres +<< bonnes\footnote{Je veux dire les autres extensions bien écrites.} >> +extensions existantes. +Certaines extensions ou certaines classes ne peuvent toutefois tirer +parti entièrement de la francisation ; c'est le cas de la classe +\texttt{ltxdoc} +\index{classe!ltxdoc@\texttt{ltxdoc}}% +pour ce qui est du texte introduit par \verb|\DocInput|. +\index{DocInput@\texttt{\backslash DocInput}}% +Parfois, seuls quelques dispositifs sont désactivés, +comme par exemple l'usage des guillemets en mode mathématique +avec AmS\LaTeX. +\index{guillemets!avec AmS\LaTeX{}}% +\index{AmSLaTeX@AmS\LaTeX{}}% + +Certaines extensions (comme l'ancien \verb|psfig|) peuvent être chargées +hors du préambule. +Il faut absolument déconseiller cette pratique qui +ne peut que créer des problèmes. + +Par ailleurs, il faut noter l'existence de quelques extensions plus +particulièrement intéressantes pour la communauté francophone. +En voici une +liste succincte : +\begin{description} +\item[decalign] permet, dans des tableaux, l'alignement des nombres sur la +virgule décimale. +\index{extension!decalign@\emph{decalign}}% + +\item[endfloat] pour reporter figures et tableaux en fin de document. +\index{extension!endfloat@\emph{endfloat}}% + +\item[endnotes] permet de reporter des notes (ou toutes les notes de +bas de page) en fin de document. +\index{extension!endnotes@\emph{endnotes}}% + +\item[footnpag] permet de renuméroter les notes de bas de page + à chaque page. +\index{extension!footnpag@\emph{footnpag}}% + +\item[graphicx] pour imprimer des graphiques et notamment + inclure des images Post\-Script {\em encapsulées} + (ou \lsc{PDF}) + si l'on utilise un pilote d'impression comprenant + le PostScript (ou un moteur tel que \texttt{pdflatex}). +\index{moteur!pdflatex@\texttt{pdflatex}}% +\index{extension!graphicx@\emph{graphicx}}% + +\item[icomma] permet de conserver ou non (grâce à une bonne + coopération avec {\eFrench}), en mode mathématique, + l'espace après la virgule. +\index{extension!icomma@\emph{icomma}}% +\index{virgule}% + +\item[relsize] permet de changer de taille de police, relativement. +\index{taille de police}% +\index{extension!relsize@\emph{relsize}}% + +\item[wrapfig] pour mettre une figure sur le côté et placer le texte +autour. +\end{description} +Cette courte liste ne reflète absolument pas la quantité +d'extensions +disponibles dans le domaine public, on consultera à cet effet le +<< \em \LaTeX\ companion >> \cite{companion} ou le +\linkandfootnote{catalog}{catalogue \LaTeX}% +{http://mirror.ctan.org/tex-archive/} +accessible par le navigateur \lsc{CTAN} +si vous disposez d'un accès à l'internet. +Vous pouvez bien entendu obtenir les dernières versions +sur l'un de ces serveurs +d'archives \lsc{CTAN} sinon auprès +des associations d'utilisateurs de \TeX{}. + +\subsection{Fragilité des commandes} +\index{commandes!fragilité}% + +On sait qu'en \LaTeX{} les commandes doivent être {\em protégées\/} +lorsqu'on veut les coder dans certaines commandes comme \verb|\section|. +Il faut alors faire précéder ces commandes par l'ordre +\verb|\protect|. +\index{protect@\texttt{\backslash protect}}% +\index{fragilité des commandes}% +Il peut éventuellement en être de même pour quelques commandes +introduites par l'extension {\eFrench}. + +\bigskip + +\begin{center} +\fbox{\fbox{\parbox{10cm}{Ce qui suit va progressivement se compliquer ; +certains passages sont plus particulièrement destinés aux +utilisateurs expérimentés en \LaTeX{}.}}} +\end{center} + +\bigskip + +\subsection{Compatibilité}\label{compatibilite} +\index{compatibilité}% + +L'extension {\eFrench} rend {\em actifs\/}% +\footnote{Ou plutôt {\em peut rendre actifs} +car ils ne sont pas forcément tous actifs en même temps.} + les caractères suivants : + +\medskip +\verb| < ` " ' >| \ \ \ \ \ et \ \ \verb| : ; ! ?| +\index{caractères actifs}% +\index{\texttt{<{}}}\index{\texttt{`}}\index{\texttt{\dittomark}}% +\index{\texttt{'}}\index{\texttt{>{}}}% + +\medskip +Cela veut dire que ces caractères sont désormais des + macro-instructions +et ne peuvent plus jouer +leurs rôles originels tels qu'ils sont +définis en \LaTeX{}. Si la nécessité +impose de les utiliser, on codera : +\begin{verbatim} +\inferieura à la place de < \superieura à la place de > +\lq " ` \rq " ' +\lqq " `` \rqq " '' +\deuxpoints " : \pointvirgule " ; +\pointexclamation ! \pointinterrogation ? +\dittomark " " +\end{verbatim} +\index{\texttt{`}}\index{\texttt{\dittomark}}\index{\texttt{'}}% +\index{{\`\space}}\index{{\'\space}}\index{{``}}\index{{,,}}\index{{''}}% +\index{dittomark@\texttt{\backslash dittomark}}% +\index{inferieura@\texttt{\backslash inferieura}}% +\index{deuxpoints@\texttt{\backslash deuxpoints}}% +\index{points!pointvirgule@\texttt{\backslash pointvirgule}}% +\index{pointvirgule@\texttt{\backslash pointvirgule}}% +\index{points!pointinterrogation@\texttt{\backslash pointinterrogation}}% +\index{pointinterrogation@\texttt{\backslash pointinterrogation}}% +\index{points!pointexclamation@\texttt{\backslash pointexclamation}}% +\index{pointexclamation@\texttt{\backslash pointexclamation}}% +\index{superieura@\texttt{\backslash superieura}}% +\index{lq@\texttt{\backslash lq}}\index{lqq@\texttt{\backslash lqq}}% +\index{rq@\texttt{\backslash rq}}\index{rqq@\texttt{\backslash rqq}}%% + +Dans certains cas comme, par exemple, dans l'environnement \verb|array| +on pourra préférer faire précéder ces +caractères de l'ordre +\verb|\protect| plutôt que de les remplacer par les commandes +de substitution. + +Rappelons aussi que \verb|\inferieura| et \verb|\superieura|, +s'ils sont utilisés en codage de fonte \texttt{OT1}% +\footnote{C'est aussi le cas avec +le codage de fonte \texttt{LO1} défini par l'extension \emph{mltex}.}% +, ne seront +imprimés correctement qu'à condition d'utiliser une police \texttt{tt}. +\index{polices!tt@\texttt{tt}}% +\index{extension!mltex@\emph{mltex}}% +\index{codage!\texttt{LO1}}% +\index{LO1@\texttt{LO1} (codage)}% +\index{fontencoding@{\em fontencoding}!\texttt{LO1}}% + +Certaines extensions font, elles aussi, une utilisation intensive des +mêmes caractères. Cela peut s'avérer très gênant. Pour sa part, +l'extension {\eFrench} teste, au chargement, si l'un des caractères +de double ponctuation (\verb|! : ; ?|) est déjà défini et dans ce cas +rend inopérante toute la gestion de la typographie fine au niveau de +ces caractères (un message est émis). + +S'il s'agit d'un code que l'on ne peut modifier +et pour lequel l'extension {\eFrench} est superflue, +alors il est possible de l'encadrer par les commandes +suivantes pour l'exécuter% +\footnote{Les définitions de commandes à l'intérieur +de l'environnement +\texttt{nonfrench} sont par défaut locales à cet environnement. Il faudra +éviter cette méthode pour {\em charger} des codes en mémoire.} +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{nonfrench}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{nonfrench}\}}% +\index{nonfrench@\texttt{\backslash nonfrench}}% +\index{endnonfrench@\texttt{\backslash endnonfrench}}% +correctement : \\ +\verb| \begin{nonfrench} | et \verb| \end{nonfrench}| + +\noindent ou par : \\ +\verb| \nonfrench | et \verb| \endnonfrench| + +Si ce code réside dans un fichier particulier +que l'on ne souhaite pas modifier, alors on utilisera la commande +suivante pour le charger en mémoire : + +\index{originalinput@\texttt{\backslash originalinput}}% +\verb| \originalinput{nom_de_fichier}| + +\noindent Cette commande n'a aucun intérêt avant +\index{babel@\emph{babel}!origin@\texttt{\backslash originalinput}}% +le \verb|\begin{document}| car l'extension {\eFrench} +n'est pas encore active +\footnote{Sauf dans le cas où {\eFrench} est une option de +l'extension \emph{babel}.}% +. +\index{babel@\emph{babel}!activ@activation de {\eFrench}}% +\index{activation de {\eFrench}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +Il faut noter que les valeurs par défaut de l'extension {\eFrench} sont +réactivées après \verb|\originalinput|. +Si l'on souhaite qu'il en soit +autrement il faut imposer les options de son choix pour tout le +document dans \verb|\usersfrenchoptions| (voir §~\ref{usersf} page +\pageref{usersf}). + +Il reste bien entendu toujours possible d'annuler +l'option {\eFrench} en revenant au language \verb|\|\texttt{en\-glish} +(s'il a été défini via le fichier de +\index{english@\texttt{\backslash english}}% +\index{fichier!language.dat@\texttt{language.dat}}% +\index{language.dat@\texttt{language.dat}}% +configuration \verb|language.dat|). + +Pour écrire du texte dans un fichier, sans avoir l'expansion des +caractères actifs de {\eFrench}, il suffit de coder :\\ +\index{originaloutput@\texttt{\backslash originaloutput}}% +\verb| \originaloutput[numéro_de_fichier]{texte}| + +Vous trouverez au début du fichier \verb|french.doc| +\index{fichier!french.doc@\texttt{french.doc}}% +\index{occupation mémoire}% +l'occupation supplémentaire en mémoire interne de \TeX{} qui +est imputable à l'extension. + +\section{Pour dépanner...} +\index{dépannage} +Il est parfois utile de savoir si un document risque de poser des +problèmes une fois que l'on utilisera l'extension {\eFrench} ; c'est +pour aider à répondre à cette question que vous pouvez inclure dans +votre document (toujours avant le \verb|\begin{document}|) +l'ordre \verb|\input french.chk|. Bien entendu il ne faut pas faire +\index{fichier!french.chk@\texttt{french.chk}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\index{input2 french.chk@\texttt{\backslash input french.chk}}% +appel à l'extension {\eFrench} d'une manière ou d'une autre. Ainsi, +s'il existe dans votre document une instruction qui risque d'être +en conflit avec l'extension {\eFrench} vous obtiendrez à chaque fois +un message d'erreur et la compilation de votre document s'arrêtera. +Il devrait ensuite vous suffire d'appliquer les conseils indiqués +au paragraphe \ref{compatibilite}. + +Une autre manière de dépanner peut aussi consister à +rendre tous les +ordres de l'extension {\eFrench} inopérants. Pour cela il faut tout +d'abord retirer l'appel de l'extension {\eFrench} et ensuite rajouter +l'ordre \verb|\input french.dmy| +\index{fichier!french.dmy@\texttt{french.dmy}}% +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\index{input2 french.dmy@\texttt{\backslash input french.dmy}}% +(comme toujours en \LaTeX{} : avant le \verb|\begin{document}|). +Cette technique vous permettra d'éliminer les effets de l'extension +{\eFrench} sans avoir à retirer de votre document tous les +ordres relatifs à l'extension elle-même% +\footnote{Cette technique ne doit pas être employée pour imprimer +des documents français dans un environnement \LaTeX{} non francisé +car le document ne peut être composé correctement +de cette manière.}% +. +%On notera qu'il est fortement conseillé de traduire le texte en +%7-bits avant l'utilisation de ce subterfuge. + +La version {\em du pauvre} dont vous trouverez l'explication page +\pageref{reduit} (<< Poor Man French Style >>) +peut aussi vous aider dans certains +cas. + +\section{Utilisation étendue}\label{etendue} +\index{utilisation!étendue}% +Nous allons aborder ici une utilisation plus délicate de l'extension +{\eFrench} car elle fait appel à des connaissances \TeX{} +plus pointues. + +\subsection{Les grandes parties de l'extension {\eFrench}} + +L'extension {\eFrench} est composée de plusieurs parties essentielles : +césure, typographie (dans la ligne), mise en page, +traduction en français, macro-instruc\-tions et messages. +Chacune de ces parties est {\em embrayable} ou {\em +débrayable} à volonté. +Pour ce faire les ordres suivants ont été définis : +\begin{verbatim} + \frenchhyphenation ... \nofrenchhyphenation + \frenchtypography ... \nofrenchtypography + \frenchlayout ... \nofrenchlayout + \frenchtranslation ... \nofrenchtranslation + \frenchmacros ... \nofrenchmacros + \frenchwarnings ... \nofrenchwarnings +\end{verbatim} +%%% \frenchbibliography ... \nofrenchbibliography + +Lorsque l'extension {\eFrench} est appelée elle active toutes ces parties. +Il en va de même à chaque fois que l'extension est réactivée +par l'ordre \verb|\french| (sous réserve de choix +différents faits dans une classe, un +style personnel ou << maison >>, voir §~\ref{usersf}). + +Certaines de ces parties disposent de sous-options +ou de commandes spécifiques que nous allons détailler ci-après. + +Nous ne parlerons presque pas de la bibliographie car +\index{bibliographie}% +elle est essentiellement traitée, pour l'instant, +par \verb|\frenchtranslation| ; voir toutefois \ref{bibliographie} +page \pageref{bibliographie}. + +Une autre partie, implicite mais non négligeable, concerne la +commutation de langues ; elle est décrite en \ref{multilingue} +page \pageref{multilingue}. + +\subsubsection{\texttt{\backslash frenchhyphenation}} +\label{frenchhyphenation} +\index{frenchhyphenation@\texttt{\backslash frenchhyphenation}}% +Cette partie de l'extension {\eFrench} active la césure française +\footnote{Les valeurs des variables \texttt{\backslash lefthyphenmin}, +\texttt{\backslash righthyphenmin} et \texttt{\backslash uchyph} +y sont précisées +(respectivement 2, 3 et 1).}% +, autorise la division des mots commençant par une majuscule et permet le +chargement d'un fichier d'exceptions personnel comme il +en a été discuté +au paragraphe \ref{cesure} page \pageref{cesure}. +\index{fichier!d'exceptions}% +\index{coupure!de mots}% +\index{division!des mots}% + +Les ordres \verb|\hyphenation| et \verb|\showhyphens| ont été +modifiés pour accepter des macro-instructions d'accentuation +en paramètre. +\index{hyphenation@\texttt{\backslash hyphenation}}% +\index{showhypens@\texttt{\backslash showhyphens}}% + +Un ordre \verb|\allowhyphens| +\index{allowhyphens@\texttt{\backslash allowhyphens}}% +\index{cesure@césure!allowhyphens@\texttt{\backslash allowhyphens}}% +est utilisable dans le texte pour forcer \TeX\ +à utiliser tous les points de coupure possibles d'un mot composé +plutôt que le seul trait d'union entre les deux mots. +Exemple : \\ +\verb|socio-\allowhyphens culturel|\\ +ou : \verb|définissez\allowhyphens-le|\\ +On notera que l'on précise \verb|\allowhyphens| \textbf{\emph{avant}} +ou \textbf{\emph{après}} le trait d'union selon que l'on souhaite +couper le mot composé avant ou après. Cette commande n'est pas +utilisable en argument de l'ordre \verb|\hyphenation|. +\index{hyphenation@\texttt{\backslash hyphenation}}% + +L'ordre \vers|\frenchhyphenation| n'est pas pris en compte immédiatement ; +il ne prend effet qu'à partir du moment où +il est demandé une réactivation de l'extension {\eFrench} +par l'ordre \verb|\french| ou \verb|\begin|\-\verb|{french}|. + +\noindent +\texttt{\backslash nofrenchhyphenation} +\index{nofrenchhyphenation@\texttt{\backslash nofrenchhyphenation}}% + retire le mécanisme de césure française. Cela ne signifie +pas qu'il n'y a +plus de coupure de mot mais que la langue utilisée pour le faire n'est plus +le français mais celle qui était active auparavant. + +L'installation du fichier \texttt{language.dat} de la distribution +\index{fichier!language.dat@\texttt{language.dat}}% +{\eFrench} permet l'accès à une commande \verb|\nohyphenation| +\label{nohyphenation}% +\index{nohyphenation@\texttt{\backslash nohyphenation}}% +\index{cesure@césure!stoppée}% +qui stoppe immédiatement la césure et +qui n'est rien d'autre qu'un langage spécifique sans motif de césure. La +portée de cette commande doit donc être limitée à un bloc (\verb|{}|) +bien précis. + +L'ordre \vers|\nofrenchhyphenation| n'est pas pris +en compte immédiatement ; +il ne prend effet qu'à partir du moment où +il est demandé une réinitialisation de l'extension {\eFrench} +par l'ordre \verb|\french| ou \verb|\begin{french}|. + + +\subsubsection{\texttt{\backslash frenchtypography}} +\label{frenchtypography} +\index{frenchtypography@\texttt{\backslash frenchtypography}}% +Cette partie de l'extension {\eFrench} applique + la typographie française à la ponctuation et aux guille\-mets +\footnote{La typographie française n'est appliquée, + bien sûr, que si vous saisissez les espaces appropriés à ces +ponctuations (cf. §~\ref{saisie}). À défaut, la ponctuation sera +accolée aux mots, comme c'est l'usage classique en anglais.}% +\index{ponctuation}\index{cesure@césure}% +\index{lefthyphenmin@\texttt{\backslash lefthyphenmin}}% +\index{righthyphenmin@\texttt{\backslash righthyphenmin}}% +\index{uchyph@\texttt{\backslash uchyph}}% +\index{guillemets}\index{points!deux-points (:)}% +\index{deux-points (:)}% +, propose l'accentuation dans l'environnement \vers|tabbing| +(voir \ref{tabbingaccents} page \pageref{tabbingaccents}) + et empêche (autant que possible) la coupure de ligne +ou de page avant la ponctuation, avant les guillemets fermants, après les +deux-points et les guillemets ouvrants. +D'autres aspects typographiques +liés au français sont aussi mis en ½uvre comme : +\begin{itemize} +\item en mode mathématique l'espace après la virgule est supprimé (c'est + l'option par défaut de {\eFrench} + \verb|\frenchmathcomma| mais qui peut être annulée par la + commande \verb|\regularmath|\-\verb|comma|) ; on notera que +{\eFrench} adopte le comportement de l'extension +\texttt{icomma} lorsque cette dernière est chargée avant {\eFrench}. +Le mode actif avant l'appel de {\eFrench} peut être restauré par la +commande \verb|\originalmathcomma|. +\index{extension!icomma@\emph{icomma}}% +\index{frenchmathcomma@\texttt{\backslash frenchmathcomma}}% +\index{regularmathcomma@\texttt{\backslash regularmathcomma}}% +\index{originalmathcomma@\texttt{\backslash originalmathcomma}}% +\index{virgule}\index{espacement!après la virgule}% +\item \verb*|\nombre{1 234,56}| applique l'espacement correct. Le nombre + est toujours composé en mode mathématique. L'option \verb|\nofiles| + ne doit pas être indiquée en début de document. +\index{nombre@\texttt{\backslash nombre}}% +\index{nombre@\texttt{\backslash nombre}!nofiles@avec \texttt{\backslash nofiles}}% +\index{nombre@\texttt{\backslash nombre}!en mode mathématique}% +\index{nofiles@\texttt{\backslash nofiles}}% +\index{nofiles@\texttt{\backslash nofiles}!et nombre@et \texttt{\backslash nombre}}% +\item l'espacement des appels de notes (et des \verb|\thanks|) +de bas de page et de \verb|minipage|. +\item la composition des numéros de notes dans la police de la note de bas + de page ; +notez que l'ordre \verb|\footnote| ou \verb|\thanks| peut +désormais être séparé, dans le texte, +du mot qui le précède, l'extension {\eFrench} n'imprimant pas cet espace.% +\index{thanks@\texttt{\backslash thanks}}% +\index{footnote@\texttt{\backslash footnote}}% +\index{note!footnote@avec \texttt{\backslash footnote}}% +\index{note!thanks@avec \texttt{\backslash thanks}}% +\item la mise en italique du titre des figures et tableaux + (option par défaut, car l'utilisateur peut choisir de + préciser \verb|\captionfont|). +\index{captionfont@\texttt{\backslash captionfont}}% +\item la modification du séparateur +des titres de figures et tableaux << \texttt{:} >> par +\verb|\caption|\-\verb|separator| qui est initialisé par défaut +dans {\eFrench} à << \verb|~--| >>. +\index{captionseparator@\texttt{\backslash captionseparator}} + + Rappelons que + c'est l'ordre \verb|\caption| de \LaTeX{} qui permet de donner + un titre à une figure ou un tableau. Mais ce titre n'est pas +\index{figures et tableaux}% +\index{tableaux!notes}% +\index{tableaux!titres}% +\index{note}% + placé dans les deux cas au même endroit. + Dans le cas d'une figure il est placé {\em après} ; dans celui + d'un tableau il est placé {\em avant\/}. +\end{itemize} + +Les sous-options proposées sont les suivantes : +\begin{itemize} +\item \verb|\unnumberedcaptions{figure/table}| permet d'annuler +définitivement la numérotation des figures ou des tableaux et +les commandes correspondantes \verb|\listoffigures| +ou \verb|\listof|\-\verb|tables|. +Cette option ne peut être utilisée qu'une seule fois, pour chaque +type, au début du document ; elle est +irréversible, du moins à l'intérieur du texte français ; +\index{unnumberedcaptions@\texttt{\backslash unnumberedcaptions}}% +\index{listoffigures@\texttt{\backslash listoffigures}}% +\index{listoftables@\texttt{\backslash listoftables}}% + +\item \verb|\noTeXdots| modifie \verb|\dots| et \verb|\ldots| pour produire +trois points normaux, mais c'est l'option +\index{noTeXdots@\texttt{\backslash noTeXdots}}% +\index{points!\texttt{\backslash noTeXdots}}% +\index{dots@\texttt{\backslash dots}}\index{points!\texttt{\backslash dots}}% +\index{ldots@\texttt{\backslash ldots}}\index{points!\texttt{\backslash ldots}}% +inverse \verb|\TeXdots| qui en est la +valeur par défaut (car il suffit de ne pas utiliser \verb|\dots| ou +\verb|\ldots|) ; + +\label{nofrenchguillemets} +\item \verb|\nofrenchguillemets| permet de désactiver les guillemets 7-bits% +\footnote{On entend par guillemets 7-bits les caractères +\texttt{\inferieura\relax\inferieura} et \texttt{\superieura\relax\superieura}. +En fait il s'agit de désactiver les caractères +\texttt{\inferieura} et \texttt{\superieura} pour +qu'ils n'exécutent plus les macro-instructions de l'extension {\eFrench}.} +français pour un autre usage ; +l'option par défaut de l'extension {\eFrench} +est \verb|\french|\-\texttt{guil}\-\texttt{lemets} ; +\index{frenchguillemets@\texttt{\backslash frenchguillemets}}% +\index{nofrenchguillemets@\texttt{\backslash nofrenchguillemets}}% + +\item \verb|\ancientguillemets| permet d'obtenir des guillemets {\em à +l'ancienne} c.-à-d. où chaque paragraphe + d'une citation de deuxième rang +\index{ancientguillemets@\texttt{\backslash ancientguillemets}}% +\index{todayguillemets@\texttt{\backslash todayguillemets}}% +commence non pas par des guillemets ouvrants mais par des fermants ; la valeur +par défaut de l'extension {\eFrench} est \verb|\todayguillemets| ; + +\item \verb|\guillemetsinarrays|, qui est la valeur par défaut +de {\eFrench} permet d'obtenir des guillemets +\index{guillemetsinarrays@\texttt{\backslash guillemetsinarrays}}% +\index{noguillemetsinarrays@\texttt{\backslash noguillemetsinarrays}}% +en mode texte dans les environnements standard \texttt{array} ; +l'inconvénient de cette possibilité +est qu'il est nécessaire de protéger les macros-commandes +\verb|<| et \verb|>| lorsqu'ils terminent une case d'un +tableau de ce genre (via \verb|\protect| ou en écrivant +\index{protect@\texttt{\backslash protect}}% +\verb|<{}| ou même \verb|<\relax|) ; +\item \verb|\noguillemetsinarrays|, par contre, n'a pas +cet inconvénient mais ne permet plus d'imprimer des guillemets +\index{array}\index{eqnarray}% +\index{environnement!array@\texttt{array}}% +\index{environnement!eqnarray@\texttt{eqnarray}}% +\index{environnement!eqnarray*@\texttt{eqnarray*}}% +français dans ces environnements \texttt{array} et \texttt{eqnarray} ; + +\item \verb|\guillemetsinallfonts| permet d'obtenir des guillemets +\index{guillemetsinallfonts@\texttt{\backslash guillemetsinallfonts}}% +\index{guillemetsinroman@\texttt{\backslash guillemetsinroman}}% +quelle que soit la police de caractères utilisée (en supposant que ces +guillemets existent ; une correction d'italique est ajoutée +si nécessaire, avant les guillemets fermants) ; +mais par défaut les guillemets seront imprimés +\index{romain droit}\index{romain}% +en romain droit : \texttt{\backslash guil\-le\-mets\-in\-roman} + est la valeur par défaut ; +dans ce dernier cas + ; + +\item \verb|\guillemetsfont| permet, par contre, de choisir la fonte + pour la composition des guillemets tout au long du document, + à condition que l'extension \eFrench\ travaille dans le + codage de fonte \texttt{T1} ; + vous pouvez, par exemple, coder ceci : +\begin{verbatim} +\def\guillemetsfont{% + \fontencoding{OT2}\fontfamily{wncyr}% + \selectfont}% +\end{verbatim} +ceci est à placer à l'endroit de votre choix, même avant le +chargement de \eFrench\ ; +\index{guillemetsfont@\texttt{\backslash guillemetsfont}}% +\index{fontes!choix pour les guillemets} +\index{fontencoding@{\em fontencoding}!\texttt{T1}}% +\index{codage!\texttt{T1}}% +\index{T1@\texttt{T1} (codage)}% + +\item \verb|\noenglishquote| permet de remplacer temporairement les +\label{noenglishquote}% +\index{noenglishquote@\texttt{\backslash noenglishquote}}% +\index{englishquote@\texttt{\backslash englishquote}}% +\index{catcode@\texttt{\backslash catcode}}% +\index{tabbing@\texttt{tabbing} (environnement)}% +\index{lccode@\texttt{\backslash lccode}}% +\index{char@\texttt{\backslash char}}% +\index{accents!remplaçant ` et '}% +{\em quotes} anglaises par des accents% +\footnote{Mais attention, les ordres \TeX{} tels que +\texttt{\backslash catcode}, \texttt{\backslash lccode}, +\texttt{\backslash char}... deviennent +\label{catcodes} +inutilisables pendant toute la durée d'activité de cette option.} + ; cette option reste active à l'intérieur de l'environnement +\vers|versatim|% +\footnote{Cette option est inopérante dans l'environnement +\texttt{tabbing}.\label{tabbing}} + (ou avec \vers|\vers|, voir §~\ref{outils} page~\pageref{outils}) ; +\verb|\english|\-\verb|quote| est +l'option par défaut de l'extension {\eFrench} ; + +\item \verb|\noenglishdoublequotes| remplace tous les doubles guillemets +\refmark{catcodes} +\index{noenglishdoublequotes@\texttt{\backslash noenglishdoublequotes}}% +\index{englishdoublequotes@\texttt{\backslash englishdoublequotes}}% + à la \TeX{} `` et '' par << et >> ; +cette option reste active à l'intérieur de l'environnement +\vers|versatim|\refmark{tabbing} +(ou avec \vers|\vers|, voir §~\ref{outils}) et elle + s'annule tout +simplement par la commande inverse \verb|\englishdoublequotes| ; + +\item \verb|\untypedspaces| rajoute un espace là où l'utilisateur doit +\index{espaces!untypedspaces@\texttt{\backslash untypedspaces}}% +\index{untypedspaces@\texttt{\backslash untypedspaces}}% +\index{espaces!typedspaces@\texttt{\backslash typedspaces}}% +\index{typedspaces@\texttt{\backslash typedspaces}}% +normalement en mettre un (et uniquement s'il l'a oublié) + c.-à-d. devant la double ponctuation +\index{ponctuation}\index{guillemets}% +(\verb|! ? ; :|) et +les guillemets (après \verb|<<| et avant \verb|>>|)% +\maj +\footnote{\texttt{\backslash untypedspaces} n'a aucun effet sur +la typographie des nombres et donc avec la commande +\texttt{\backslash nombre}.} + ; mais +attention, il peut y avoir des cas où cette action systématique est + mauvaise, c'est pourquoi \verb|\typedspaces| est l'option par défaut de +l'extension {\eFrench} ; + +\item \verb|\idotless| permet (pour ceux qui ne saisissent pas en 8 bits +et/ou n'ont pas de bon éditeur de texte% +\index{idotless@\texttt{\backslash idotless}}% +\index{iwithdot@\texttt{\backslash iwithdot}}% +\index{points!\texttt{\backslash idotless}}\index{points!\texttt{\backslash iwithdot}}% +\footnote{Donc dans tous les cas où vous devez saisir les +lettres accentuées sous leur forme \TeX{} c'est-à-dire par la séquence : +\index{lettres accentuées}\index{caractères accentués}% +\index{antislash-accent-lettre}% +antislash-accent-lettre.}% +) d'accentuer les i sans avoir à +penser qu'il est absolument indispensable d'utiliser un \i{} sans point +(\verb|\i{}|) ; \verb|\iwithdot| +en est l'option inverse et la valeur par +défaut ; + +\item \verb|\tabbingaccents|\label{tabbingaccents} + permet d'utiliser l'accentuation +normale \mbox{7-bits} (\verb|\`| et \verb|\'|) dans un environnement +\vers|tabbing| de \LaTeX{} ; les mêmes ordres influants sur +la tabulation restent utilisables s'ils sont suivis d'un espace +\index{accents!tabbingaccents@\texttt{\backslash tabbingaccents}}% +\index{tabbingaccents@\texttt{\backslash tabbingaccents}}% +\index{notabbingaccents@\texttt{\backslash notabbingaccents}}% +\index{environnement!\texttt{tabbing}}% +\index{accents!dans \texttt{tabbing}}% +\index{accents!notabbingaccents@\texttt{\backslash notabbingaccents}}% +(\verb*|\` | et \verb*|\' |) ; comme il s'agit d'une option qui +n'aura plus d'intérêt à l'avenir, \vers|\notabbingaccents| est +la valeur par défaut ; + +\item \verb|\EBCDICbrackets| remplace en mode texte +\index{EBCDICbrackets@\texttt{\backslash EBCDICbrackets}}% +\index{normalbrackets@\texttt{\backslash normalbrackets}}% +\index{\texttt{[}}\index{\texttt{]}}\index{crochets}% +(c.-à-d. non mathématique) les caractères \verb|<| et \verb|>| par +des crochets [ et ] ; cette option est +particulièrement {\em dédiée} aux +systèmes IBM disposant de claviers sans crochets ; +mais attention le doublement de ces caractères (\verb|<<| et +\verb|>>|) donnera toujours << et >> +(sauf en mode \verb|verbatim|) ; +cette option nécessite l'utilisation de \verb|\nonfrench| pour +l'introduction et l'exécution de certains jeux de macros-instructions +(voir §~\ref{compatibilite} page \pageref{compatibilite}) ; +\verb|\normalbrackets| en est la valeur +par défaut ; + +\item \verb|\letpunctuationactivefor| est un ordre très curieux ! Son nom +\index{letpunctuationactive@\texttt{\backslash letpunctuationactive}}% +signale déjà qu'il ne doit pas être +employé seul ; il ne doit aussi +être employé que dans des cas très +spécifiques et ce, en connaissance de +cause ; en effet, cet ordre engendre irrémédiablement +une {\em anomalie} +(l'exception qui confirme la règle...) : +les caractères {\em actifs} +(\verb|! ; : ?|) resteront actifs même lorsque l'extension {\eFrench} +se sera effacée au profit d'une autre ; cela est donc dangereux ! mais +peut aussi être utile, comme nous allons le voir ci-après avec +\verb|\wrongtypedspaces|. +\end{itemize} + +Tous les dispositifs précités deviennent +inopérants dès que l'on code +\index{nofrenchtypography@\texttt{\backslash nofrenchtypography}}% +\texttt{\backslash no\-french\-typo\-gra\-phy}. + +\noindent +\texttt{\backslash nofrenchtypography} : +{\em a priori} rien d'intéressant ici... sauf lorsque vous n'imprimez plus +à la française et dans ce cas vous disposez des ordres : +\begin{itemize} +\item \verb|\wrongtypedspaces| pour supprimer les espaces superflus saisis +\index{wrongtypedspaces@\texttt{\backslash wrongtypedspaces}}% +\index{espaces!wrongtypedspaces@\texttt{\backslash wrongtypedspaces}}% +(devant la double ponctuation c.-à-d. \verb|! ; : ?|) +\index{double ponctuation}% +par une dactylographe française trop zélée +qui vient de taper une grande +quantité de texte non-français dans un document +français ; s'il s'agit +d'anglais ou d'une autre langue dont l'espace n'est pas souhaitable, +l'extension + {\eFrench} fera aussi le travail pour annuler les habitudes +françaises ; mais attention ! avant d'abandonner le \verb|\french| pour, +par exemple, l'\verb|\english| il aura fallu taper :\\ +\verb| \letpunctuationactivefor\wrongtypedspaces|\\ +pour maintenir {\em active\/} la double ponctuation +(éviter alors d'employer cette dernière dans des macros, \LaTeX{} + ou non, qui n'auraient pas été conçues pour ce cas +ou qui n'auraient pas +été adaptées par le style linguistique +correspondant --~à manipuler +donc avec prudence) +; + +\item \verb|\nowrongtypedspaces| permet d'annuler temporairement +\index{nowrongtypedspaces@\texttt{\backslash nowrongtypedspaces}}% +\index{espaces!nowrongtypedspaces@\texttt{\backslash nowrongtypedspaces}}% +l'effet précité. +\end{itemize} + +\subsubsection{\texttt{\backslash frenchlayout}} +\index{frenchlayout@\texttt{\backslash frenchlayout}}% +La partie mise en page de l'extension {\eFrench} +réalise un grand nombre d'opérations : +\begin{itemize} +\item elle réintroduit +le retrait des premiers paragraphes qui est supprimé en \LaTeX{} +standard mais l'utilisateur conserve la possibilité de préciser son choix +par les commandes +\index{retrait}\index{indentation}% +\begin{itemize} +\item \verb|\indentfirst| qui est le choix par défaut, +\item \verb|\nonindentfirst| qui n'applique pas de retrait en début des + premiers paragraphes. +\end{itemize} +Dans le cas où l'extension \emph{titlesec} est chargée, ce sont les options +de cette extension qui sont utilisées et les commandes pécédentes n'ont +plus d'effet. +\index{extension!titlesec@\emph{titlesec}}% +\index{titlesec@\emph{titlesec}}% + +\item elle définit les marqueurs utilisés dans les énumérations + (\texttt{itemize}). Vous pouvez choisir d'autres marqueurs + en fournissant d'autres caractères à la place des étoiles + ci-dessous : +\begin{verbatim} +\frlabelitems{% + \renewcommand{labelitemi}{*}% + \renewcommand{labelitemii}{**}% + \renewcommand{labelitemi}{***}% + }% +\end{verbatim} +\index{frlabelitems@\texttt{\backslash frlabelitems}}% +\index{labelitemi@\texttt{\backslash labelitemi}}% +\index{labelitemii@\texttt{\backslash labelitemii}}% +\index{labelitemiii@\texttt{\backslash labelitemiii}}% +\index{marqueurs de liste!modification}% +À noter que le traitement des guillemets à chaque début +d'éléments de liste (\verb|\item|) est alors supprimé (sauf à +réintroduire la séquence +\verb|\check|\-\verb|item|\-\verb|guille|\-\verb|mets| devant +le marqueur). +\index{checkitemguillemets@\texttt{\backslash checkitemguillemets}}% +\index{guillemets!dans itemize@dans \texttt{itemize}}% +\index{guillemets!et marqueurs de liste}% +\index{marqueurs de liste!et guillemets}% + +\item elle propose les lettrines dont je vous ai déjà parlé au + \S~\ref{lettrines} page~\pageref{lettrines}. +\index{lettrines} + +\item elle introduit les environnements dont je vous ai aussi +déjà parlé : +\begin{itemize} +\item \verb|order| pour composer des listes ordonnées +(voir §~\ref{envir} page~\pageref{envir}), +\index{environnement!order@\texttt{order}}% + +\item \verb|figurette| pour placer exactement où l'on veut une petite +figure (voir §~\ref{figurette} page~\pageref{figurette}), +\index{environnement!figurette@\texttt{figurette}}% + +\item \texttt{drapeaufg}, + \texttt{drapeau}\-\texttt{fg}\-\texttt{IN}, + \texttt{drapeau}\-\texttt{fd}, + \texttt{drapeau}\-\texttt{fd}\-\texttt{IN} +pour la compostion \emph{au fer} à droite ou à gauche +(voir §~\ref{endrapeau} page~\pageref{endrapeau}), +\index{environnement!drapeaufg@\texttt{drapeaufg}}% +\index{environnement!drapeaufgIN@\texttt{drapeaufgIN}}% +\index{environnement!drapeaufd@\texttt{drapeaufd}}% +\index{environnement!drapeaufdIN@\texttt{drapeaufdIN}}% + +\item \vers|versatim| en remplacement de \texttt{verbatim} + pour réaliser automatiquement la coupure de ligne + lorsque cela est nécessaire +(voir \S~\ref{outils} page~\pageref{outils}). +\index{environnement!versatim@\texttt{versatim}}% +\end{itemize} + +\item elle remet à +zéro le compteur de chapitre (section et autres sous-sections) +à chaque nouvelle partie (\verb|\part|) du document% +\footnote{La commande \texttt{\backslash noresetatpart} +fournie via \texttt{\backslash usersfrenchoptions} ou +en début de document +(après le \texttt{\backslash begin}\{\texttt{docu}\-\texttt{ment}\}) permet +d'annuler cet effet.}% +, positionne les notes de tableau dans le tableau lui-même, +\index{part@\texttt{\backslash part}}% +\index{noresetatpart@\texttt{\backslash noresetatpart}}% +gère les appels de note consécutifs en les séparant d'une virgule +\footnote{Une note peut toujours être suivie...}% +\footnote{... d'une autre note, à condition qu'elles ne soient séparées +par aucun autre élément, pas même un espace.}. + +\item + lors d'un début de partie, de chapitre, d'annexe + ou d'index, elle corrige d'une part +la position de la numérotation de page par défaut de \LaTeX{}, +d'autre part évite d'imprimer le titre courant +\footnote{\LaTeX{} utilise anormalement le << \em pagestyle\/ >> +\texttt{plain} avec la classe << \tt book >>.} sur cette page. +\index{classe!book@\texttt{book}}% +Elle modifie les environnements \texttt{theindex} et \texttt{thebibliography} +de façon à faire automatiquement référence à l'index et à la +bibliographie dans la table des matières comme dans les \emph{bookmarks} +des hypertextes. +\index{theindex@\texttt{theindex}}% +\index{environnement!theindex@\texttt{theindex}}% +\index{bibliographie}% +\index{index!composition de l'}% +\index{thebibliography@\texttt{thebibliography}}% +\index{environnement!thebibliography@\texttt{thebibliography}}% +\end{itemize} + +Cette partie traite aussi les sous-options suivantes : +\begin{itemize} + +\item \verb|\noresetatpart| permet d'annuler la remise à + zéro du compteur de chapitre (section et autres sous-sections) + à chaque nouvelle partie (\verb|\part|) du document ; +\index{part@\texttt{\backslash part}}% +\index{noresetatpart@\texttt{\backslash noresetatpart}}% +\index{numerotation@numérotation!des chapitres ou sections}% + +\item \verb|\noresetatchapter| permet de ne pas remettre à zéro le compteur + de notes de bas de page à chaque nouveau chapitre (\verb|\chapter|) ; +\index{chapter@\texttt{\backslash chapter}}% +\index{noresetatchapter@\texttt{\backslash noresetatchapter}}% +\index{numerotation@numérotation!des notes de bas de page} + +\item \verb|\frenchtrivsep| réduit notablement l'espace vertical dans toutes +\label{frenchtrivsep} + les listes \LaTeX; c'est la valeur par défaut de l'extension + {\eFrench} ; des messages d'attention (\texttt{-58-} voir p. + \pageref{-58-}) peuvent être émis si vous utilisez de nouveaux + environnements faisant appel aux environnements standard \LaTeX{} ; +les valeurs d'espacement vertical +(\texttt{\backslash parsep}, \texttt{\backslash itemsep}, +\texttt{\backslash topsep} et \texttt{\backslash partopsep}) +\index{espacement!vertical}% +\index{espacement!parsep@\texttt{\backslash parsep}}% +\index{espacement!itemsep@\texttt{\backslash itemsep}}% +\index{espacement!topsep@\texttt{\backslash topsep}}% +\index{espacement!partopsep@\texttt{\backslash partopsep}}% +\index{parsep@\texttt{\backslash parsep}}% +\index{itemsep@\texttt{\backslash itemsep}}% +\index{topsep@\texttt{\backslash topsep}}% +\index{partopsep@\texttt{\backslash partopsep}}% +\index{espace!compteurs}% +peuvent être modifiées en utilisant la commande : +\begin{verbatim} +\frtrivseplengths{% + \setlength{\partopsep}{0.2 ex ...}% + ... } +\end{verbatim} +et dans ce cas les messages d'avertissement précités ne sont plus +émis (sauf si vous codez à nouveau +\verb|\frenchtrivsepwarnings| +dans cette commande + (voir \verb|\nofrenchtrivsepwarnings| page \pageref{ftsw}) ; +\index{frenchtrivsep@\texttt{\backslash frenchtrivsep}}% + +\item \verb|\nofrenchtrivsep| rétablit l'espacement vertical standard de la + classe de document utilisée ; +\index{nofrenchtrivsep@\texttt{\backslash nofrenchtrivsep}}% +\label{everyparguills} +\item \verb|\everyparguillemets| permet, lorsqu'une citation se prolonge sur +\index{everyparguillemets@\texttt{\backslash everyparguillemets}}% +\index{guillemets!everyparguillemets@\texttt{\backslash everyparguillemets}}% +d'au\-tres paragraphes, de commencer chaque paragraphe +par des guillemets, comme +c'est l'usage ; lorsque la citation continue par une énumération +\verb|order| ou \verb|itemize|, chaque alinea débute alors avec des +guillemets ; l'option +\vers|\everyparguillemets| est la valeur par défaut dans +{\eFrench} ; + +\item \verb|\everyparguillemetsremoved| permet d'annuler cet effet +(c'est-à-dire de commencer tous les paragraphes d'une citation +par des guillemets ouvrants) +\index{everyparguillemetsremoved@\texttt{\backslash everyparguillemetsremo\-ved}}% +\index{guillemets!everyparguillemetsremoved@\texttt{\backslash everyparguillemets-\\ removed}}% + +\item \verb|\noeveryparguillemets| \, ne permet pas +d'avoir plusieurs paragraphes +dans une citation (tout ordre \verb|\par| est ignoré ; +\maj +la citation doit obligatoirement commencer par des guillemets ouvrants% +\footnote{Au cas où la citation ne commencerait pas en début de ligne, +un saut de ligne sera imposé aux premiers guillemets ouvrants.}) ; +\index{noeveryparguillemets@\texttt{\backslash noeveryparguillemets}}% +\index{guillemets!noeveryparguillemets@\texttt{\backslash noeveryparguillemets}}% +cette option qui gère correctement pour vous les citations de deuxième +niveau en commençant chaque ligne par des guillemets +est {\em fragile} et peut poser quelques +problèmes de mise en ½uvre voire même très mal fonctionner% +\footnote{Cette option n'est pas adaptée, notamment, aux environnements +dont la longueur de ligne est réduite.} + ; +l'utilisation de l'environnement \texttt{guillemets} (ou \verb|\guillemets|) +est totalement interdit dans ce cas ; +il est impératif de rétablir +\verb|\everypar|\-\verb|guil|\-\verb|le|\-\verb|mets| juste après +le paragraphe concerné ; + +\item \verb|\overfullhboxmark| et \verb|\nooverfullhboxmark| +\index{nooverfullhboxmark@\texttt{\backslash nooverfullhboxmark}}% +\index{overfullhboxmark@\texttt{\backslash overfullhboxmark}}% +(voir §~\ref{outils} page \pageref{outils}) ; + +\item \verb|\labelsinmargin| et \verb|\nolabelsinmargin| +\index{labelsinmargin@\texttt{\backslash labelsinmargin}}% +\index{nolabelsinmargin@\texttt{\backslash nolabelsinmargin}}% +(voir §~\ref{outils} page \pageref{outils}). + +%\item \verb|\PasDeNumeroDePage| ou \verb|\nopagenumbers| supprime la +%\index{PasDeNumerDePage@\texttt{\backslash PasDeNumeroDePage}}% +%numérotation des pages (mais aussi les hauts de page). Cela est très +%lié aux styles employés (ne convient donc pas dans +%toutes les situations). +\end{itemize} + +Cette partie gère aussi la mise en page du courrier fait avec la classe +\verb|letter| ainsi les adresses, la date, l'\verb|\opening| +(ainsi que le \verb|\closing|) \etc. sont disposées +{\em à la française} ; l'adresse du correspondant +apparaît au travers +de la fenêtre des enveloppes format 11~x~22 cm ; +\index{closing@\texttt{\backslash closing}}% +il est possible de préciser les commandes +\verb|\yourref|, \verb|\ourref|, \verb|\object|, \verb|\PS| + déjà vues (§~\ref{letter} page \pageref{letter}) +et de fournir les définitions +des hauts et bas de page du courrier par les commandes +\verb|\formhead| et \verb|\formfoot|. +\index{lettre}\index{courrier}\index{letter@\texttt{letter}}% +\index{classe!letter@\texttt{letter}}% +\index{formhead@\texttt{\backslash formhead}}% +\index{formfoot@\texttt{\backslash formfoot}}% +\index{ourref@\texttt{\backslash ourref}}% +\index{yourref@\texttt{\backslash yourref}}% +\index{object@\texttt{\backslash object}}% +\index{PS@\texttt{\backslash PS}}\index{postscriptum@{\em postscriptum}}% + +La commande \verb|\constantLayout| qui ne fait pas partie de cette +section car elle porte sur tous les langages ; son rôle est +est de garantir une présentation homogène du document tout au +long de ce dernier, même en cas de changement de langue. Elle +ne peut être utilisée qu'une seule fois au début du document ; +ce n'est pas l'option par défaut avec {\eFrench}. +\index{ConstantLayout@\texttt{\backslash ConstantLayout}}% + +\subsubsection{La bibliographie}\label{bibliographie} +\index{bibliographie}% +La bibliographie d'un document est réalisée en deux étapes : +tout d'abord la sélection et le tri des entrées bibliographiques (en général +reprises d'une base bibliographique BiB\TeX) avec le programme +\index{bibtex8@\texttt{bibtex8}}% +\texttt{bibtex} +\footnote{Utiliser de préférence \texttt{bibtex8} pour le traitement +correct des caractères accentués.} et deuxièmement sa composition +par \LaTeX. Dans la première étape le choix du style est important. +Suivant le cas il est fait appel à certaines commandes \LaTeX\ +introduisant des libellés spécifiques (comme \verb|\editorname| +pour << éditeur >>). +Des extensions \LaTeX\ traitant de la bibliographie peuvent être +utilisées dans la deuxième partie. \eFrench\ essaye de s'adapter +à ces extensions% +\footnote{\eFrench\ est spécialement adapté pour travailler +avec \emph{jurabib} et \emph{fracm}.}% +\index{extension!jurabib@\emph{jurabib}}% +\index{extension!fracm@\emph{fracm}}% +. Par défaut, il traduit les libellés utilisés +le plus fréquemment, comme nous allons le voir dans ce qui suit. + +\subsubsection{\texttt{\backslash frenchtranslation}} +\index{frenchtranslation@\texttt{\backslash frenchtranslation}}% +Cette partie de l'extension {\eFrench} traduit en français tous les titres +\maj +ou libellés utilisés en \LaTeX\ et dans la bibliographie, imprime les +\index{bibliography}% + dates à la française, numérote correctement +les différentes parties (\verb|\part|) d'un +\index{resume@\texttt{\backslash resume}}% +\index{endresume@\texttt{\backslash endresume}}% +\index{glossaire1@\texttt{\backslash glossaire}}% +\index{glossaire2@\texttt{\backslash glossaires}}% +\index{annexe1@\texttt{\backslash annexe}}\index{annexe2@\texttt{\backslash annexes}}% +\index{see1@\texttt{\backslash see}}\index{see2@\texttt{\backslash seealso}}% +\index{sommaire2@\texttt{\backslash sommaire[n]}}% +\index{printindex@\texttt{\backslash printindex}}% +\index{textcurrency@\texttt{\backslash textcurrency}}% +\index{texteuro@\texttt{\backslash texteuro}}% +volume, +\maj +modifie la commande \verb|\textcurrency| pour être équivallente +à \verb|\texteuro| lorsque cette dernière est définie + et introduit les commandes (voir §~\ref{commandes} +page \pageref{commandes}) : +\begin{verbatim} +\annexe \annexes \resume \endresume +\glossaire \glossaires \see \seealso +\sommaire[n] \printindex +\motsclef \endmotsclef \keywords \endkeywords +\end{verbatim} +\index{motsclef@\texttt{\backslash motsclef}}% +\index{endmotsclef@\texttt{\backslash endmotsclef}}% +\index{keywords@\texttt{\backslash keywords}}% +\index{endkeywords@\texttt{\backslash endkeywords}}% +Pour modifier les libellés reportez-vous au paragraphe~\ref{styleperso} +et tout spécialement page~\pageref{modiflibelle}. + +\subsubsection{\texttt{\backslash frenchmacros}}\label{frenchmacros} +\index{frenchmacros@\texttt{\backslash frenchmacros}}% +\index{ier@\texttt{\backslash ier}}% +\index{ieme@\texttt{\backslash ieme}}% +\index{at@\texttt{\backslash at}}% +Cette partie est consacrée aux ordres tels que \verb|\ier|, +\verb|\ieme|, \verb|\at|, \etc. décrits au paragraphe \ref{commandes}. +\index{abbreviations@\texttt{\backslash abbreviations}}% +\index{abreviations@abréviations!\texttt{\dittomark}...\texttt{\dittomark}}% +On y trouve aussi une sous-option très spéciale : \\ +\verb|\abbreviations| qui permet de consulter le fichier des +\index{fichier!des abréviations}% +\index{fichier!frabbrev@\texttt{frabbrev.tex}}% +abréviations fourni (\vers|frab|\-\vers|brev.tex| par défaut) + à {\em chaque} demande explicite +d'abréviation de mot, de la forme : \verb|"Mot_à_abréger"| ; + s'il figure dans le fichier il est alors abrégé +correctement sinon, un message est émis et le mot est composé +comme il a été saisi (avec les guillemets) ; ainsi, +\verb|"premier"| imprime "premier" et \verb|"Numéro"12| donne% +\index{Numero@\texttt{\backslash Numero}}% +\index{Numero@\texttt{\dittomark Numero\dittomark}}% +\index{premier@\texttt{\dittomark premier\dittomark}}% +\footnote{Pour imprimer \Numero{} il semble plus approprié d'utiliser +directement +la commande \texttt{\backslash Numero} (voir §~\ref{numero}).} +"Numéro"12 mais \verb|"GUTenberg"| s'imprimera "GUTenberg" (car +\index{abreviations@abréviations!GUTenberg}% +\index{GUTenberg!abréviation de}% +nous n'acceptons pas d'abréviation de GUTenberg). + +On notera que les majucules et minuscules sont importantes +dans le \vers|Mot_|\-\vers|à_|\-\vers|abréger| +car la comparaison se fait à l'identique +\maj +dans le fichier des abréviations. Il faudra donc éviter d'utiliser +des abréviations dans un argument de commande +qui peut faire des transformations sur les +lettres. + +Cette mécanique d'abréviations étant assez primitive au niveau informatique +(relecture du fichier à chaque demande d'abréviation), le fichier des +abréviations doit rester de petite taille. +C'est la raison pour laquelle nous +n'y avons mis qu'un jeu assez restreint d'abréviations. +Ce fichier n'est pas +modifiable mais par contre vous pouvez préciser votre propre fichier +\gdef\iX{\texttt{\backslash abbreviations[fichier]}}% +\index{abreviations@abréviations!abreviations2@\iX}% +\index{abreviations@abréviations!\texttt{\backslash abbreviations}}% +\index{noabreviations@\texttt{\backslash noabbreviations}}% +d'abréviations par la commande : \verb|\abbreviations[fichier]|. + +Rappelons qu'en \TeX{} le caractère \verb|"| est +normalement le début d'une valeur +hexadécimale. L'option \verb|\abbreviations| interdit donc temporairement +cette forme de codage (voir §~\ref{compatibilite}).\\ +\maj +\verb|\noabbreviations| est l'option par défaut. + +\medskip +\noindent +Il existe aussi : +\begin{itemize}\label{moretolerance} +\item \verb|\moretolerance| qui peut être utilisé, en dernier recours, +\index{moretolerance@\texttt{\backslash moretolerance}}% +lorsque les césures ne peuvent se faire correctement malgré tous +les artifices déjà employés (rajouter ou retirer +des mots, +forcer des coupures avec \verb|\allow|\-\verb|hyphens|, +\index{allowhyphens@\texttt{\backslash allowhyphens}}% +imposer des coupures avec +\verb|\-|, \etc.). À chaque fois que l'ordre +\index{\texttt{\backslash-}}% +\verb|\moretolerance| est fourni la {\em tolerance} de \TeX{} est +doublée. La portée de cet ordre doit donc être limitée par des +accolades \{\ \} ou tout autre moyen sûr. L'aspect négatif de cet +ordre concerne l'extension de l'espace inter-mots qui ne manquera +pas de se produire car \TeX\ aura alors tendance à rajouter de la +\emph{glue} plutôt que de produire des coupures de mots en bout +de ligne, les deux étant toutefois possibles : +\begin{figurette} +\Large +\center +\fbox{% +\parbox{0.5\linewidth}{% +\moretolerance\moretolerance\moretolerance +Ici j'ai fourni trois fois cette commande et vous devriez +vous rendre compte de l'effet de relâchement produit +(inégalité, d'une ligne à l'autre, des espaces entre les mots). + }}% +\end{figurette} + +\item \texttt{\backslash}\verb|!| est un ordre \TeX{} qui +a été adapté pour +\index{\texttt{\backslash\exclam}}% +\index{espace!fine@fine négative (\texttt{\backslash\exclam})}% +pouvoir être aussi utilisé dans le texte courant. Il permet de retirer +une espace fine entre deux mots et peut ainsi faciliter la mise en page +lorsque les coupures s'avèrent délicates. Rappelons que l'ordre +\texttt{\backslash,} permet à l'inverse de rajouter une espace fine. +\index{\texttt{\backslash,}}% +\index{espace!fine@ fine (\texttt{\backslash,})}% +\end{itemize} + +\subsubsection{\texttt{\backslash frenchwarnings}} +Cette dernière partie est consacrée aux messages d'avertissement que peut +émettre l'extension {\eFrench}. On y trouve les sous-options suivantes : + +\begin{itemize} +\item \verb|\frenchtrivsepwarnings| indique qu'il faut émettre les messages + d'attention relatifs aux espacements verticaux non respectés. En effet, + l'extension {\eFrench} impose son propre espacement vertical +\index{espace!vertical}% +\index{frenchtrivsepwarnings@\texttt{\backslash frenchtrivsepwarnings}}% + (voir \verb|\french|\-\verb|trivsep| page~\pageref{frenchtrivsep}) dans + les principaux environnements \LaTeX{}, ce qui empêche + --~en théorie~-- l'utilisateur + de les modifier ; ce dernier est donc averti à chaque fois + qu'il tente d'utiliser un tel environnement modifié ; + cela est l'option par défaut. + Vous pouvez toujours choisir vos propres espacements verticaux + mais vous devez le faire avec l'ordre \verb|\frtrivseplengths| +\index{frtrivseplengths@\texttt{\backslash frtrivseplengths}}% + décrit page~\pageref{frenchtrivsep}. Vous pouvez aussi revenir à + l'espacement standard en codant \verb|\nofrench|\-\verb|trivsep|. + Si vous souhaitez plutôt ne plus avoir de messages de ce genre + il vous suffit de coder l'option inverse ci-après. + +\item \verb|\nofrenchtrivsepwarnings| dispense, en effet, + {\eFrench} +\label{ftsw}% +\index{nofrenchtrivsepwarnings@\texttt{\backslash nofrenchtrivsepwarnings}}% + d'émettre des messages lorsque l'utilisateur + (ou une extension ou une classe) tente de modifier + les valeurs d'espacement vertical choisies par \eFrench. + +\item \verb|\nofrenchwarnings| supprime tous les messages émis par +\index{nofrenchwarnings@\texttt{\backslash nofrenchwarnings}}% + {\eFrench}. Cela ne peut prendre effet qu'après le + chargement complet de l'extension {\eFrench}. Cette option + est très déconseillée. +\end{itemize} + +\subsection{Utilisation multilingue}\label{multilingue} +\index{utilisation!multilingue}\index{langues}\index{langages}% +\seealso{langages}{langues} +À chaque {\em langue} ou {\em langage} + indiqué dans le fichier +\verb|language.dat| l'extension {\eFrench} définit une commande du +même nom. Si nous notons ce langage sous la forme : +\verb|<|{\em langage}\verb|>|, +la commande s'écrira alors \verb|\<|{\em langage}\verb|>|. +Cette nouvelle commande permet alors de passer du français% +\footnote{Chaque commande \texttt{\backslash\string<}{\em langage}\texttt{\string>} +permet de passer en fait du langage actif à ce nouveau +\texttt{\string<}{\em langage}\texttt{\string>}.} + à ce \verb|<|{\em langage}\verb|>|. + +\begin{MAJ} +Toutefois, il y a des exceptions. Un exemple, c'est le passage à la langue arabe, qui si eFrench +avait gardé ce schéma en toute occasion entrerait en conflit avec le formatage de nombre +en notation arabe qui est défini par \verb|\arabic|. Dans tous les cas où la définition simple +mènerait à un conflit, il faut choisir \verb|\<|{\em langage}\verb|>Lang| +\index{langage@\texttt{\backslash<{}}{\em langage}{\tt>Lang{}}}% +donc passer à la +langue arabe par \verb|\arabicLang|. Dans tous ces cas, un message est envoyé au journal. +\end{MAJ} + +En fonctionnement normal une option de style \verb|<|{\em langage}\verb|>| +(dont le code est dans le fichier +\index{fichier!.sty@{\tt<\em langage\tt>.sty}}% +\verb|<|{\em lan\-gage}\verb|>|\texttt{.sty}) +définit une commande \verb|\<|{\em langage}\verb|>TeXmods| +\index{langage@\texttt{\backslash<{}}{\em langage}{\tt>{}}}% +\index{langageTeX@\texttt{\backslash<{}}{\em langage}{\tt>TeXmods}}% +pour compléter cette nouvelle langue (définir des commandes +ou faire des actions spécifiques) +et une autre : \verb|\end<|\emph{langage}\verb|>| pour +stopper son action. + +\begin{MAJ} +Les exceptions comme celle touchant la langue arabe ne touchent pas + \verb|\<|{\em langage}\verb|>TeXmods|. +Pour la langue arabe, les actions spécifiques vont être définies par +\verb|\arabicTeXmods|, par exemple. +\end{MAJ} + +L'utilisateur +\LaTeX{} doit débuter ses documents par quelque chose comme :\\ +\index{usepackage@\texttt{\backslash usepackage}}% +\verb| \documentclass{|{\em classe}\verb|}|\\ +\verb| \usepackage{<|{\em langage}\verb|>,french}|\\ +La dernière langue indiquée dans la liste +est celle qui débute +le document. Un style anglais {\em rudimentaire} + est fourni (fichier \verb|fenglish.sty|) +\index{fichier!fenglish.sty@\texttt{fenglish.sty}}% +avec l'extension {\eFrench} ; il peut servir d'exemple. + +Ensuite, s'il donne satisfaction, ce << langage >> pourra +être utilisé avec l'extension \emph{mlp} qui est indépendante +\index{extension!mlp@\emph{mlp}}% +\index{mlp@\emph{mlp}}% +de {\eFrench}. + +Rappelons que le changement de langage influe sur la coupure, la typographie, +le titrage, la mise en page, le codage d'entrée, les messages, +les macros-instructions, etc. + +Une commande est aussi disponible dans \eFrench\ pour {\em ajouter} +une nouvelle langue << à la volée >> :\\ +\verb| \NouveauLangage[n]{nom_de_langue}|\\ +\index{NouveauLangage@\texttt{\backslash NouveauLangage}}% +Le numéro de langue \verb|n| est requis, +\index{numeros@numéros des langues}% +il fournit le numéro {\em interne} de +la langue à utiliser par \TeX{} pour gérer ses tables de césure. +\index{cesure@césure}\index{table de césure}% +Ce numéro\footnote{Ce numéro de langage doit être exprimé sous +forme caractère (il ne peut s'agir d'un compteur \TeX{}).} + \verb|n| doit donc déjà +exister au moment où la commande \verb|\NouveauLangage| est émise ; +il doit être précisé. C'est +pourquoi une entrée virtuelle est proposée dans le fichier +\index{language.dat@\texttt{language.dat}}% +\index{fichier!language.dat@\texttt{language.dat}}% +\texttt{lan\-guage\-.dat}, permettant ainsi d'avoir un +numéro de langue réservé pour des usages futurs. + +La commande \verb|\NouveauLangage| définit uniquement un ordre +\verb|\<|{\em langage}\verb|>| mais ne passe pas à cette langue. + Pour changer de langue il +suffit de demander \verb|\<|{\em langage}\verb|>|. + + Une commande \verb|\beginlanguage| est utilisable lorsqu'il est +\index{beginlanguage@\texttt{\backslash beginlanguage}}% +nécessaire de reprendre la composition avec le +\verb|<|{\sl langage}\verb|>| +qui a été utilisé au début du document +("cad" juste après le +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\verb|\begin{docu|\-\verb|ment}|) donc normalement la dernière option +de langue fournie dans la commande \verb|\usepackage|. +\index{usepackage@\texttt{\backslash usepackage}}% + +La commande \verb|\languagename| doit toujours contenir le nom du langage +actif. +\index{languagename@\texttt{\backslash languagename}}% + +Parfois un document doit pouvoir << réagir >> dynamiquement à la langue +utilisée pour le composer. Une structure de programmation pour tester +l'activation de l'extension {\eFrench} est disponible :\\ +\verb| \ifFrench ... \else ... \fi| + +\subsection{Création de style personnel ou maison} +\label{styleperso} +\index{style!personnel ou maison}% +\seealso{style}{extensions} +Un créateur de style \LaTeX{} (normalement un maquettiste) est souvent une +personne qui modifie un style existant (une extension ou une classe +en général) et l'appelle autrement ; cela +n'est possible qu'avec les styles ayant une licence de type logiciel libre. +L'extension {\eFrench} n'est pas dans ce cas, cf. {\em Copyright} +(fichier +\linkandfootnote{copyright}{\texttt{Copyright.pdf}} +{http://efrench.org/bases/Copyright.pdf} + ou \texttt{copyrigh.tex}); il +\index{copyright}\index{\protect\copyright}% +\index{fichier!Copyright.pdf@\texttt{Copyright.pdf}}% +\index{fichier!copyrigh.tex@\texttt{copyrigh.tex}}% +n'est pas votre propriété et de plus il est mis à jour régulièrement. +Par contre l'extension {\eFrench} est entièrement paramétrable +et toutes +les commandes citées dans cette notice sont utilisables +dans d'autres styles ou extensions +pourvu que l'extension {\eFrench} ait été +préalablement chargée en extension \LaTeX{} ou +\index{input1@\texttt{\backslash input}}% +par la commande \verb|\input|. + +Quel que soit le moyen utilisé pour charger l'extension {\eFrench}, +les options ou commandes sont à préciser à l'aide de l'ordre +\label{usersf}% +\vers|\usersfrenchoptions| +qui sera défini avant +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +le \vers|\begin|\-\vers|{docu|\-\vers|ment}|. Voici un exemple --~utilisé pour +composer ce document~-- dans lequel j'ai +%\index{babel@\emph{babel}!users@\texttt{\backslash usersfrenchoptions}}% +%\index{usersfrenchoptions@\texttt{\backslash usersfrenchoptions}!{avec \texttt{babel}}}% +\index{usersfrenchoptions@\texttt{\backslash usersfrenchoptions}}% +choisi d'appliquer \vers|\overfull|\-\vers|hbox|\-\verb|mark| +et \vers|\disallowuchyph| à tout mon document : + +\medskip +\begin{versatim} +\usersfrenchoptions{% Voici les options que j'ai choisies. + \disallowuchyph % pas de coupure cap. + \overfullhboxmark % pas de carré noir. + }% +\end{versatim} +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% + +\medskip +\noindent +Peu importent alors les changements de langues réalisés tout au long +du document ; ces options personnelles seront imposées à chaque fois +qu'il sera fait appel à \vers|\french|. +Cette commande peut être appelée plusieurs fois, les paramètres +sont alors ajoutés aux précédents. + +Les libellés des titres usuels sont redéfinis +\index{libellés}\index{titres usuels}% +dans l'extension {\eFrench} +et il faut les utiliser dans les styles ou extensions que vous créez ; +voici leur définition à la \TeX{} : +{\smaller +\begin{verbatim} + \def\pagename{page} + \def\refname{Références} + \def\abstractname{Résumé} + \def\bibname{Bibliographie} + \def\contentsname{Table des matières} + \def\listfigurename{Table des figures} + \def\listtablename{Liste des tableaux} + \def\indexname{Index} + \def\seename{\emph{voir}} + \def\seealsoname{{\em voir aussi}} + \def\figurename{\textsc{Fig.}} + \def\tablename{\textsc{Tab.}} + \def\sommairename{Sommaire} + \def\partname{\ignorespaces\Ordinale{part}\ partie [...]} + \def\glossaryname{Glossaire} + \def\kwname{\textbf{Mots-clé}} + \def\draftname{- \noexpand\311preuve -}% imprimer épreuve (PS) + \def\prefacename{Préface}% + \def\headtoname{}% {à\space} est inusité. + \def\proofname{Démonstration}% + \def\ccname{c.c. } + \def\enclname{P.j. } + \def\PSname{P.-S. :} + \def\Objectname{Objet :} + \def\YourRefname{v/réf. :} + \def\OurRefname{n/réf. :} + \def\emailname{m.él. :} + \def\chaptername{Chapitre} + \def\appendixname{Annexe} + \def\slidename{Transparent} + \def\listslidename{Liste des transparents} + \def\ALG@name{algorithme}% + \def\listalgorithmname{Liste des \ALG@name s}% +\end{verbatim} +} + +D'autres libellés peuvent être traduits lorsque {\eFrench} détecte +la présence de certaines extensions (signaler à l'auteur de l'extension +et à moi-même les extensions qui ne sont pas traduites). +Vous pouvez, bien sûr, modifier ces libellés mais +il faut cependant ne pas +oublier de respecter la typographie française usuelle ; toute modification +doit être faite avec prudence. Si vous souhaitez, par exemple, +modifier le libellé << \textsc{Fig.} >> en << figurine >> il suffit +de coder : +\label{modiflibelle} +\begin{verbatim} +\fraddto\captionsfrench{\def\figurename{figurine}} +\end{verbatim} +\index{fraddto@\texttt{\backslash fraddto}}% +\index{captionsfrench@\texttt{\backslash captionsfrench}} + +D'autres commandes sont définies dans le cadre de la bibliographie, il +\index{bibliographie}% +s'agit de : +\begin{verbatim} + \def\andname{et} + \def\editorname{éditeur} + \def\editornames{éditeurs} + \def\volumename{volume} + \def\Volumename{Volume} + \def\ofname{de} + \def\numbername{numéro} + \def\Numbername{Numéro} + \def\inname{dans} + \def\Inname{Dans} + \def\editionname{édition} + \def\pagesname{pages} + \def\technicalreportname{Rapport Technique} + \def\revisionname{Révision} + \def\masterthesisname{DEA} + \def\phdthesisname{Thèse de doctorat} + \def\janname{janvier} + \def\febname{février} + \def\marname{mars} + \def\aprname{avril} + \def\mayname{mai} + \def\junname{juin} + \def\julname{juillet} + \def\augname{août} + \def\sepname{septembre} + \def\octname{octobre} + \def\novname{novembre} + \def\decname{décembre} +\end{verbatim} + +Si vous souhaitez les modifier ou en rajouter, vous pouvez +procéder de la même manière : +\begin{verbatim} +\fraddto\bibsfrench{\def\phdthesisname{Thèse PHD}} +\end{verbatim} +\index{fraddto@\texttt{\backslash fraddto}}% +\index{bibsfrench@\texttt{\backslash bibsfrench}} + + +Pour toute autre +personnalisation de l'extension {\eFrench} on se reportera +à l'article \cite{et98} publié dans les Cahiers GUTenberg et dont +on trouvera une version composée (% +\linkandfootnote{artET98}{\texttt{artET98.pdf}}% +{http://efrench.org/bases/doc/artET98.pdf}% +) dans la distribution. + +\subsection{Création d'une nouvelle classe \LaTeX} + + Pour les gourous (... uniquement !) la création d'une classe \LaTeX{} +est chose aisée. Si vous souhaitez utiliser {\eFrench} n'oubliez pas +que certaines commandes (macro-instructions) + peuvent être redéfinies par l'extension +{\eFrench} et que la plupart de ces redéfinitions sont effectuées au +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{document}\}}% +\verb|\begin{document}|. + + +Vous pouvez utiliser intentionnellement toutes les commandes de {\eFrench} +qui sont décrites dans ce document. Toutes les autres macro-instructions +comportant un << \texttt{@} >> sont susceptibles d'être +modifiées ultérieurement, à l'exception de : + +\verb|\f@lastpage| vous permet de définir une macro de ce nom pour +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{document}\}}% +réaliser une fonction spécifique en fin de dernière page du document +et avant que {\eFrench} termine pour sa part le document. +\index{falastpage@\texttt{\backslash f\at lastpage}}% + +Si vous souhaitez que {\eFrench} n'intervienne pas en fin de document, +il suffit de coder :\\\vers|\let\f@last|\-\vers|page\nofrenchlayout| + +\section{Utilisation réduite \\<< Poor Man French Style >>} +\label{reduit}\index{utilisation!réduite}% +\index{utilisation!appauvrie}% +Une version {\em du pauvre}\/ (<< Poor Man French Style >>) +est disponible à travers l'extension +\emph{pmfrench}. Elle peut-être chargée en mémoire +de façon usuelle, +par exemple : +\index{usepackage@\texttt{\backslash usepackage}}% +\begin{verbatim} + \documentclass[a4paper,11pt]{book} + \usepackage{pmfrench} +\end{verbatim} +\index{pmfrench@\emph{pmfrench}}% +\index{extension!pmfrench@\emph{pmfrench}}% + + +En faisant appel au << Poor Man French Style >> +on peut utiliser un {\em moteur} +\index{moteur!tex@\TeX}% +\TeX{} non francisé "cad" ne contenant pas les motifs +de césure français ni +la liste des exceptions, \etc. Le fichier \vers|language.dat| n'est alors + \index{fichier!d'exceptions}% +d'aucune utilité. La mémoire nécessaire à l'exécution +est plus réduite. +Plusieurs autres dispositifs sont inopérants, en voici +un résumé : +\begin{itemize} +\item les lettrines (\verb|\lettrine| et \verb|\flettrine|) ; +\index{lettrine@\texttt{\backslash lettrine}}% +\index{flettrine@\texttt{\backslash flettrine}}% +\item le mécanisme d'abréviation (\verb|"..."| et +\verb|\abbreviations|) ; +\index{abreviations@abréviations}% +\index{abbreviations@\texttt{\backslash abbreviations}}% +\item les guillemets de deuxième niveau avec +\verb|\noeveryeparguillemets| ; +\item le chargement du fichier des exceptions françaises dont + le nom a été précisé dans le fichier \vers|language.dat|. +\index{fichier!language.dat@\texttt{language.dat}}% +\end{itemize} +Si vous êtes curieux, vous vous apercevrez que +\vers|pmfrench.sty| est en fait +l'équivalent de \vers|french.sty| plus l'ordre \vers|\pmfrench|. +Lorsque cet ordre est placé dans le {\em préambule} "cad" avant le +\vers|\begin{|\-\vers|document}|, alors l'extension {\eFrench} s'exécutera +en mode réduit. Cela peut être utile, comme nous l'avons vu, sur +des sites n'ayant pas encore réalisé une installation complète +des fichiers de l'extension {\eFrench}. + +\section{Messages} + +Certains des messages suivants sont en anglais car ce sont en général +des erreurs qui peuvent survenir avant que la francisation soit +suffisamment mise en place. + +\begin{itemize} +\let\labelitemi\relax + +\item \texttt{-1- la macro xxx existe déjà.} \\ +Signifie que vous vouliez, à l'aide de \verb|\frenchalias|, + utiliser une commande sous un nouveau nom. Or ce nom est déjà +utilisé. La composition du document ne peut aller plus loin +en besogne. +\index{frenchalias@\texttt{\backslash frenchalias}}% + +\item \texttt{-2- file ... not found.} \\ +Le fichier dont le nom est indiqué est indispensable à la bonne +marche de {\eFrench}. Vérifiez si les chemins d'accès à ce +fichier sont en service. + +\item \texttt{\phantom{-2-} fichier ... non trouvé.} \\ +Dans sa version française, ce message ne témoigne + pas forcément d'une erreur ; +à vous de voir si le fichier en question est vital, ou non, +pour la composition du document. + +\item \texttt{-3- l'option (pm)french n'est pas active ici !} \\ +Vous avez fait appel à un ordre spécifique de l'extension +{\eFrench} mais vous n'êtes pas dans +un environnement où la langue \texttt{\backslash french} est active. +\index{langues!french@\texttt{\backslash french}}% +Peut-être, êtes-vous +en anglais ou en \texttt{nonfrench} ? +\index{begin@\texttt{\backslash begin}!\texttt{\backslash begin}\{\texttt{nonfrench}\}}% +\index{end@\texttt{\backslash end}!\texttt{\backslash end}\{\texttt{nonfrench}\}}% +\index{nonfrench@\texttt{\backslash nonfrench}}% +\index{endnonfrench@\texttt{\backslash endnonfrench}}% + +\item \texttt{-4- entering now `\relax`Poor-Man-French-Style'\relax' way.} \\ +C'est l'extension \emph{pmfrench} +\index{pmfrench@\emph{pmfrench}}% +(le {\eFrench} du pauvre) qui est activée, soit automatiquement par suite +d'anomalies soit à votre demande. + +\item \texttt{-5- définition de lettrine incorrecte.} \\ +Vous avez probablement +dû employer des apostrophes ou des guillemets dans le texte de la lettrine. +Ceux-ci doivent être indiqués différemment, voir la syntaxe des ordres +de lettrines. + +\item \texttt{-6- lettrine à revoir.} \\ +Les choix que vous avez imposés pour la +mise en page de cette lettrine conduisent à un mauvais résultat comme, par +exemple, une lettrine ne portant que sur une seule ligne. Il est +souhaitable de revoir le paramétrage. + +\item\texttt{-7- lettrine réduite à 1 seule lettre.} \\ + Une lettrine se +compose au minimum d'une lettre mise en valeur et d'un texte mis +en petites capitales. Vous avez dû omettre ce dernier texte. + +\item\texttt{-8a- \backslash footnotetext}\{{\tt...}\}{\tt{} perdu.}\\ + \texttt{-8b- Coder event. }\verb|\protect\footnote.|\\ +Signifie en général que vous avez utilisé une \verb|\footnote| dans un +\verb|\caption| de tableau ou dans un \verb|\mbox|. +L'extension {\eFrench} ne pouvant +mettre correctement le texte de la note en bas de page (défaut actuel +de \LaTeX{}), vous devez, vous-même, insérer la commande +\verb|\footnotetext{...}| après le tableau ou le \verb|\mbox|. +Cette erreur peut être fatale dans les titres de section +si vous n'avez pas codé \verb|\protect| devant \verb|\footnote|. +\index{protect@\texttt{\backslash protect}}% +\index{mbox@\texttt{\backslash mbox}}% +\index{caption@\texttt{\backslash caption}}% +\index{footnote@\texttt{\backslash footnote}}% +\index{footnotetext@\texttt{\backslash footnotetext}}% + +\item\texttt{-9- Corrupted/absent language.dat file.}\\ +L'extension {\eFrench} vérifie à chaque exécution que le fichier +de configuration +\texttt{language.dat} qui lui est accessible est bien compatible +avec celui utilisé à la création du format. Ce fichier doit donc être +présent et accessible. L'ordre des langues ne peut être changé mais +d'autres langues peuvent être rajoutées pour des tests. Les motifs de +césure ne sont pris en compte qu'à la création du format. + +\item\texttt{-10- french package not loaded.}\\ +Témoigne d'une utilisation du fichier \verb|frpatch.sty| +en dehors de l'extension {\eFrench}. +\index{fichier!frpatch.sty@\texttt{frpatch.sty}}% + +\item\texttt{-11- application du \string<\relax\string< % + frpatch \string>\relax\string> yy/mm/dd.} \\ +Signifie que le patch en question est appliqué à l'extension +{\eFrench}. + +\item\texttt{-12- frpatch.sty est périmé, fichier à détruire.} \\ +Signifie que les corrections ont maintenant été apportées à +la version de l'extension {\eFrench} que vous utilisez, aussi +il faut effacer définitivement ce fichier de patch de votre système. + +\item\texttt{-13- le caractère `\relax`...'\relax' est déjà actif,}\\ + \texttt{\phantom{-13-} la double ponctuation est alors désactivée.} \\ +Vous utilisez +très probablement +un style ou une extension qui fait déjà usage de ce ou ces +caractères. Pour éviter toute anomalie de fonctionnement, l'extension +{\eFrench} désactive alors l'effet de la double ponctuation +(\verb|! : ; ?|) pour tout votre document. Si ce n'est pas ce que vous +voulez, essayez de charger l'extension en question, soit après le +chargement de l'extension {\eFrench} soit dans un environnement +\texttt{nonfrench}. + +\item \texttt{-14- fermeture de guillemets non ouverts.} \\ +Vous êtes à la fin +d'une citation mais vous souhaitez fermer +les guillemets alors qu'aucun guillemet ouvrant n'a été employé +à ce niveau. Vérifiez l'imbrication de vos environnements. +\maj +Avec une lettrine, l'environnement guillemets se termine +obligatoirement à la fin du paragraphe (même sans guillemets fermants). +Donc, si la citation doit se poursuivre au paragraphe suivant il est +nécessaire d'ouvrir à nouveau les guillemets. + +\item \texttt{-15- le langage \frenchname\space porte le % + numéro ...} \\ +L'extension {\eFrench} vous indique le +numéro interne employé pour le langage \texttt{french}. Ceci est +exceptionnel car cela veut dire qu'aucun langage \texttt{french} +n'avait été défini au niveau de votre {\em format\/} +mais qu'un numéro +a pu être attribué grâce au fichier \texttt{language.dat}. +\index{fichier!language.dat@\texttt{language.dat}}% +\index{language.dat@\texttt{language.dat}}% + +\item \texttt{-16- the English language\space is numbered ...} \\ +Même explication +que pour le message précédent mais portant ici sur l'anglais. + +\item \texttt{-17- \backslash wrongtypedspaces est % + inopérant dans ce contexte.}\\ +Cet ordre ne peut être utilisé seul à ce niveau. +Il doit être précédé ici +de l'ordre \vers|\letpunctua|\-\vers|tion|\-\vers|activefor| +juste avant de quitter +le français pour une autre langue. +\index{wrongtypedspaces@\texttt{\backslash wrongtypedspaces}}% +\index{letpunctuationactive@\texttt{\backslash letpunctuationactive}}% + +\item \texttt{-18- (pm)french.sty force l'option \backslash nofrenchguillemets \\ +en mode maths avec AmSLaTeX.}\\ +En effet, les chevrons ou guillemets sont employés à un autre usage +en mode mathématique avec AmS\LaTeX{}. +\index{nofrenchguillemets@\texttt{\backslash nofrenchguillemets}}% +\index{guillemets!avec AmS\LaTeX{}}% +\index{AmSLaTeX@AmS\LaTeX{}}% + +\item \texttt{-19- utilisation du langage interne numéro...} \\ +Votre +document va être composé avec l'extension \emph{pmfrench} +(le {\eFrench} du pauvre). Aucun +langage \texttt{french} n'a été trouvé dans le format, aucun fichier +de configuration +\texttt{language.dat} n'a été trouvé, dans ces conditions l'extension +{\eFrench} vous indique le numéro de langue interne qu'il va +utiliser. À vous de voir si ce numéro est acceptable pour la mise +en page de votre texte français. + +\item \texttt{-20- WARNING: the french language is undefined in your \\ +\phantom{-20-} format.} \\ +\texttt{\phantom{-20-} the french language is undefined (ERROR!)} \\ +Vous ne pouvez utiliser l'extension {\eFrench} sans que votre moteur \TeX{} +\index{moteur!tex@\TeX}% +soit un minimum francisé, c.-à-d. dispose par exemple de +motifs de césure adaptés. Sinon, vous pouvez toujours faire le choix +de l'extension \emph{pmfrench} (le {\eFrench} du pauvre). +Le premier message n'est qu'un avertissement +si le fichier \texttt{language.dat} définit le français ; si ce n'est +pas le cas le deuxième message est émis. + +\item \texttt{-21-\backslash}{\em xxx}\texttt{TeXmods n'est pas défini.} \\ +Vous avez demandé à +travailler avec la langue {\em xxx} mais celle-ci est inconnue +ou, tout au moins, la commande +\texttt{\backslash}{\em xxx}\texttt{TeXmods} n'est pas définie. + +\item \texttt{-22- abréviation de `\relax`...'\relax' non trouvée.} \\ +Le fichier d'abréviation ne contient pas l'abréviation citée. +Vérifiez qu'il +ne s'agit pas d'une incompatibilité de codage (7-bits {\em vs} 8-bits) +entre le nom donné et le fichier des abréviations. + +\item \texttt{-23- Extension : style (pm)french V...-- date -- (B.Gaulle).}\\ +Ceci est la bannière de l'extension {\eFrench}. + Pensez à vous mettre à jour régulièrement. + +\item \texttt{-24- (pm)french.sty utilise dans ce document le codage}\\ + \texttt{\phantom{-24-} de fonte (O)T1.}\\ +Ceci est un message d'information permettant de voir quel codage de fonte +a été détecté par {\eFrench} et sera utilisé pour tout le document. +Vous avez toujours le loisir de changer de codage {\em avant} +le chargement initial de {\eFrench} de façon qu'il détecte celui qui +convient à l'ensemble des parties françaises du document. +\index{codage!utilisé}% +\index{codage!changement de}% +\index{OT1@\texttt{OT1} (codage)}% +\index{T1@\texttt{T1} (codage)}% + +\item \texttt{-25- (pm)french.sty affiche ici ses messages en 7-bits}\\ + \texttt{\phantom{-25-} }\verb|(\`|\texttt{a la TeX).}\\ + Le format \LaTeX{} qui a été créé ne supporte pas le 8-bits en + sortie. Cela peut effectivement venir du moteur \TeX\ car tous +\index{moteur!tex@\TeX}% + ne disposent pas de cette facilité. Si ce n'est pas le cas, + probablement que le format a été créé sans utiliser + le configurateur de clavier \texttt{kbconfig} +%%%%%%%%%%%%%%%%%%%%% +\ifnoDOCinstall\else% +%%%%%%%%%%%%%%%%%%%%% +(cf. \ref{kbconfig} page \pageref{kbconfig}) +\fi% +.\\ + Dans d'autres cas, les messages ne peuvent même pas être + émis << à la \TeX\ >> ; les ordres d'accentuation + sont alors totalement éliminés.\\ + Si vous souhaitez + toutefois afficher les messages en 8-bits, forcez l'option + \verb|\usualmessages|. +\index{usualmessages@\texttt{\backslash usualmessages}}% + +\texttt{-25- (pm)french.sty affiche ici ses messages en 8-bits.}\\ + Ceci est l'option normale si le moteur \TeX{} est capable de produire +\index{moteur!tex@\TeX}% + du 8-bits en sortie, à la place des caractères héxadécimaux sous + la forme \verb|^^xx|. Cette option peut avoir été forcée par la + commande \verb|\usualmessages|. + +\item\texttt{-26a- Erreur détectée dans (pm)french.sty.}\\ + \texttt{-26b- (voir p.ex. le fichier language.dat)}\\ +Ceci ... ne devrait jamais arriver. Dans ce cas, après les vérifications +d'usage concernant votre document et ses macros, il faut essayer +de reproduire le problème sur un exemple plus réduit et me l'envoyer. + +\item\texttt{-27- (pm)french.sty language x (y) was initially}\\ + \texttt{\phantom{-27-} (at initex) numbered z (ERROR!)}\\ +Signifie que l'ordre des langues a été probablement modifié +dans le fichier \verb|language.dat| ou qu'il ne s'agit pas +du bon fichier. +\index{fichier!language.dat@\texttt{language.dat}}% + +\item \texttt{-28- ATTENTION : TeX Version 2 ne permet pas d'utiliser des \\ + \phantom{-28-} caractères accentués 8-bits.} \\ +Il est grandement +temps de passer a \TeX{} V3 ! (ce message est émis par \texttt{kbconfig}). + +\item \texttt{-29a- ***Warning***: TeX engine in use along with CM fonts}\\ + \texttt{-29b- (as in current TeX format) isn't sufficient}\\ + \texttt{\phantom{-29b-} to hyphenate}\\ + \texttt{-29c- words containing diacritics (like in French).}\\ +Ce que l'on appelle communément la {\em césure} des mots ne pourra +jamais être effective, dans ces conditions (fontes \emph{cm}), +sur des mots comportant des lettres accentuées. +\index{fontes!cm@\emph{cm}}% +Il s'agit là du plus grave défaut de francisation +que vous obtiendrez mais il y en a d'autres... Il serait peut-être +bon de considérer l'installation d'un moteur \TeX\ avec option +\index{moteur!tex@\TeX}% + \oMlTeX{} ou la mise en place, +par défaut dans le {\em format\/}, de polices de caractères 8-bits +(ce message est émis par \texttt{kbconfig} ou par {\eFrench}). + +\ifnoDOCinstall\else +\item \texttt{-30- ERROR!} \\ +\texttt{Something wrong! your TeX engine can't hyphenate correctly}\\ +\texttt{french words with diacritics *in that current font* or}\\ +\texttt{encoding.}\\ +Vous essayez de charger des motifs de césure français 7-bits alors que +\index{moteur!tex@\TeX}% +votre moteur \TeX{} ne supporte pas la division des mots avec des +caractères accentués composés de la lettre et de l'accent. Si vous +n'avez pas de moteur avec option \oMlTeX{} +vous pouvez certainement utiliser des +fontes 8-bits, comme les fontes \emph{ec}, par exemple. Modifiez alors +le fichier de configuration avant de relancer \lsc{initex}. +\index{fontes!ec@\emph{ec}}% +\index{polices!ec@\emph{ec}}% +\fi + +\item \texttt{-31- Wrong French Hyphenation\string!} \\ +\texttt{\phantom{-31-} Are you sure to run with a format in which the french}\\ + \texttt{\phantom{-31-} patterns were installed at initex time\string?} \\ +Le dispositif de césure de \TeX{} n'a pas +donné le résultat escompté sur +quelques mots français. Avez-vous bien installé +les motifs de césure +français ? (message émis pas le << \em torture test >>). +Le message suivant peut alors apparaître : + +\item \texttt{-32- if yes try to switch to T1 font encoding}\\ + \texttt{\phantom{-32-} (\backslash usepackage[T1]{fontenc}).} \\ +En passant au codage de fontes \texttt{T1} vous utiliserez automatiquement +des fontes 8-bits (\emph{ec} par défaut) +et cela solutionnera peut-être votre problème. +\index{fontencoding@{\em fontencoding}!\texttt{T1}}% +\index{codage!\texttt{T1}}% +\index{T1@\texttt{T1} (codage)}% + +\ifnoDOCinstall\else +\item \texttt{-33- CHECK the list for hexadecimal TeX codes you can't} \\ +\texttt{\phantom{-33-} display}\\ +\texttt{-33- and decide if they must be eliminated from xxx.kbc}\\ +\texttt{-33- assuming your} \verb|``locale''| + \texttt{settings are okay on your}\\ +\texttt{\phantom{-33-} system.}\\ +Vous utilisez le générateur \texttt{kb2lex} +qui produit des fichiers \texttt{.lex} +à partir des tables de codage \verb|<|\emph{langage}\verb|.>|xxx\texttt{.kbc}. +\index{fichier!.kbc@\texttt{.kbc}}% +\index{fichier!.kbc@\texttt{<}\emph{langage}\texttt{.}xxx\texttt{.kbc}}% +\index{langage.xxx.kbc@\texttt{<}\emph{langage}\texttt{.}xxx\texttt{.kbc}}% +Ces fichiers, une fois compilés par \texttt{lex} +puis en C, vous donnerons des convertisseurs 7-bits et 8-bits. Les +caractères pris en compte par ces convertisseurs +sont listés à l'écran. +Si certains d'entre-eux apparaissent en héxadécimal cela signifie qu'il +y a une incompatibilité entre le fichier +\verb|<|\emph{langage}\verb|.>|xxx\texttt{.kbc} et l'affichage +de ces caractères par \TeX{} +sur votre écran. Il faut alors vérifier l'un et l'autre. + +De nombreux systèmes d'exploitation (spécialement \lsc{unix}) +\index{unix@\lsc{unix}}% +\index{système!unix@\lsc{unix}}% +permettent maintenant de traduire automatiquement le code produit +\maj +en sortie par une application ; il s'agit du mécanisme de \texttt{locale}. +\index{locale@\texttt{locale}}% +\fi + +\item {\tt +-34- this file and other auxiliary files require to \\ +\phantom{-34-} use the following LaTeX packages: french ...!\\ +\phantom{-34-} check \backslash usepackage or remove these files.\\ +\phantom{-34- }Typesetting is aborted!}\\ +Vous avez dans un passage \LaTeX{} précédent utilisé une (ou plusieurs) +extension +qui n'est plus demandée actuellement. Peut-être est-ce volontaire ? +Dans ce cas il est préférable d'effacer les fichiers auxiliaires pouvant +contenir des informations relatives à cette extension. Sinon, il suffit +de demander le chargement de l'extension ad hoc. + +\item \texttt{-35- kbconfig: Redefining }\verb|^^Y uccode|\\ + \texttt{\phantom{-35-} kbconfig: Redefining }\verb|^^Z uccode.|\\ + Ce message qui n'apparaît que dans le fichier log + témoigne d'un choix de \texttt{kbconfig}. + +\item \texttt{-36- ANOMALIE : nom de format LaTeX (...) invalide.} \\ + \texttt{\phantom{-36-} ANOMALIE : format LaTeX (...) non standard.} \\ +Le document << \em torture test >> a détecté une anomalie dans le +nom du format. La variable \verb|\fmtname| ne contient pas une valeur +standard. Il faut refaire un {\em format\/} avec un nom standard. +Dans le doute prenez une version plus à jour sur les serveurs. + +\item \texttt{-37- ANOMALIE : extension french active ici.} \\ +\texttt{\phantom{-37-} ANOMALIE : extension french inactive ici.} \\ +La commutation de langue semble ne pas fonctionner de façon +satisfaisante avec le document de test \texttt{frenchlb} ({\em torture test}). +Voir du côté du fichier \texttt{language.dat} et de la création du +{\em format}.% +\index{fichier!language.dat@\texttt{language.dat}}% +\index{language.dat@\texttt{language.dat}}% + +\ifnoDOCinstall\else +\item\texttt{-38- the language x is used as language number n.}\\ +Ce message fournit le numéro interne \TeX{} pour la langue considérée +(émis par \texttt{hyconfig}). + +\item\texttt{-39- Error: file language.dat not found, trying}\\ + \texttt{\phantom{-39-} to load US-english hyphenation file.}\\ +Signifie que \texttt{hyconfig} n'a pas trouvé de fichier +\texttt{language.dat} et ne peut donc pas charger de motifs de +césure. Par défaut les motifs utilisés par \TeX{} de façon +standard vont être chargés, s'ils sont accessibles. +\index{fichier!language.dat@\texttt{language.dat}}% + +\item\texttt{-40- Writing kb8to7.lex et kb7to8.lex.}\\ +Ce message avertit l'utilisateur de la création des 2 fichiers +\texttt{lex} par le programme \texttt{kb2lex.tex}. Ces fichiers serviront +à générer ensuite des programmes C permettant la conversion +automatique de fichiers de 7-bits vers 8-bits et réciproquement. + +\item\texttt{-41- Format is out of date, please run initex again.}\\ +L'extension {\eFrench} s'est aperçue d'une incohérence +au niveau des commandes de césure. Ces dernières correspondent +à une installation antérieure de {\eFrench} qui les plaçait +dans le format. Ce n'est plus le cas actuellement (depuis la +version 4.00), aussi il est impératif de refaire le format avec +les nouveaux fichiers d'installation. +\fi + +\item\texttt{-42- The French patch file (frpatch.sty) is not suitable for}\\ + \texttt{\phantom{-42-} this version of the \string"french\string"} + \texttt{package dated YY/MM/DD.}\\ +Signifie qu'un fichier de \textit{patch} a été trouvé dans le +système mais qu'il ne convient pas à la version de l'extension +{\eFrench} que vous utilisez. Il est nécessaire d'accorder +l'un avec l'autre. Dans le doute vous pouvez toujours renommer +le fichier de \textit{patch} pour qu'il ne soit pas trouvé. +\index{fichier!frpatch.sty@\texttt{frpatch.sty}}% + +\item\texttt{-43- french.all is LOADED.}\\ +Ceci est un message d'information signifiant l'exécution du programme de +débogage \texttt{french.all} +\index{fichier!french.all@\texttt{french.all}} +destiné à vérifier l'existence des commandes de l'extension {\eFrench} +et leur exécutabilité. + +\item\texttt{-44- ERROR Command ... is undefined.}\\ +Cette commande supposée être dans l'extension {\eFrench} n'existe pas. +Il se peut que cette commande soit effectivement une commande périmée. +Message émis par \texttt{french.all}. + +\item\texttt{-45- executing ...}\\ +Le jeu de test \texttt{french.all} exécute la commande indiquée. Il +s'ensuit éventuellement d'autres messages si cette commande n'est +pas exécutée dans le bon environnement. + +\item\texttt{-46- Cette commande est déjà définie dans le style french.}\\ + \texttt{\phantom{-46-} Problème éventuel avec le style french (macro ...).}\\ +Ces messages d'erreur sont produits par le programme \texttt{french.chk} +\index{fichier!french.chk@\texttt{french.chk}}% +qui permet de déboguer un document et de vérifier s'il utilise +déjà des commandes spécifiques à l'extension {\eFrench}. + +\ifnoDOCinstall\else +\item \texttt{-47- i must stop because your TeX engine is unable\\ + \phantom{-47- }\tt to generate 8bit output codes, sorry!}\\ +Ce message émis par \texttt{kb2lex} +\index{fichier!kb2lex@\texttt{kb2lex}}% +vous signale que votre moteur \TeX{} ne dispose pas de l'extension +\index{moteur!tex@\TeX}% +(\emph{change file}) de sortie en 8-bits sur les fichiers +externes et à l'écran. Vous pouvez alors +envisager d'utiliser (et adapter +si nécessaire) les fichiers \texttt{kb8to7.c} et \texttt{kb7to8.c} +\index{fichier!kb7to8.c@\texttt{kb7to8.c}}% +\index{fichier!kb8to7.c@\texttt{kb8to7.c}}% +qui correspondent à une utilisation du +\maj +codage d'entrée supposé pour votre système d'exploitation. +\index{fichier!decmulti.kbc@\texttt{decmulti.kbc}}% +Une compilation C de ces fichiers génèrera les programmes exécutables des +traducteurs 7-bits \texttt{<}--\texttt{>} 8-bits. +\fi + +\item\texttt{-48- Lecture du fichier de configuration de (pm)french.}\\ +Un fichier de configuration \texttt{(pm)french.cfg} +\index{fichier!(pm)french.cfg@\texttt{(pm)french.cfg}}% +a été détecté sur l'installation. Il est lu et les ordres +exécutables sont appliqués. Au cas où les options choisies par +l'installateur ne vous conviennent pas, vous pouvez toujours +les changer avec l'ordre \verb|\usersfrenchoptions| +(voir §~\ref{usersf} page \pageref{usersf}). +\index{usersfrenchoptions@\texttt{\backslash usersfrenchoptions}}% + +\item\texttt{-49- fermeture prématurée de guillemets.}\\ +Les guillemets sont fermés dans un autre environnement. Cela n'est pas +forcément une erreur mais dans ce cas l'environnement \emph{guillemets} +ne peut être fermé correctement et le bloc associé reste ouvert. Il faut +alors faire attention, par exemple, aux changements de police de caractères +dont l'effet risque de se prolonger plus qu'il ne faut. +On fermera correctement l'environnement \emph{guillemets} +\index{environnement!guillemets@\texttt{guillemets}}% +par une commande \verb|\endguillemets| placée au bon endroit +pour apparier les guillemets ouvrants. + +\ifnoDOCinstall\else +\item\texttt{-50- Error: the french language is undefined in language.dat \\ +\phantom{-50-} file.}\\ +Le fichier \texttt{language.dat} ne contient pas de ligne contenant la +définition de la langue française (\texttt{french}), ce qui est une +anomalie sérieuse pour créer un format français. +\fi + +\item\texttt{-51- ERREUR : ce document n'a pas été converti en 8-bits.}\\ +Certains documents de la distribution {\eFrench} doivent être convertis +en 8-bits avant utilisation. Selon le type de document, la composition est +arrêtée temporairement ou définitivement. + +\item\texttt{-52- Error: the (pm)french package doesn't run in such\\ + \phantom{-52-} minimal document class, sorry!}\\ +L'extension {\eFrench} ne peut fonctionner avec une classe de document +réduite, et en particulier avec la classe \texttt{minimal}. +\index{classe!minimal@\texttt{minimal}}% +\index{minimal@\texttt{minimal}}% + +\item\texttt{-53- environnement guillemets inutilisable avec l'option\\ + \phantom{-53-} \backslash noeveryparguillemets.}\\ +Vous devez alors saisir directement les guillemets en 7-bits ou en 8-bits +mais pas avec le nom d'environnement \texttt{guillemets} de \eFrench. +La commande \verb|\endguillemets| +reste disponible pour clore une double citation. +\index{noeveryparguillemets@\texttt{\backslash noeveryparguillemets}}% +\index{guillemets!noeveryparguillemets@\texttt{\backslash noeveryparguillemets}}% + +\maj +\item\texttt{-54- ERROR: \backslash unusedslot (...) is invalid}\\ + \texttt{\phantom{-54-} (active char. generating ...)}\\ +La case choisie dans le codage de fonte est déjà utilisée. Un +autre code hexadécimal doit être fourni dans le fichier +\texttt{keyboard.dat}. Ce code sert uniquement à la génération de la version +majuscule du caractère estzet. + +\item\texttt{-55- ERROR \backslash unusedslot (...) is not activated.}\\ +Le code hexadécimal a bien été fourni dans le fichier +\texttt{keyboard.dat} mais le caractère n'a pas été activé, d'où +l'erreur fatale. + +\ifnoDOCinstall\else +\maj +\item\texttt{-56- Pocessed 8bits characters are: ...}\\ +Ce message de \texttt{kbconfig.tex} est fourni l'ors de l'utilisation +du module \texttt{kb2lex.tex} pour vérifier si tous les caractères sont bien +affichés à l'écran (et non sous forme hexadécimale à la \TeX). +\fi + +\item\texttt{-57- keyboard.sty loaded; target font encoding is ...}\\ +Ce message avertit l'utilisateur que le codage d'entrée génèrera des codes +relatifs aux positions des caractères dans les fontes de type \texttt{OT1} +ou \texttt{T1} ou autre. +Si l'objectif de ce codage n'est pas le bon, alors il est indispensable de +faire appel à l'extension \emph{fontenc}, avec comme argument le codage +\index{extension!fontenc@\emph{fontenc}}% +\index{extension!keyboard@\emph{keyboard}}% +de fonte souhaité et ce avant l'appel à l'extension \emph{keyboard}. + +\item\texttt{-58- Valeur de ... ignorée.}\\ +\label{-58-} +Un environnement de liste a été utilisé avec modification d'espacement +vertical (\verb|\topsep|, \verb|\partopsep|, \verb|\itemsep| ou +\verb|\parsep|) alors qu'ils sont imposés par {\eFrench}. +\index{topsep@\texttt{\backslash topsep}}% +\index{partopsep@\texttt{\backslash partopsep}}% +\index{itemsep@\texttt{\backslash itemsep}}% +\index{parsep@\texttt{\backslash parsep}}% +\index{espace!vertical}% +Vous avez plusieurs solutions : soit vous abandonnez l'idée de les modifier +(si cela vient de vous) soit vous pouvez revenir aux espacements standard +de \LaTeX{} avec \verb|\nofrenchtrivsep| +\index{nofrenchtrivsep@\texttt{\backslash nofrenchtrivsep}}% +\index{nofrenchtrivsepwarnings@\texttt{\backslash nofrenchtrivsepwarnings}}% +soit enfin vous pouvez supprimer ce message avec l'ordre +\vers|\nofrenchtrivsep|\-\vers|warnings|. + +\item\texttt{-59- FATAL ERROR: unusual strange text generated.}\\ +La définition du codage d'entrée via \texttt{kbconfig} vient de +générer du texte à mettre en page ; c'est une anomalie complète +puisque vous êtes en train de vouloir produire un format. Cela +vient certainement de la définition des caractères dans le +fichier \texttt{.kbc} utilisé ; sinon envoyez-moi un rapport +de bogue. + +\item\texttt{-60- point manquant après \backslash etc (à la ligne ...).}\\ + La commande \verb|\etc| doit toujours être suivie d'un point. La + correction est à faire dans votre fichier source. + +\ifnoDOCinstall\else +\item\texttt{-61- hypht1.tex file not found.}\\ + Avertissement de l'inexistence du fichier de motifs de césure + complémentaire pour l'encodage de fontes T1. Message issu par + \texttt{hymltex.tex} ou \texttt{hyconfig.tex}. +\index{fichier!hypht1.tex@\texttt{hypht1.tex}}% + +\item\texttt{-62- additional hyphenation file loading for T1 fonts.}\\ + Avertissement du chargement complémentaire de motifs de césure + pour l'encodage de fontes T1 (\texttt{hypht1.tex}). Ces motifs sont + appliqués à toutes les langues ayant une liste non vide de motifs. + Ce message est issu par \texttt{hymltex.tex} ou \texttt{hyconfig.tex}. +\fi + +\item\texttt{-63- french/frenchle/frenchpro style files not found.}\\ + \texttt{\phantom{-63-} Check if files exist somewhere in your site.}\\ + Vous avez demandé une option \texttt{french} de \emph{babel} mais le + fichier \texttt{.sty} associé n'a pas été trouvé (soit + \texttt{frenchpro.sty} ou \texttt{french.sty} [pour la version pro] + soit \texttt{frenchle.sty} [pour la version allégée]). +\index{babel@\emph{babel}!options}% + Ce message est émis par \texttt{french.ldf}, \texttt{frenchle.ldf} ou + \texttt{frenchpro.ldf}. + Avant d'aller + chercher ces fichiers ailleurs, vérifiez qu'ils n'existent pas déjà dans + votre système et qu'ils ne sont pas inaccessibles pour quelque + raison technique. + +\ifnoDOCinstall\else +\item\texttt{-64- }\\ + \emph{réservé pour un usage futur.} +\fi + +\item\texttt{-65- [pm]french.sty charge les traductions pour la }\\ + \texttt{\phantom{-65-} bibliographie : ...}\\ + Les fichiers indiqués à la fin du message ont été pris en compte + par l'extension {\eFrench} pour décrire les libellés utilisés + dans la bibliographie. Ces noms de fichiers dépendent des extensions + de bibliographie chargées avant {\eFrench} (comme \emph{jurabib} +\index{extension!jurabib@\emph{jurabib}}% +\index{extension!fracm@\emph{fracm}}% + ou \emph{fracm}). Par défaut, \texttt{frbib.tex} et \texttt{enbib.tex} + sont chargés. On peut éviter ce chargement en saisissant : + \verb|\let\iffrench|\-\verb|biblio|\-\verb|graphy|\-\verb|\iffalse| + avant de charger {\eFrench}. +\index{fichier!frbib.tex@\texttt{frbib.tex}}% +\index{fichier!enbib.tex@\texttt{enbib.tex}}% +\index{iffrenchbibilography@\texttt{\backslash iffrenchbibliography}}% + +\ifnoDOCinstall\else +\item\texttt{-66- ERROR! This file can't be typeset without any input}\\ + \texttt{\phantom{-66-} encoding declaration}\\ + \texttt{\phantom{-66-} (look at keyboard or inputenc packages.)}\\ +Vous essayez de composer le test de torture sans avoir préparé de format +francisé \emph{ad hoc} ; c'est un cas d'erreur fatale. Pour pouvoir reprendre +il vous faut modifier le document pour charger quelques extensions +indispensables : la première est sans contest celle qui vous permettra +de fournir à \AllTeX\ des caractères accentués (8 bits) qu'il saura +interpréter. Pour cela la distribution {\eFrench} vous apporte +l'extension \emph{keyboard}. +\fi + +\item\texttt{-67- WARNING it seeems your are using inputenc and}\\ + \texttt{\phantom{-67-} keyboard, please chose!}\\ +Vous avez chargé deux extensions pour le même objectif : le codage +d'entrée de votre document ; une seule suffit. Bien entendu je +vous conseille \emph{keyboard} mais c'est vous qui choisissez selon +votre utilisation. + +\item\texttt{-68- ERROR: french is no more running}\\ + \texttt{\phantom{-68-} with 2.09 emulation, sorry!}\\ +Vous utilisez probablement un très vieux document qui n'a pas été +entièrement reconverti pour \LaTeXe\ ; cette version de {\eFrench} +ne peut être utilisée dans ce cas ; voir éventuellement dans la +distribution {\eFrench} le fichier de style +\texttt{frltx209.sty} du répertoire \texttt{obsolate} qui pourrait +vous dépanner temporairement. +\index{fichier!frltx209.sty@\texttt{frltx209.sty}}% . +\index{frltx209.sty@\texttt{frltx209.sty}}% +\index{dossier \texttt{obsolate}} +\index{répertoire \texttt{obsolate}} +\index{latex209@\LaTeX2.09} + +\ifnoDOCinstall\else% +\item\texttt{-69- kbconfig: Intercepting the dump control sequence }\\ + \texttt{\phantom{-69-} for eliminating few invalid chars.}\\% +Ce message émis à l'occasion d'une fabrication de format indique +que la commande \verb|\dump| a été interceptée pour pouvoir modifier +des définitions de caractères qui sont jugés comme des caractères +invalides en \LaTeX\ standard (cf message -35-). + +\item\texttt{-70- kbconfig: modifying % + \string\@tabacckludge for math.}\\% +La commande \LaTeX\ \verb|\@tabacckludge| a été redéfinie dans le format +pour éviter une boucle sans fin en cas d'utilisation en mode mathématique +avec l'extension \texttt{inputenc}. +\fi + +\item\texttt{-71- ATTENTION : si babel est utilisé, }\\% + \texttt{\phantom{-71-} mettre french en option}\\% +Vous avez probablement fait appel à \emph{babel} par une commande +du genre \verb!\usepackage![...]\verb!{babel}! puis vous avez demandé à charger +une extension french (\eFrench\ ou \texttt{frenchle}), +ce qui est incompatible. Soit vous utilisez \emph{babel} avec +l'option \texttt{frenchpro} ou \texttt{frenchle} soit vous utilisez +une extension french toute seule. Il est probable que la composition du +document n'ira pas bien loin... +\index{babel@\emph{babel}!en opt@{\frenchname} en option de}% + +\item\texttt{-72- kbconfig: utf8 encoding can't be completed with Plain!}\\ +\phantom{-72- } +\texttt{continuing with no Unicode characters.}\\% +Le codage \texttt{utf8} fait appel à du code spécifique à \LaTeX\ ; il +n'est donc pas utilisable avec Plain \TeX. +Par contre les fichiers +\texttt{*.lex} peuvent être générés correctement pour produire les +\index{convertisseurs!\texttt{kb8to7}}% +\index{fichier!*.lex@\texttt{*.lex}}% +convertisseurs \texttt{kb8to7} et \texttt{kb7to8}. + +\item\texttt{-73- ERREUR avec AmSTeX : frenchle/french/frenchpro.sty}\\ +\phantom{-73- }\texttt{a été chargé trop tot.}\\% +Il est indispensable de charger l'extension de francisation après +AmSTeX de façon à ce qu'elle s'adapte au contexte. + +\item\texttt{-74- ERROR, keyboard loaded after french...sty!}\\ +Il est indispensable de charger l'extension de francisation après +l'extension \texttt{keyboard} de façon à ce qu'elle s'adapte au contexte. + +\item\texttt{-75- kbconfig: utf8 encoding not found via inputenc package!}\\ +\phantom{-75- } +\texttt{continuing with no Unicode characters.}\\% +Le codage \texttt{utf8} fait appel à du code spécifique à \LaTeX\ introduit +en janvier 2004 ; il s'agit notamment du fichier \texttt{utf8.def} qui +\index{fichier!utf8.def@\texttt{utf8.def}}% +n'a pas été trouvé ; vous ne pourrez donc pas bénéficier de ce codage +tant que \LaTeX\ n'aura pas été mis à jour. +Par contre les fichiers +\texttt{*.lex} peuvent être générés correctement pour produire les +\index{convertisseurs!\texttt{kb8to7}}% +\index{fichier!*.lex@\texttt{*.lex}}% +convertisseurs \texttt{kb8to7} et \texttt{kb7to8}. + +\item\texttt{-75- kbconfig: no language dependencies available}\\ +\texttt{\phantom{-75- } within Plain TeX!}\\ +Le dispositif permettant de disposer de fichiers \texttt{*.kbc} en +\index{fichier!*.kbc@\texttt{*.kbc} avec Plain \TeX}% +fonction du langage utilisé n'est pas disponible avec Plain TeX. + +\end{itemize} + +%%%%%%%%%%%%%%%%%%%%% +\ifnoDOCinstall\else% +%%%%%%%%%%%%%%%%%%%%% + +\section{Installation et tests} +\index{installation}\index{tests}% +\subsection{Rappels} +Il est peut-être bon de rappeler les deux principaux niveaux + entrant en jeu dans la +francisation de votre installation \TeX{} : +\begin{itemize} +\item l'étape {\sc initex} qui est mise en ½uvre +par l'{\em installateur} +\index{initex@{\sc initex}}% +local crée le fichier {\em format} qui permet ensuite d'appeler +\LaTeX{} avec un minimum de commandes +pré-chargées ; c'est à la création +de ce format que doivent être inclus les fichiers de césure +\index{fichier!de césure}% +correspondant à toutes les langues qui seront utilisées par la suite ; +c'est aussi à cette étape que sont définis les +numéros internes de ces langues ; +le matériel {\sc initex} fourni avec la distribution +de l'extension {\eFrench} +permet à chaque installation d'avoir des numéros internes de langues +qui lui sont personnels sans pour autant l'empêcher de transmettre ses +documents sous forme source à d'autres installations dans le monde ; +cette technique qui fait appel au fichier de +\index{fichier!language.dat@\texttt{language.dat}}% +\index{language.dat@\texttt{language.dat}}% +configuration \verb|language.dat| (voir §~\ref{conf}) +est donc particulièrement conseillée +(les numéros des langages seront alors enregistrés dans le format) ; + +[C'est aussi à l'étape \lsc{INITEX} que devra être +défini le clavier +que vous utiliserez par la suite. Si votre {\em moteur} \TeX{} n'a +pas de mécanisme de filtres d'entrées-sorties comme par exemple le +\index{moteur!tex@\TeX}% +système \verb|TCP| de \verb|emtex| alors vous pourrez utiliser le +configurateur \verb|kbconfig| proposé par l'extension {\eFrench} +et utilisant \verb|keyboard.dat|.] +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% +\index{keyboard.dat@\texttt{keyboard.dat}}% + +Attention : vous ne pouvez pas précharger l'extension {\eFrench} dans +un {\em format\/}. + +\item chaque exécution de \LaTeX{} rappelle +inévitablement un format particulier ; +l'extension {\eFrench} n'interviendra et ne mettra en ½uvre tout ce qui +a été décrit ici que si elle est chargée en + mémoire (voir §~\ref{normal}) ; +\index{fichier!de configuration}% +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% +elle ira relire ce même fichier de configuration --~s'il existe~-- pour +connaître les numéros internes des langues utilisables +et leurs noms ; +par conséquent, si elle ne trouve pas de fichier \verb|language.dat| elle +supposera être déjà en français% +\index{MlTeX@Ml\TeX}% +\footnote{Utilisée avec l'option \oMlTeX{} l'extension {\eFrench} +assurera d'elle-même le passage au français grâce +à la primitive +\index{fhyph@\texttt{\protect\backslash fhyph}}% +\texttt{\backslash fhyph}.} ; par contre l'extension {\eFrench} réagira +violemment si on lui fournit un fichier \texttt{language.dat} ne +contenant pas le langage \texttt{french} +ou contenant des définitions de langues dans un ordre différent +de celui enregistré dans le format. +Vous pouvez avoir des fichiers \vers|language.dat| différents selon vos +répertoires de travail. + +Rappelons aussi que le fichier \vers|language.dat| contient le nom des +fichiers d'exceptions concernant la césure dans chaque langue. +\index{fichier!d'exceptions}% +{\eFrench} permet (voir §~\ref{frhyphex} page \pageref{frhyphex} +l'ordre \vers|\frhyphex|) de fournir une nouvelle liste des exceptions +françaises à chaque exécution. +Ainsi vous pouvez faire évoluer votre propre +liste dans le temps ou même en avoir des différentes +suivant vos répertoires +de travail. +\end{itemize} + +\subsection{Procédure à suivre} +Nous supposons que votre {\em moteur} \TeX{}% +\index{moteur!tex@\TeX}% +\footnote{Il peut s'agir de te\TeX, de fp\TeX{} ou de tout autre {\em moteur} +dérivé de \TeX{}.} +\index{moteur!derive@dérivé de \TeX}% + n'a pas encore été configuré pour +le français et que vous avez récupéré le kit d'installation +le plus récent. + Vous ne pourrez franciser% +\footnote{Le terme {\em franciser} est assez impropre car il pourrait +laisser croire que le moteur \TeX{} en question sera +\index{moteur!tex@\TeX}% +destiné à être utilisé uniquement en français + ce qui est totalement +faux puisque, bien au contraire, cela vous ouvre la porte aux +documents réellement multilangues.} + votre {\em moteur} qu'à condition d'utiliser +soit l'option \oMlTeX{} +soit des polices de caractères \mbox{8-bits}, +natives ou virtuelles. \TeX{} V3 et +\index{polices!cm@{\protect\it cm}}% +\index{fontes!cm@\emph{cm}}% +\index{cm@{\protect\it cm}}% +les fontes \emph{cm} ne suffisent pas pour créer +un {\em format} français. +Les distributions logicielles \TeX~Live +\maj +%ou celles de l'association GUTenberg +fournissent les +\index{TeX~Live@\TeX~Live}% +%\index{GUTenberg!distributions}% +éléments nécessaires. Consultez +\maj +\linkandfootnote{engines}{le fichier d'informations}% +{http://efrench.org/bases/engines/} +relatif à votre moteur \TeX. +\index{moteur!tex@\TeX}% + + +Nous supposons aussi que vous avez récupéré la distribution générique +complète de {\eFrench} depuis le serveur d'origine : \\ +\maj +\url{http://efrench.org/distributions/}% +\index{distribution!de {\eFrench}}% + +Vous venez donc de décharger sur votre système de nombreux fichiers sour\-ce +nécessaires à l'installation de {\eFrench}. Cette architecture de +fichiers n'est probablement pas celle qu'il faudra utiliser au quotidien, +tout spécialement si votre système est conforme à la norme \lsc{TDS} +\index{TDS@\lsc{TDS}}% +\maj +(voir \cite{TDS}). Vous serez donc amené à déplacer certains fichiers source +vers l'environnement d'exécution \texttt{TEXMF} ; heureusement +des outils d'installation le font pour vous. +\index{TEXMF@\texttt{TEXMF}}% + +\subsubsection{Procédure Unix (ou Linux) automatique} +Un fichier << \em GNUmakefile >> est fourni aux utilisateurs \lsc{UNIX} +\index{GNU@\lsc{GNU}}% +\index{commandes!GNUm@\lsc{GNU} \texttt{gmake}}% +(ou \lsc{linux}) +pour réaliser l'installation automatiquement +et créer un {\em format} \TeX\ et un \LaTeX{} francisés (mais +vous pouvez toujours suivre la procédure manuelle décrite +après si vous tenez absolument à réaliser toutes les +étapes {\em à la main}) ; taper \texttt{gmake} avec \lsc{UNIX} et laissez-vous +guider +\footnote{En fait c'est l'équivalent de +<< \texttt{gmake -f GNUmakefile} >>. Si vous ne disposez pas de cette +commande \lsc{GNU} essayer simplement \texttt{make} et sinon +vous pouvez toujours utiliser le \texttt{makefile} +générique par la commande \texttt{make -f makefile.gen} et +l'adapter à vos besoins.}% +. +\index{linux@\lsc{linux}}% +\index{système!linux@\lsc{linux}}% +\index{unix@\lsc{unix}}% +\index{système!unix@\lsc{unix}}% +\index{commandes!make@\texttt{make}}% +\index{commandes!gmake@\texttt{gmake}}% + Les formats et commandes par défaut, \texttt{frtex} et \texttt{frlatex}, +seront construits, puis installés si vous le désirez. + +Une commande \texttt{./installFP.sh} est à votre disposition ; elle permet +d'installer sans intervention de votre part tout le nécessaire pour +\texttt{frtex}, +\texttt{frlatex}, +\texttt{frpdftex}, +\texttt{frpdflatex}, +\texttt{fretex}, +\texttt{frelatex}. + +À la fin de l'installation des formats et commandes, la procédure vous +informe des commandes dont vous disposerez pour utiliser {\eFrench}. +Si l'installation a eu lieu dans le \verb|$HOMETEXMF| de \texttt{teTeX} +vous devrez, a priori, faire appel à la commande \texttt{FrenchPro} de +\index{commandes!FrenchPro@\texttt{FrenchPro}}% +la façon suivante : +\begin{itemize} +\item pour composer un document : + \verb|FrenchPro| \textsl{nom\_du\_format} \textsl{fichier.tex} +\item pour recréer un format : \verb|FrenchPro fmtutil ...| +\item pour avoir des informations via \texttt{teTeX} : + \verb|FrenchPro kpsewhich ...|\ +\end{itemize} +\index{fmtutil@\texttt{fmtutil}}% +\index{kpsewhich@\texttt{kpsewhich}}% +\index{commandes!FrenchPro@\texttt{FrenchPro}}% +\index{commandes!pour composer}% +\index{teTeX@\texttt{teTeX}}% + +Il est toujours possible de désinstaller {\eFrench} avec la commande +\texttt{gmake uninstall}. +\index{desinstallation@désinstallation} +\index{makefile@\texttt{makefile}}% +\index{commande!gmakeu@\texttt{gmake uninstall}} + +\subsubsection{Procédure d'installation pour Windows} +Un fichier \texttt{install.bat} est fourni aux utilisateurs \lsc{Windows} +pour réaliser l'installation automatiquement +et créer un {\em format} \TeX\ et un \LaTeX{} francisés avec fp\TeX\ ; +tapez \texttt{install} et vous aurez le choix entre deux méthodes +d'installation ; je vous conseille la méthode << à la unix >>. +\index{fpTeX@\texttt{fpTeX}}% +\index{windows@\lsc{windows}}% +\index{système!windows@\lsc{windows}}% +\index{fichier!\texttt{install.bat}}% +\index{commandes!install@\texttt{install}} + +Il est possible de désinstaller {\eFrench} avec la commande +\texttt{uninstall}. +\index{desinstallation@désinstallation} +\index{commandes!uninstall@\texttt{uninstall}} +\index{fichier!\texttt{uninstall.bat}}% + +Si vous êtes un adepte de Mik\TeX\ vous pouvez faire appel à +\texttt{minkinstall} (et réciproquement à \texttt{mikuninstall}) +mais il vous est plutôt conseillé d'appeler \texttt{install} et +de choisir la méthode << à la unix >>. +\index{miktex@Mik\TeX} +\index{commandes!mikinstall@\texttt{mikinstall}} +\index{commandes!mikuninstall@\texttt{mikuninstall}} +\index{fichier!\texttt{mikinstall.bat}}% +\index{fichier!\texttt{mikuninstall.bat}}% + +\subsubsection{Procédure d'installation pour %\protect\lsc + {MacOs}} + +Les utilisateurs sous OS X +qui n'utilisent pas l'\texttt{i-installer} +\index{i-installer@\texttt{i-installer}}% +proposé sur la page web, doivent choisir la procédure d'installation +\lsc{unix}. + +%La distribution +%\linkandfootnote{frenchpourmac}{\texttt{FrenchPourClassic}}% +%{http://frenchpro6.com/frenchpro/FrenchPourClassic.hqx} +%est valable pour MacOs 7, 8 ou 9 ; elle n'est plus mise à jour ; +%suivre les explications fournies dans +%la petite notice l'accompagnant. + +La reprise eFrench de FrenchPro ne soutient plus MacOs. + +\subsubsection{Procédure manuelle} +Qu'il s'agisse de \TeX{} avec ou sans option \oMlTeX{}, la démarche reste la +même (il est souhaitable que l'installation complète soit +réalisée pour obtenir la francisation maximale, +mais aucune étape n'est en soi obligatoire !). +Nous allons ci-dessous décrire toutes les étapes telles qu'elles +doivent être réaliséees indépendamment de tout système d'exploitation +et de tout type de moteur \TeX\ : +\index{moteur!tex@\TeX}% + +\begin{order} +\nooverfullhboxmark% Pourquoi faut-il le remettre ici ? +\item Consultez la petite documentation relative à votre +\linkandfootnote{engines}{moteur \TeX}% +{http://efrench.org/bases/engines/} + pour connaître les consignes éventuelles. +\index{moteur!tex@\TeX}% + +\item Vérifiez le contenu de votre variable d'environnement +\verb|TEXINPUTS|% +\index{TEXINPUTS@\texttt{TEXINPUTS}}% +\index{environnement!variable d'}% +\index{variables d'environnement}% +\index{tex@\texttt{.tex}}\index{sty@\texttt{.sty}}\index{style!sty@\texttt{.sty}}% +\footnote{Le nom de cette variable d'environnement peut varier +selon les systèmes.\label{path}} + pour vous assurer des endroits où votre +\TeX{} ira chercher ses fichiers sources +(\verb|.tex|, \verb|.sty|, \etc.) +car il faut que cette variable pointe bien en premier sur le répertoire +\verb|initex|, puis sur le répertoire \verb|inputs| fourni dans la +distribution ; cela est nécessaire pour la création +du format \LaTeX{}. + +\item Le fichier \verb|keyboard.dat| +\label{kbconfig} +qui est fourni dans le répertoire +\texttt{inputs} est destiné à adapter \LaTeX{} à +votre clavier. Par défaut, dans la distribution \lsc{unix} générique, +\maj +il est configuré pour des claviers produisant +\footnote{Chacun comprendra qu'il s'agit d'un abus de langage. +Nous parlons ici du code héxadécimal obtenu avec une éditeur +de textes et du caractère affiché à l'écran +lorsque que l'on enfonce une touche du clavier.} +du code Latin 9 +\maj +(extension de l'\texttt{iso-latin1} qui s'appelle curieusement +\texttt{iso-la}\-\texttt{tin15}), mais on peut le +configurer pour d'autres types de claviers. + +Ce fichier sera utilisé à différentes reprises : +\begin{itemize} +\item il servira à générer les traducteurs + 7-bits~\texttt{<}--\texttt{>}~8-bits qui sont nécessaires + pour réaliser l'installation au complet. +\item il permetra de décider dans le format de la forme des messages émis + par l'extension {\eFrench} (7 ou 8-bits). +\item via \texttt{kbconfig}, à la création du format, + il évitera par la suite (mais n'empêchera pas) + l'utilisation de l'extension \emph{inputenc}.% +\index{extension!inputenc@\emph{inputenc}}% +\item via l'extension \emph{keyboard}, +\index{extension!keyboard@\emph{keyboard}}% +au début du document, il remplacera avantageusement l'extension +\emph{inputenc}. +\item il permetra la reconfiguration du clavier << à la volée >> + au sein du document. +\end{itemize} + +Si vous voulez préciser des touches spéciales +de votre clavier par défaut, +alors configurez votre propre table de codage +\verb|<|\emph{langage}\verb|.>|\texttt{xxx.kbc}% +\index{fichier!langage.xxx.kbc@\texttt{<}\emph{langage}\texttt{.>}\texttt{xxx.kbc}}% +\index{langage.xxx.kbc@\texttt{<}\emph{langage}\texttt{.>}\texttt{xxx.kbc}}% +\footnote{Pour une utilisation avant le \texttt{\backslash begin\{document\}} +ou dans un format, +utilisez les fichiers \texttt{xxx.kbc} ne portant pas de nom de langue.}% +\footnote{Ces fichiers sont binaires ({\sc ascii} \mbox{8-bits}) ; + s'ils ont transité +sur les réseaux, sans précaution particulière, + il peuvent avoir été corrompus.} +en recopiant celle qui vous est la plus proche de votre système, +en l'éditant et en vérifiant que +les caractères accentués correspondent bien +à ceux de votre clavier (pour le modifier, suivez les instructions +qui sont indiquées dans \verb|keyboard.dat|). +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% + +La configuration fournie par défaut, +\maj +dans la distribution \lsc{unix} générique, convient% +\footnote{% +Si votre version de \TeX{} utilise un système de filtre +d'entrées-sorties (paramètre \texttt{/ciso1}{\em xxx}% +\texttt{.tcp} fourni à \texttt{emtex} par exemple +lors de l'\lsc{INITEX}) il est déconseillé +d'utiliser le configurateur \texttt{kbconfig} à la génération du {\em format} + (consulter le fichier \texttt{hyphen.cfg} +pour d'autres commentaires).} +\index{kbconfig@\texttt{kbconfig}}% +\index{hyphen.cfg@\texttt{hyphen.cfg}}% +\index{fichier!hyphen.cfg@\texttt{hyphen.cfg}}% +\maj + pour la plupart des claviers français en +\lsc{ISO-}latin-15. Des versions Dos (code-page 850), Windows (ansinew), +Mac, Next ou autres, +\maj +sont fournies sous les noms de fichiers +\verb|<|\emph{langage}\verb|.>|\emph{xxx}\texttt{.kbc}. + +\item Le fichier \verb|language.dat| du répertoire \verb|inputs| +est à configurer, si nécessaire (car +il est déjà prêt à l'emploi pour le français +et l'anglais), avec les langues +et fichiers de césure désirés (\vers|frhyph1.tex| +\index{fichier!frhyph.tex@\texttt{frhyph.tex}}% . +\index{fichier!frhyph1.tex@\texttt{frhyph1.tex}}% . +est le fichier proposé par {\eFrench} pour la césure française +[de préférence à \vers|frhyph.tex|] ; +il est présent dans le répertoire {\sc initex}. +Le fichier \verb|frhyphex.tex| est le fichier +\index{fichier!frhyphex.tex@\texttt{frhyphex.tex}}% . + des exceptions françaises de la distribution). + +Le fichier \texttt{language.dat} fait appel, par défaut, aux motifs de +césure américains (\texttt{ushyph.tex}). Au cas où vous n'auriez pas +ce fichier sachez que votre système possède forcément le fichier +de motifs fourni avec toute distribution \TeX{} (\texttt{hyphen.tex}) ; +vous pouvez l'utiliser en remplacement. + +\item Il est possible de créer, pour le site, un fichier de configuration +de l'extension {\eFrench} qui contienne, par exemple, les +options suivantes (conseillées) par défaut : \\ +\verb| \abbreviations|\\ +\verb| \disallowuchyph|\\ +\verb| \overfullhboxmark|\\ +\verb| \tthyphenation|\\ +\verb| \tabbingaccents|\\ +\verb| \automaticlettrine| + +Le fichier de configuration, \texttt{french.cfg}, +\index{fichier!de configuration}% +\index{fichier!french.cfg@\texttt{french.cfg}}% +est à placer au même endroit que le fichier \texttt{lan}\-\texttt{guage.dat}. + +\item Le fichier \verb|hyphen.cfg|, +utilisé par \LaTeX{} à la création du format, est à configurer. +Il est fourni dans le répertoire \lsc{initex} ; +c'est celui-là qu'il faut (éventuellement modifier mais surtout) +utiliser à la création du format. Il peut en effet y avoir dans +votre système différents fichiers du même nom pour des utilisations +différentes. +\index{format!latex@\texttt{latex}}% +\index{hyphen.cfg@\texttt{hyphen.cfg}}% + +Ce fichier contient a peu de choses près les éléments suivants : +{\footnotesize +\begin{verbatim} +% +% Notice that OT1 is the default encoding (CM fonts encoding) +% The following is to force T1 by default (DC/EC fonts encoding): +%\def\encodingdefault{T1}\fontencoding{T1}\selectfont% with 2e +% +\input kbconfig % do the keyboard configuration based on keyboard.dat +% % (keyboard.dat can be adapted to your own keyboard) +% +\input hyconfig % do the hyphenation and exceptions loading +%----------------------------- +\end{verbatim} +} +\index{fontes!cm@\emph{cm}}% + +Indiquez le codage à utiliser, par défaut, pour les fontes (\texttt{OT1} +est le codage par défaut pour les fontes \emph{cm}, \texttt{T1} est le +codage à la norme de Cork pour les fontes \emph{ec}, par exemple). +\index{codage!de fontes par défaut}% +\index{fontes!ec@\emph{ec}}% +\index{polices!ec@\emph{ec}}% + +La ligne \verb|\input kbconfig| fait appel au +configurateur de clavier (le codage des caractères en entrée +est précisé dans le fichier \verb|keyboard.dat|). +\index{input2 hyconfig.tex@\texttt{\backslash input hyconfig.tex}}% +\index{input2 kbconfig.tex@\texttt{\backslash input kbconfig.tex}}% + +La ligne \verb|\input hyconfig| fait appel au +configurateur pour la césure des langues (les noms de langues et +les noms de fichiers de césures sont +précisés dans le fichier \verb|language.dat|). + +\item Exécutez \texttt{initex} sur le fichier \verb|frlatex.fr| +\index{fichier!frlatex.fr@\texttt{frlatex.fr}}% . +\index{frlatex.fr@\texttt{frlatex.fr}}% +(par exemple, pour un format \LaTeX\ françisé, mais il existe bien d'autres + possibilités) +et créez le format +\index{frlatex.fmt@\texttt{frlatex.fmt}}% +\index{frlatex.efmt@\texttt{frlatex.efmt}}% +\footnote{Surtout ne changez pas la valeur de la variable interne +\texttt{\backslash fmtname} !} +désiré \verb|frlatex.fmt| ou \verb|frlatex.efmt| +suivant que vous faites appel au moteur \TeX\ ou e\TeX ; + stockez-le dans le répertoire des formats +\index{format!répertoire des}\index{TEXFMTS@\texttt{TEXFMTS}}% +(voir l'environnement \verb|TEXFMTS|\refmark{path}). +Ce format est désormais utilisable mais rendons-le encore plus +facile d'accès. Pour ce faire on crée en général +un lien (ici du nom de \texttt{frlatex} sur l'application \texttt{tex}. +Ensuite il suffit de taper la commande portant le nom du format (donc +ici \texttt{frlatex}) pour appeler directement \TeX\ avec le +format voulu. +Un sous-répertoire \texttt{tests} est à votre disposition pour +valider plus avant +votre installation (consulter le fichier +\linkandfootnote{readmetests}{\texttt{README\_{}\-tests.pdf}}% +{http://efrench.org/bases/initex/tests/README_tests.pdf}% +). +\index{fichier!README4@\texttt{README.tests}}% . +\index{README@\texttt{README}!tests@\texttt{.tests}}% + +On notera que la variable \verb|\patterns@loaded| contient +\index{patternsloaded@\texttt{\backslash patterns\at loaded}}% +\index{langues!dans le format}% +la liste des noms de langues utilisables avec le format généré. + +\nooverfullhboxmark% Pourquoi le redonner ici ? + +\item Pour générer les convertisseurs +$7-bits \Longleftrightarrow 8-bits$ dont vous aurez besoin +dans la suite des opérations, voici les lignes de commande +à la mode \lsc{unix} : +\begin{verbatim} + lex -v kb8to7.lex;cc -o kb8to7 lex.yy.c -ll + lex -v kb7to8.lex;cc -o kb7to8 lex.yy.c -ll;rm lex.yy.c +\end{verbatim} +Pour plus d'informations, consultez le fichier +\linkandfootnote{kb2lex}{\texttt{kb2lex.tex}}% +{http://efrench.org/bases/kb2lex.tex} +du répertoire principal. +\index{fichier!kb2lex.tex@\texttt{kb2lex.tex}}% . +\index{kb2lex.tex@\texttt{kb2lex.tex}}% + +\item Le fichier des abréviations est fourni en 7-bits + pour des raisons de portabilité. +\maj +Il faut le transformer en \mbox{8-bits} conformément à +votre clavier-écran "cad" transformer toutes les séquences +<< anti-slash+accent+lettre >> par le caractère accentué +\mbox{8-bits} approprié. +Générez le fichier 8-bits \verb|frabbrev.|\-\verb|tex| +à partir du fichier \verb|fxabbrev.tex|. Vous pouvez utiliser le +convertisseur généré précédemment ; voici la ligne de +commande à la mode \lsc{unix} :\\ +\verb| kb7to8 < fxabbrev.tex > frabbrev.tex| +\index{fichier!fxabbrev.tex@\texttt{fxabbrev.tex}}% . +\index{fxabbrev.tex@\texttt{fxabbrev.tex}}% +\index{fichier!frabbrev@\texttt{frabbrev.tex}}% +\index{frabbrev.tex@\texttt{frabbrev.tex}}% +\index{fichier!keyboard.dat@\texttt{keyboard.dat}}% . +\index{keyboard.dat@\texttt{keyboard.dat}}% +\index{commandes!\texttt{kb7to8}}% +\index{convertisseurs!\texttt{kb7to8}}% +\index{commandes!\texttt{kb8to7}}% +\index{convertisseurs!\texttt{kb8to7}}% + +\item Si vous avez déjà les fichiers dont le nom figure dans +le répertoire \verb|inputs| +alors il vous faut les recopier sous un nom reconnaissable (\verb|.OLD| par +exemple) en fonction de vos habitudes et/ou de votre système. + +\item Composez avec \LaTeX\ le fichier + \texttt{frlicense.dat} fourni dans le répertoire + \texttt{inputs[/}\-\texttt{french]} + pour activer votre mois + d'essai puis envoyez ce fichier à l'auteur pour qu'il vous enregistre. +\index{fichier!frlicense.dat@\texttt{frlicense.dat}}% + Lorsque vous aurez acquis votre droit d'utilisation définitif + vous obtiendrez un nouveau fichier en remplacement. À partir de ce + moment vous êtes propriétaire de la licence d'utilisation (temporaire + ou définitive) et donc vous ne pouvez plus faire de copie de ces + fichiers pour des collègues ou amis ou tout autre usage non autorisé + par le Copyright (cf. fichier +\linkandfootnote{copyright}{\texttt{Copyright.pdf}}% +{http://efrench.org/bases/Copyright.pdf}% +). +\index{fichier!Copyright}% +\index{fichier!Copyright.pdf@\texttt{Copyright.pdf}}% + +\item Copiez tous les fichiers + du répertoire \vers|inputs| vers un répertoire +accessible au travers de l'environnement \verb|TEXINPUTS| +de sorte que ceux-ci soient les +premiers fichiers de ce nom à être trouvés +par votre {\em moteur} \TeX{}. +\index{moteur!tex@\TeX}% + +\item Les jeux de test du répertoire \verb|tst| +utilisent le fichier \verb|french.tst| qui, pour +des raisons de portabilité est fourni en \lsc{ASCII} \mbox{7-bits} +sous le nom \texttt{fxench.tst}. +\maj +Il faut le transformer en 8-bits. +\index{fichier!french.tst@\texttt{french.tst}}% +\index{fichier!fxench.tst@\texttt{fxench.tst}}% +Vous pouvez procéder comme suit à l'aide des convertisseurs +générés précédemment : +\begin{itemize} +\item appliquer \verb|kb7to8| ainsi (exemple à la mode \lsc{unix}) : + +\verb| kb7to8 < fxench.tst > french.tst| +\end{itemize} +\index{fichier!fxench.tst@\texttt{fxench.tst}}% . +\index{french.tst@\texttt{french.tst}}% + +\item Compilez le fichier \verb|frenchlb.tex| autant de fois que +\index{fichier!frenchlb.tex@\texttt{frenchlb.tex}}% +nécessaire et notamment une fois après avoir exécuté +\verb|makeindex| --~si toutefois vous l'avez sur votre système~-- +\index{makeindex@{\sc makeindex} (programme)}% +par la commande suivante : +\begin{verbatim} + makeindex -s fridx1.ist frenchlb +\end{verbatim} +\index{fichier!fridx1.ist@\texttt{fridx1.ist}}% +puis : +\begin{itemize} +\item imprimez au moins les 55 premières pages de \verb|frenchlb.dvi| + puis de \verb|frenchrf.dvi| qui est le +\index{fichier!frenchlb.dvi@\texttt{frenchlb.dvi}}% +\index{fichier!frenchrf.dvi@\texttt{frenchrf.dvi}}% +document de référence ; +\item comparez ces deux documents imprimés ; +ils doivent être, à peu de choses +près, identiques (certains changements mineurs peuvent se produire s'il ne +\maj +s'agit pas de la même version de \LaTeX{} ou des mêmes fontes). +\end{itemize} + +%\item Imprimez le fichier +%\texttt{REGISTER} ou +%\linkandfootnote{register}{\texttt{REGISTER.pdf}}% +%{http://efrench.org/bases/REGISTER.pdf} +%\index{fichier!REGISTER@\texttt{REGISTER}}% +%\index{fichier!REGISTER.pdf@\texttt{REGISTER.pdf}}% +%qu'il vous faudra +% remplir et m'envoyer avant la fin du mois d'essai +% si vous désirez continuer à utiliser {\eFrench}. Vous +% bénéficierez alors du support technique et de toutes les mises-à-jour +% de la version actuelle. +%[En cas de problème de fonctionnement +%vous pouvez m'envoyer un rapport d'anomalie (voir +%le fichier +%\linkandfootnote{frmsgPB}{\texttt{frmsgPB}}% +%{http://efrench.org/bases/frmsgPB}% +%), mais vérifiez auparavant qu'il n'existe +%pas sur les serveurs un fichier de patch (% +%\linkandfootnote{frpatch.sty}{\texttt{frpatch.sty}}% +%{http://frenchpro6.com/frenchpro/french_patchs/} +% sur le serveur)]. +%\index{patch(s)@{\em patch(s)}}% +%\index{messages!à l'auteur}% +%\index{courrier!à l'auteur}% +%\index{fichier!frmsgPB@\texttt{frmsgPB}}% +%\index{fichier!frpatch.sty@\texttt{frpatch.sty}}% + +\item Après quelques mois d'utilisation +vous aurez peut-être des modifications ou +suggestions à me proposer n'hésitez pas à le faire +en envoyant un message à +(\href{mailto:lb@laurentbloch.org}{\texttt{}}% +%\footnote{Attention, l'adresse m.él. fournie via les butineurs est +%piégée ; il faut la corriger à la main.}% +) + +Si ce que vous avez à dire concerne aussi l'extension +allégée +\makeatletter\if@screen% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\else% +\linkandfootnote{docfrenchle}{\texttt{frenchle}}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\fi% + ; +\makeatother% +\index{extension!allége@allégée \emph{frenchle}}% +\index{extension!frenchle@\emph{frenchle}}% +\index{version!allégée}% +\index{frenchle@\emph{frenchle}}% +vous pouvez le faire +\index{GUTenberg}\index{Groupe francophone}% +\index{communauté des utilisateurs}% +\index{GUTenberg!messagerie}\index{messagerie GUTenberg}% +sur la messagerie GUTenberg \verb|GUT@|\texttt{ENS.\-FR} % +(avec mention << \texttt{frenchle} >> et copie à moi-même) + pour connaître l'avis de la communauté des utilisateurs +\footnote{L'utilisation de cette liste de messagerie passe +d'abord par une inscription sur la liste ; ce qui se fait simplement +en envoyant un message à \texttt{sympa@ens.fr} contenant +la ligne : \texttt{SUBSCRIBE GUT } Prénom Nom.}% + + +\item Installez les mises à jour majeures qui seront +déposées sur les serveurs. +\index{mises à jour}\index{serveurs}\index{serveur de référence}% +Le serveur Web de référence est à +%\href% +{\url{http://efrench.org/bases/french.html}} % +%{http://efrench.org/bases/french.html} + et les fichiers sources sont à +%\href% +{\url{http://efrench.org/bases/}} +%{http://efrench.org/bases/} +. +\end{order} + +\bigskip +\fi +\ifnoFINALS\else +\section{Points finals} % +Quelques remarques en guise de conclusion : +\begin{itemize} +\item vous avez trouvé des défauts à l'extension {\eFrench} ? +proposez-moi alors les corrections/amélio\-rations ou tout au moins +signalez-les-moi (cf. paragraphes précédents). + +\item comme pour l'extension {\eFrench}, ce document contient des erreurs ; +elles sont involontaires ; merci de me les signaler ; +je ferai mon possible pour les corriger. + +\item ce travail avait auparavant + le soutien de l'association GUTenberg ; ce n'est plus le cas depuis +l'an 2000. +Il continue d'évoluer en fonction de vos demandes et de votre soutien. +Il est maintenant largement diffusé, +notamment sur +\linkandfootnote{ctanlanguage}{\lsc{CTAN}}% +{http://mirror.ctan.org/tex-archive/language/} +depuis qu'il est distribué en \emph{shareware} +(les adresses des principaux miroirs \lsc{CTAN} en France +sont dans le fichier +\linkandfootnote{miroirs}{\texttt{Mirrors.pdf}}% +{http://efrench.org/bases/Mirrors.pdf} +). +\index{miroirs \lsc{CTAN}}% +\index{fichier!Mirrors.pdf@\texttt{Mirrors.pdf}}% +\index{distribution!de {\eFrench}}% +\end{itemize} + +\bigskip +Nous espèrons que vous apprécierez ce travail. +% et que vous l'encouragerez en +%\linkandfootnote{register}{% +%règlant rapidement votre licence d'utilisation}% +%{http://efrench.org/bases/REGISTER.pdf}. +\bigskip +\bigskip + +\noindent +\begin{minipage}{0.90\linewidth} +Je tiens à remercier tous ceux qui ont participé activement +et contribuent encore régulièrement ou ponctuellement +à l'amélioration de l'extension \FrenchPro. +\medskip + +\begin{flushright} +{\em En espérant avoir été utile à tous,} + +\bigskip\bigskip +Bernard {\sc Gaulle} + +\bigskip\bigskip +{\sc Bergerac}\ le \ 1/11/91 \\ +(dernière mise-à-jour de \FrenchPro{} par B. G. le 28 juin 2007)\\ +(dernière mise-à-jour de frnotes pour \eFrench{} par RayJ le \today) +\end{flushright} +\vfil + +\begin{flushleft} +\footnotesize{\sf +À ma femme, \\% qui a fait preuve d'une très grande patience +à l'association GUTenberg, \\%qui en fera bon usage +\index{GUTenberg}% +à tous mes collègues francophones et\\ +à l'université }{\sc Laval} au {\sc Québec}. +\end{flushleft} +\end{minipage} +\fi% + + +\def\AvertO{\ \vfill% +%%% Ceci était un extrait de la documentation de l'extension +%%% \eFrench. + + \begin{center}*---*\end{center} + \def\AvertO{}} + +\ifnoDOCinstall\par\medskip\AvertO\fi% +\ifnoFINALS\par\medskip\AvertO\fi% + +\vfill +\newpage + +\bibliographystyle{plain} +\ifx\Section\undefined\else\let\section\Section\fi% Restore \section. +\def\refname{Références bibliographiques} +\begin{drapeaufg} +\begin{thebibliography}{99} + +\bibitem{cahiers} J. {\sc André} \& J. {\sc Grimault}, +\linkandfootnote{cahiers}{\em Emploi des capitales (première partie)}% +{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/6-andregrim.pdf}% +, {\em in} Les Cahiers GUTenberg \Numero 6, 1990.\\ + +\bibitem{codetypo} {\em Code typographique}, +%Syndicat national des cadres et maîtrise du livre, de la presse +% et des industries graphiques +Fédération de la communication +, 17\ieme édition, 1995. + +\bibitem{TSI} J. {\sc Désarménien}, {\em La division par ordinateur des + mots français : application à \TeX{}}, + {\em in} TSI vol. 5 \Numero 4, 1986.% AFCET-Gauthier-Villars +\index{division!des mots}% + +%\bibitem{flipo4}D. {\sc Flipo}, B. {\sc Gaulle} et K. {\sc Vancauwenberghe}, +%\linkandfootnote{flipo4}{\em Motifs de césure français}% +%{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/18-motifs.pdf}% +%, +% {\em in} Les Cahiers GUTenberg \Numero 18, 1994. +\makeatletter\if@screen% +\linkandfootnote{18-motifs}% + {\em Motifs de césure français}% +{%http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/18-motifs.pdf +http://frenchpro6.com/screen.pdf/artcesuresscreen.pdf}, +\else +\linkandfootnote{18-motifs}% + {\em Motifs de césure français}% +{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/18-motifs.pdf +%http://efrench.org/bases/doc/artcesures.pdf +}, +\fi +\makeatother +{\em in} Les Cahiers GUTenberg \Numero 18, 1994. + +\bibitem{cork} M.-J. {\sc Ferguson}, +\linkandfootnote{cork}{\em Fontes latines européennes et \TeX{} 3.0}% +{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/7-ferguson.pdf}% +\maj +, {\em in} Les Cahiers \hbox{GUTenberg} \Numero 7, 1990. + +\bibitem{frenchle}B. {\sc Gaulle}, +\maj +\makeatletter\if@screen% +\linkandfootnote{frenchle}% +{\em L'extension \emph{frenchle} pour \LaTeX, notice d'utilisation}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\else% +\linkandfootnote{frenchle}% +{\em L'extension \emph{frenchle} pour \LaTeX, notice d'utilisation}% +{http://efrench.org/bases/doc/frenchle.pdf}% +\fi% +\makeatother +, \number\year + +\bibitem{torture}B. {\sc Gaulle}, +\linkandfootnote{torture}{\em French style torture test}% +{http://efrench.org/bases/tst/frenchrf.dvi}% +\maj +, document de travail (distribution logicielle de l'extension + {\eFrench}) applicable à \LaTeX{}, \number\year\\ + +\bibitem{et98}B. {\sc Gaulle}, +%\linkandfootnote{et98}% +%{\emph{Comment peut-on personnaliser l'extension \texttt{french} de \linebreak[4] \LaTeX\ ?}}% +%{http://efrench.org/bases/doc/artET98.pdf}% +\makeatletter\if@screen% +\linkandfootnote{artET98.pdf}{\emph{Comment peut-on personnaliser + l'extension \emph{french} de \LaTeX\ ?}} +{%http://efrench.org/bases/doc/artET98.pdf +http://efrench.org/bases/doc/artET98.pdf},% +\else +\linkandfootnote{artET98.pdf}{\emph{Comment peut-on personnaliser + l'extension \emph{french} de \LaTeX\ ?}} +{%http://efrench.org/bases/doc/artET98.pdf +http://efrench.org/bases/doc/artET98.pdf},% +\fi +\makeatother +\maj + document {\em in} Les Cahiers GUTenberg \Numero 28-29, 1998\\ + +\bibitem{faq}B. {\sc Gaulle}, +\maj +\makeatletter\if@screen% +\linkandfootnote{faq}% +{\emph{FAQ {\eFrench}}, foire aux questions à propos de \LaTeX\ en français} +{http://efrench.org/bases/FAQ.pdf}% +\else% +\linkandfootnote{faq}% +{\emph{FAQ {\eFrench}}, foire aux questions à propos de \LaTeX\ en français} +{http://efrench.org/bases/FAQ.pdf}% +\fi% +\makeatother% +, \number\year\\ + +\bibitem{companion}M. \fsc{Goossens}, F. \fsc{Mittelbach} et A. \fsc{Samarin}, +\maj + {\em The \LaTeX{} companion}, Addison-Wesley, + second edition, 2004. + +\bibitem{romand} {\em Guide du typographe romand}, Association suisse + des compositeurs à la machine, 6\ieme édition, 2000. + +\bibitem{latexbook}L. {\sc Lamport}, {\em \LaTeX, A + document preparation system}, Addison-Wesley, 1994. + +\bibitem{makeindex}L. {\sc Lamport}, {\em An Index Processor For \LaTeX}, 1987. + + +\bibitem{lexique}{\em Lexique des règles + typographiques en usage à l'Imprimerie nationale}, \linebreak[4] + 4\ieme édition, 1991, + \texttt{ISBN 2-11-081075-0}. + + +\bibitem{ManPerrou}Y. \textsc{Perrousseaux}, + \emph{Manuel de typographie française + élémentaire}, \linebreak[4] + Atelier \textsc{Perrousseaux}, 4\ieme édition, 1995, + \texttt{ISBN 2-911220-00-5}. + +\bibitem{CompoPerrou}Y. \textsc{Perrousseaux}, + \emph{Mise en page et impression}, + Atelier \linebreak[4]\textsc{Perrousseaux}, 1996, + \texttt{ISBN 2-911220-01-3}. + +\bibitem{saudrais}E. {\sc Saudrais}, +\linkandfootnote{saudrais}% +{\emph{Le petit typographe rationel}}% +{http://perso.wanadoo.fr/eddie.saudrais/prepa/typo.pdf}% +, document électronique, \number\year + +\bibitem{TDS} \TeX\ Users Group, +\linkandfootnote{TDS}{\emph{A directory Structure for TeX Files}}% +{http://www.tug.org/tds/}% +, document électronique disponible sur \lsc{CTAN}, + \number\year. +\end{thebibliography} +\end{drapeaufg} +\vfill +\newpage +\nooverfullhboxmark% Pourquoi faut-il le repréciser pour la versions screen? +\printindex + +\def\footnote#1{}% nullify any footnote here. +\tableofcontents + +\end{document} diff --git a/Master/texmf-dist/doc/generic/e-french/src/faq.tex b/Master/texmf-dist/doc/generic/e-french/src/faq.tex new file mode 100644 index 00000000000..b691503f787 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/faq.tex @@ -0,0 +1,1472 @@ +% !TeX encoding = utf8 +%This is FaQ.tex : the LaTeX F A Q of the french style +% LPPL Copyright by eFrench +% +% +\documentclass[a4paper,12pt,openright]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{url} + +\makeatletter\def\tempa{\let\if@screen\iffalse}\makeatother% +\tempa% +\def\href#1#2{#2} +\let\titcolor\relax +\usepackage[print]{pdfscreen} + +\usepackage{french, mymaj, fancybox} + +\usersfrenchoptions{% + \disallowuchyph + \overfullhboxmark +} + + \definecolor{section0}{rgb}{.722,.525,.431} + \definecolor{section1}{rgb}{.650,.350, 0 }%{.937,.561,.123} + \definecolor{section2}{rgb}{.750,.250, 0}%{.855,.647,.123} + \definecolor{section3}{rgb}{.950,.050,.0} + \definecolor{section4}{rgb}{.545,.271,.750} + \definecolor{section5}{rgb}{.627,.322,.176} + \definecolor{titcolor}{rgb}{.922,.725,.831} + \definecolor{bleu}{rgb}{.0,.0,.650} +%\def\titcolor{\color{section0}} + +\hypersetup{ + pdfwindowui=true, pdfnewwindow=true, + colorlinks=true, pdfmenubar=true, pdffitwindow=true, + anchorcolor=bleu, urlcolor=bleu, +} + +\makeatletter +\newcommand{\linkandfootnote}[3]{% + \href{#3}{#2}\bgroup% + \expandafter\ifx\csname r@tlf.#1\endcsname\relax% + \expandafter\global% + \expandafter\let\csname r@tlf.#1\endcsname\empty% + \footnote{\texttt{<}\url{#3}\texttt{>}.\label{lf.#1}}% + \else\refmark{lf.#1}% + \fi\egroup% + }% +\makeatother + +\newif\ifnoDOCinstall +\newif\ifnoFINALS + +\textwidth=152mm +\textheight=240mm +\voffset -1in +%\hoffset 0in%-1in +\oddsidemargin=11mm +\evensidemargin=11mm +\topmargin=1.0cm +\footskip=1.3cm +\renewcommand{\ttdefault}{cmtt} +%\hypersetup{ +%pdfinfo={ +%Title={Foire aux questions }, +%Author={Bernard Gaulle, Raymond Juillerat}, +%Creator={Bernard Gaulle}, +%Subject={TeX, LaTeX et la langue française}, +%Keywords={TeX, LaTeX, pdfLaTeX, efrench, frenchle.sty, french.sty}, +% } +%} +\hypersetup{ +pdftitle={Foire aux questions }, +pdfauthor={Bernard Gaulle, Raymond Juillerat}, +pdfcreator={Bernard Gaulle}, +pdfsubject={TeX, LaTeX et la langue française}, +pdfkeywords={TeX, LaTeX, pdfLaTeX, efrench, frenchle.sty, french.sty}, +} +%\makeindex +\begin{document} +\newlength{\oriparindent} +\setlength{\oriparindent}{\parindent} +\newcommand{\indneg}{\setlength{\parindent}{-2mm}} +\newcommand{\indpos}{\setlength{\parindent}{\oriparindent}} +\newcommand{\pgLapdTeX} +{(L\hspace{-.8ex}\raisebox{.4ex}{\scriptsize A}\hspace{-.3ex})\TeX} +%\disallowuchyph% C'est ma devise... (inclus dans myfroptn) + +% Page de titre : +\makeatletter +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or \star \or \diamond + \or \heartsuit \else\@ctrerr\fi}} +\makeatother +\title{\hbox{}\vspace*{-3cm} + \huge\bf + FAQ \textit{eFrench}\\ + Foire aux questions\\ à propos de \LaTeX{ }%\textsl{eFrench} +%\footnote{Les marques de mise à jour dans la marge sont en rapport +% avec la version V5,00 du 22 décembre 2000.} +% \\ pour \LaTeX + en français} +\author{Bernard \fsc{Gaulle}, repris par Raymond \fsc{Juillerat}\\ +et le groupe \textit{eFrench} \href{mailto:efrench(at)lists.tuxfamily.org}{\texttt{}}% +\thanks{Attention, l'adresse m.él. fournie via les butineurs est +piégée ; il faut la corriger à la main.}\\% +LPPL © {\sc eFrench} (voir le fichier +\linkandfootnote{copyright}{\texttt{Copyright.pdf}} +{http://efrench.org/}% +% ou \texttt{copyrigh.tex} +).\\ +} +\date{version pro \frenchstyleid}\label{prempage} +\maketitle\thispagestyle{empty} + +%\begin{resume} Cette notice décrit comment installer et utiliser avec \LaTeX{} +% l'extension \textsl{} (appelée autrefois style \texttt{french} puis \texttt{ French Pro}). +% Cette extension a été créée pour imprimer des documents typographiquement +% plus conformes à l'usage français que ce que produit \LaTeX{} par défaut. +% Un grand nombre de commandes peuvent être utilisées mais +% l'emploi courant de cette extension ne nécessite +% {\em a priori\/} aucune connaissance particulière +% ni une utilisation forcenée de commandes spécifiques. Toutefois cet +% emploi n'est pas toujours {\em transparent}. +%\maj +% Une version allégée est fournie (\texttt{frenchle}). +%Une version appauvrie (\texttt{pmfrench}) +% est aussi utilisable sur tous les sites et dans toutes les +% configurations. L'installation de \textsl{eFrench} s'accompagne d'une +% création de {\em format} pour l'introduction, notamment, des +% fichiers de motifs de césure français. D'autres extensions l'accompagnent. +%\end{resume} +\vfill\vfill +\section*{Préface} +Cette publication est une version modifiée sur la base d'un document \textit{faq.pdf} +créé par Bernard \textsc{Gaulle} et mis à jour par lui une dernière fois le 28 juin 2007. +Cette FAQ était à l'origine un des nombreux documents qui accompagnaient +cette création complète de typographie française appelée \textit{FrenchPro}. + +Son auteur, Bernard \textsc{Gaulle}, est décédé en août 2007. En novembre 2007, pour +ne pas laisser tomber dans l'oubli ce grand-Å“uvre et +laisser à disposition des auteurs francophones ces outils incomparables, Laurent \textsc{Bloch} + a lancé le projet nommé \textit{eFrench}\cite{lblochefr}. + +Parallèlement, les environnements \TeX{} et \LaTeX{} ont évolué jusqu'à aujourd'hui vers une simplification pour +l'utilisateur \textit{lambda}, +avec le résultat que certaines explications ne sont plus du tout d'actualité, +les manipulations évoquées ayant été automatisées depuis, +en particulier en ce qui concerne les moteurs +les plus courants (voir § \ref{Qpdftex} et \ref{motfrahup}). + +C'est surtout pour la mettre à jour que cette FAQ a été revue et corrigée. Les modifications sont marquées par une barre dans la marge gauche. +\vfill +\newpage +\sommaire[3] +\noindent + +{\sc eFrench} © LPPL (voir le fichier +\linkandfootnote{copyright}{\texttt{Copyright.pdf}} +{http://efrench.org/}% +% ou \texttt{copyrigh.tex} +).\\ +%% \NNL sert a éliminer les saut de page dans la toc ou le sommaire +%% mais cela génère de messages « Token not allowed » avec hyperref. +\newcommand{\NNL}{\protect\let\\\relax} +\makeatletter\def\HyPsd@CatcodeWarning#1{}\makeatother% +%% +\let\Subsubsection\subsubsection +\def\subsubsection#1{\Subsubsection[\NNL#1]{\protect\color{section3}#1}} +\let\Subsection\subsection +\def\subsection#1{\Subsection[\NNL#1]{\protect\color{section2}#1}} +\let\Section\section +\def\section#1{\Section[\NNL#1]{\protect\color{section1}#1}} + +\section{Quelques notions de base} + +Pour mieux répondre à vos interrogations les réponses sont éclatées en +deux parties : d'une part, l'explication textuelle voulue la plus brève +possible et d'autre part, l'application \TeX{}nique qui illustre le propos ou le +complète. +%? Copyright 1996-2007 +\subsection {Qu'est-ce que {\TeX} ?} +\indneg + +{\sl \small En bref :} Si vous ne connaissez pas +\linkandfootnote{TeX}{\TeX} +{http://www.tug.org/whatis.html} + (prononcez « \textit{tek} ») sachez que c'est +un programme génial dont l'auteur est +\linkandfootnote{DKnuth}{Donald \sc Knuth} +{http://www-cs-faculty.stanford.edu/~knuth} +%Donald Knuth2 +et qui permet de +composer, mettre en page des documents à imprimer ou à visualiser. Le +document source est fourni sous forme de texte balisé. Celui que vous lisez +contient, par exemple, la balise \texttt{$\backslash$title\{FAQ} ...\texttt{\}}. Ces balises ont un rôle +important au moment de la composition par \TeX{} car, suivant la classe de +document employée, la typographie appliquée sera différente.\indpos + +On emploie souvent, par erreur, le mot \TeX{} à la place de celui de \LaTeX{} +(voir ci-après) ou \textit{vice versa}. + +\indneg{\TeX\sl nique :} \indpos {\TeX} produit en sortie un fichier « \texttt{dvi} » indépendant de l'unité de +restitution. + +\begin{MAJ}Mais aujourd'hui, le format « \texttt{dvi} » fait de plus en plus place au +format « \texttt{pdf} » et c'est plutôt {pdf\TeX} que {\TeX} ou mieux encore +plutôt {pdf\LaTeX} que {\LaTeX} qui sont utilisés. +\end{MAJ} + +\subsection {Qu'est-ce que \LaTeX{} ?} +\indneg{\sl \small En bref :} +\linkandfootnote{LaTeX}{\LaTeX} +{http://www.latex-project.org/} +%LATEX3 + (prononcez « \textit{la tek} ») est un langage de balisage qui étend +les possibilités de \TeX; il propose des balises extrêmement puissantes. C'est +\LaTeX{} qui est le plus utilisé dans le monde ; il s'agit d'un standard de fait, +\maj aujourd'hui supplanté par sa version nettement plus étendue {pdf\LaTeX}. + +\indneg{\TeX\sl nique :} \indpos La classe de document employée pour ce document a été la classe +\texttt{article} ; elle a été précisée au moyen de la balise +\begin{center} +\fbox{\makebox[0.7\textwidth][l]{$\backslash$\texttt{documentclass} \it\{classe\_de\_documents\} }}%\usebox{\mybox}}} +\end{center}\indpos +dans ce document-ci donc \{classe\_de\_documents\} = \texttt{article}. + +Une balise \LaTeX{} est en fait une macro-instruction faisant appel à des commandes +\TeX.\indpos + +La plupart des compilateurs {\TeX} sont désormais basés sur la distribution +générique (sous forme source) +\linkandfootnote{ web2c}{web2c} +{http://www.tug.org/web2c} +% web2c4 +\maj et la base multilingue \textit{babel}. +On emploie souvent, par erreur, le mot \LaTeX{} à la place de celui de \TeX{} +ou \textit{vice versa}. +\subsection {Qu'est-ce qu'un format {\TeX} ?}\label{quoiFormat} +\indneg{\sl \small En bref :} Le programme \TeX, lorsqu'il démarre, a besoin d'un ensemble de +données qui ont été préparées à l'installation du produit ; c'est ce que l'on +appelle le « \textit{format} ». Il contient notamment la définition de toutes les balises +mises à disposition de l'utilisateur. Le format par défaut de {\TeX} s'appelle +\texttt{plain} mais il est souvent appelé sous le nom plus normal de \texttt{tex} ; celui de +\LaTeX{} s'appelle \texttt{latex}. \begin{MAJ} +Par contre les formats francisés étaient généralement +appelés, respectivement, \texttt{frtex} et \texttt{frlatex}, mais ils ne sont plus +aujourd'hui nécessaires, ce qui simplifie l'installation.%lasse_de_documents +\end{MAJ} + +\indneg{\TeX\sl nique :} Pour créer un format on exécute un « initex » : +%\usepackage{mltex} +\begin{center} +\fbox{\makebox[0.7\textwidth][l]{\texttt{tex -ini} \it nom\_du\_format . . .}} +\end{center} +\setlength{\parindent}{\oriparindent} + +%\TeX -ini nom\_du\_format . . . +\subsection{ Qu'est-ce que {pdf\TeX} ; pdf\LaTeX ?}\label{Qpdftex} +\setlength{\parindent}{-2mm}{\sl \small En bref :} Le moteur +\linkandfootnote{pdfTeX}{pdf\TeX} +{http://www.tug.org/applications/pdftex/} +%pdfTEX5 + est un moteur {\TeX} standard produisant, par +défaut, un fichier de type Adobe PDF. Il peut aussi fonctionner à l'identique +de \TeX. Son nom de format commence en général par \texttt{pdf}. \\ +\begin{MAJ} +%Pour les formats +%francisés on utilisait en général les noms \texttt{frpdftex} et \texttt{frpdflatex},\begin{MAJ} +%mais ce formatage n'est plus nécessaire aujourd'hui, +%n'apportant aucun avantage. + +La différence entre pdf\TeX{} et pdf\LaTeX{} est la même qu'entre +\TeX{} et \LaTeX{} au niveau de la saisie. +Les moteurs pdf\TeX et pdf\LaTeX{} peuvent produire en sortie un fichier de type « \texttt{pdf} » ou « \texttt{dvi} ». +\end{MAJ} + +\subsection{ Qu'est-ce que Ml\TeX{} ?}\label{qmltex} +\indneg{\sl \small En bref :} +\linkandfootnote{MlTeX}{Ml\TeX} +{http://mirror.ctan.org/tex-archive/systems/generic/mltex} +%Ml\TeX6 +ou MultiLingual {\TeX} est une option (\texttt{-mltex}), utilisable +avec tous les moteurs {\TeX} basés sur +\linkandfootnote{ web2c}{web2c}% +{http://www.tug.org/web2c}% +%web2c4 +, qui avait été réalisée à l'origine +par \textsc{Michael Ferguson} pour résoudre divers problèmes linguistiques dont +celui de la césure de mots accentués. +\linkandfootnote{DKnuth}{Donald \sc KNUTH}% +{http://www-cs-faculty.stanford.edu/~knuth} +% Donald Knuth2 +a repris un certain +nombre d'idées dans la version 3 de \TeX{} mais pas toutes. Le suivi et la +mise à jour de {Ml\TeX} était assurée par +%\linkandfootnote{BReichle}{\sc Bernd Raichle} +%{http://www.informatik.uni-stuttgart.de/ifi/is/Personen/raichle.html} +Bernd {\sc Raichle}. +Pour +des raisons de Copyright, les moteurs {\TeX} modifiés pour offrir cette option +ne peuvent être appelés \TeX. On trouvera ainsi, pour \textsc{Unix} : +\linkandfootnote{ teTEX}{te\TeX} +{http://www.tug.org/tetex/}% +%teTEX8 +, pour MacOs : +\linkandfootnote{ CMacTEX}{CMac\TeX} +{http://www.kiffe.com/cmactex.html}% +%CMacTEX9 +, pour Windows (win32) : +\linkandfootnote{ fpTEX}{fp\TeX} +{http://www.fptex.org/}%\bf +%fpTEX10 ??? +, etc. +Cette option est choisie à l'installation et plus précisément à la création du +format ; elle permet donc ensuite la césure automatique des mots accentués +en environnement standard. + +\indneg\TeX{\sl nique} : {Ml\TeX} étant devenu une option standard d'exécution des compilateurs +\TeX{} basés sur +\linkandfootnote{ web2c}{web2c}{http://www.tug.org/web2c}% +%web2c4 +, il suffit de coder cette option à la création du +format : +\begin{center} +\fbox{\makebox[0.6\textwidth][l]{\texttt{tex -ini -mltex} \it nom\_du\_format . . .}} +\end{center}\indpos +Il existe aussi une extension de \LaTeX, +\linkandfootnote{MlTeX}{\tt mltex}{http://mirror.ctan.org/tex-archive/systems/generic/mltex} +%mltex6 , +, que l'on peut charger lorsque +le format (fabriqué avec l'option « \texttt{-mltex} ») ne contient pas de descriptif +des caractères accentués contrairement à ce qui était conseillé par \textit{FrenchPro}. +\begin{center} +\fbox{\makebox[0.4\textwidth][l]{$\backslash$\texttt{usepackage\{mltex\}}}} +\end{center} + +\begin{MAJ} +Somme toute, {Ml\TeX} était une façon de parer aux défauts des fontes de type \texttt{OT1}. +Avec \textit {eFrench}\cite{frenchpro} on conseille plutôt de passer aux fontes de type \texttt{T1} sans Ml\TeX{}. +\end{MAJ} +%%\usepackage{mltex} +%5. <>. +%6. <>. +%7. <>. +%8. <>. +%9. <>. +%10. <>. +%3 +\subsection{ Qu'est-ce que TeX--XeT ? }\label{qtexxet} +\indneg{\sl \small En bref :} TeX--XeT ou « {\TeX} de droite-à-gauche » est une option utilisable avec +quelques moteurs \TeX{} qui a été réalisée par Peter {\sc Bretenlohner} pour résoudre +le problème de la mise en page dans les langues écrites de droite à +gauche. Donald \textsc{Knuth} avait étudié la question avec Pierre \textsc{Mackay} mais +était arrivé à une version incompatible avec \TeX. La version proposée par +\textsc{Bretenlohner} n'a pas d'impact sur le compilateur \TeX{} et est donc optionnelle. +Pour des raisons de Copyright, les moteurs \TeX{} modifiés pour offrir +cette option ne peuvent être appelé \TeX. On trouvera ainsi, pour MacOs : +\linkandfootnote{DirectTEX}{Direct\TeX}{http://www.tex.ac.uk/tex-archive/nonfree/systems/mac/directtex/dtmanual.pdf}% +%DirectTEX11 +, pour Windows : l'ancien G{\TeX} qui était proposé par l'association +\linkandfootnote{GUTenberg}{GUTenberg}{http://www.gutenberg.eu.org} +%GUTenberg 12 +avec la distribution WinGUT, etc.\indpos + +\begin{MAJ} +Aujourd'hui, TeX-XeT est intégré à pdf\LaTeX{}. +Pour avoir l'option « \TeX{} de droite-à-gauche », il faut l'activer en définissant +\texttt{$\backslash$TeXXeTstate=1}. +L'effet est de rendre ainsi actives les balises +\texttt{$\backslash$beginL} \textit{pour le texte de gauche à droite} \texttt{$\backslash$endL}, ainsi que +\texttt{$\backslash$beginR} \textit{pour le texte de droite à gauche} \texttt{$\backslash$endR}. +Ces quatre balises sont celles qui ont été définies dans TeX-XeT. +\end{MAJ} +\subsection{ Fontes et codages}\label{fontcoda} +\indneg{\sl \small En bref :} D'une fonte à l'autre, d'un producteur à l'autre, +les caractères ne sont +que rarement à la même place ; ce que l'on exprime en disant : les codages de +fontes sont différents. C'est d'ailleurs le cas pour les fontes par défaut dans +\TeX, les {\it cm}, avec lesquelles on obtient des images de caractères ({\it glyphes}) +différentes en commutant, par exemple, au style \texttt{tt}. Le codage très particulier +des {\it cm} est appelé \texttt{OT1} dans \LaTeX. Par défaut \LaTeX{} fonctionne avec ce +codage ; il n'est donc pas nécessaire de lui préciser quoi que ce soit si on +l'utilise ainsi. +Depuis la création de la norme dite de Cork, de nouvelles fontes ont été +créées, telles les \textit{ec} dont le codage est appelé \texttt{T1} dans \LaTeX. Dans ce codage +figurent les glyphes de tous les caractères composés français. Quelques polices + de caractères (de plus en plus) \maj sont codées selon cette norme. + +\indneg{\TeX\sl nique :} +Si on fait appel à des fontes codées \texttt{T1} il faut le préciser à \LaTeX{} : +\begin{center} +\fbox{\makebox[0.5\textwidth][l] {\texttt{$\backslash$usepackage[T1]\{fontenc\}}}} +\end{center}%%\usepackage[T1]{fontenc} +Dans ce cas \LaTeX{} fera appel, par défaut, aux fontes \textit{ec} pour le mode texte +et aux fontes \textit{cm} pour le mode mathématique. +Les fontes PostScript peuvent être recodées en \texttt{T1} (voir notamment les +logiciels +\linkandfootnote{fontinst}{fontinst}{http://www.tug.org/applications/fontinst/}% +%fontinst13 1.3 +ou +\linkandfootnote{dvi2ps}{dvi2ps}{http://www.tug.org/dvipsk/}% +%dvi2ps14 1.3 +ou +\linkandfootnote{afm2tfm}{afm2tfm}{http://www.tug.org/texinfohtml/dvips.html\#Makink-a-font-available}% +%afm2tfm15 +) +grâce au système de fontes virtuelles. +\subsubsection{Fontes virtuelles} +\indneg{\sl \small En bref :} Certaines fontes sont, en effet, virtuelles parce qu'elles n'existent pas. +Dans la pratique cela veut dire que l'on fait appel, sous ce nom et à la place +%11. <>. +%12. <>. +%13. <>. +%14. <>. +%15. <>. +%4 +d'une fonte virtuelle, à d'autres fontes, bien réelles celles-ci. Pendant toute +une période où les fontes \emph{ec} n'existaient pas, les français ont utilisé des fontes +virtuelles (\textit{dm}) qui permettaient d'accéder à des caractères accentués et ainsi +de disposer d'une césure française correcte. Malheureusement ces fontes \textit{dm} +ne répondent à aucun standard et sont bien incomplètes, il n'est donc plus +très conseillé de les utiliser. Il existe aussi les fontes virtuelles \textit{ae} qui respectent +le standard mais n'offrent pas la panoplie complète des glyphes.\indpos + +La fonte virtuelle +\linkandfootnote{fourier-GUT}{fourier-GUT}%{http://mirror.ctan.org/pkg/fourier} +{http://mirror.ctan.org/tex-archive/fonts/fourier-GUT} +%fourier-GUT16 + fournit un ensemble complet pour le +français : +\begin{center} +\fbox{\makebox[0.5\textwidth][l]{\texttt{$\backslash$usepackage\{fourier\}}}} +\end{center}\indpos +%%\usepackage{fourier} + +La société +\linkandfootnote{YandY}{Y\&Y}{http://tug.org/yandy/} +%Y\&Y17 +a développé des fontes {\it em} qui adoptent encore un autre codage : LY1.\indpos + +L'extension +\linkandfootnote{MlTeX}{\tt mltex}{http://mirror.ctan.org/tex-archive/systems/generic/mltex} +%mltex6 +pour \LaTeX{} utilise, de façon interne, un autre codage : LO1. +\subsection{ Qu'est-ce que TDS ?} +\indneg{\sl \small En bref :} +\linkandfootnote{TDS}{TDS}{http://www.tug.org/tds} +%TDS18 +est une norme pour l'arborescence des fichiers utilisés dans +une installation \TeX. La structure proposée est commune à toutes les plate-formes +matérielles. On peut ainsi partager une même hiérarchie de fichiers de +données (styles, fontes, etc.) ou plusieurs entre différents systèmes d'exploitation, +tels \textsc{Unix}, Windows ou MacOS. Les formats (voir paragr. \ref{quoiFormat}) générés +à partir de compilateurs {\TeX} basés sur +\linkandfootnote{ web2c}{web2c}{http://www.tug.org/web2c} +%web2c4 +sont même utilisables, en +principe, depuis n'importe lequel des systèmes d'exploitations ; ils sont donc +indépendants de toute plate-forme logicielle. + +\indneg{\TeX\sl nique :} la hiérarchie de fichiers est appelée « \texttt{texmf} ». Il en existe au moins +une que l'on ne modifie jamais \texttt{(TEXMFMAIN=texmf)} car elle correspond à la +distribution officielle et une autre, locale \texttt{(TEXMFLOCAL=texmf-local)} que +l'on peut modifier à volonté. En cas de difficulté de gestion de ces hiérarchies +{\TeX} vous pouvez consulter avec intérêt le manuel d'% +\linkandfootnote{administration}{administration} +{http://daniel.flipo.free.fr/doc/tex-admin/TeX-admin.pdf}{ } +%administration19 +de Daniel Flipo. +\section{(La)\TeX{} et le français} +\indneg{\sl \small En bref :} qu'appelle-t-on {(La)\TeX} ou \pgLapdTeX{} ? +Ce logo à mi-chemin entre +\linkandfootnote{TeX}{\TeX} +{http://www.tug.org/whatis.html}{ } +et \linkandfootnote{LaTeX}{\LaTeX} +{http://www.latex-project.org/} +précise que l'on parle de \TeX{} comme de \LaTeX{} ou de tout +\linkandfootnote{autres}{autre} +{http://mirror.ctan.org/tex-archive/systems/}{ } +%autre 20 +ensemble de macro-instructions faisant appel à un moteur \TeX. +%16. . +%17. <>. +%18. <>. +%19. <>. +%20. <>. +%5 +\subsection{Est-ce que ça fonctionne bien en français?} +\indneg{\sl \small En bref :} Quel que soit le logiciel de traitement de texte, divers dispositifs sont +nécessaires et doivent correspondre à l'usage français : la césure des mots, les +caractères composés, la typographie, les usages des éditeurs, etc. Ces dispositifs +existent potentiellement dans \hbox{\pgLapdTeX} mais d'autres, tels que la correction +orthographique, ne peuvent pas en faire partie car \TeX{} est juste un compilateur +(de programme informatique) ; il n'agit pas au moment de la saisie. +Les fonctions de ce genre font partie des éditeurs (de fichiers ou de textes) +ou des traitements de textes usuels. Bien que {\pgLapdTeX} intègre l'essentiel des +dispositifs, certaines précautions d'usage ou certains préalables d'installation +(décrits dans ce document) sont nécessaires. Moyennant quoi {\pgLapdTeX} fonctionne +admirablement bien en français. +\subsection{ Césure et caractères composés} +\indneg{\sl \small En bref :} {\TeX} a été conçu avec une petite faiblesse : son incapacité à couper +(en bout de ligne) les mots contenant la primitive +\verb!\accent! +qui est utilisée +à chaque fois que l'on désire imprimer une lettre accentuée. Heureusement +divers contournements existent ; les deux principaux sont les suivants : + +\begin{itemize} +\item l'utilisation de {Ml\TeX} (voir paragr. \ref{qmltex}) ; +\item l'utilisation de polices de caractères contenant tous les caractères composés +nécessaires au français : les fontes \textit{ec} ou les fontes \textit{lmodern}, au +codage \texttt{T1}, répondent à ce critère (mais il en existe bien d'autres). +\end{itemize}\indpos + +À condition d'avoir choisi l'une de ces deux possibilités, \LaTeX{} offre alors, +à ce niveau, tous les dispositifs nécessaires au français ; il faut éventuellement +lui préciser aussi le codage du texte d'entrée (voir paragr. \ref{inenco}) et celui des +fontes (voir paragr. \ref{soncodent}). + +\indneg{\TeX\sl nique :} rappelons que ces codages sont précisés comme suit : +\begin{center} +\fbox{\parbox{0.6\textwidth} +{\texttt{$\backslash$usepackage[}\textit{codage\_d'entrée}\texttt{]\{inputenc\}}\\[.5ex] +\texttt{$\backslash$usepackage[}\textit{codage\_des\_fontes}\texttt{]\{fontenc\}}}} +\end{center} + +\subsection{ Caractères français} +\indneg{\sl \small En bref :} Celui qui publie en français utilise un jeu de caractères adapté à la langue. Chaque +caractère a une position alphabétique. Lorsque l'on réalise des index et des +bibliographies, il est d'usage de respecter l'ordre alphabétique français. +On pourra consulter le + \linkandfootnote{docja}{document de Jacques André} +{http://jacques-andre.fr/faqtypo/unicode/alpha-fr.pdf} sur le sujet. +%21. <>. +%6 + +\indneg{\TeX\sl nique :} Voici donc le jeu de caractères exact dans l'ordre alphabétique :\\ +\rule{0pt}{1ex}\\ +\fbox{\begin{tabular}{*{21}{c@{\hspace{1.4ex}}}} +a&A&à&À&â&Â&æ&Æ&b&B&c&C&ç&Ç&d&D&e&E&é&É&è\\ +È&ê&Ê&ë&Ë&f&F&g&G&h&H&i&I&î&ÃŽ&ï&Ã&j&J&k&K\\ +l&L&m&M&n&N&o&O&ö&Ö&Å“&Å’&p&P&q&Q&r&R&s&S&t\\ +T&u&U&ù&Ù&û&Û&ü&Ãœ&v&V&w&W&x&X&y&Y&ÿ&Ÿ&z&Z\\ +\end{tabular}} +\subsection{Motifs français de césure}\label{motfrahup} +\indneg{\sl \small En bref :} {\TeX} peut couper les mots français selon l'usage si son format (voir +paragr. \ref{quoiFormat}) qui a été créé avec \texttt{initex} +ou \texttt{virtex} contient une table des +motifs français de césure. L'association GUTenberg est le garant de la validité +de cette table.\indpos + +Le fichier correspondant + \linkandfootnote{frhyphCtan}{\tt frhyph.tex} +{http://mirror.ctan.org/tex-archive/language/hyphenation/} +%{http://ctan.tug.org/tex-archive/language/hyphenation/}% +%(frhyph.tex) 22 +est utilisé dans toutes les distributions +francisées ; il est aussi accessible sur les serveurs +\linkandfootnote{frhyphCtan}{\tt ctan} +{http://mirror.ctan.tug.org/tex-archive/language/hyphenation/frhyph.tex} +% ctan23 + Mais dans la distribution {\it eFrench} est aussi incluse +une extension en $\beta$test de \texttt{frhyph.tex}, +nommée \linkandfootnote{frhyph1}{\texttt{frhyph1.tex}} +{http://www.efrench.org/hyphen/frhyph1.tex} + et proposée par Bernard Gaulle. + +Ces motifs français de césure ont été mis au point tout au long des années ; +ils sont actuellement le meilleur compromis pour appliquer une coupure correcte +de mots dans un document français. Il est donc fortement conseillé de +faire confiance à ces motifs de césure et de n'appliquer qu’exceptionnellement +des modifications de césure ponctuelles dans le document lui-même ou dans +un fichier séparé, mais jamais dans les fichiers officiels précités. + +Pour mieux connaître et comprendre ces motifs de césure on consultera +l'article \cite{cesures} publié dans les Cahiers GUTenberg. + + +\indneg{\TeX\sl nique :} Le fichier des motifs français de césure est chargé automatiquement,\begin{MAJ} +à l'installation de la langue \texttt{french} dans le moteur (Mik\TeX{} ou \TeX Live, par exemple). +Ceci se fait en deux phases : +\begin{enumerate} +\item le chargement dans le système (Mik\TeX{} , \TeX Live, ...) d'une langue, que ce soit +\texttt{french} ou une autre, adapte le fichier \texttt{language.dat} en y incorporant +les dénominations les fichiers de césure correspondants. +\item la partie de \textit{ babel} (voir paragr. \ref{forbabel}) qui est est incorporée +au moteur {\LaTeX} charge les fichier de césure selon le contenu de \texttt{language.dat}, +sans que \textit{ babel} soit invoqué explicitement. +\end{enumerate} +Remarquons que c'est aussi à cause de ce mécanisme qu'il n'est plus +nécessaire de créer les formats \texttt{fr}...\texttt{tex} . +\end{MAJ} +%la création du format (voir paragr. 1.3) soit par hyconfig.tex25 de la +%distribution FrenchPro 24 ou +%e fichier de configuration language.dat26 : +%22. <>. +%23. <>. +%24. . +%25. . +%7 +%le fichier de configuration language.dat26 : +Voici à titre documentaire la partie de \texttt{language.dat} définissant les césures de la langue française :\\[0.5ex] +\begin{minipage}{12cm} +ici précédée par l'anglais \\[0.5ex] +\fbox{ +\begin{minipage}{11cm} +\tt +\%==============================================/ \\ +\% Name~~~| patterns ~| exceptions | ~ encoding / \\ +\%==============================================/ \\ +usenglish ushyph.tex \% this is the original ~ ~/ \\ +\rule{0pt}{1pt} ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \% Don. Knuth's hyphenation/ \\ +=english ~enhyph.tex ~enhyphex.tex \% ~ ~ ~ ~ ~ / \\ +french ~~ frhyph.tex ~frhyphex.tex \% ~ ~ ~ ~ ~ / \\ +=patois ~ \% ~ ~ ~ ~ ~\% ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / \\ +=acadien ~\% ~ ~ ~ ~ ~\% ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / \\ + german ~ ~dehypht.tex\% traditional german ~ ~ ~/\\ +\vdots +\end{minipage}\\[1ex] +}\\[1ex] +et suivie de l'allemand traditionnel et d'autres langues ... +\end{minipage} +\indpos +%...celui de + +Il est à noter que la césure d'un mot est fortement liée à la fonte utilisée +et aussi au codage (voir paragr. \ref{fontcoda}) de cette fonte. Heureusement le fichier +des motifs français est indépendant des codages de fontes usuels, tels que \texttt{T1} + (préférable) et \texttt{OT1}. +\subsection{ Faut-il saisir avec un clavier français ?} +\indneg{\sl \small En bref :} Le clavier doit, avant tout, vous être familier. +Que la disposition des touches soit française +(\texttt{AZERTY}) ou autre (en général \texttt{QWERTY}, en Suisse \texttt{QWERTZ}) +n'est pas vraiment un problème pour +\pgLapdTeX. Il est souhaitable que l'éditeur de document utilisé facilite la saisie +des éléments français répétitifs dans vos textes. C'est le cas des caractères +composés. Si vous ne disposez pas de tous les caractères composés au clavier, +il faut alors que l'éditeur accepte des combinaisons de touches permettant de +les afficher à l'écran sous leur forme normale. +%Si ce n'est pas le cas vous pouvez +%configurer cela vous même, facilement, grâce à l'extension keyboard (voir +%paragr. 2.7) de FrenchPro. + +\indpos Avec \LaTeX, par défaut, vous êtes supposé saisir de l'{\sc ascii} (7-bits), ce qui +correspond aux possibilités du clavier \texttt{QWERTY} des anglo-saxons. Comme il y a +de fortes chances pour que ce ne soit pas votre cas ou du moins que vous ne +le souhaitiez pas, vous devrez le préciser en nommant votre codage d'entrée +(voir ci-après). +\subsection{Quel codage d'entrée faut-il préciser à \LaTeX?} +\label{inenco} +\indneg{\sl \small En bref :} Le codage d'entrée de votre texte saisi ({\it input encoding} en anglais) +peut être spécifié au moyen de l'extension \textit{inputenc} +(standard \LaTeX). +% ou keyboard (voir paragr. 2.7) de FrenchPro. L'intérêt de +%l'un ou de l'autre est différent (voir paragraphe suivant). +%26. . +%8 + +\indneg{\TeX\sl nique :} Par défaut, \LaTeX{} est chargé avec le codage d'entrée {\sc ascii} de la façon +suivante :\indpos +\begin{center} +\fbox{\parbox{0.5\textwidth} +{\texttt{$\backslash$usepackage[ascii]\{inputenc\}}}} +\end{center} +%\usepackage{inputenc} +\begin{MAJ} + +Le codage \textsc{utf-8} est aujourd'hui présent pratiquement sur tous les systèmes. +Afin de rendre vos fichiers compatibles sur plusieurs machines, +c'est la meilleure solution. +Vous choisissez alors pour vos sources \pgLapdTeX ce code : +\begin{center} +\fbox{\parbox{0.5\textwidth} +{\texttt{$\backslash$usepackage[utf8]\{inputenc\}}}} +\end{center} +\end{MAJ} + +Si vous êtes sous Windows le codage par défaut est \texttt{ansinew} ; il vous +faudra alors coder : +\begin{center} +\fbox{\parbox{0.5\textwidth} +{\texttt{$\backslash$usepackage[ansinew]\{inputenc\}}}} +\end{center} +%\usepackage[ansinew]{inputenc} +%%ou %\usepackage[ansinew]{keyboard} +\begin{MAJ} +Il faut aussi savoir que quelques caractères bien utiles au français +ont été omis dans le codage \textsc{iso-latin-1}, comme le e dans l'o (Å“, Å’), +ce qui a été corrigé dans \textsc{iso-latin-9}. +Malgré tout \textsc{utf-8} est préférable, maintenant que Windows +le supporte aussi (de mieux en mieux). L'éditeur gratuit \textit{Notepad++} +permet sous Windows de faire passer un texte d'un codage à l'autre très facilement. +\end{MAJ} + +Si vous êtes sur un Macintosh, le codage Apple est acceptable en français ; +codez alors : +\begin{center} +\fbox{\parbox{0.5\textwidth} +{\texttt{$\backslash$usepackage[applemac]\{inputenc\}}}} +\end{center} +%\usepackage[applemac]{inputenc} +%%ou %\usepackage[applemac]{keyboard} +\begin{MAJ} +Si enfin vous êtes sous \textsc{Unix} (ou \textsc{Linux}), le codage le plus adéquat est \textsc{utf-8} +qui est le codage par défaut de ces plateformes. +\end{MAJ} + +%celui qui répond +%au nom de iso-latin-9 ; si vous ne l'avez pas avec \LaTeX{} vous pouvez utiliser +%le codage decmulti qui est très proche ou sinon l'iso-latin1. Vous pouvez +%alors coder comme suit : +%soit %\usepackage[latin9]{inputenc} +%soit %\usepackage[decmulti]{inputenc} +%soit %\usepackage[latin1]{inputenc} +%soit enfin %\usepackage[latin9]{keyboard} +%Le codage +%iso-latin-9 est proposé en standard avec l'extension keyboard (voir +%paragr. 2.7) de FrenchPro.r +%Un autre codage se généralise actuellement ; il devient progressivement le +%codage par défaut dans les systèmes d'exploitation, il s'agit du codage utf8 +%issu d'unicode. Vous pouvez le coder comme suit : +%soit %\usepackage[utf8]{inputenc} +%soit enfin %\usepackage[utf8]{keyboard} +%D'autres codages existent, reportez-vous à la documentation \LaTeX{} ou à +%celle de FrenchPro (voir paragr. 2.11). +%2.7 Faut-il utiliser l'extension keyboard à la place de +%inputenc ? +%\indneg{\sl \small En bref :} Il y a de nombreux avantages (et certainement des inconvénients) à +%utiliser l'extension keyboard 27, cela est expliqué dans la documentation de +%l'extension FrenchPro (voir paragr. 2.11). Vous pouvez sans crainte particuli` +%ere remplacer inputenc par keyboard. Dans un environnement mltex6 elle +%remplace à la fois inputenc et mltex. Cela étant dit, si votre format (voir +%27. . +%9 +%paragr. 1.3) est entièrement francisé avec FrenchPro vous n'avez, a priori, +%pas besoin de faire appel à cette extension tant que vous ne changez pasr de +%codage d'entrée dans vos documents car FrenchPro fait déjà appel à l'extension +%keyboard ou plutôt au configurateur kbconfig.tex28 à la création du +%format (voir paragr. 1.3). +\subsection{Peut-on avoir son propre codage d'entrée ?} +\label{soncodent} +\indneg{\sl \small En bref :} oui, mais cela est fortement déconseillé si vous devez transmettre votre +document source à des tiers inconnus. + +\indneg{\TeX\sl nique :} Avec l'extension \textit{inputenc} (voir paragr. 2.6) il vous faudra définir +un fichier personnel contenant la description des 256 caractères possibles de +votre codage perso ; c'est un peu fastidieux si vous voulez changer beaucoup +de caractères. +\textit{FrenchPro} proposait l'extension \textit{keyboard}. + +\begin{MAJ} +L'option \textit{keyboard} n'a pas été reprise par \textit{eFrench}, + la prolifération des codages d'entrée pour le français s'étant +drastiquement tassée et \textsc{utf-8} offrant une palette de caractères dépassant largement +la limite de 256 imposée par un codage en 8 bits. +\end{MAJ} +%Grâce à l'extension keyboard (voir paragr. 2.7) de la distribution French-r +%Pro (voir paragr. 2.11) vous pouvez déclarer votre propre codage d'entrée ; il +%suffit d'éditer un fichier de configuration et d'entrer les caractères souhaités, +%par exemple : +%%------ Tableau des caracteres accentues de mo/ +%% \______________________________________/ +%% |___1__|___2__|___3__|___4__|___5__|___/ +%\ac[ \‘ | \' | \" | \^ | {\c} | ] / +%\noms| gr | ac | um | hat | c | / +%%---------------------------------------------/ +%[a | à | . | ¨a | â | . | ] / +%\hex| ^^e0 | . | ^^e4 | ^^e2 | . | / +%[A | à | . | ¨A | â | . | ] / +%\hex| ^^c0 | . | ^^c4 | ^^c2 | . | / +%%---------------------------------------------/ +%Cette extension keyboard est utilisable soit au chargement d'un document +%soit au moment de la création du format (voir paragr. 1.3) ce qui revient à +%appliquer, par défaut, un même codage à tous les documents. Il est, cependant, +%toujours possible de changer de codage « à la volée » à l'intérieur d'unr +%document : +%%\usepackage{inputenc}1.3 +%ou %\usepackage{keyboard} +%... +%\inputencoding{nouveau_codage } +%ou \kbencoding{nouveau_codage } +%28. . +%10 +\subsection{Quel codage de police employer avec \LaTeX{} ?} +\indneg{\sl \small En bref :} Pour simplifier, il y a essentiellement deux codages de police utilisables +en français avec \LaTeX: \texttt{T1} ou \texttt{OT1} (voir paragr. \ref{fontcoda}).\indpos + +Le codage \texttt{OT1} étant la valeur par défaut en \LaTeX, rien n'est à préciser +dans le document. Mais il faut savoir que ce codage doit être employé +conjointement avec un format Ml\TeX (voir paragr. \ref{qmltex}) pour bénéficier de la +césure des mots accentués. +{\em Mais cette méthode est aujourd'hui dépassée.} + +Lorsqu'on dispose de fontes codées \texttt{T1}, comme les \textit{ec} ou les \textit{lmodern}, il +faut alors le préciser à \LaTeX, cf ci-dessous. + +\indneg{\TeX\sl nique :} Pour choisir un codage de fontes \texttt{T1} et utiliser les fontes associées par +défaut on codera : + +\begin{center} +\fbox{\parbox{0.5\textwidth} +{\texttt{$\backslash$usepackage[T1]\{fontenc\}}}} +\end{center}\indpos +%%\usepackage[T1]{fontenc} + +On notera que toutes les polices PostScript Adobe de base sont utilisables +en codage \texttt{T1} bien que des glyphes manquent pour certaines langues. Pour +utiliser une fonte PostScript de base de chez Adobe (\textit{Times} par exemple) +on fait appel, en général, à l'extension correspondante : + +\begin{center} +\fbox{\parbox{0.4\textwidth} +{\texttt{$\backslash$usepackage\{times\}}}} +\end{center}\indpos + +selon Bernard \textsc{Gaulle} toutefois, il est préférable de coder : +\begin{center} +\fbox{\parbox{0.4\textwidth} +{\texttt{$\backslash$usepackage\{pslatex\}}}} . +\end{center}\indpos +%%\usepackage{pslatex} + +Certaines extensions forcent un codage de fontes ; c'est, par exemple, le cas +de l'extension +\linkandfootnote{fourier-GUT}{fourier}{http://mirror.ctan.org/tex-archive/fonts/fourier-GUT} +%fourier 16 +qui utilise les fontes fourier-GUT et exige le codage +\texttt{T1}. + +\maj +%LO1 est le codage employé, en interne, lorsque l'on fait appel à l'extension +%MlTEX (voir paragr. 1.5) : +%%\usepackage{mltex} +%Si l'on dispose des fontes em (codées LY1) on fera appel à l'extension em : +%%\usepackage{em} + +\subsection{{\TeX} parle anglais... irrémédiablement !} +\indneg{\sl \small En bref :} L'essentiel des messages émis par \TeX{} réside dans un fichier spécifique +et rien n'empêche l'installateur de traduire ces messages en français, +même s'il est ensuite difficile de s'y retrouver dans la documentation de référence +qui est en anglais. Par ailleurs, il restera toujours quelques messages +en anglais qui font partie du programme \TeX{} lui-même. Ce qu'il faut aussi +savoir, à ce niveau, c'est que \TeX{} n'est qu'un moteur fait pour véhiculer des +programmes, des styles typographiques et des extensions ; toutes sortes de +choses qui existent en grand nombre et sont toutes (ou presque) développées +avec des messages en anglais. Par ailleurs, tous les messages de \LaTeX{} sont +aussi en anglais. Dans ces conditions, une francisation du dialogue \TeX{} et de +ses extensions semble donc totalement illusoire... +%11 + +\indneg{\TeX\sl nique :}\indpos Toutefois, Bernard Gaulle a créé une extension \LaTeX{} qui permet de fournir des messages +dans la langue de son choix ; il s'agit de l'extension \emph{msg} (% +\linkandfootnote{doctecmsg}{ documentation technique} +{http://svn.tuxfamily.org/viewvc.cgi/efrench\_efrenchsources/trunk/doc/msg.pdf}% +). +%29. 29 +Ainsi, tout \LaTeX{} pourrait, en théorie, parler autre chose que +l'anglais. La première application de ce système de localisation s'est faite, +bien entendu, dans \textit{FrenchPro} qui ainsi « parle » plusieurs langues. +Cette extension a été reprise dans \textit{eFrench}. + +\subsection{Qu'est-ce que \textit{FrenchPro (eFrench)} ?}\label{qeFrenchPro} + +\indneg{\sl \small En bref :} Au fur et à mesure du temps (depuis 1989) et aidés par les utilisateurs +français de \TeX{} nous (Bernard Gaulle et al.) avons mis en Å“uvre divers ajustements des paramètres +de \TeX{} de façon à obtenir un aspect typographique plus conforme à l'usage, +en France et dans le monde francophone. Ces modifications, éparses et parfois +divergentes, ont été collectées et normalisées par votre serviteur +(Bernard Gaulle, voir page \pageref{prempage}) +pour en faire un style unique, robuste et de qualité, appelé à l'origine le +{\it style french}\footnote{ Le \textit{style french} qui fonctionnait aussi très bien avec plainTEX et \LaTeX{} 2.09 ne fonctionne +plus qu'avec \LaTeX{} 2$\epsilon$ depuis la version 4 de \textit{french}} +% ; voir toutefois les explications au paragr. 5.5.} +Il se décline maintenant en deux extensions : +\begin{MAJ} + \textit{eFrench} (successeur de \textit{FrenchPro}) et +\texttt{frenchle}\cite{frenchle} ; \textit{FrenchPro} était distribuée en \textit{shareware}, \textit{eFrench} +et \texttt{frenchle} sont des logiciels libres (LPPL).\\[2ex] +\end{MAJ} + +\noindent +%\subsubsection*{frenchle} +{\Large \it frenchle}\\[2ex] +\indneg{\sl \small En bref :} cette extension a pour objectif de réaliser un maximum de francisation +avec un minimum logiciel et sans connaissance particulière de la part de +l'utilisateur (% +\linkandfootnote{docfrenchle}{voir la documentation provisoire} +{http://mirror.ctan.org/language/french/e-french/doc/manuels/frenchle.pdf}% +%language/french/doc/frenchle.pdf}% +). +%voir la documentation 31 +\maj Cette extension supporte le français et l'anglais ; +elle est utilisable seule ou en option de \textit{babel}. Une petite extension \textit{babelfr} +est fournie avec \textit{frenchle} pour faciliter la francisation des autres extensions +utilisées dans le document.\\[1ex] + +\indneg{\TeX\sl nique :} Pour charger l'extension \textit{frenchle} il faut procéder comme suit : +\begin{center} +\fbox{\parbox{0.9\textwidth}{ +\texttt{$\backslash$usepackage\{frenchle\}} +\begin{flushright} +ou ~ \texttt{$\backslash$usepackage[frenchle]\{babel\}}\\ +ou plutôt ~ \texttt{$\backslash$usepackage[frenchle]\{babelfr\}} +\end{flushright} +}}\\[0.5ex] +\end{center}\indpos + +ou mieux lorsqu'on utilise \textit{babel} (voir paragr. \ref{forbabel}) : +\begin{center} +\fbox{\parbox{0.9\textwidth}{ +\texttt{$\backslash$documentclass[french]}\{\textit {classe\_de\_document} \}\\ +\rule{0.4\textwidth}{0pt} \vdots + \begin{flushright} +\texttt{$\backslash$usepackage\{babelfr\}} +\end{flushright} +}}\\[4ex] +\end{center} +%\documentclass[french]{classe_de_document } +%... +%%\usepackage{babelfr} +\noindent +{\Large \it FrenchPro} ou plutôt son successeur {\Large \it eFrench}\\%[1ex] + +%30. +%31. . +%32. . +%33. . +%12 +\indneg{\sl \small En bref :} cette extension permet un francisation professionnelle de \LaTeX. Une +distribution logicielle spécifique est associée à chaque système d'exploitation +sur le serveur +\linkandfootnote{distribefr}{efrench} +{http://www.efrench.org/distributions/} +%{http://mirror.ctan.org/tex-archive/language/french/frenchle/frenchle.pdf}% + ; elle réside aussi sur +\linkandfootnote{ctanefr}{\tt ctan} +{http://mirror.ctan.org/tex-archive/language/french/e-french/}.\indpos + +Le fichier \linkandfootnote{ctanmanuefr}{\tt efrench.pdf} +{http://mirror.ctan.org/tex-archive/language/french/e-french/doc/manuels/efrench.pdf} + est à la fois un mode d'emploi et un manuel de référence. +Vous y trouverez de nombreuses commandes (plus de 170) permettant +une personnalisation maximum\cite{personnalis} de vos documents (voir à ce sujet un descriptif +des fonctions de personnalisation dans le document +\linkandfootnote{artET98pdf}{\tt\hbox{artET98.pdf}} +{http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/doc/artET98.pdf?view=co} +). + +\textit{FrenchPro} comme désormais \textit{eFrench} jouent essentiellement 7 rôles : +\begin{enumerate} +\item coupure correcte des mots français ; +\item traduction en français des différents libellés imprimés par \LaTeX; +\item possibilité d'utiliser plusieurs langues dans un même document ; +\item mise en page adaptée à l'usage français ; +\item micro-typographie (essentiellement la ponctuation) adaptée au français ; +\item apport d'un ensemble supplémentaire de macro-instructions généralement +nécessaires dans un document français (dont une liste d'abréviations +usuelles, des lettrines, etc.) ; +\item affichage personnalisé des messages à l'écran. +\end{enumerate} +Ces rôles de l'extension \textit{eFrench} %FrenchPro + sont mis en oeuvre essentiellement par deux fichiers +(\texttt{french.sty} et \texttt{fenglish.sty}) mais la distribution comprend de nombreux +autres fichiers. Parmi ceux-ci il faut citer le fichier de césure français \texttt{frhyph.tex} + (voir paragr. \ref{motfrahup}). D'autres encore facilitent l'installation, la mise en place +du mécanisme de césure, la définition du codage à la saisie, etc. Divers tests permettent +de s'assurer du bon fonctionnement de l'ensemble. + +L'extension \textit{eFrench}\cite{frenchpro} est utilisable avec l'ensemble des compilateurs courants +\TeX{} ou les +\linkandfootnote{autres}{platesformes} +{http://mirror.ctan.org/tex-archive/systems/}{ } +%platesformes 20 +d'exploitation mais aussi avec les options +Ml\TeX (voir paragr. \ref{qmltex}) et \texttt{TeX--XeT} (voir paragr. \ref{qtexxet}). + +\indneg{\TeX\sl nique :} \indpos Une fois installée dans le système, l'extension \textit{eFrench} peut être +appelée de telle façon, suivant qu'elle est utilisée avec l'extension multilingue +\textit{mlp} (voir paragr. \ref{latexmullin}) ou avec \textit{babel} : +\begin{center} +\fbox{\parbox{0.9\textwidth}{ +\texttt{$\backslash$usepackage[french]\{mlp\}} +\begin{flushright} +ou ~ \texttt{$\backslash$usepackage[french]\{babel\}} +\end{flushright} +}}\\[0.5ex] +\end{center} + +Si l'on souhaite qu'un maximum d'extensions bénéficient de la francisation +il est préférable de coder plutôt : +\begin{center} +\fbox{\parbox{0.9\textwidth}{ +\texttt{$\backslash$documentclass[french]}\{\textit {classe\_de\_document} \}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \texttt{$\backslash$usepackage\{mlp\}} \hfill +ou ~ \texttt{$\backslash$usepackage\{babel\}} +}}\\[4ex] +\end{center} +En conjugaison avec \textit{babel}, seuls quelques dispositifs +sont actuellement inopérants (comme par exemple l'ordre +\texttt{$\backslash$frhyphex}) mais +dans ce cas \textit{eFrench} n'est plus une extension autonome mais seulement +une option de l'extension \textit{babel}, ce qui témoigne de la différence de fonctionnement. +Si on désire utiliser \textit{eFrench} entièrement de façon native, dans +un environnement multilingue on fera plutôt appel à l'extension \textit{mlp} +(voir paragr.\ref{latexmullin}). + +%\documentclass[french]{classe\_de\_document } +%... +%%\usepackage{mlp} ou %\usepackage{babel} +%34. .efrench.org +%35. . +%36. . +%37. . +%13 +\subsection{ Y a-t-il d'autres extensions pour le français ?} +L'extension \textit{babel}, qui permet d'utiliser une grande variété de langues +dans un même document, propose une option de francisation « +\linkandfootnote{frenchb}{\textit{french\textbf{b}}} +{http://daniel.flipo.free.fr/frenchb/frenchb-doc.pdf} ». +Cette option, développée par Daniel \textsc{Flipo}, apporte des facilités de microtypographie +ainsi que, bien entendu, de traduction en français. Elle est en +tout point, très comparable, à l'extension \texttt{frenchle} dont elle s'inspire\footnote{% +« I have borrowed many ideas from Bernard's file. » (frenchb v1.1 revised +1996/05/31)}. +Il faut savoir que \hbox{\textit{french\textbf{b}}} n'est pas, pour des raisons historiques et de +cohérence, l'option prédominante avec \textit{babel} dans \textit{eFrench} (ou avec \textit{babelfr} +de \textit{frenchle}) quand on précise l'option \textit{french} au lieu de \textit{frenchb}. Par ordre +de préférence, c'est \textit{eFrench} (\texttt{french.sty}) qui est chargé, à défaut ce sera \texttt{frenchle}, +%\texttt{frenchb} si aucune des précédentes n'est présente. +ou \texttt{frenchb} sinon. + +\indneg{\TeX\sl nique :} Pour bien choisir l'extension de francisation que l'on désire employer +avec \textit{babel}\/ il suffit que vous précisiez la bonne option : +\begin{center} +\fbox{\parbox{0.9\textwidth}{ +\begin{flushright} +soit ~ \texttt{$\backslash$usepackage[frenchle]\{babel\}}\\ +mais plutôt ~ \texttt{$\backslash$usepackage[frenchle]\{babelfr\}} +\end{flushright} +soit ~ \texttt{$\backslash$usepackage[frenchb]\{babel\}} +\begin{flushright} +soit enfin ~ \texttt{$\backslash$usepackage[efrench]\{babel\}} +\end{flushright} +}}\\[4ex] +\end{center} +%FL soit %\usepackage[frenchle]{babel} +%FL mais plutôt %\usepackage[frenchle]{babelfr} +%soit %\usepackage[frenchb]{babel} +%FL soit enfin %\usepackage[frenchpro]{babel} +\section{ Autres outils français} +\Subsubsection*{Guillemets aeguill} +\indneg{\sl \small En bref :} Cette extension +\linkandfootnote{aeguill}{\it aeguill} +{http://mirror.ctan.org/tex-archive/macros/latex/contrib/aeguill} +dûe à Denis {\sc Roegel} apporte un choix de +fontes supplémentaire pour l'impression des guillemets français (fait appel à +l'extension \texttt{ae}) +\Subsubsection*{Dictionnaire} +\indneg{\sl \small En bref :} Réalisé par Christophe \textsc{Pythoud}, et nommé +\linkandfootnote{dictfran}{francais-GUTenberg} +{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1998___28-29_252_0.pdf} %41 + ce dictionnaire élaboré, fonctionne avec le vérificateur d'orthographe {\sc ispell} (et donc +ne peut être utilisé que sur les systèmes pour lesquels {\sc ispell} est disponible). +\Subsubsection*{Classe lettre} +\indneg{\sl \small En bref :} La classe +\linkandfootnote{lettreobsgen}{\it lettre} +%{http://www.pirbot.com/mirrors/ctan/macros/latex/contrib/lettre/lettre.pdf}%42 +{http://mirror.ctan.org/tex-archive/macros/latex/contrib/lettre/} +, de Denis \textsc{Mégevand}, est une adaptation du style +lettre développé à l'origine à l'Observatoire de Genève. Elle permet de composer +avec \LaTeX{} des lettres ou des téléfax dont l'allure correspond mieux +aux usages francophones. + +\begin{MAJ} +Elle fonctionne parfaitement avec \textit{frenchb} (et \textit{babel}). +Et très mal avec \textit{frenchle} ou \textit{eFrench}. +Un défi supplémentaire pour notre équipe ! + +\end{MAJ} +\Subsubsection*{Bibliographie et index} +%38. <>. +%39. +%40. <>. +%41. <>. +%42. <>. +%14 +Il existe dans \textit{eFrench} un système de traduction des libellés utilisés pour +une bibliographie. D'autres contributions à la typographie française existent\cite{lepetity} sur +\linkandfootnote{bibctan}{\tt ctan} +{http://mirror.ctan.org/tex-archive/biblio/bibtex/}. + +\indneg{\TeX\sl nique :} pour trier correctement les entrées bibliographiques on utilisera de +préférence la version 8-bits de BiB\TeX{} : \textit{bibtex8}, et \textit{x\r{\i}ndy} pour l'index. +\section{ \LaTeX{} multilingue}\label{latexmullin} +\indneg{\sl \small En bref :} L'extension +\linkandfootnote{babel}{\it babel} +{http://mirror.ctan.org/tex-archive/macros/latex/required/babel/} + de \LaTeX{} permet de composer des documents faisant +appel à de nombreuses langues de la planète, écrites ou imprimées. +Il existe d'autres extensions multilingues, dont les extensions fournies avec \textit{eFrench} +et \texttt{frenchle} qui sont conçues pour fonctionner dans un environnement multilingue +(avec par défaut le français et l'anglais) mais aussi l'extension \textit{mlp}.\\ + +{\Large\textit{L'extension mlp}}\\ + +\indneg{\sl \small En bref :} Il s'agit d'une extension multilingue qui permet une cohabitation +harmonieuse d’extensions linguistiques autonomes ; elle +fait partie intégrante du paquet +% est distribuée avec +\hbox{\textit{eFrench}}. + +\indneg{\TeX\sl nique :} On peut faire appel à +\linkandfootnote{mlp}{\it mlp} +{http://svn.tuxfamily.org/viewvc.cgi/efrench\_efrenchsources/trunk/inputs/mlp/} +de la façon suivante : +\begin{center} +\fbox{\parbox{0.75\textwidth} +{\tt $\backslash$usepackage[english,german,french]\{mlp\}}}\\[2ex] +\end{center} +%%\usepackage[english,german,french]{mlp} +ou alors ainsi : +\begin{center} +\fbox{\parbox{0.75\textwidth} +{\tt $\backslash$usepackage[anglais,allemand,francais]\{mlp\}}} +\end{center} +%%\usepackage[anglais,allemand,francais]{mlp}\LaTeX +et dans les deux cas les parties en anglais, en allemand ou en français seront +composées selon ces styles. Pour passer d'une langue à une autre on code +\texttt{$\backslash$french} ou \texttt{$\backslash$english} ou \texttt{$\backslash$german} selon le cas.\indpos + +\begin{MAJ} +Remarquons toutefois que \textit{mlp} est nettement plus restreint que \textit{babel} dans +la variété des langues disponibles, à moins de mettre la main à la pâte et de +compléter la collection des fichier d'extension \texttt{.mlp} et des fichiers \texttt{mlp-*.sty}. +En contrepartie, cet environnement laisse à \textit{eFrench} toutes ses possibilités. +(voir vers la fin du paragr. \ref{qeFrenchPro}) +\end{MAJ} +\section{Questions relatives à \textit{eFrench}} +\subsection{Est-ce que \textit{eFrench} s'installe automatiquement ?} +\begin{MAJ} +\indneg{\sl \small En bref :} Si \textit{FrenchPro} oui, s'installait automatiquement, mais de manière différente +suivant les systèmes d'exploitation, concernant \textit{eFrench} l'installation a été +grandement simplifiée et il suffit de placer la structure du paquet au bon endroit +dans la structure \textit{TDS} +et de lancer un \texttt{texhash} (ou son équivalent dans Mik\TeX{}, +voir plus bas, fin du paragr. \ref{mikroot}) +concernant cet endroit et le but est atteint. +%est +%Avant toute chose, veuillez consulter +%les informations concernant le moteur TEX47 que vous utilisez, pour +%connaître les détails éventuels liés à votre compilateur. +%43. <>. +%45. <>. +%46. <>. +%47. . +%15 +%\indneg{\TeX\\\sl nique :} +%Avec Windows vous disposez de deux installateurs : +%– l'un pour le moteur fpTEX48 qui est en fait un moteur teTEX49\LaTeX +%adapté à win32.\texttt{frenchb} +%Pour lancer l'installation placez-vous dans le répertoire french et +%tapez :\LaTeX +%install +%Choisissez ensuite de préférence l'installation « à la unix » qui +%est un peu plus longue mais beaucoup plus efficace (et surtout\indneg{\TeX\\\sl nique :} +%complète). +%– pour le moteur MikTEX50 vous pouvez procéder de la même mani` +%ere ou sinon placez-vous dans le répertoire french et tapez : +%mikinstall +%Vous disposez, bien entendu, des procédures « uninstall » correspondantes. +%Avec un unix le moteur de prédilection est celui de teTEX49. Pour installer +%FrenchPro dans un environnement gnu il suffit de se placer dans le +%répertoire french et de taper : +%gmake -f GNUmakefile +%Voir le fichier GNUmakefile51 pour une éventuelle personnalisation. +%Dans un environnement non-gnu vous disposez d'un makefile.gen52 +%qu'il suffit d'adapter à votre configuration et de sauvegarder sous le +%nom de makefile. Ensuite vous demandez simplement son exécution : +%make\textsc{Unix} +%Avec MacOS si vous utilisez une version de type unix (c'est-à-dire  10)\LaTeX +%il suffit de vous reporter à la description précédente, sinon veuillez lire +%la petite notice d'installation fournie qui vous expliquera ce qu'il reste +%à faire 53. +%5.2 Qu'est-ce qu'un format francisé pour FrenchPro ? +%\indneg{\sl \small En bref :} Pour FrenchPro un format est entièrement francisé lorsque les motifs +%de césure (voir paragr. 2.4) du français ont été installés et que le codage +%\indneg{\TeX\\\sl nique :} +%d'entrée (voir paragr. 2.5) du texte y a été défini. +%48. .1.3 +%49. . +%50. . +%51. . +%52. . +%53. La distribution de FrenchPro pour MacOs 9 ou inférieur est définitivement gelée. +%16 +%5.3 Peut-on mettre toute la francisation dans\textsc{Unix} le format? +%\indneg{\sl \small En bref :} Qu'il s'agisse de FrenchPro ou de frenchle on utilise un format francis +%é et on aurait envie de ne plus avoir à coder le %\usepackage{french...} ; +%malheureusement cela n'est pas possible dans la version actuelle. +%5.4 Pourquoi des distributions de FrenchPro pour Unix, +%Mac et Windows? +%\indneg{\sl \small En bref :} Il existe effectivement des distributions différentes, adaptées aux platesformes +%d'exploitation, tout simplement parce que d'une part les codages d'entr1.3 +%ée (utilisés dans divers documents source) sont différents mais aussi parce +%que les procédures d'installation et les configurations sont différentes. +%5.5 FrenchPro fonctionne-t-il avec plainTEX +%ou \LaTeX{} 2.09? +%\indneg{\sl \small En bref :} +%Non : +%FrenchPro, depuis la version 4, n'est plus conçu pour fonctionner +%avec plainTEX ni \LaTeX{} 2.09. +%Oui : +%il existe dans la distribution de FrenchPro (dossier obsolate) un +%fichier frplain.sty gelé à la version V3,51 qui fonctionne avec\{mltex\} +%plainTEX. Par ailleurs, à l'installation de FrenchPro le format +%plain francisé est créé automatiquement. +%Oui +%Il y a aussi dans la distribution de FrenchPro (dossier obsolate) +%un fichier frltx209.sty gelé à la version V3,51 qui fonctionne +%encore avec le très, très, très ancien \LaTeX{} 2.09. +%Ces deux derniers fichiers sont définitivement figés et ne seront plus mis +%à jour. Ils sont destinés à aider les personnes qui ont encore des fichiers nonforbabel +%convertis à \LaTeX. La distribution actuelle des fichiers de francisation permet +%donc d'utiliser à la fois plainTEX, \LaTeX{} 2.09 et \LaTeX{} mais seules les extensions +%pour \LaTeX, FrenchPro et frenchle, sont maintenues régulièrement à +%jour. +\subsection{Où installer \textit{eFrench} dans la hiérarchie \textit{TDS} ?} +\indneg{\TeX\sl nique :} Les fichiers de la distribution \textit{eFrench} sont à déposer de +préférence dans :\\ + .../texmf-local/french, où \\ + ... sera dépendant du système d'exploitation, +sous \textsc{Unix} par exemple ce pourra être {\bf$\tilde{ }$} (dossier personnel), +sous Windows on pourra simplement choisir C:$\backslash$. +La structure finale sera : \\[1ex] +\textit{user-space}/\texttt{texmf-local}/tex/french/...\\ +\textit{user-space}/\texttt{texmf-local}/tex/french/french.sty\\ +\textit{user-space}/\texttt{texmf-local}/tex/french/...\\ +\textit{user-space}/\texttt{texmf-local}/tex/french/french.msg\\ +\textit{user-space}/\texttt{texmf-local}/tex/french/...\\ +\textit{user-space}/\texttt{texmf-local}/tex/french/frenchle.sty\\ +%\textit{user-space}/\texttt{texmf-local}/tex/latex/...\\ +où \textit{user-space}/\texttt{texmf-local} est ~{\bf $\tilde{ }$}~/\texttt{texmf-local} sous \textsc{Unix} ; \texttt{C:$\backslash$texmf-local} +ou un choix personnel sous Windows, du genre +\texttt{C:$\backslash$Users$\backslash$}\textit{identificateur}\texttt{$\backslash$texmf-local}. +En plus, sous Windows, les dossiers sont introduits par $\backslash$ et non par / . +Sous Linux et \TeX Live, ne pas oublier l'annonce : +\begin{center} +\fbox{\parbox{0.4\textwidth} +{\tt \$texhash texmf-local}}\\[1ex] +\end{center} +alors que sous Windows et Mik\TeX, il faut déclarer le dossier défini (\texttt{C:$\backslash$texmf-local} par exemple) +sous {\sc Roots}\label{mikroot} et lancer {\sc Refresh FNDB}, qui sont des options d'administration de Mik\TeX. +\end{MAJ} +%L'installation proprement +%dite de ces fichiers est automatique (avec le script adapté à votre système +%17 +%d'exploitation) ; elle intervient à divers endroits de la hiérarchie tds (voir +%paragr. 1.8) : +%/texmf-local/doc/french/base/ +%/texmf-local/generic/hyphen/\{mltex\} +%/texmf-local/[ml]\TeX/french/base/ +%/texmf-local/mkindex/french/ +%/texmf-local/bibtex/french/ +%/texmf-local/[ml]\TeX/french/config/ +%/texmf-local/\TeX/\LaTeX/frenchle/ + +\indpos Pour \textit{eFrench}, vous effectuerez donc l'installation « à la main », + en suivant scrupuleusement les emplacements que nous avons indiqués. +%dans le fichier TDSfr.pdf 54 de la distribution. +\subsection{Peut-on mettre des commandes \textit{eFrench} avant\\ +le $\backslash${\tt begin\{document\}} ?} +\indneg{\sl \small En bref :} La documentation d'\textit{eFrench} précise +que « le style \textit{eFrench} ne +devient vraiment actif qu'après le $\backslash${\tt begin\{document\}} » ; on ne peut donc pas, +en principe, exécuter de commande \textit{eFrench} avant le $\backslash${\tt begin\{document\}} ; +sauf celles, en nombre très réduit qui peuvent agir sur tout le document. + +\indneg{\TeX\sl nique :} L'extension \textit{eFrench} déporte la définition même d'un grand nom\-bre +de commandes au moment du $\backslash${\tt begin\{document\}}. Les commandes ainsi définies +ne sont pas utilisables avant.\indpos + +Dans le cas d'\textit{eFrench}, quelques commandes très spécifiques peuvent +être utilisées avant, car elles modifient son comportement au +$\backslash${\tt begin\{document\}}. + Il en est ainsi de $\backslash${\tt frhyphex} pour charger un fichier de césures +exceptionnelles ou $\backslash${\tt usersfrenchoptions} qui permet de changer les options +par défaut de \textit{eFrench} comme dans cet exemple : +\begin{center} +\fbox{\parbox{0.9\textwidth} +{\tt $\backslash$usersfrenchoptions\{$\backslash$guillemetsinallfonts\}}}\\[1ex] +\end{center} +%\usersfrenchoptions\{$\backslash$ guillemetsinallfonts\} +où on a choisi une option différente pour les guillemets à la française. Grâce +à ce mécanisme \texttt{$\backslash$usersfrenchoptions} l'activation d'options personnelles +peut se faire à chaque changement de langue et donc initialement après le +\texttt{$\backslash$begin{document}}. Toute règle ayant une exception, ceci fonctionne de façon +différente avec \textit{babel} (voir paragr. \ref{forbabel}) ; consulter à ce sujet la +\linkandfootnote{ctanmanuefr}{documentation d'eFrench} +{http://mirror.ctan.org/tex-archive/language/french/e-french/doc/manuels/efrench.pdf}. %eFrench%\textit{eFrench} + +%54. .1.3 +%18 +\subsection{ Faut-il faire un format \textit{eFrench} ou un format \textit{babel} ?} +\label{forbabel} +\indneg{\sl \small En bref :} Que ce soit \textit{babel} +ou \textit{eFrench} (\textit{FrenchPro}), ni l'un ni l'autre n'exige de format +particulier mais chacun d'eux conseille de créer un format avec du matériel +spécifique, d'où le dilemme tant de fois discuté sur les news, par exemple + (\texttt{fr.comp.text.tex}) + ou sur la liste de discussion +\linkandfootnote{GUTenberg}{GUTenberg}{http://www.gutenberg.eu.org} + (\texttt{gut@ens.fr}). +%GUTenberg 12. +Rappelons +pour simplifier que les deux fonctionnent bien avec le matériel de l'autre, +c.-à-d. un format construit avec les fichiers d'\textit{eFrench} n'empêchera pas +d'utiliser \textit{babel} et réciproquement. +\begin{MAJ} +Il faut dire ici que l'insistance de Bernard \textsc{Gaulle}, +créateur de \textit{FrenchPro}, concernant les formats +n'est plus de mise. +Les installations récentes telles Mik\TeX{} ou \TeX Live offrent +les formats de base et les moyens de créer les autres. +\pgLapdTeX{} évolue dans le sens d'une simplification pour l'utilisateur et c'est tant mieux ! +\end{MAJ} +%La question à se poser lorsque l'on crée son +%format est donc : s'agit-il d'utiliser essentiellement babel ou FrenchPro ? et selon +%le cas on crée le format le plus adapté mais rien n'empêche d'avoir aussi +%plusieurs formats. Pour être complet, rappellons qu'il existe deux autres options +%de francisation, l'une frenchle31 et l'autre frenchb (voir paragr. 2.12) +%livrée en standard avec babel (et utilisable uniquement avec babel ). +%Cela répond à la question : FrenchPro ou babel ? maintenant il faut répondre +%à la question : FrenchPro et babel ? +%\indneg{\TeX\\\sl nique :} On peut utiliser FrenchPro avec babel de la façon suivante : +%%\usepackage[frenchpro]{babel} +%ou mieux : +%\documentclass[french]{classe_de_document }1.3 +%... +%%\usepackage{babel} +%sans perdre un poumon (comme disait quelqu'un), seuls quelques dispositifs +%sont actuellement inopérants (comme par exemple l'ordre \frhyphex) mais +%dans ce cas FrenchPro n'est plus une extension autonome mais seulement +%une option de l'extension babel, ce qui témoigne de la différence de fonctionnement. +%Si on désire utiliser FrenchPro entièrement de façon native dans\{mltex\} +%un environnement multilingue on fera plutôt appel à l'extension mlp (voir +%paragr. 4) : +%\documentclass[french]{classe_de_document } +%... +%%\usepackage{mlp}% 40 +\subsection{Polices de caractères et guillemets français} +\indneg{\sl \small En bref :} les guillemets saisis sous forme ascii (<\/<\/ ... >\/>) ou selon le code approprié + à votre clavier (« et »), sont utilisables avec l'extension \textit{eFrench} +qui sait les gérer dans de nombreuses circonstances typographiques (premier +et deuxième niveau, listes, lettrines, etc.). Concernant le choix de la police, +\textit{eFrench} regarde quelle est la police par défaut ({\it cm}, {\it ec}, ...) pour déterminer +%19 +quels codes de guillemets il faut imprimer. On obtiendra ainsi toujours de +beaux guillemets français imprimés. + +\indneg{\TeX\sl nique :} Voici un descriptif rapide des méthodes employées : +\begin{itemize}\item par défaut (c.-à-d. fontes {\it cm}), ces guillemets sont simulés à partir de +glyphes venant de la police {\it lasy} (ce qui explique leur aspect légèrement +arrondi) et, toujours par défaut, ce sont les seuls guillemets disponibles. +Rappelons que l'utilisation de +\texttt{$\backslash$usepackage[OT1]\{fontenc\}} + %\usepackage[OT1]{fontenc} +force l'utilisation des fontes {\it cm}. +\item avec le choix des fontes {\it ec} ou {\it lmodern} (c.-à-d. en demandant leur codage en utilisant +\texttt{$\backslash$usepackage[T1]\{fontenc\}}) +%\usepackage[T1]{fontenc}) +les guillemets sont imprimés dans la police \texttt{$\backslash$rmdefault} et, toujours +par défaut, ce sont les seuls glyphes de guillemets disponibles. + +L'ordre \texttt{$\backslash$guillemetsinallfonts } + permet d'utiliser les guillemets de la police +en cours d'utilisation, quelque soit cette police ; cela permet donc de +jouer avec les graisses, les styles et les familles de polices, (ce qui, +selon le goût de Bernard Gaulle, +n'est pas toujours optimum). +\item lorsque les guillemets sont saisis en ascii (<\/< ... >\/>) les glyphes imprimés +sont toujours des ligatures mais la manière diffère selon qu'il +s'agit d'une police {\it lasy} ou d'une police {\it ec}. Dans le premier cas c'est +une ligature fabriquée par l'extension {\it eFrench}, dans l'autre cas c'est +une ligature « fondue » dans la police. En aucun cas {\pgLapdTeX} ne peut +couper en deux un guillemet en bout de ligne. +\item il est possible d'imprimer les guillemets avec d'autres polices ; on peut +par exemple utiliser l'extension +\linkandfootnote{aeguill}{\it aeguill} +{https://mirror.ctan.org/tex-archive/macros/latex/contrib/aeguill}. +%aeguill 40.% 40 +\end{itemize} +\subsection{Comment personnaliser l'extension \textit{eFrench} ?} + +\indneg{\sl \small En bref :}\indpos L'extension \textit{eFrench} est entièrement configurable ; vous pouvez donc personnaliser vos documents à l'envi. + +\indneg{\TeX\sl nique :} Un article a été dédié à ce sujet, vous y trouverez plein de renseignements très utiles : +\linkandfootnote{artET98pdf}{\hbox{artET98.pdf}} +{http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/doc/artET98.pdf?view=co} +%artET98.pdf55 +en complément de la documentation d' +\linkandfootnote{ctanmanuefr}{eFrench.} +{http://mirror.ctan.org/tex-archive/language/french/e-french/distributions/efrench.pdf}%eFrench. +%Pro 36 . +\vfill + +\indpos\textbf{Si vous souhaitez améliorer ce document} ce sera avec un grand +plaisir que nous recevrions vos messages à : \indneg + + +\href{mailto:efrench(at)lists.tuxfamily.org}{\texttt{efrench@lists.tuxfamily.org}}\hfill +ou \hfill \href{mailto:raymond(at)juil.ch}{\texttt{raymond@juil.ch}}\hfill\rule{0pt}{1ex} +ou encore \href{mailto:lb(at)laurentbloch.org}{\texttt{lb@laurentbloch.org}} +\footnote{Attention, l'adresse m.él. fournie via les butineurs est +piégée ; il faut la corriger à la main.}.\indpos +%?—? +%55. . +%20 +%\pagebreak +\vfill +\appendix + + + +\def\AvertO{\ \vfill% +%%% Ceci était un extrait de la documentation de l'extension +%%% \eFrench. + + \begin{center}*---*\end{center} + \def\AvertO{}} + +\ifnoDOCinstall\par\medskip\AvertO\fi% +\ifnoFINALS\par\medskip\AvertO\fi% + +\vfill +%\newpage + +\bibliographystyle{plain} +\ifx\Section\undefined\else\let\section\Section\fi% Restore \section. +\def\refname{Références bibliographiques} +\begin{drapeaufg} +\begin{thebibliography}{9} +\bibitem{lblochefr}{L. Bloch} + \textit{\linkandfootnote{rlblochefr}{Lancement du projet \textit{eFrench}}% +{http://www.laurentbloch.org/MySpip3/spip.php?article166}}%http://www.laurentbloch.org/BlogLB/ +\bibitem{cesures} D. Flipo, B. Gaulle et K. Vancauwenberghe,\textit{ +\linkandfootnote{ rcesures}{Motifs de césure français}{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1994___18_35_0.pdf}}, +{\it in} Les Cahiers GUTenberg No 18, 1994. +\bibitem{frenchle} B. Gaulle, R. Juillerat +\textit{\linkandfootnote{reffrenchle}{% +L'extension frenchle pour \LaTeX, notice d'utilisation 31}% +{http://mirror.ctan.org/tex-archive/language/french/e-french/doc/manuels/frenchle.pdf}}, 2015 +\bibitem{frenchpro} B. Gaulle, R. Juillerat +\textit{\linkandfootnote{ rfrenchpro}{Guide d'utilisation de l'extension \textit{eFrench}}% +{http://mirror.ctan.org/tex-archive/language/french/e-french/doc/manuels/efrench.pdf}}, 2011 +\bibitem{personnalis} B. Gaulle, \textit{\linkandfootnote{commperso}{Comment peut-on personnaliser l'extension french de \LaTeX{} ?}{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1998___28-29_143_0.pdf}} + document {\it in} Les Cahiers GUTenberg No 28-29, 1998 +\bibitem{lepetity} E. Saudrais, + \textit{\linkandfootnote{rlepetity}{Le petit typographe rationel}{http://tex.loria.fr/typographie/saudrais-typo.pdf}} +\end{thebibliography} + +\end{drapeaufg} +\vfill +\newpage +\nooverfullhboxmark% Pourquoi faut-il le repréciser pour la versions screen? + +\def\footnote#1{}% nullify any footnote here. +\tableofcontents + +\end{document} diff --git a/Master/texmf-dist/doc/generic/e-french/src/french_doc.tex b/Master/texmf-dist/doc/generic/e-french/src/french_doc.tex new file mode 100644 index 00000000000..7767c3860a1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/french_doc.tex @@ -0,0 +1,17 @@ +\documentclass{article} +\setlength{\topmargin}{-35mm} +\setlength{\textheight}{25.5cm} +\setlength{\oddsidemargin}{-5mm} +\addtolength{\textwidth}{40mm} +\begin{document} +%de verbatimfiles par Chris Rowley +% ou de french.sty par Bernard Gaulle +% ici par Raymond Juillerat + \makeatletter % + \def\verbatimfile#1{\begingroup + \@verbatim \frenchspacing \@vobeyspaces + \input#1 \endgroup + } +\makeatother % +\verbatimfile{french_doc.txt} +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/e-french/src/french_doc.txt b/Master/texmf-dist/doc/generic/e-french/src/french_doc.txt new file mode 100644 index 00000000000..cd0366fc709 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/french_doc.txt @@ -0,0 +1,4293 @@ +% This is french_doc.pdf (informations en francais dans +% frguide.pdf et frnotes.pdf) +% +% As e-French since 2010 under LPPL Copyright. +%.................................................................... +% (Copyright notice in English just after the French one) +% Copyright GUTenberg-Gaulle 1992-1998, Bernard Gaulle 1999-2007: +% ============================================================== +% - La distribution de l'extension FrenchPro pour LaTeX etait effectuee +% selon le mode shareware. Apres installation et essai de ces fichiers +% pendant un mois vous deviez decider soit de les garder pour en faire +% un usage regulier soit de les detruire. Si vous les conserviez il vous +% fallait regler vos droits d'utilisation aupres de l'auteur. +% - Vous n'etes AUCUNEMENT autorise a modifier les fichiers marques du +% mot << Copyright >>. +% - La redistribution gratuite de cette distribution est autorisee +% dans la mesure ou elle est complete et non pre-installee. +% Vous n'etes AUCUNEMENT autorise a faire payer cette distribution ou +% l'utilisation de ses fichiers si ce n'est pour un cout reduit de copie. +% Tous les logiciels revendus par un circuit commercial sont consideres +% en tirer benefice (meme s'il ne s'agit pas d'un grand profit) et donc +% la redistribution est strictement soumise a un accord prealable avec +% l'auteur. +% - Vous n'etes PAS AUTORISE a inclure cette distribution dans un progiciel +% qui reduirait ses possibilites intrinseques ; vous n'avez donc pas +% le droit, par exemple, de ne redistribuer qu'une partie des fichiers +% d'origine. +% - Tous les fichiers de cette distribution sont accessibles gratuitement +% sur le domaine de l'Internet (dont les serveurs CTAN). +% - Aucun virus n'a ete detecte au moment ou ces fichiers furent termines +% et prets a la distribution. +% - Le code informatique est offert ici dans l'espoir qu'il soit utile et +% avec la volonte qu'il soit correct mais aucune garantie ne peut etre +% fournie, de quelque ordre que ce soit. Les utilisateurs l'utilisent +% entierement a leur propre risque. L'auteur n'admettra et n'acceptera +% d'etre lie par un quelconque engagement en cas de manque a gagner, +% direct, indirect, immediat, consecutif ou autre, resultant de son +% utilisation. +% - Vous n'etes PAS AUTORISE a vous substituer a l'autorite de l'auteur +% en appliquant des modifications, meme si de votre point de vue, elles +% corrigent des deficiences. +% Les lois internationales, europeennes (91-255) et francaises (94-361) +% sont applicables. +% L'utilisateur de ce logiciel peut toutefois le personnaliser a volonte +% par differents moyens expliques dans la documentation. L'auteur du +% logiciel n'est toutefois aucunement lie par une modification introduite +% par une personnalisation utilisateur. +% +% En tant qu'e-French sous Copypright LPPL depuis 2010. +%.................................................................... +% Copyright Gaulle-GUTenberg 1992-1998, B. Gaulle 1999-2007. +% ========================================================= +% - The distribution of the FrenchFro package for LaTeX was made on +% the shareware mode. After installation and tests of these files +% during one month you had to decide either to keep them for +% further use or to delete them. If you keept them you had to +% pay the usage fees to the author. +% - You are NOT ALLOWED to change in any way all files marked +% with "Copyright". +% - Free redistribution of this distribution is authorized but only +% when complete and not pre-installed. +% You are NOT ALLOWED to take money for the distribution or use of +% these files except for a nominal charge for copying etc. +% All softwares sold via commercial distributors are considered to +% make money, even they don't make an important profit, thus the +% redistribution is strictly limited to a previous agreement with +% the author. +% - You are NOT ALLOWED to include these files in a package/software in +% a way that will reduce its capabilities or features; this doesn't allow +% you, for example, to redistribute only few parts of the whole original +% files. +% - All the files included in the distribution are available freely inside +% the Internet domain (and specially on CTAN servers). +% - There was no virus at the time these files were completed for +% distribution. +% - This computer code is offered in hopes that it will be found useful, +% and in the belief that it is correct, but it is offered without any +% warranty of any kind, including warranty of fitness for any purpose. +% Users of this code do so entirely at their own risk. The author neither +% admits nor accepts any liability for any loss, direct, indirect, +% consequential, incidental, or otherwise, resulting from the use of this +% computer code. +% - You are NOT ALLOWED to substitute author's authority by applying +% modifications even if, in your point of view, they correct deficiences. +% International, European (91-255) and French (94-361) laws apply. +% There is still the possibility for the user to customize this +% package at his wishes by various means explained in the documentation. +% The author of the package is not liable for any change introduced +% by any users customization. +%.........................................................................V2.5 +%.................................................................... +% NOTICE that this work was done without any formal support. +% Friendly helps, supports as well as sponsors are welcome! +%.................................................................... +%\def\ds@le{\input frenchle.sty}% +% +% french.sty was developped by Bernard GAULLE for French-Speaking Users +% This file is now a part of the e-French package. +% For more details please read frnotes.pdf +\expandafter\ifx\csname frenchTeXmods\endcsname\relax% +\else \endinput \fi% +\def\frenchname{french}% +\def\frenchpack{eFrench}% eFrench +\def\ds@french{}% +\def\ds@pmfrench{\pmfrench}% +{\catcode`\@=11{% + \ifx\@unexpandable@protect\undefined\let\protect\empty% + \else\let\protect\@unexpandable@protect% + \fi% + \xdef\FSfd{20 octobre 2011}% eFrench + \xdef\FSfv{V5,9995}% r j + + \xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}% +}}% + \edef\FSfd{2007/06/28 }% +% +% History as given by Bernard Gaulle: +% I started this job years ago (in 1989) firstly +% using ideas by Jacques DESARMENIEN, the French pioneer and also by +% Eric PICHERAL (CICB, Rennes), Nicolas BROUARD (INED, Paris), +% Marc SHAPIRO (INRIA, Rocquencourt), Raymond SEROUL (Lab Typo. Strasbourg), +% Philippe LOUARN (IRISA, Rennes), Olivier NICOLE (INRA, Jouy), +% Rainer SCH\"OPF (Uni. Mainz), Johannes BRAAMS (PTT, NL) and others. +% I stopped to collect the names of the good guys in 1991 when i decided +% to make a seriously enhanced & rewritten distribution i released as V3.0. +% +%% Free gift to GUTenberg (Frenchspeaking TeX Users Group) +%% during 12 years. (Groupe francophone des Utilisateurs de TeX). +%% Shareware since january 2001 (Version 5,00). +% +% Send suggestions/bug reports/corrections to the maintainer of e-French: +% Laurent Bloch, lb@laurentbloch.org +% (http://www.laurent-bloch.org/spip.php?article166) +% +% Canonical Archives server is: www.gutenberg.eu.org +% (in /pub/GUTenberg/french) +% where these files are archived. +% +% Running only with LaTeX2e, oldest format required: +\NeedsTeXFormat{LaTeX2e}[1996/12/01]% -the latest one acceptable +\let\auxWARNINGi=\@gobble% -accept aux files produced by french +% This style is using, at most: +%%< +%%> 577 strings out of 11731 (4.9%); +%%> 4675 string characters out of 85497 (5.4%); +%%> 11217 words of memory out of 262141 (4.2%); +%%> 567 multiletter control sequences out of 9500 (5.9%). +% +% (I used usual teTeX with option mltex). +% +% Lastest updates (previous updates infos in history file) +% =============== +% +% V5,995 +%Released --bg 2005/04/18 +% \XeTeXinputencoding is no more running: supporting +% XeTeX is now differed. Jonathan Kew informed. --bg 2005/12/25 +% V5,996 patch to allow \label to run in math mode. --bg 2005/09/09 +% Reported by Simon Pierre Desrosiers. +% +% \captionseparator is off with memoir.cls, --bg 2005/10/08 +% use \captiondelim. +% Reported by Frederic Connes. +% +% Patch for relsize [2003/07/04 ver 3.1] to avoid messages when +% the smallest size is less than de default of 6pt. --bg 2005/12/22 +% Reported by Frederic Connes. +% +% Patch for nomencl.sty which force \kbtypeout to be +% called from \item in an unexpandable environment and +% then producing an undefined \f@tempa break. So i add +% \nofrenchwarnings in \printnomenclature. The problem +% was reported by J.B. Moreau. --bg 2006/01/19 +% +% Released 2006/03/25 +% V5,997 Emergency message added when frlicense.dat is empty. +% Change in tabbing environnement: \tabbingaccents is +% now the default in French since 8bits chars in T1 +% are always converted to 7bits chars "a la TeX". +% \notabbingaccents added in \nofrenchtypography. +% The pb was reported by Frederic Petit. 2006/04/25 +% V5,998 Released - new production scheme. 2006/07/04 +% V5,999 Patch for frenchle: ## illegal parameter in \@tempa (\') ? +% issuing message with superfluous double \string (\@w@s). 2006/08/15 +% Natbib correction: bibitem macro was one oboslate of +% jurabib. Jurabib bibitem macro obsolate and misplaced. +% Full code revisited. 2006/08/18 +% Released 2006/08/25 +% V5,9991 When FrenchPro is called from babel(fr) all given options +% should not be processed by the msg package, so we call msg +% saying it's an \intern@lc@llfrom{FrenchPro} and it has to +% use the French language. +% But don't force French when calling from kernel. 2006/10/03 +% V5,9992 German localisation completed, thanks To Werner Struchmann. +% 2006/10/13 +% V5,9993 Empty \caption was not processed correctly and thus the +% the caption separator was erroneously printed. 2007/02/09 +% \texttt is now robust, avoiding wrong expansion in title +% heads especially. +% \MakeRobustCommand now creating \cmd_fp in place of +% \cmd_. (a LaTeX robust command can be made robust for +% FrenchPro too). 2007/02/11 +% +% V5,9994 Correction for empty caption didn't run with hyperref. In +% a first step i remove the modification and will try to +% find the good mod to avoid the \captionseparator be +% printed. 2007/06/28 +% +% and also check if there is any frpatch.sty file available. +% %%%%%%%%%%%%%%%%%%%%%%% +% Distributed as eFrench under LPPL is same as version 5,9994 +% but without the test for a shareware licence +% Changes made by Raymond Juillerat 2010/05/04 +% +% V5,9995 Some changes because a problem arose with the language arabic +% in that case, the language switch \arabic was in conflict with the +% arabic format for numbers, also \arabic. +% Therefore in this version, the switch is to be made with \arabicLang, but +% the configuration file for the language arabic is as usual \arabicTeXmods. +% These changes affect all languages were \ already +% exists and would enter in conflict with. Language switch is made with +% \Lang and the context is defined with \TeXmods. +% Same changes were made in frenchle +% Changes made by Raymond Juillerat 2011/09/26 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Object: DOCUMENT CLASS OPTION for printing French texts with TeX or LaTeX +% as well as english. (or multilingual texts in which French is the +% main language). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% It can be called: +% via \usepackage{french} % french is alone +% or \usepackage[french]{mlp} % using The Multi-Lingual Package +% or as an option of \documentclass, when using mlp. +%(or via Babel, with less features) +% +% Commands to be used by the end users: +% ==================================== +% \frenchtest between \document.... and \end{document} will run +% the LaTeX "Torture Test" (see french*.tex files). +% \frenchdoc between \document..... and \end{document} will compose +% the LaTeX documentation (see frenchlu.tex file). +% \french Apply French conventions including hyphenation, +% typography, page layout, titles inside documents and +% few other things helping when typing a document. +% This is the default language. +% \begin{french}...\end{french} to bind the French text with LaTeX. +% \french ... \endfrench with TeX. +% \pmfrench (preambule command) ... the poor man way +% (or \usepackage{pmfrench} vi pmfrench.sty) +% to let the French style run even the TeX motor +% (ie format) was not installed or configured in a way to +% use the French language (hyphenation, language.dat,...) +% Be aware that a lot of things might not provide their +% usual featuring. Notice also that then the following +% commands do nothing: +% - \noeveryparguillemets +% - \lettrine and \flettrine +% - \abbreviations and "..." +% - \frhyphex +% \usersfrenchoptions{.. French options ..} to allow the user to change the +% default options. All options given inside braces remain +% active all along the document inside language French. +% This command can be reused, provided arguments are +% then cumulated. +% \english for going back to "normal" English conventions +% And if you have a language.dat config file defining +% german and dutch languages OR you use +% \NouveauLangage[n]{german} and +% \NouveauLangage[p]{dutch} where n and p are internal +% unused language number, then you can type: +% \german to switch to German conventions +% \dutch or to switch to Dutch conventions or to +% \any_name (any language created by \NouveauLangage[n]{any_name}) +% \NouveauLangage[n]{language_name} (as previously explained) +% define \language_name which will call \language_nameTeX +% assuming that \language_nameTeX is/will be defined +% (normally in a style file). +% \beginlanguage switch to the language that started first after +% \begin{document} (depending of the last lang.style opt) +% \beginFWdirection switch to the first direction of writing when TeX--XeT. +%-------------------- +% Commands for compatibility: +% +% \inferieura is the original less than sign (<) +% \superieura is the original greater than sign (>) +% \pointvirgule is the original ";" +% \deuxpoints is the original ":" +% \pointexclamation is the original "!" +% \pointinterrogation is the original "?" +% \lq and \rq stands for ` and ' +% ^\prime stands for ' in maths +% \lqq and \rqq stands for `` and '' +% \dittomark stands for " +% +% \originalinput{file_of_code} is supplied to input any code that might be +% incompatible with the French style. +% You can also disable the French style using: +% \begin{nonfrench}...\end{nonfrench} with LaTeX +% \nonfrench..........\endnonfrench with plain TeX +% \originaloutput[file]{text} is supplied to output any text that would +% otherwise generate expanded macros for activated chars +% instead of original characters. "file" is a stream +% number related to open file defined by \newwrite. +% \def\encodingdefault{...} can be set to "T1" or "OT1" to change the default +% font encoding that is normally set in the format +% (with initex material and specially kbconfig.tex) +%-------------------- +% \frhyphex Reload once French hyphenation exceptions file from +% language.dat (give this order in the preambule) +% Not usable with plain (or low level languages). +% \frenchhyphenation Apply French rules on hyphenation: +% - as stated in the patterns file +% - with exceptions as established by \hyphenation +% - of words starting with one upper case letter +% and also allows accent macros in \hyphenation +% or \showhyphens. +% \nofrenchhyphenation Nullify former actions +% +% Other commands for hyphenation that remains unchanged over \french reinit. +% +% \allowhyphens allow the following word to be hyphenated (useful +% sepcially in the second part of a compund word. +% \allowuchyph allow hyphenation of words starting with a capital +% letter (this is the default as in plain & lplain) +% \allowfulluchyph allow it even if a \hbox would normally forbid it in +% the present code. +% \disallowuchyph forbid it (this is my own recommandation) +% \tthyphenation allow hyphenation of words in the present \tt font +% \notthyphenation disallow hyphenation of words in the present \tt font +% (never saved; last value in a \par is that which works; +% default value is that given by the main doc-style; +% presumely the default -if not: tell me \tthyphenation; +% this is the default in lplain.tex) +%-------------------- +% \frenchtypography Apply French typography (spacing) on : +% - double punctuation ! ? ; : +% - guillemets (<< >>).Use \endguillemets instead of >> +% for ending 2 levels of guill. at the same time or +% when the ("everypar") open guillemets were ended in +% a previous inner environnement. +% Italic correction automatically added if necessary. +% - footnote marks in the text and minipages. +% - footnote references (\refmark). +% - thanks in titles. +% Print footnote number in the same font as the footnote +% text followed by a dot and appropriate spacing. When +% used in table environment footnote marks are typeset +% as in a minipage. +% Italicize the caption text (using \captionfont defaultly +% set to \emph). +% Change caption separator (":" replaced by value of +% \captionseparator which default is "~--") +% Suboption: \frenchmathcomma +% Remove space after coma in math mode (default) +% \regularmathcomma +% to set space, as usual after comma in math mode. +% (chosen option is used to print numbers with \nombre). +% \originalmathcomma +% to reset coma mathcode as before FrenchPro wass called. +% Suboption: \unnumberedcaptions{figure/table} to remove headings in +% caption tiltles. This is a global suboption. +% It nullify the according \listof...(figures/tables). +% It can be used only once. Can't be turned back later +% in French. +% Hyphenate correctly. (The lowest level of application +% is the paragraph.) +% Discourage page breaking after ``:'' +% Forbid line breaking before double punctuation and >> +% and after <<. +% Suboption: \noTeXdots will change them to 3 closed dots +% \TeXdots leave \dots, \ldots as well known TeX dots (default) +% Suboption: \nofrenchguillemets stops producing French guillemets. +% \frenchguillemets starts producing French guillemets (default) +% Suboption: \ancientguillemets start every paragraph of second level +% guillemets with closing >> instead of <<. +% \todayguillemets normal way at the present time (default) +% Suboption: \noguillemetsinarrays will print << or >> in standard arrays +% textual modes (depending of the font used). +% \guillemetsinarrays is the usual default value. +% Suboption: \guillemetsinallfonts allows to print them in any font but +% \guillemetsinroman remains the usual default value. +% Suboption: \guillemetsfont allows, when in a T1 font encoding running +% scheme to choose the font for guillemets, just define or +% redefine \guillemetsfont. +% Command: \endguillemets ends levels 2 & 1 at the same time (i.e. >>>>) +% Suboption: \noenglishquote replace TeX ` ' quotes AND apostrophes +% by accents ` ' (to use only temporary). +% Do nothing inside a tabbing environement. +% \...code and \char become unusable asis. +% \englishquote is the default +% Suboption: \noenglishdoublequotes for replacing `` with << and '' with >> +% Do nothing inside a tabbing environement. +% \...code and \char become unusable asis. +% \englishdoublequotes normal quoting ``...'' is the default +% Suboption: \untypedspaces force a space where normally French people +% type one (before ; : ? ! >> and after <<) +% \typedspaces is the default value +% Suboption: \tabbingaccents allow to put \` and \' diactrics on letters +% when used in tabbing environment. \' and \` remain their +% original tabbing usage if followed by a blank space. +% Also usefull for 8bits chars ; this is the default. +% \notabbingaccents is the usual LaTeX usage. +% Suboption: \idotless suppress point on i when accented with ^ and " +% \iwithdot is the default +% Suboption: \EBCDICbrackets replace non-math mode < ... > by [ ... ] +% (..IBM has no brackets so < and > are often used as brackets) +% \normalbrackets is the default +% Suboption: \letpunctutionactivefor to use allways with something else +% (like \wrongtypedspaces), let punctuation (! : ; ?) active +% after French style. Caution: it's extremly dangerous! +% (specify the suboptions after \frenchtypography) +% (sub-options are not saved/restored over a language switch) +% \nofrenchtypography Nullify former actions +% Suboption: \wrongtypedspaces suppress spaces before double punctuation +% (! : ; ?) which was erroneously typed \`a la fran\c caise. +% \text{...} Allows to typeset text in math mode (AmS like command). +%-------------------- +% \ConstantLayout is a one time macro that disallow to change page layout +% and any other typographic feature when switching to another +% language. Once used in any language it is applied for the +% whole document. +% \frenchlayout Apply: +% - indentation of all (first LaTeX) paragraphs: +% Suboption: \indentfirst is the default or +% \nonindentfirst which forces no indentation at all. +% - set item markers as --. User can choose others +% markers via the command +% \frlabelitems{\renewcommand{\labelitemi}...}. +% Look at documentation for more details and specially +% for the use of \checkitemguillemets. +% - reset section counter when starting a part. +% Suboption: \noresetatpart nullify the former action. +% Suboption: \noresetatchapter will not reset footnote counter at chapter +% change. +% Suboption: \frenchtrivsep sets (reduced) vertical spacing in lists, this +% is the default. As this spacing is forced warning +% message is issued when other spacing is user +% expected. Look at \frenchwarnings part. +% You can choose your own values by setting the lengths +% with the command \frtrivseplengths{\setlength...}. +% In that case no warning message is issued. +% \nofrenchtrivsep resets the standard spacing in lists. +% - special spacing with the experimental "order" list. +% - print table footnotes as in minipages. +% - print a coma between consecutive footnotes. +% Suboption: \frenchpagestyle apply a French pagestyle when starting a +% Part or a Chapter or an Index (provides \printindex) +% \nofrenchpagestyle will not. +% Suboption: \beginingfolio print the folio on theses pages (default) +% \nobeginingfolio will not. +% - modify thebibliography environnement to be referred +% in toc and have a valid anchor in hyperref docs. +% - with letter.sty: address placement, typeset \closing +% as a paragraph and with \fclosing in place of +% closing you can chose spacing between closing and +% signature by saying \fclosing[n]{...} with n being +% the number of \medskipamount (default is 9). +% to typeset the date with \location{Paris, le ...} +% \yourref{...} to refer to a received letter +% \ourref{...} for your own reference +% \object{...} to precise the object +% \PS{...} for a post-scriptum +% \email{...} for the email address +% \def\formhead{...} for the odd page headings +% (not operational with \nopagenumbers) +% \def\formfoot{...} for the odd page footings +% (not operational with \nopagenumbers) +% \wideletter to enlarge the default linewidth. +% - offer macros for starting paragraphs with a dropped +% initial capital letter: +% with \lettrine the first letter of the first +% token will be dropped. (warning: in 7-bit +% write {\c C} for example). Remaining part +% of the token in printed in small caps. +% with \flettrine a box will be printed around. +% Generic syntax: +% \lettrine{Begining of the paragraph} +% \flettrine{Begining of the paragraph} +% or \lettrine[<< {Begining} >>] (let spacing!) +% \flettrine[<< {Begining} >>] (ending >> might +% be given later in the text) +% \lettrine or \flettrine START a paragraph! And +% to avoid any problem the paragrpah must end with an +% explicit \par. This is a fragile macro! +% Suboption: \noautomaticlettrine (default) processing; +% the lettrine uses a standard LaTeX font size. +% You can use \lettrinefont to define the font you +% want at the size you want. As default \lettrinefont +% is set to \Huge. +% Use \def\lettrinehang{n} to force hanging of n +% lines (there is no default value). +% \automaticlettrine processing: the lettrine uses a computed +% font size. +% You can use \lettrinefontname to set the font +% (default is current font) and it will start the +% \automaticlettrine feature that means a new value +% of \lettrinefont is established (font-size). +% \lettrinehang is defaultly set to 2 lines and +% can be changed. +% The \automaticlettrine feature can be stoped by +% calling \noautomaticlettrine. +% Suboption: \everyparguillemets open guillemets on every paragraph +% until closing and do nothing at level 2. +% This is the default. +% \everyparguillemetsremoved switch off the previous feature. +% \noeveryparguillemets don't start each par with guillemets +% but start each level 2 line with them. +% \guillemets is forbidden, use 7/8bit +% guillemets chars. +% (see documentation for further explanations) +% Suboption: \overfullhboxmark print the TeX black box exactly where there +% is an overfull hbox (as draft option do) +% \nooverfullhboxmark is the default in LaTeX +% Suboption: \labelsinmargin put labels in margin for debugging purposes +% This option can be used anywhere (outside +% \frenchlayout as well as \french environment) +% \nolabelsinmargin is the default +% +% Propose the following environments: +% +% Environment \begin{drapeaufg}...\end{drapeaufg} to typeset raggedright +% with hyphenation. +% Environment \begin{drapeaufgIN}...\end{drapeaufgIN} to typeset raggedright +% without hyphenation (rules of Imprimerie Nationale) +% As text is never split and overfull can occur +% you may have to split lines by hand. +% Environment \begin{drapeaufd}...\end{drapeaufd} to typeset raggedleft +% with hyphenation. +% Environment \begin{drapeaufdIN}...\end{drapeaufdIN} to typeset raggedleft +% without hyphenation (rules of Imprimerie Nationale) +% Text printed past the line limit may occur. +% Environment \begin{order}...\end{order} to enumerate items with +% via \primo \secundo etc. and with sepcial spacing +% Environment \begin{figurette}...\end{figurette} to place a (little) +% figure EXACTLY here. +% Environment \begin{versatim}...\end{versatim} to print verbatim +% but with hyphenation typeset as in \verse and with +% \noenglishquote and \noenglishdoublequotes available +% Commands: \vers|...| the inline (or intext) vserion of "versatim" +% \verbatimfile{filename} the filename is inputed in verbatim +% BUGED!! (\nopagenumbers reintroduced if undefined) +% \nofrenchlayout Nullify former actions +%-------------------- +% \frenchtranslation . Translate all English titles used in LaTeX, to french +% and generate French dates. This is the default. +% All things should normally run with std LaTeX or Babel. +% You can also create your own styles using these captions +% A lot of captions are newly defined for letters. +% You can also change the titles with your own definitions +% by using \fraddto\captionsfrench{\..name}{title}. +% Environment \begin{resume}...\end{resume} to print an abstract +% . \resume has been defined for French abstracts (we often +% need French and English abstracts together). You must +% be in \french before using it. (like you are in \english +% when you use \begin{abstract}...\end{abstract}). +% Environment \begin{motsclef}...\end{motsclef} to print a keywords list. +% . \motsclef has been defined for French keywords. +% (Environment \begin{keywords}...\end{keywords} to print a keywords list) +% (by the way i have defined \keywords \endkeywords) +% . \sommaire is defined as a toc in front of a document. +% \sommaire[1] don't print paragraphs entries and below. +% \sommaire[2] don't print subsubsection entries and below +% \sommaire[3] don't print subsection entries and below, +% this is the default for \sommaire. +% \sommaire[4] don't print section entries and below, +% . \annexe and \annexes have been defined. +% . \glossaire and \glossaires have been defined. If the +% "theglossary" is undefined, allow: +% \printglossary[filename] (default is jobname.gls +% produced by pgm "makeindex -s gglo.ist") +% NB: code preferably \glossary{[name :] explanation} +% and: without makeindex allow to code jobname.glo +% (instead of .gls) & print something acceptable. +% . makeidx.sty is included and translated. +% . \seealso is defined for indexes. +% \nofrenchtranslation Nullify former actions. +%-------------------- +% \frenchmacros Add a lot of macros to help in typographic process. +% \ier for printing 1\ier (premier) (examples) +% \iere for printing 1\iere (premiere) +% \ieme for printing 2\ieme (deuxieme) +% and their plurials \iers, \ieres and \iemes. +% \FileName{file_name} for 8bit file names, then +% use it by calling \theFileName (e.g with \input). +% \WindowsUnits{name1=A,...,namen=N} to define macros +% names to assign to Windows units which will be called +% in any input file process (\name1: ... \nameN:) +% protecting from the activated colon character. +% \at for printing @ (at) +% \vert for printing | (vertical bar) +% \chap for printing ^ (hat or circonflexe) +% \backslash for \ (backslash) +% \tilde for printing ~ (tilde) +% \nombre for printing large numbers and have the correct +% spacing (p.ex. \nombre{123 456,789 012}) +% \numero for printing (no) +% \Numero for printing (No) +% as well as \numeros and \Numeros +% \degres for printing (degrees) +% \leftguillemets for << (unbalanced left guillemets) +% \rightguillemets for >> (unbal. right guillemets) +% \fup{X} to put X in a smaller size supscript +% \primo \secundo \tertio \quarto \quando={n} +% [or:\primo) \secundo) \tertio) \quarto) not recommanded] +% \fsc{name} or \fsc{NAME} will print as \textsc{Name} +% \fsc*{name} or \fsc*{NAME} forces use of \rmfamily +% \lsc{name} or \lsc{NAME} will print as \textsc{name} +% \lsc*{name} or \lsc*{NAME} forces use of \rmfamily +% \refmark{X} stands for \footnotemark[\ref{X}] +% \moretolerance will double each TeX tolerance within +% any chosen grouping (useful in narrow situations). +% \Sauter#Lignes will skip # lines (for specific usage) +% \! (negative thin space) run in non math mode +% \frenchalias\your_short_name\the_long_french_macro_name +% to give a short name to a very long macro name. +% Suboption: \abbreviations allowing to ask for: "name_to_be_abbreviated" +% will print abbreviation if found otherwise will give a +% warning and print the name asis. The first char. of +% "name" is not compared, except if the abbreviation file +% contains {Name}. Customisation is allowed like this: +% \abbreviations[my_abbrev_file] +% \noabbreviations is the default option +% \nofrenchmacros Nullify former actions +% +% Some complemetary macros used in other parts: +% \ordinal{counter} gives "premier", "deuxieme", ... "vingtieme" +% \Ordinal{counter} gives "Premier", "deuxieme" ... +% \ordinale{counter} gives "premi\`ere", ... +% \Ordinale{counter} gives "Premi\`ere", ... +% +% Macros to output messages: +% \kbtypeout{msg} issue msg on console, translating or not +% the accent macros and not expanding the activated chars. +% Under control of \@kbspecials for 8-bit output +% translation possibility. Such package like +% kbconfig/keyboard can translate to the +% appropriate keyboard encoding. In fact \kbtypeout is +% equivallent to \kbIO[\typeout]. +% \kbIO[output_macro]{msg_text} allows to output the message +% either on log file (\wlog), or on console (\tyepout) +% or even on any file (\immediate\write...) +% +%-------------------- +% \frenchwarnings let french issue its warnings, this is the default. This +% part has the followings sub-options: +% Suboption: \frenchtrivsepwarnings let french inform the user when +% vertical spacing is not respected as requested in +% a non-standard environment. This is the default +% Suboption: \nofrenchtrivsepwarnings ask french not to issue any warning +% regarding the vertical spacing requested by the +% user and not applied. This is the default when user +% choose his own values for spacing via \frtrivseplengths. +% \nofrenchwarnings instruct french to stop to issue messages. +% This syntax is probably not the final one. +%-------------------- +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% =============================== +% | About typing | +% =============================== +%% No code here, just an advice. +%% +%% Inputing French punctuation you must type a space: +%% - before a double punctuation (! ? ; :) +%% - before >> +%% - after << ; : +%% Double " or single quoting ` ' as well as single guillemets < > must not +%% be used in french. +%% Type ... normally (instead of \dots or \ldots). +%% Respect French abbreviations like: +%% \hbox{c.-\`a-d.} / \emph{i.e.} / p.ex. / \etc. / cf. / id. / +%% p.i. / p.o. / doc. / chap. / part. / vol. / paragr. / R.S.V.P. / ... +%% +%% Please apply these allmost elementary (and historical) rules. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\NeedsTeXFormat{LaTeX2e}[1996/12/01]% +\let\auxWARNINGi=\@gobble% +\def\@txt@msg#1{#1}% -Just get arg and remove {}. +\def\@gobbleopt[#1]{}% +\def\f@issue#1#2{#1{#2}\@ifnextchar[{\@gobbleopt}{}% -] + }% +%#< +% Firstly we add the material to use the "msg" package for localization. +\def\@tempc{% +\def\f@issue##1##2{\f@issue@[##1]##2\void}% -The local \issuemsg macro. + % -which will call the real one; + % -#1 is the macro message required. + % -#2 is the message header + msg number + % -such as "^^J -234-", just message + % -number (234) is kept. +\def\f@issue@[##1]##2-##3-##4\void{\issuemsg[##1]##3(french)}% +\PassOptionsToPackage{french}{msg}% +\ifx\LdfInit\@undefined% + \RequirePackage{msg}% -Usually, load the msg package. +\else% -But with Babel, dont use \usepackage or such, + \let\@GOfrench\@currname% -Save current package name. + \xdef\@currname{msg}% -Set package req. + \def\intern@lc@llfrom{\frenchpack}% -Say him it's an internal/kernel call. + \let\fp@languagename\languagename% -Save current language name. + \ifx\documentclass\@twoclasseserror% -When not a kernel case + \def\languagename{french}% -force French for the msg package. + \fi% + \@@input msg.sty% -and input it now. + \let\languagename\fp@languagename% -Reset current language name. + \let\fp@languagename\undefined% + \let\intern@lc@llfrom\undefined% + \let\@currname\@GOfrench% -Reset original package name. +\fi% + }% -\@tempc +\def\@tempd{\def\f@issue##1##2{\@ifnextchar[{\@gobbleopt}{}% -] + }% + }% -\@tempd +% Prepare to compare \jobname and license file name. +\edef\@tempa{\expandafter\noexpand\csname str-\jobname\endcsname}% +\edef\@tempb{\expandafter\noexpand\csname str-frlicense\endcsname}% +% FrenchPro requires msg.sty and *-msg.tex files +\ifx\@tempa\@tempb% -but only for typesetting a document. +\IfFileExists{msg.sty}{\@tempc}{\@tempd}\else% +\IfFileExists{msg.sty}{\@tempc}{% -Avoid loading it if msg.sty doesn't exist. + \typeout{^^J -81- WARNING: "msg" package not found;% +^^J\space\space\space\space\space\space continuing without message texts.}% + }% +\fi% +%#> +\newif\ifECM% +% Here come \if-switches codes in case of french.sty badly initiated +\def\ErrFrench{\f@issue\@fW{-26- % +%\@txt@msg{Erreur d\'etect\'ee dans \frenchname.sty !}% +%\@txt@msg{(voir p.ex. le fichier language.dat)}% + }}% +\def\ifFTY{\ErrFrench}\def\ifFTR{\ErrFrench}\def\ifFG{\ErrFrench}% +\def\ifFLA{\ErrFrench}\def\ifFMA{\ErrFrench}\def\ifFH{\ErrFrench}% +\def\ifArG{\ErrFrench}\def\ifFTSW{\ErrFrench}\def\ifFW{\ErrFrench}% +% +\edef\GOfrench{`\string @}% -temp def further correctly defined +\ifnum\catcode\GOfrench=11% -mods of code proposed by DT that + \let\resetat\relax% -accepts also that @ were active + \else\edef\resetat{\noexpand\catcode\GOfrench=\the\catcode\GOfrench}% + \makeatletter\fi% +% +\let\@currnameORI\@currname% -save current package name +\xdef\@currname{\frenchname}% -set pasckage req. +{\def\'{\string\'}% -to avoid \accent@spacefactor=\undefined (in pr\'e-) + \ProvidesPackage{\frenchname}% + [\FSfd\space The \frenchpack\space package /\FSfv/]% +}% +\def\GOfrench{babel}\ifx\@currnameORI\GOfrench% -allow Babel to load me + \ifx\undefined\babel@core@loaded\input babel.def\relax\fi% + \ifx\undefined\babel@core@loaded% -still undefined (>3.5)? + \let\babel@core@loaded\main@language\fi% + \fi% +%#< +%\let\FSfd=\undefined% let it defined for possible patch test. +\def\@tempa#1V#2,#3\@nil{\def\@FSfv{#2}}\expandafter\@tempa\FSfv\@nil% +%#> +\let\FSfv=\undefined% -return to the pool +\IfFileExists{frpatch.sty}{\def\FSfd@patch{unknown}}{\let\FSfd@patch\FSfd}% +% +\if@compatibility% -provide error msg with 2.09 emulation + \f@issue\typeout{^^J -68- + %\@txt@msg{ERROR: \frenchpack\space is no more running }% + %\@txt@msg{with 2.09 emulation, sorry!}% + }\expandafter\stop% +\fi% +% +\ifx\l@french\undefined\f@issue\typeout{^^J -20- + %\@txt@msg{WARNING:}% + %\@txt@msg{the French language is undefined in your format.}% + }% +\fi% +% +\fontencoding{\encodingdefault}\selectfont% + \def\@temp@{OT1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else\def\@temp@{LO1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else% -could be LY1 + \def\@temp@{\global\ECMtrue}% + \fi% + \fi% +\@temp@% +\def\@tempa{\let\ifEightBitOutput\iffalse}% +\ifx\EightBitOutputfalse\undefined\expandafter\@tempa\fi% +\ifECM\else\ifx\charsubdef\undefined% + \def\@tempa{\noexpand\dGs}% + \ifx\@tempa\dGs\else% + \ifx\@kb@msgXXIX\relax\else% -Don't issue if already done. + \f@issue\typeout{^^J -29- % +%\@txt@msg{***Warning***\string: TeX engine in use along with CM fonts }% +%\@txt@msg{(as in current TeX format) isn't sufficient to hyphenate }% +%\@txt@msg{words containing diacritics (like in French).}% + }% + \let\@kb@msgXXIX\relax% + \fi% + \fi% +\fi\fi% +\ifx\undefined\@dblarg% -....................................... \@dblarg +\long\def\@dblarg#1{\@ifnextchar[{#1}{\@xdblarg{#1}}}}% +\long\def\@xdblarg#1#2{#1[{#2}]{#2}}% +\fi% +\newdimen\@FrDimen% -general def for the style +\def\usualmessages{\let\ifEightBitOutput\iftrue}% + \ifnum\inputlineno=-1\def\@o@l{.}% -may be negative +\else\def\@o@l{ (\`a la ligne \the\inputlineno).}\fi% + \expandafter\let\expandafter\@aiguORI\expandafter=% + \csname OT\string1\string\'\endcsname% + \expandafter\let\expandafter\@gravORI\expandafter=% + \csname OT\string1\string\`\endcsname% + \expandafter\let\expandafter\@acchORI\expandafter=% + \csname OT\string1\string\^\endcsname% + \expandafter\let\expandafter\@tremORI\expandafter=% + \csname OT\string1\string\"\endcsname% + \expandafter\let\expandafter\@cediORI\expandafter=% + \csname OT\string1\string\c\endcsname% +%#< This is a little code to avoid braces to be striped when the token +% is provided via a macro parameter. +\def\@PreserveBraces[#1#2]% -................................... \@PreserveBraces + {\ifcat\noexpand#1$ #1#2\def\@temp@{}% + \else\def\@temp@{#2}% + \ifx\@temp@\empty\def\@temp@{#1}% + \else\def\@temp@{{#1#2}}\fi% + \fi\expandafter\@temp@}% +% +\def\@temp@{lplain-bilingual}% -E.P. wrong old def checking +\ifx\fmtname\@temp@\f@issue\typeout{-64- % + \@txt@msg{ERROR: invalid \string\fmtname\space in lplain.tex}% + }\stop\fi% +%% code to test the shareware licence suppressed eFrench +\let\@tempc\relax% -AmS bug: \@tempc=\if. +% +\ifx\today\undefined\let\today\cejour\fi% -for lettre.cls +\ifx\today\undefined\f@issue\typeout{^^J -52- % +%\@txt@msg{Error: the \frenchpack\space package doesn't run in }% +%\@txt@msg{such minimal document class, sorry!}% + }\expandafter\stop% +\fi% +{\def\GOfrench{\global\let\ifEightBitOutput\iffalse}% -force seven bits +\let\add@accent\@gobble\edef\@tempa{\`{}}% + \def\@tempb{{\setbox \@tempboxa \hbox {}\accent 18 }}% + \ifx\@tempa\@tempb% -hum, OT1 is just loaded, so no expand. + \expandafter% + \GOfrench% -and force seven bits for all \@fw messages. + \fi% +}% +% Macro to send a message without header: +\def\@fW#1{{\let\@nobraces\@firstofone% + \ifEightBitOutput% + \setbox\@tempboxa\hbox{\`\space}% -For \add@accent expansion. + \ifx\charsubdef\undefined\else% -case MlTeX only + \let\add@accent\@gobble% -Avoid redef. by fontenc loading. + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \edef\@tempa{#1}\typeout{\@tempa}}}% +{\def\ier{er}% -this is the French typographic abbreviation of "st" +\f@issue% +\@fW{^^J -23- %\@txt@msg{Extension \string : \frenchpack\space}% +%\@txt@msg{\frenchstyleid\space(B.Gaulle)}% + }% +}% +% +\let\ifFW\iftrue% -Start with (warning) messages +\def\@fw#1{{\let\@NoFr\relax% -Avoid any loop inside \kbtypeout. + \ifFW\kbtypeout% -..................................... French warning + {^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }}% -Notice: after \begin{document} there is no more need to +% protect active characters against expansion. +\ifx\kbtypeout\undefined% +% Notice that \kbtypeout can be set to \relax\egroup by keyboard.sty. +\def\@kbtypeout[#1]#2{\ifEightBitOutput\let\@typeset@protect\protect\fi% + \let\@inpenc@undefined@\@gobble% -To avoid loop. + \edef\f@tempa{#2\empty}% -Expand it now and type out. + #1{\f@tempa}\egroup}% +\def\kbtypeout{\kbIO[\typeout]}% -.................................. \kbtypeout +\def\kbIO{\bgroup% -................................................ \kbIO + \ifECM\fontencoding{OT1}\selectfont\fi% -Basic fontencoding needed. + %\nofrenchtypography% To apply only after \begin{document}. + \let\@nobraces\@firstofone% -could be provided separately, + \let\protect\string% + \ifEightBitOutput% -eg by kbconfig. + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \def\"##1{\expandafter\@nobraces\@tremORI##1}% + \def\c##1{\expandafter\@nobraces\@cediORI##1}% + \csname @kbspecials\endcsname% -Translation settings. + \else% -7-bit output wanted. + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% -Have spaces! + \fi% + \@kbtypeout}% +\fi% +\ifx\@kbtypeout\undefined% -A default \@kbtypeout macro. + \def\@kbtypeout[#1]#2{#1{#2}\egroup}% +\fi% +\def\@tempb{\let\ifEightBitOutput\iffalse}% +\ifx\kbtypeout\typeout% -If no kb output encoding then set a correct \@fw cs. + \long\def\@tempa{\add@accent{19}}% -Case standard OT1 (re)loaded + \ifx\@tempa\@aiguORI\expandafter\@tempb\fi% -then force 7-bit. +\def\@fw#1{\ifFW\bgroup\let\@nobraces\@firstofone% + \ifEightBitOutput% + \ifx\charsubdef\undefined\else% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \@kbtypeout[\typeout]{^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }% -Notice: after \begin{document} there is no more need to +\fi +% +\def\@Ffnt#1{\f@issue\@fw{-2- %\@txt@msg{fichier #1 non trouv\'e}% + }[#1]}% +\def\@finput#1{\InputIfFileExists{#1}{}{\@Ffnt{#1}}}% +\def\@NoFr{\f@issue\@fw{-3- % + %\@txt@msg{\frenchpack\space n'est pas actif ici !}% + }}% +\let\ifFrench\iffalse% +% +\ifx\addto\undefined% -............................................. \addto + \def\addto#1#2{\ifx#1\@undefined\def#1{#2}% + \else\ifx#1\relax\def #1{#2}% + \else{\toks@\expandafter{#1#2}% + \xdef#1{\the\toks@}}% + \fi% + \fi% + }% +\fi% +\def\fraddto#1#2{\addto{#1}{#2}% -.................................... \fraddto + \ifFrench\french\else\english\fi}% +% The following macro designed to protect against expansion. +\ifx\MakeRobustCommand\undefined% -.......................... \MakeRobustCommand +\def\MakeRobustCommand#1{\expandafter\expandafter\expandafter% + \let\expandafter\expandafter\csname #1 fp\endcsname% + \csname #1\endcsname% + \expandafter% + \edef\csname #1\endcsname{\expandafter\protect% + \expandafter\noexpand\csname #1 fp\endcsname} + }% +\fi% +% +\ifx\DocInput\undefined\else% -...................................... \DocInput + \let\fr@di\DocInput\def\DocInput#1{% -for ltxdoc.cls + \ifFrench\english\fr@di{#1}\french% + \else\fr@di{#1}% + \fi\relax}% +\fi% +\ifx\url\undefined\else% -................................................ \url + \let\fr@ul\url\def\url#1{% -for hyperref package + \ifFrench\english\fr@ul{#1}\french% + \else\fr@ul{#1}% + \fi\relax}% +\fi% +\ifx\xy\undefined\else% -.................................................. \xy + \let\fr@xy\xy\def\xy{% -for XY-pic and diagxy packages + \ifFrench\nofrenchguillemets\DFPdp\fi\fr@xy}% +\fi% +\ifx\hyper@n@rmalise\undefined\else% -.............................. \href + \let\fr@hne\hyper@n@rmalise\def\fr@hnr#1#2{\fr@hne{#1}{#2}}% -. \hyperref + \def\hyper@n@rmalise{\ifFrench\english\expandafter\fr@hnr% -.. \hyperimage + \else\expandafter\fr@hne\fi}% +\fi% +\ifx\PDFSCR@Info\undefined\else% -Remove last dot in sect. numbers of pdfscreen. + \def\@seccntformat#1{\protect\textcolor{section\thesection@level}% + {\expandafter\upshape\csname the#1\endcsname}\quad}% +\fi% +% The following should be obsolated: +\ifx\listing\undefined\else% -........................................ \listing + \let\fr@li\listing% -Save current definition of \listing. +%\newcommand\listing[2][1]{...} definition inside moreverb package, i.e.: +\edef\listing{\noexpand\@protected@testopt\noexpand\listing% + \expandafter\noexpand\csname\string\listing\endcsname {1}}% +%% Old moreverb def: \def\listing{\@ifnextchar[{\@listing}{\@listing[1]}}% + \ifx\fr@li\listing% + \def\listing{% -for moreverb package + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi}% + \else% + \long\def\listing{% -for listing package + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi\relax}% + \fi% +\fi% +\ifx\inputlisting\undefined\else% -.............................. \inputlisting + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi\relax}% +\fi% +% For listings package > (or equal to) V0.2000 +\ifx\lstlisting\undefined\else% -.................................. \lstlisting + \let\fr@lsi\lstlisting\long\def\lstlisting{% -for listings package + \ifFrench\expandafter\english\expandafter\fr@lsi% + \else\expandafter\fr@lsi% + \fi}% +\fi% +\ifx\lstinputlisting\undefined\else% -........................ \lstinputlisting + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi}% +\fi% +%#< +\def\ifFrench#1\fi{\@NoFr}% -a temporary definition for error messages + %(\endnonfrench remains \undefined) +\def\originalinput#1{\ifFrench\english\@finput{#1}\french% -..... \originalinput + \else\@finput{#1}\fi\relax}% +\def\originaloutput[#1]{% -..................................... \originaloutput + \bgroup\ifFrench\english\fi% + \def\@riginalout##1##2{\immediate\write##1{##2}\egroup}% + \@riginalout{#1}}% +\let\ifFLA\iffalse% -We need \ifFLA now +\@ifundefined{printindex}{% -makeidx.sty is included (as of 20-jan-87) + \def\see#1#2{\seename% -i assume this macro is defined in non-english sty. + \/ {#1}}% -.........................................\see + \def\printindex{\clearpage% -................................ \printindex + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% + \addcontentsline{toc}{chapter}% + {\protect\indexname}% + {\let\@ti\theindex% -........................ \theindex + \def\theindex{\@ti\ifFLA\thispagestyle{french}\fi}% + \@finput{\jobname.ind}}}}{}% +\ifx\printnomenclature\undefined\else% -................... \printnomenclature +\let\@pne\printnomenclature% -No French warnings with the nomenclature +\def\printnomenclature{\nofrenchwarnings\@pne}% -package. +\fi% +\ifx\thebibliography\undefined\else% +\let\@tbs\thebibliography% +\let\fr@savebib\thebibliography% +\long\def\thebibliography#1{% -..............USUAL........... \thebibliography + \ifFLA% + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% +\ifx\bibname\undefined% + \addcontentsline{toc}{chapter}{\refname}% +\else% + \addcontentsline{toc}{chapter}{\bibname}% +\fi% + \fi% + \@tbs{#1}% + }% +\ifx\bt@stepcnt\undefined% +\else% -bibtopic mods adapted for jurabib too. +% A specific recoding is made for ........BIBTOPIC......... \thebibliography +% to allow bibtopic to extract de first three tokens which +% begin \thebibliography (e.g. \section*{\refname}). +\let\thebibliography\@tbs% +\let\bt@saveitem\bibitem% +\AtBeginDocument{\let\bt@savebib\fr@savebib}% -Give back thebibliography. +\def\@tempd#1#2#3#4\void{\def\@tempa{\noexpand#1}\def\@tempb{\noexpand#2}% + \def\@tempc{\noexpand#3}\def\@@tbs##1{#4}}% +\expandafter\@tempd\thebibliography{\string#1}\void% +\edef\thebibliography#1{\@tempa\@tempb\@tempc% + \noexpand\@@tbs{#1}\noexpand\@tbs}% +\def\@tbs{\ifFLA% + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% + \ifx\bibname\undefined% + \addcontentsline{toc}{chapter}{\refname}% + \else% + \addcontentsline{toc}{chapter}{\bibname}% + \fi% + \fi% + }% +\fi% -bibtopic test. +\fi% -\thebibliography defined? +% +\def\ifFLA{\ErrFrench}% -reset it to normal value here +\@ifundefined{disableindex}{}% -Ok index.sty is not loaded; + {% -Otherwise we must redefine its \see + \def\see#1#2{\seename\/ {#1}}% -which contains \emph{\seename}. + }% +\@ifundefined{seealso}{% -cf TUGboat V12#2 p290 and V13#1 p 95 .. \seealso + \def\subsee#1#2{\seealsoname% -i assume this macro is defined in non-engl. + \/ {#1}}% -the #2 consumes a comma or \dotfill + \let\nosee\@gobble% -consumes the page number + \def\seealso{\bgroup\edef\@temp@{}\@ifNextNB[{\see@@so}% -] case index.sty + {\see@lso}}% + \def\see@lso#1#2{\expandafter% + \index\@temp@{#1!zzzzz@\protect\subsee{#2}|nosee}\egroup}% + \def\see@@so[#1]{\edef\@temp@{[#1]}\see@lso}}{}% +%#> +% \if switches mechanism for french typography +% + \def\@ifFTYfalse{\let\ifFTY\iffalse}% + \def\@ifFTYback{\let\ifFTY\if@Back}% + \let\if@PMF\iffalse% -PMF siwtch off for french light. +%#< +% Poor man defs +% +\newif\if@PMF\@PMFfalse% +\def\pmfrench{\@PMFtrue\f@issue\@fw{-4- % +%\@txt@msg{entering now "Poor-Man-French-Style" way}% + }% + \def\frenchname{pmfrench}}% +%#> +% Font processing +% +% look at \GOfrench for \footnotesize, \Huge, \sm@ller, \l@rger and co. +% +% information messages: +\f@issue% +\@fW{ -24- % +%\@txt@msg{\frenchname.sty utilise dans ce document le codage de fonte }% +%\@txt@msg{\f@encoding.^^J}% +}% + % +\f@issue% +\@fW{ -25- %\@txt@msg{\frenchname.sty affiche ici ses messages en }% +%\@txt@msg{\ifEightBitOutput8-bits.\else7-bits << \string\`a la TeX >>.\fi}% +%\@txt@msg{^^J^^J}% + }% +% +%For testing purposes ........................................ \CheckSevenBits +\def\CheckSevenBits/#1{\def\@tempa##1##2/##3{\ifx##2\empty\else% + \f@issue% + \@fw{-51- % +%\@txt@msg{ERREUR : ce document n'a pas \'et\'e converti en 8-bits...}% + }% + \expandafter ##3\fi}\expandafter\@tempa\noexpand#1}% +% +\@ifundefined{tt}{\def\tt{\fontfamily{\ttdefault}\selectfont}}{}% -........ \tt +%#< +% What font use for guillemets? +% if \guillemetsinallfonts: the current font +% if \guillemetsinroman: 1- try EC 2- or lasy 3- otherwise math simulation +\let\ifGIAF\iftrue% -by now assume guillemets in all fonts +\@ifundefined{ly}% -try to define \ly with NFSS ........................... \ly + {% -Allways load latexsym in case of any OT1 usage. + \ifx\symlasy\undefined% -if nfltxsym option not used + \ifx\undefined\babel@core@loaded% + \RequirePackage{latexsym}% -load LaTeX symbols defs + \else% -special case Babel (dont use \usepackage) + \xdef\@currname{latexsym}% -set package req. + \@@input latexsym.sty\@@input ulasy.fd% + \fi% + \fi% + \def\@ly{\fontencoding{U}\fontfamily{lasy}% -set encoding & family + \ifGIAF\else\fontseries{m}\fontshape{n}\fi\selectfont}% + \def\ly{\ifFG\ifECM\rm\else\@ly\fi\fi}% -default is rm otherwise lasy. + }{}% +% +\ifx\guillemetsfont\undefined% +\def\guillemetsfont{\fontfamily{\rmdefault}% -................... \guillemetsfont + \fontseries{m}\fontshape{n}\selectfont}% +\fi% +\def\@gfnt{\guillemetsfont}% -Default guillemets' font is \rm. +%#> +% \string definitions and saved chars +% +\edef\lq{\string`}\edef\rq{\string'}% -as usual in LaTeX .............. \lq \rq +\let\@cilq='% -this will be the catcode independent left quote +\edef\lqq{\string`\string`}\edef\rqq{\string'\string'}% -.............. \lqq \rqq +\edef\pointvirgule{\string;}% -.................................... \pointvirgule +\edef\deuxpoints{\string:}% -........................................ \deuxpoints +\let\@cidp=:% -this will be the catcode independent double point +\edef\pointexclamation{\string!}% -........................... \pointexclamation +\edef\pointinterrogation{\string?}% -....................... \pointinterrogation +\edef\inferieura{\string<}% -....................................... \inferieura +\edef\superieura{\string>}% -....................................... \superieura +\edef\dittomark{\string"}% -......................................... \dittomark +\let\f@par\par% -save it for \lettrine inside a list environment. +\let\@SLQ\lq% +\def\@SRQ@{^\bgroup\prim@s}% +\def\@SRQ{\ifmmode\expandafter\@SRQ@\else\rq\fi}% +%#< +\let\@gotl\guillemotleft% +\let\@gotr\guillemotright% +\def\@temp@{LO1}\ifx\@temp@\f@encoding% + \else\edef\@temp@{OT1}\fi% +\def\@tempa#1{\expandafter\relax% -define OT1-guillemets or LO1 ones + \expandafter\global% + \expandafter\def% + \csname\@temp@\string#1\endcsname}% +\@tempa{\guillemotleft}{\let\ifECM\iffalse% + \ifFG\ly(\kern-0.20em(\else<<\fi}% +\@tempa{\guillemotright}{\let\ifECM\iffalse% + \ifFG\unskip% -last kern was not in the correct font. + \ly\kern+0.20em)\kern-0.20em)% + \else>>% + \fi}% +\let\@LSG\inferieura\def\@DOG{\inferieura\inferieura}% +\let\@RSG\superieura\def\@DFG{\superieura\superieura}% +\def\@SOC{\string[% -] emacs + }% +\def\@SFC{% -[ emacs + \string]}% +\edef\@LP{\ifECM023\else(\fi% -) emacs + }% +\edef\@RP{% -( emacs + \ifECM024\else)\fi}% +%#> +% Define Options ............................ French style OPTIONS definitions +% +\newif\ifFH% +\let\@noBDfr\@nodocument% -options can only be set after \begin{document} +\def\frenchhyphenation{\@noBDfr}% -or in \usersfrenchoptions +\def\nofrenchhyphenation{\@noBDfr}% +\def\frenchtypography{\@noBDfr}% +\def\regularmathcomma{\@noBDfr}% +\def\frenchmathcomma{\@noBDfr}% +\def\frenchwarnings{\@noBDfr}% +\def\nofrenchwarnings{\@noBDfr}% +\def\nofrenchtypography{\@noBDfr}% +\def\nofrenchtranslation{\@noBDfr}% +\def\frenchtranslation{\@noBDfr}% +\ifx\RIfM@\undefined% -used before \begin{document} by AmS classes +\def\nofrenchguillemets{\@noBDfr}% +\def\frenchguillemets{\@noBDfr}% +\def\nofrenchbguillemets{\@noBDfr}% +\def\frenchbguillemets{\@noBDfr}% +\fi% +% Defaultly, layout is not constant from one language to another. +\global\let\ifCLAfrench\iffalse% -No defaultly constant French page layout. +\def\ConstantLayout{\@noBDfr}% +%\def\nombre{\@noBDfr}% +%\def\WindowsUnits{\@noBDfr}% +%\def\FileName{\@noBDfr}% +%\def\theFileName{\@noBDfr}% +%#< +\def\originalmathcomma{\@noBDfr}% +\def\everyparguillemetsremoved{\@noBDfr}% +\def\Numeros{\@noBDfr}% +\def\order{\@noBDfr}% +\def\endorder{\@noBDfr}% +\def\sommairename{\@noBDfr}% +\def\versatim{\@noBDfr}% +\def\endversatim{\@noBDfr}% +%#> +\def\nofrenchmacros{\@noBDfr}% +\def\frenchmacros{\@noBDfr}% +\def\automaticlettrine{\@noBDfr}% +\def\noautomaticlettrine{\@noBDfr}% +\def\noeveryparguillemets{\@noBDfr}% +\def\everyparguillemets{\@noBDfr}% +\def\nofrenchlayout{\@noBDfr}% +\def\frenchlayout{\@noBDfr}% +\def\indentfirst{\@noBDfr}% +\def\nonindentfirst{\@noBDfr}% +\def\NouveauLangage{\@noBDfr}% +\def\letpunctutionactivefor{\@noBDfr}% +% This dirty hack to bypass ugly latex209 output routine of seminar slides. +\def\@tempa{\let\ifarticle\iffalse}% +\ifx\ifarticle\undefined\expandafter\@tempa\fi% +\ifx\@seminarerr\undefined\else\ifarticle\else% +\let\@soORI\shipout% +\def\shipout#1#2{\def\@tempa{slide}\def\@tempb{slide*}% + {\ifx\@tempa\@currenvir\let\protect\noexpand% + \else\ifx\@tempb\@currenvir\let\protect\noexpand\fi% + \fi% + \@soORI#1#2}% + \global\let\shipout\@soORI% -just one time mod. + }% +\fi\fi% -\@seminarerr +% The new \hyphenation macro is used first at language.dat loading for frhyphex +\let\h@yphenation\hyphenation% -save original \hyphenation +\long\def\f@hyphenation#1{\bgroup% + \let\par\space% -For \h@yphenation. + \def\-{ }% -Stops compound words. + \let\allowhyphens\undefined% -but not \allowhyphens. + \csname accenthyphcodes\endcsname% + \lowercase{\edef\@tempa{#1}}% + \h@yphenation{\@tempa}\egroup}% +% +\def\@tempa{\let\iffrenchbibliography\iftrue}% +\ifx\iffrenchbibliography\undefined\expandafter\@tempa\fi% +% +\ifx\nombre\undefined\else\let\@nomORI\nombre\fi% +% +\begingroup\obeyspaces% +\gdef\@@nombre{\ifFTY\@mathcomma\obeyspaces\let =\,\fi}% +\endgroup% +\def\@nombre#1{\bgroup\let\ifFTY\iftrue\def\@tempa{#1}% + \def\,{\ifmmode\mskip\thinmuskip\fi}% + \if@filesw{\immediate\openout\@inputcheck=\jobname.tmp% + \let\protect\noexpand% + \ifmmode% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + \@tempa\ignorespaces}% + \else% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + $\@tempa$\ignorespaces}% + \fi% + \immediate\closeout\@inputcheck% + }% + \immediate\openin\@inputcheck=\jobname.tmp% + \immediate\read\@inputcheck to\@tempa% + \immediate\closein\@inputcheck% + \def\@tempa{{\input{\jobname.tmp}}}% + \fi% + \@tempa\egroup% + }% +% French Lite defs: +\ifx\nombre\undefined\DeclareRobustCommand*{\nombre}{\@nombre}\fi% +\ifx\WindowsUnits\undefined% -.................................... \WindowsUnits + \def\WindowsUnits{\@wu}\fi% +% +\def\FileName{\bgroup% -.............................................. \FileName +\def\@FNenc@loop##1##2{\@tempcnta`##1\relax% + \loop\catcode\@tempcnta=11% + \ifnum\@tempcnta<`##2\relax% + \advance\@tempcnta\@ne% + \repeat}% + \@FNenc@loop\^^A\^^H% + \@FNenc@loop\^^K\^^K% + \@FNenc@loop\^^N\^^_% + \@FNenc@loop\^^?\^^ff% -128-255 + \@FileName}% +\def\@FileName#1{\gdef\theFileName{#1}\egroup}% -................... \theFileName +% +\let\og\empty\let\fg\empty% -Guillemets for French light: +% Extrait de frenchb.ldf 2004/04/02 v1.6f on 2005/03/23: + \def\FrenchGuillemetsFrom#1#2#3#4{% + \DeclareFontEncoding{#1}{}{}% + \DeclareFontSubstitution{#1}{#2}{m}{n}% + \DeclareTextCommand{\guillemotleft}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#3}}% + \DeclareTextCommand{\guillemotright}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}} + \def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2}{wncyr}{60}{62}} + \def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lmr}{19}{20}} + \def\LasyGuillemets{% + \DeclareTextCommand{\guillemotleft}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}% + \DeclareTextCommand{\guillemotright}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}} + \IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGuillemets} + \DeclareTextSymbolDefault{\guillemotleft}{OT1} + \DeclareTextSymbolDefault{\guillemotright}{OT1} + \def\guill@spacing{\penalty\@M\hskip.8\fontdimen2\font + plus.3\fontdimen3\font + minus.8\fontdimen4\font} + \DeclareRobustCommand*{\begin@guill}{\leavevmode + \guillemotleft\penalty\@M\guill@spacing} + \DeclareRobustCommand*{\end@guill}{\ifdim\lastskip>\z@\unskip\fi + \penalty\@M\guill@spacing\guillemotright\xspace} + \AtBeginDocument{\ifx\xspace\@undefined\let\xspace\relax\fi} + \def\bbl@frenchguillemets{\renewcommand{\og}{\begin@guill}% + \renewcommand{\fg}{\end@guill}} + \def\bbl@nonfrenchguillemets{\renewcommand{\og}{``}% + \renewcommand{\fg}{\ifdim\lastskip>\z@\unskip\fi ''}} +%%%%%%%%%%%%%%% +\def\@ifo{% -\GOfrench 1st part: options to be defined at \begin{document} +\def\kbIO{\bgroup% -Is redefined at \begin{document} + \ifECM\fontencoding{OT1}\selectfont\fi% -Basic fontencoding needed. + \ifFTY\expandafter\nofrenchtypography\fi% + \let\@nobraces\@firstofone% -could be provided separately, + \let\protect\string% + \ifEightBitOutput% -eg by kbconfig. +\def\'####1{\expandafter\@nobraces\@aiguORI####1}% +\def\`####1{\expandafter\@nobraces\@gravORI####1}% + \def\^####1{\expandafter\@nobraces\@acchORI####1}% + \def\"####1{\expandafter\@nobraces\@tremORI####1}% + \def\c####1{\expandafter\@nobraces\@cediORI####1}% + \csname @kbspecials\endcsname% -Translation settings. + \else% -7-bit output wanted. + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% -Have spaces! + \fi% + \@kbtypeout}% +\let\s@owhyphens\showhyphens% +% Save original settings of \dospecials et \@sanitize +\let\@dsORI\dospecials% -...........................\@dospecials.........original +\@ifundefined{@sanitize}{\def\@sanitize{\relax}}{}% +\let\@saORI\@sanitize% -............................\@sanitize...........original +\def\frenchhyphenation{% + \ifFH\else\FHtrue% -....................\frenchhyphenation + \edef\@uchORI{\the\uchyph}% -save previous uchyph value + \def\@Hif{\ifFH}\let\@Hfi\fi% + \lccode `\'=`\'% + \ifx\flowercase\undefined\else\def\lowercase{\flowercase}\fi% + \@ifundefined{allowhyphens}{% -.............................. \allowhyphens + \def\allowhyphens{\ifhmode\nobreak\hskip\z@skip\fi}}{}% +% % There is no need to change here left&right hyphenmin counts +% % but other languages might have changed default values + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% -disallow x- or -xx breaks + \@whatUCH% -set Upper Case Hyphenation whatsit + \def\@tempa####1{{\accenthyphcodes\h@yphenation{####1}}}% + \ifx\@tempa\hyphenation\f@issue% + \@fw{-41- %\@txt@msg{your format is out of date, }% + %\@txt@msg{please run initex again!}% + }\stop% + \fi% + \def\accenthyphcodes{% -Use fontencoding just + \let\@typeset@protect\protect% -in a + \ifx\protect\noexpand\else% -typesetting process. + \ifECM\else\fontencoding{T1}% + \let\pickup@font\@gobble% + \let\size@update\relax\selectfont% + \fi\fi}% + \let\hyphenation\f@hyphenation% + \def\showhyphens####1{\bgroup% + \csname accenthyphcodes\endcsname% + \protected@edef\@tempa{####1}% + \s@owhyphens{\@tempa}\egroup}% + \fi}% -\ifFH +\def\nofrenchhyphenation{% + \ifFH\FHfalse% -....................\nofrenchhyphenation + \lccode`\'=0% + \let\hyphenation\h@yphenation% -restore original \hyphenation + \let\showhyphens\s@owhyphens% + \ifx\lowercaseORI\undefined\else\let\lowercase\lowercaseORI\fi% + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% -disallow x- or -xx breaks + \uchyph=\@uchORI% -reset original hyph. on words starting with capitals + \fi}% +%#< +\edef\originalmathcomma% -.................................. \originalmathcomma +{\noexpand\mathcode`,=\the\mathcode`,}% +%#> +\@tempcnta=\the\mathcode`,\@tempcntb=\the\mathcode`,% +\divide\@tempcnta by 4096\relax% -On r'ecup`ere la classe (demi octet poids fort) +\multiply\@tempcnta by -4096\relax% -en 'eliminant les poids failbles. +\advance\@tempcntb by \@tempcnta% -On garde le restant de poids faible. +\edef\@tempb{\noexpand\mathcode`,=\the\@tempcntb}% -French is usually "013B. +\advance\@tempcntb by 24576\relax% +\edef\@tempa{\noexpand\mathcode`,=\the\@tempcntb}% -Regular is usually "613B. +% Regular LaTeX math code for comma is usually "613B (ie 24891). +\edef\regularmathcomma{% -.................................... \regularmathcomma + \noexpand\def\noexpand\@mathcomma{\@tempa}% + \noexpand\@mathcomma}% +\def\@tempa{\if\space\next\else\mathord\fi\mathcomma}% +\let\ifFTY\iftrue% -For the following definitions: +\ifx\@tempa\sm@rtcomma% -In case icomma is in force we use: + \def\frenchmathcomma{% -...................................... \frenchmathcomma +\def\@mathcomma{\ifFTY\mathcode`\,="8000\fi}% + \@mathcomma}% +\else% -otherwise: +\edef\frenchmathcomma{% -French math code for comma is usually "013B (ie 315). + \noexpand\def\noexpand\@mathcomma% + {\noexpand\ifFTY\@tempb\noexpand\fi}% + \noexpand\@mathcomma}% +\fi% +\frenchmathcomma% -Is the default for french. +\def\ifFTY{\ErrFrench}% +% +\def\nofrenchtypography{% -...................................\nofrenchtypography + \let\ifFTY\iffalse\let\if@Back\ifFTY% +% Reset OT1 definition of \textbackslash to undefined. +\expandafter\let\csname OT1\string\textbackslash \endcsname\undefined% +%#< + \notabbingaccents% -usefull in T1 too with 8bits chars. +%#> + \nofrenchguillemets% -reseting our guillemets + \nofrenchbguillemets% -and those as frenchb + \sloppy% -may extend line past the right hand + \nonfrenchspacing% + \regularmathcomma% + }% +\def\frenchtypography{% -.......................................\frenchtypography + \let\ifFTY\iftrue\let\if@Back\ifFTY% +% Add OT1 definition of \textbackslash, missing inside \LaTeX. +\expandafter\let\csname OT1\string\textbackslash \endcsname\@boiORI% + \let\ifLPA\iffalse% -default is clean... + \typedspaces% +%#< + \nowrongtypedspaces% + \tabbingaccents% -usefull in T1 too with 8bits chars. + \englishquote\englishdoublequotes% + \nolabelsinmargin% + \frenchguillemets% +%#> + \frenchbguillemets% +%#< + \normalbrackets\todayguillemets% + \guillemetsinroman\guillemetsinarrays% +%#> + \edef\@tempa{\the\vfuzz}% -AmS may have changed \vfuzz + \fussy% -must not extend line past the right hand + \vfuzz=\@tempa% -and should not change \vfuzz + \frenchspacing% + \frenchmathcomma% +% \nooverfullhboxmark% std LaTeX default not plain + }% +\def\nofrenchtranslation{% + \let\ifFTR\iffalse\@cORI}% -........\nofrenchtranslation +\def\frenchtranslation{% + \let\ifFTR\iftrue\captionsfrench}% -....\frenchtranslation +\let\frenchguillemets\relax\let\nofrenchguillemets\relax% +\let\frenchbguillemets\bbl@frenchguillemets% -............... \frenchbguillemets +\let\nofrenchbguillemets\bbl@nonfrenchguillemets% -........ \nofrenchbguillemets +%#< +\def\frenchguillemets{% + \let\ifFG\iftrue% -..................... \frenchguillemets + \let\guillemets\@LG% + \let\endguillemets\RG@% + \let\guillemotleft\f@guillemets% + \let\guillemotright\endf@guillemets% + \AFPinfsup}% +\def\nofrenchguillemets{% + \let\ifFG\iffalse% -.................. \nofrenchguillemets + \let\guillemotleft\@gotl% + \let\guillemotright\@gotr% + \let\guillemets\f@guillemets% + \let\endguillemets\endf@guillemets% + \DFPinfsup}% +\def\noeveryparguillemets{\let\ifEPG\iffalse% -.............\noeveryparguillemets + \@desarm\let\@desarm\relax% -release memory + \def\guillemets{%%\leavevmode\unskip% + \f@issue% + \@fw{-53- % + %\@txt@msg{environnement guillemets }% + %\@txt@msg{ inutilisable avec l'option }% + %\@txt@msg{\string\noeveryparguillemets}% + }% + \bgroup\bgroup% + \def\guillemets{\bgroup% + \let\endguillemets\egroup}}% + }% +\def\everyparguillemets{\let\ifEPGR\iffalse% -.............. \everyparguillemets + \let\ifEPG\iftrue% + \let\guillemets\@LG% + \let\endguillemets\RG@% + }% +\def\everyparguillemetsremoved{% + \let\ifEPGR\iftrue}% -........ \everyparguillemetsremoved +%#> +\def\@tempa{\global\let\ifCLA\iffalse}% -If not already set, no defaultly +\ifx\ifCLA\undefined\expandafter\@tempa\fi% -constant language layout. +\def\ConstantLayout{\global\let\ifCLA\iftrue% -...................\ConstantLayout + \expandafter\let\csname ifCLA\languagename\endcsname\iftrue% + \def\@tempa{\let\ifbbbbfixlanguage\iftrue}% + \ifx\ifbbbbfixlanguage\undefined\@tempa\fi% + \def\@tempa{\ifbbbbfixlanguage\else% + \f@issue% + \@fw{-85- %\@txt@msg{Attention \string: l'option fixlanguage }% +%\@txt@msg{n'a pas ete fournie a l'appel de babelbib}% + }\fi% + }% + \ifx\@nodocument\relax\@tempa% + \else\ifx\btxselectlanguage\undefined% + \PassOptionsToPackage{fixlanguage}{babelbib}% + \else\@tempa% + \fi% + \fi% + \let\ConstantLayout\relax}% -This is a one time macro. +% +\def\nofrenchlayout{\nofrenchtrivsep% + \let\ifFLA\iffalse\@EIM}% -...................\nofrenchlayout +\def\frenchlayout{% + \let\ifFLA\iftrue\everyparguillemets% -...........\frenchlayout + \@FIM\@FL\let\@FL\empty\noautomaticlettrine% + \frenchtrivsep}% +\def\frenchwarnings{\let\ifFW\iftrue% -......................... \frenchwarnings + \frenchtrivsepwarnings}% +\def\nofrenchwarnings{\let\ifFW\iffalse% -..................... \nofrenchwarnings + }% -This code is not completed. +%#< +\def\nofrenchmacros{\let\ifFMA\iffalse}% -........................\nofrenchmacros +\def\frenchmacros{\let\ifFMA\iftrue\@ifm% -.........................\frenchmacros + \let\@ifm\relax}% -release memory +%#> +}% -end of \@ifo {\GOfrench part 1} +%#< +\long\def\usersfrenchoptions% -............................. \usersfrenchoptions + {\bgroup\makeatletter% +% \expandafter\makeatother% + \expandafter\egroup% + \g@addto@macro\@ufo}% +%#> +\ifx\@ufo\undefined% + \let\@ufo\empty% -necessary for babel when loading +\fi% +% +%....................................................... Modified TeX macros +% + \def\prim@s{\prime\futurelet\@let@token\pr@m@s}% + \def\pr@m@s{\ifx\@cilq\@let@token\expandafter\pr@@@s% + \else\ifx^\@let@token\expandafter\expandafter\expandafter\pr@@@t% + \else\egroup\fi% + \fi}% +\let\@fsORI\frenchspacing% -modified for guillemets............. \frenchspacing +\def\frenchspacing{\@fsORI\ifECM\sfcode`\(=0\sfcode`\)=1000\fi}% +%%%% +% let < ' : ` > active for the following macros and +\catcode`<=\active\catcode`>=\active\catcode`'=\active% +\catcode`:=\active\catcode``=\active% +\let<=\inferieura\let>=\superieura% -define them for french light. +\def\@Fstr{\def<{\@LSG}\def>{\@RSG}\def`{\@SLQ}\def'{\@SRQ}% + \def:{\deuxpoints}% + \let\dGs\empty}% -Nullify any \dGs macro from keyboard.sty. +\def\@LiN{\let\@sogORI<\let\@sfgORI>\let\@lqORI`\let\@rqORI'% + \let\@dpORI:\@Fstr\@ifFTYfalse}% +\def\@LiB{\let<\@sogORI\let>\@sfgORI\let`\@lqORI\let'\@rqORI% + \let:\@dpORI\@ifFTYback}% +\catcode\lq:=12% +\let\@s@ORI\special% -................................................. \special +% done in \GOfrench: +%\def\special#1{\@ifFTYfalse\bgroup\@Fstr\@s@ORI{#1}\egroup\@ifFTYback}% +% \newcount, \newdimen, \newbox were \outer defs in plain. +\def\newcount{\alloc@0\count\countdef\insc@unt}% -.................... \newcount +\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}% -.................... \newdimen +\def\newbox{\alloc@4\box\chardef\insc@unt}% -......................... \newbox +% +%........................................ Modified package's & LaTeX macros +% +% Those defs which need to be set at \begin{document} are delayed. +% Take in account the varioref package if present: +\let\ifFTY\iffalse% -Temporary definition. +\ifx\vref\undefined\else% -As \@ifpackageloaded is forbidden at +\@ifpackageloaded{varioref}{\def\@vrfCode{% -\begin{document}, test it now. + \@gG{vr}{vref}{/}{1}% -................................... \vref + \@gG{vpr}{vpageref}{1}{1}% -...........................\vpageref + \@gG{vprr}{vpagerefrange}{1}{2}% -................\vpagerefrange + \def\reftextpagerange##1##2{% -...............\reftextpagerange + pages~\pageref{##1}\ifFTY -\else --\fi\pageref{##2}}% + }% + }{}% +\fi% +\def\ifFTY{\ErrFrench}% -Reset original value. +% Take in account the beamer class (don't use \l@chapter) +\@ifclassloaded{beamer}{\let\l@chapter\empty% + \def\beamer@captiontemplate{\small\structure% + {\insertcaptionname\captionseparator\space}% + \insertcaption} + }{}% +% +\def\GOfrench{% -this is the code to initiate the French style + \def\special##1{\@ifFTYfalse\bgroup\@Fstr\@s@ORI{##1}% + \egroup\@ifFTYback}% + \let\@noBDfr\relax% -release french options/commands now + {\catcode\lq\<=\active\ifx<\undefined\else\global% + \let\@mLSG<\global% + \def\@LSG{\ifmmode\@mLSG\else\inferieura\fi}\fi}% + {\catcode\lq\>=\active\ifx>\undefined\else\global% + \let\@mRSG>\global% + \def\@RSG{\ifmmode\@mRSG\else\superieura\fi}\fi}% +\if@PMF\def\pmfrench{}\def\noeveryparguillemets{}\def\@stared{}% + \def\@desarm{}\def\@qquotes{}\def\@staring{}\def\@fniv2{}\fi% +\def\sm@llerthree{\protect\sm@ller\protect\sm@ller\protect\sm@ller} +\@ifundefined{smaller}{\def\sm@ller{\small}% -... you can use ...[smaller.sty] + \let\sm@llerthree\scriptsize% + \def\l@rger{\large}}% + {\def\RSsmallest{4pt}% -... you can use ...[relsize.sty] + \ifx\undefined\sm@ller% + \let\sm@ller\smaller\fi}% +\@ifundefined{footnotesize}{% -.................................... \footnotesize + \def\footnotesize{\sm@ller\sm@ller}}{}% +\@ifundefined{Huge}{% -.................................................... \Huge + \def\Huge{\l@rger\l@rger\l@rger\l@rger\l@rger}}{}% +%#< +\@ifundefined{lettrinefont}{\let\lettrinefont\Huge}{}% -........... \lettrinefont +\let\sv@lf=\lettrinefont% -save it +\ifx\@pdfcreator\undefined% -Complete pdf creator name. + \else\addto\@pdfcreator{, with \frenchpack\space shareware}\fi% +%#> +% Command to leave chapter counter asis.................... \noresetatpart +\def\noresetatpart{\ifFLA\let\cl@part\empty\fi}% +% Command to leave footnote counter asis over chapter change. +\def\noresetatchapter{\ifFLA\let\cl@chapter\empty\fi}% -....... \noresetatchapter +% Let \chapter be defined. +\@ifundefined{chapter}{}{}% -.......................................... \chapter +% Reset chapter counter when starting a part & +\@ifundefined{c@chapter}{\newcounter{chapter}}{\@addtoreset{chapter}{part}}% +\@ifundefined{quotation}{\def\quotation{}}{}% -...................... \quotation +\ifx\tableofcontents\undefined% + \else\let\@tocORI\tableofcontents\fi% -permit toc normal processing +\ifx\pdfstringdef\undefined% -Save orginal \contentsline for hyperref. + \else\let\contentslineORI\contentsline\fi% +% Coding to bypass pb of duplicate in hyprref < 6,69f +%\ifx\undefined\pdfstringdef\@tempa% Using pdfTeX hyperref should +% \else\ifx\theHchapter\undefined% have no \thechapter otherwise +% \else\@tempa% it complains arguing there is a duplicate section +% \fi% #, +%\fi% so we no more define \thechapter in that case. +\@ifundefined{l@chapter}{% -...................................... \l@chapter +\def\@tempa{% + \def\l@chapter####1####2{\addpenalty{-\@highpenalty}% + \vskip 1.0em plus\p@\@tempdima 1.5em% -numbering size + \begingroup% + \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth% + \bfseries \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip% + ####1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss ####2}\par% + \penalty\@highpenalty% + \endgroup}}% +\ifx\RIfM@\undefined\@tempa% -use l@chapter +\else% % -even with AmS styles + \ifx\fr@RIfM@cls\undefined\@tempa +\fi% -but not for AmS classes +\fi}{}% -undefined in article.sty +% Due to resetting of chapter counter at part change we have to better +\@ifundefined{theHchapter}{}% -qualify the chapter anchor names. + {\renewcommand{\theHchapter}{\arabic{part}.\arabic{chapter}}}% +% +% General code for generating replacement macros for \cite \nocite etc. +% \@gG{a string "s" for letting \@"s"@ORI as the original macro} +% {original macro name -without backslash} +% {string "/" if original macro had no [optional arg] otherwise empty} +% "1" if original macro has one req. [o.p. arg 1] +% "2" if original macro has two req. [o.p.1][o.p.2] +% "//"if no optional arg but more than one required arg: +% {number of required args} % default is 1, maximum is 3. + \def\@gG##1##2##3##4{% + \def\@temp@{\expandafter\let\csname @##1@ORI\endcsname=}% + \expandafter\@temp@\csname ##2\endcsname% + \if##3\empty% + \if2##4% + \expandafter\def\csname ##2\endcsname####1####2% + {\protect\atgG{##1}{{####1}{####2}}}% + \else% + \if3##4% + \expandafter\def\csname ##2\endcsname####1####2####3% + {\protect\atgG{##1}{{####1}{####2}{####3}}}% + \else% + \expandafter\def\csname ##2\endcsname####1% + {\protect\atgG{##1}{{####1}}}% + \fi% + \fi% + \else% -Case of just one required argument, check optional args: + \if/##3\expandafter\def\csname ##2\endcsname{\protect\atgH{##1}}% + \else% + \if2##4\expandafter\def\csname ##2\endcsname{\protect\atgN{##1}}% + \else\expandafter\def\csname ##2\endcsname{\protect\atgM{##1}}% + \fi% + \fi% + \fi}% + \def\atgG##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname##2\egroup}% + \def\atgH##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname{##2}\egroup}% + \def\atgM##1{\@ifNextNB[{\@gM@@{##1}}{\@gM@@{##1}[\empty]}% -]emacs + }% + \def\atgN##1{\@ifNextNB[{\@gM@@@{##1}}{\@gM@@@{##1}[\empty]}% -]emacs + }% + \def\@gM@@##1[##2]##3{\@gM@@@{##1}[##2]{##3}{}}% + \def\@gM@@@##1[##2]##3##4{\bgroup\@ifFTYfalse\@Fstr% + \xdef\@temp@{\noexpand\@gG@{##3}{##4}}\egroup% + \ifx\empty##2\let\@gG@=\empty% + \else\protected@edef\@gG@{[##2]}\fi% + \let\@typeset@protect\protect% + \protected@edef\@temp@{\noexpand\expandafter% + \noexpand\expandafter% + \noexpand\csname @##1@ORI\noexpand\endcsname% + \@temp@}\@temp@}% +% Nullify Babel mechanism which doesn't run correctly in its current version +\ifx\babel@sanitize@arg\undefined\else% +\def\babel@sanitize@arg##1{##1}% +\wlog{\frenchname.sty\string: use of the babel package force me to nullify % + \noexpand\babel@sanitize@arg.}% +\fi% +\ifx\ifthenelse\undefined\else\let\@iTeORI\ifthenelse% + \long\def\ifthenelse##1##2##3{\@ifFTYfalse\@iTeORI{##1}% + {\@ifFTYback##2}{\@ifFTYback##3}}% +\fi% +\ifx\texttt\undefined\else\@gG{xt}{texttt}{/}{1}% -...................... \texttt + \MakeRobustCommand{texttt}\fi% +\ifx\hyperbaseurl\undefined\else\@gG{hl}{hyperbaseurl}{/}{1}\fi% -. \hyperbaseurl +\ifx\Ginclude@graphics\undefined\else\@gG{ig}% -.............. \Ginclude@graphics + {Ginclude@graphics}{/}{1}\fi% -. (\includegraphics) +% As \citeyear is in various packages we check first for natbib.sty and +\ifx\NAT@citex\undefined% -then modify all \cite... commands via \@citex. + \ifx\cite\undefined\else\@gG{c}{cite}{1}{1}\fi% -.................... \cite + \ifx\citeyear\undefined\else\@gG{cy}{citeyear}{/}{1}\fi% -........... \citeyear +\else% -....................................................... Natbib \cite... + \let\@cxORI\@citex% + \def\@citex[##1][##2]##3{\@ifFTYfalse% + \let\mbox\mboxORI% + \@cxORI[##1][##2]{##3}\aftergroup\@ifFTYback}% +%%%%%%%%%%%%%%%%%%%%%%% +%Following code for Natbib and jurabib wrong, obsolate and misplaced.2006/08/15 +%\@gG{fc}{fullcite}{1}{1}% +%\@gG{cin}{citation}{/}{1}% +%\def\@lbibitem[##1]##2{\protected@edef\jb@key{##2}\def\jb@tempb{##1}}% +\@gG{cin}{citation}{/}{1}% -............................................\citation + \ifx\ifjb@index@bib\undefined\let\ifjb@index@bib\iffalse\fi% + \ifx\jb@lbibitem\undefined\else% -............... JURABIB ........ \jb@lbibitem +% Modify jurabib definition of \jb@lbibitem as of jurabib v0.6 (2004/01/25) +% with a \protected@xdef for \jb@key. + \def\jb@lbibitem[##1]##2{% + \gdef\jb@tempb{##1}% +\protected@xdef\jb@key{##2}%\gdef\jb@key{##2}% + \ifjb@index@bib% + \jb@call@index{aut}{##2}% + \jb@call@index{ed}{##2}% + \jb@call@index{org}{##2}% + \fi% + \endgroup}% + \@gG{fc}{fullcite}{1}{1}% -.......................JURABIB.............\fullcite + \fi% +\fi% +\ifx\nocite\undefined\else\@gG{nc}{nocite}{/}{1}\fi% -................... \nocite +% As \bibcite has not originally any argument the following definition +% is remove and \@newl@bel is introduced in replacement of \newlabel. +%\ifx\bibcite\undefined\else\@gG{bc}{bibcite}{1}{1}\fi%............... \bibcite +\ifx\backcite\undefined\else\@gG{bkc}{backcite}{//}{2}\fi% -........... \backcite +\ifx\bibitem\undefined\else\let\@biORI\bibitem% -...................... \bibitem + \def\bibitem{\@LiN\@ifNextNB[{\@bi@cb}{\@bi@ca}% -]emacs + }% + \def\@bi@ca##1{\@biORI{##1}\@LiB}% + \def\@bi@cb[##1]##2{\@biORI[##1]{##2}\@LiB}% +\fi% +\expandafter\ifx\string\bt@@item\undefined% -... bibtopic \\bt@@item + \else\@gG{bti}{\string\bt@@item}{1}{1}% + \fi% +% Take in account varioref package if present at \begin{document}: +\ifx\vref\undefined\else% -Nullify \@vrfCode if varioref is + \ifx\reftextvario\undefined\let\@vrfCode\undefined% -now loaded. +\fi\fi% +% +\ifx\ref\undefined\else\@gG{r}{ref}{/}{1}\fi% -............................. \ref +\ifx\tag\undefined\else\@gG{tG}{tag}{/}{1}\fi% -............................ \tag +\ifx\pageref\undefined\else\let\pageref@ORI\pageref% + \let\f@pageref\pageref\@gG{fpr}{f@pageref}{/}{1}% + \def\pageref{\ifFTY\expandafter\f@pageref\else% -....................\pageref + \expandafter\pageref@ORI\fi}% +\fi% +\csname @vrfCode\endcsname% -load mods for varioref package \vref, \vpageref +\xdef\@lim{}\let\ifMOVING\iffalse% +% The label for the subfigure package ...........................\sf@@sub@label +\ifx\sf@@sub@label\undefined\else\@gG{ss}{sf@@sub@label}{/}{1}\fi% +% Set code for labels in margin. +\def\@temp@{% + \def\label{\protect\@LabeL}% -needed to be protected for \thanks +% Remove patch $\label$ for Simon Pierre DESROSIERS 9/09/05 +% \def\@LabeL{\ifmmode\expandafter\s@LabeL\else\expandafter\t@LabeL\fi}% +% \def\s@LabeL####1{\gdef\r@LabeL{\label{####1}}\aftergroup\r@LabeL}% +% New patch for \label en mode math. 4/07/2006 % +\def\r@LabeL{\ifx\@lim\empty% -Special def to put labels in margin + \else\marginpar{\@lim@}\xdef\@lim{}% -at end of maths $$. + \fi}% -No need to nullify MOVING after group. +\def\m@LabeL{\def\@setMGtrue{\let\ifMOVING\iftrue}% + \ifmmode\@setMGtrue% -If maths go like a moving block. + \aftergroup\r@LabeL% -Do final margin at end of maths group. + \fi% + \expandafter\t@LabeL}% -Go process \label as usual. +\def\@LabeL{\ifMOVING\expandafter\t@LabeL% -If already moving process as usual + \else\m@LabeL% -else test for maths. + \fi}% +% + \def\t@LabeL####1{\@ifFTYfalse\if@labelsinmargin\ifMOVING% + \xdef\@lim{\ifx\@lim\empty\else\@lim\@@par\relax\fi[####1]}% + \gdef\@lim@{\@ifFTYfalse\hbadness=\@M\tt\@lim\@ifFTYback}% + \else\marginpar{% + \@ifFTYfalse\hbadness=\@M\tt[####1]\@ifFTYback}\fi\fi% +% how suppress Overful \hbox here? + \bgroup\@Fstr\@lORI{####1}\egroup\@ifFTYback}% + }% +\ifx\fr@RIfM@cls\undefined\else% -isolate maketitle action with AmS classes. +\let\@mtORI\maketitle% -............................................ \maketitle +\def\maketitle{{\@mtORI}}% -avoid removing of keywords environement. +\fi% +\ifx\label\undefined\else\let\@lORI\label% -.............................. \label + \@temp@% -new def apply + \let\ltx@label\label% -for amsmath.sty +\fi% +%instead this coding, active chars in \label must be protected inside a \thanks +% As the internal macro of \newlabel is \@newl@bel #1 the following +% definition of \newlabel is removed and replace by \@newl@bel. +%\ifx\newlabel\undefined\else\@gG{nl}{newlabel}{/}{1}\fi%............ \newlabel +\ifx\@newl@bel\undefined\else\@gG{nl}{@newl@bel}{//}{3}\fi% -......... \@newl@bel +\def\@temp@{% + \let\@aclORI\addcontentsline% -............................ \addcontentsline + \global\let\ifCG\iftrue% -Nullify if-guillemets on a new sectioning + \def\addcontentsline####1####2####3{\@ifFTYfalse\bgroup\@Fstr% + \@aclORI{####1}{####2}{####3}\egroup\@ifFTYback}% + }% +\@ifundefined{addcontentsline}{\gdef\addcontentsline##1##2##3{}}% -dummy def + {\@temp@}% +\let\ifFrench\iffalse% -let it be known now +\def\@temp@{% + \def\index{\bgroup\ifFrench\@DFP\fi% -Is further redefined + \expandafter\egroup\@iORI}% -inside \footnote. + }% +\ifx\index\undefined\else\let\@iORI\index% -.............................. \index + \@temp@% -new def apply +\fi% +% +\ifx\list\undefined\else% -Mods to keep track + \let\@liORI\list% -that we are in a list environment ........ \list +\fi% + \let\@topsepORI\topsep% -ans save original vertical + \let\@partopsepORI\partopsep% -spaces + \let\@itemsepORI\itemsep% -so that we could warn when + \let\@parsepORI\parsep% -user try to change them. +%\def\GOfrench{continuation -emacs pb- +\def\warn@seps{\def\topsep{\@w@s{\string\topsep}\@topsepORI}% + \def\partopsep{\@w@s{\string\partopsep}\@partopsepORI}% + \def\itemsep{\@w@s{\string\itemsep}\@itemsepORI}% + \def\parsep{\@w@s{\string\parsep}\@parsepORI}% + \def\@tempa{verse}\def\@tempb{quotation}% + \ifx\@tempa\@currenvir\let\@w@s\@gobble\else% + \ifx\@tempb\@currenvir\let\@w@s\@gobble\fi% + \fi% + }% +\def\@w@s##1{\ifFTSW\f@issue% + \@fw{-58- %\@txt@msg{valeur de ##1 ignor\'ee}% +% dans l\string'environnement \@currenvir% + }[##1]\fi}% +\def\org@seps{\let\topsep\@topsepORI% + \let\partopsep\@partopsepORI% + \let\itemsep\@itemsepORI% + \let\parsep\@parsepORI% + }% +\def\list##1##2{\def\@inAlist{}\@liORI{##1}{% + \ifx\@trivlist\@tlORI\else\warn@seps\fi% + ##2\org@seps}}% +\ifx\@makecaption\undefined\else\let\@mcORI\@makecaption\fi% -.... \@makecaption +% +\ifx\captionseparator\undefined% + \def\captionseparator{~--}% -............................ \captionseparator +\fi% +\let\ifFTY\iffalse% -Let it be knwon temporary. +% \captionseparator is off with memoir.cls, use \captiondelim. +\ifx\@contdelim\undefined\else% -..............(ccaption/memoir) \@contdelim + \ifx\@memerror\undefined% + \let\@cdORI\@contdelim% -The definition for ccaption: + \def\@contdelim{\ifFTY\space\else\@cdORI\fi}% + \else%\let\@contdelim\@cdORI% -Don't modify \@contdelim for memoir.cls + \let\captionseparator\empty% -Suppress our \captionseparator for table/figure + \let\captionfont\@conttfont% -Apply requested memoir font. + \fi% +\fi% +\def\ifFTY{\ErrFrench}% +\ifx\captionfont\undefined% -..................................... \captionfont + \let\captionfont\emph% -Std is italics. + \else\let\@cfORI\captionfont% -Might be Caption2, thus + \def\captionlabelfont{\upshape}% -set defaults. + \def\captionfont{\itshape\@cfORI}% + \ifx\captionlabeldelim\undefined\else% -Use Caption2 delimitor cs + \let\captionlabeldelim\captionseparator% -if any, and set our + \let\captionseparator\empty% -default value. + \fi% +\fi% +\def\@makecaption##1##2{\ifFTY% + \def\@secondofmany####1####2\void{####2}% +% Removed mod for empty \caption (pb with hyperref) 2007/06/28 +% \protected@edef\@tempa{\@secondofmany##2\void}% +% The previous coding don't remove the unusefull \captionseparator: + \def\@tempa{\@secondofmany##2\void}% -To debug. + \ifx\@tempa\empty% + \let\captionseparator\empty% + \fi% + \@mcORI{##1}{\relax% -for AmSLaTeX V1.2 96/11 + \captionfont{##2}}% + \else\@mcORI{##1}{##2}\fi}% +% +%Leslie claims that "The footnotemarker is regarded as having zero width, which +%is appropriate when it comes at the end of line"(p164) <== not a French habit. +\def\@temp@{% + \def\thanks####1{\global\let\@makefntext\fr@makefntext% -........... \thanks + \bgroup% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi\nobreak\fi% + \def\@footnotemark{\hbox{\@textsuperscript{\normalfont\,\@thefnmark}}}% + \fi\let\ifFTY\iffalse\@thORI{####1}% + \egroup}% + }% +\ifx\thanks\undefined\else\let\@thORI\thanks\@temp@\fi% +\let\ifFTY\iffalse% -temp def for next processing +\ifx\@makefnmark\undefined\else\let\@mfnmORI\@makefnmark% -........ \@makefnmark +\def\@makefnmark{\ifFTY\hbox{\@textsuperscript{\normalfont% + \ifx\thefootnote\relax\else\,\fi% + \@thefnmark}}% + \else\@mfnmORI\fi}% +\fi% +\def\@temp@{\long\def\fr@makefntext####1{% footline starts here % + \bgroup% + \ifFTY\def\@tempa{footnote}\let\@tfnORI\@thefnmark% + \ifx\@tempa\@mpfn% -do it only for page footnotes not minipages ones + \def\@thefnmark{% -marker under the footline, no more in superscript. +% two grouping levels in pure 2e. + \egroup\egroup% -no point when no marker + \long\def\@tempa{\fnsymbol{footnote}}% + \ifx\@tempa\thefootnote% -When using symbols put them + \expandafter\raise+0.55ex% -higher (cf Lexique IN p. 33) + \fi% -\thefootnote + \hbox\bgroup\textnormal\bgroup% + \def\@temp@{% +\ifx\fr@RIfM@cls\undefined% -Remove space when \thanks and AmS classes. +\ifx\thanks\relax\else\kern-1.1\parindent\fi% -.1 should be explained. +\else \kern-\parindent% -otherwise remove superfluous spacing. +\fi% +%\@ifnextchar\relax{\def\@temp@{\,}}% Prefered: + \@ifnextchar\relax{\def\@temp@{\hphantom{.}\kern+0.25em}}% + {\def\@temp@{.\kern+0.25em}}% + }% + \expandafter\@temp@\@tfnORI\@temp@% + }% + \leavevmode\kern+0.5em% -add some spacing for at least 3 digits + \else\def\@thefnmark{\@tfnORI\,}\fi% -add thin space in mpfootmarks + \fi\@mfntORI{####1}\egroup}% -\@makefntext + }% + \let\@mfntORI\@makefntext\@temp@% + \let\@makefntext\fr@makefntext% -............................. \@makefntext +\def\ifFTY{\ErrFrench}% +\let\@fntORI\@footnotetext% -nullify marginpar in ................ \@footnotext +\long\def\@footnotetext##1{\bgroup\let\if@labelsinmargin\iffalse% + \@fntORI{##1}\egroup}% +% Why \footnote doesn't \unskip the previous space? +% Allow hyphenation too with \nobreak (as suggested by Bernd Raichle) +\let\@fnORI\footnote% -............................................... \footnote +\def\footnote{\bgroup% + \def\index{\@ifnextchar[{\f@index}% -] + {\f@index@}% + }% + \def\f@index[####1]####2{\@ifFTYfalse\@iORI[####1]{####2}% + \@ifFTYback}% + \def\f@index@####1{\@ifFTYfalse\@iORI{####1}\@ifFTYback}% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi% + \nobreak\fi\fi% + \ifmmode\let\@fnORI\fr@footnote\fi% + \@ifNextNB[% -] for balancing + \@Footnote\@Fntnorm}% +\long\def\@Footnote[##1]##2{\@fnORI[##1]{##2}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\long\def\@Fntnorm##1{\@fnORI{##1}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\def\@Fntcoma{\ifFLA\@textsuperscript{,}\nobreak\fi}% +\def\@Fxloat##1[##2]{\@xfORI{##1}[##2]\csname @Fend\@currenvir\endcsname}% +\let\@fgeORI\figure\let\@efgeORI\endfigure% -needed for figurette +\def\@temp@{\let\@fgeORI\figure% -..................................... \figure + \def\figure{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \@set@fr@fn@% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@fgeORI}}% +\ifx\figure\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendfigure{\let\@efgeORI\endfigure% -.......................... \endfigure + \def\endfigure{\@efgeORI% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}}% +\ifx\endfigure\undefined\let\@Fendfigure\relax\fi% +\let\@cnORI\caption% -\caption is redefined in the table environement : +\def\@tablescaption{\@dblarg\@t@blescaption}% -footnote will be only +\let\mboxORI\mbox% -save \mbox definition. +\def\mbox##1{\leavevmode\hbox{\protect\@set@fr@fn@##1}}%% -.............. \mbox +\def\@set@fr@fn@{\ifFrench\let\footnote\fr@footnote\fi}% -Footnote's text lost +\def\fr@footnote{\@ifNextNB[\fr@fn@{\fr@fn@[]}% -] in tables + }% -caption. +\def\fr@fn@[##1]##2{\footnotemark% + \f@issue% + \@fw{-8- % -\@txt@msg{\string\footnotetext{##2} perdu.} +%\@txt@msg{Coder \'event. \string\protect\string\footnote}% + }[##2]% -\mbox + }% +\def\@t@blescaption[##1]##2{\let\cur@fn\footnote% -footnote mark in tables + \let\footnote\fr@footnote% -caption and text + \@cnORI[##1]{##2}\let\footnote\cur@fn}% -will be lost. +\def\@temp@{% + \let\@tbeORI\table% -footnotes made like in minipages ...... \table + \def\table{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% -for ams classes + \let\caption\@tablescaption% -allow page footnote in \caption + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@tbeORI}% + \expandafter\let% + \expandafter\@dbtbeORI\csname table*\endcsname% -......... \table* + \expandafter\def\csname table*\endcsname{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% -for amsbook + \let\caption\@tablescaption% -allow page footnote in \caption + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@dbtbeORI}% + }% +\ifx\table\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendtable{% -Will be called by \@Fxloat. + \let\@etORI\endtable% -................................... \endtable + \def\endtable{\ifFLA\par% + \vskip-\lastskip% -make footnotes here + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@etORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\ifx\endtable\undefined\let\@Fendtable\relax\fi% +\def\@temp@{\def\endtable{\ifFLA\endgroup% -\endtable may be \relax + \expandafter\let\csname endtable*\endcsname\endtable% -as in endfloat + \fi}% + }% +\ifx\endtable\relax\@temp@% -is also used in frenchll for testing purpose +\fi% +\expandafter\def\csname @Fendtable*\endcsname{% -Will be called by \@Fxloat. + \expandafter\let% + \expandafter\@dbetORI\csname endtable*\endcsname% -...... \endtable* + \expandafter\def% + \csname endtable*\endcsname{\ifFLA\par% + \vskip-\lastskip% -make footnotes here + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@dbetORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\expandafter\ifx\csname endtable*\endcsname\relax% + \expandafter\let\csname endtable*\endcsname\endtable% +\fi% -for ams classes +% The following code is for beamer which don't use float for figures/tables. +\expandafter\ifx\csname\string\table\endcsname\undefined\else% + \expandafter\let\expandafter\BfigureORI\csname\string\figure\endcsname% + \expandafter\def\csname\string\figure\endcsname{\@Fendfigure\BfigureORI}% + \expandafter\let\expandafter\BtableORI\csname\string\table\endcsname% + \expandafter\def\csname\string\table\endcsname{\@Fendtable\BtableORI}% +\fi% +%#< +\def\drapeaufg{\ifFLA% -........................................... \drapeaufg + \raggedright\hbadness=6000% + \rightskip=0.3em plus 0.75em\hfuzz=0.4em\relax% + \let\enddrapeaufg\par\fi}% +\def\drapeaufgIN{\ifFLA% -................/........................ \drapeaufgIN + \raggedright\hbadness=6000% + \rightskip=0.3em plus 0.75em\hfuzz=6em% + \lefthyphenmin=12\righthyphenmin=10\relax% + \let\enddrapeaufgIN\par\fi}% +\def\drapeaufd{\ifFLA\raggedleft% -................................ \drapeaufd + \let\enddrapeaufd\par\fi}% +\def\drapeaufdIN{\ifFLA% -......................................... \drapeaufdIN + \raggedleft\hfuzz=6em% + \lefthyphenmin=12\righthyphenmin=10\relax% + \let\enddrapeaufdIN\par\fi}% +%#> +%\GOfrench{ -emacs pb- +% continuing definition of \GOfrench +\ifx\undefined\Hy@PDFDef\let\Hy@PDFDef\pdfstringdef\fi% -......... \pdfstringdef +\ifx\undefined\Hy@PDFDef\else% -For the old hyperref package. + \let\@hpdORI\Hy@PDFDef% + \def\Hy@PDFDef##1##2{\@ifFTYfalse\afterassignment% + \@Fstr\@hpdORI{##1}{##2}\@ifFTYback}% +\fi% +\ifx\pdfstringdef\undefined\else% + \let\pdfstringdef\Hy@PDFDef% +\fi% + \let\@lti\labelitemi\let\@ltii\labelitemii% + \let\@ltiii\labelitemiii\let\@ltiv\labelitemiv% + \@ifo% -define French options, GOfrench part 1 + \let\@ifo\undefined% -now release memory + \@doFh% -process language.dat, GOfrench part 2 + \let\@doFh\undefined% -release memory + \let\hyphex\undefined\let\frhyphex\undefined% + \let\@temp@\undefined% + \let\ifFTY\iffalse\let\ifFTR\iffalse% -if begin language isnt + \let\ifFLA\iffalse\let\ifFMA\iffalse\let\ifFH\iffalse% -french +% Get original \everypar control command but not hebrew macro. +\def\@tempa##1{\o@everypar{\rl@everypar##1}}% +\ifx\@tempa\everypar\let\TeXeverypar\o@everypar% +\else\let\TeXeverypar=\everypar% +\fi% +% +% As eTeX is bugged (no respect of \csname beginL\endcsname=\relax when +% TeX--XeT option disabled), Philip Taylor suggested the following code +% to replace the test about \beginL: +% %\ifx\beginL\undefined\else% + \ifx \TeXXeTstate \undefined% + \edef \next {\ifx \beginL \undefined 00\else 01\fi}% + \else% + \edef \next {\ifnum \TeXXeTstate = 0 00\else 01\fi}% + \fi% + \if \next\let\beginL\relax\let\beginR\relax% -patch eTeX. + \else% +% assume Left to right for *the* document if TeX--XeT. + \edef\@fepORI{{\the\TeXeverypar}}% + \def\@SetBFWdirection{\csname begin% + \beginFWdirection\endcsname}% + \TeXeverypar={\@SetBFWdirection% + \let\@SetBFWdirection\relax% + {\let\@nodocument\relax% -In case hebrew. + \@fepORI}}% + \fi% + \let\ErrFrench\@Ffnt\def\@Ffnt##1{}% +% insure files integrity +\ifx\undefined\babel@core@loaded% -already done for Babel in .ldf +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- this file and other auxiliary files require to % + use the following}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- LaTeX packages: \frenchpack!}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- check \protect\protect\protect\usepackage% + \protect\space or remove these files. % + Typesetting is aborted!}% + \protect\stop}}% +%\let\auxWARNINGi=\@gobble% set in the preambule +\fi% +% patch inclusion: +\@finput{frpatch.sty}% + \ifx\FSfd@patch\FSfd\else + \f@issue% + \@fw{-42- % +%\@txt@msg{The French patch file (frpatch.sty) is not suitable^^J}% +%\@txt@msg{for this version of the "\frenchpack" package dated \FSfd}% + }% + \batchmode\@@end% + \fi% + \let\@Ffnt\ErrFrench\let\ErrFrench\undefined% -ditto +%%% Since "msg" is in use, \InputIfFileExists no more input the file, why? +%%% \InputIfFileExists{\frenchname.cfg}{% load site config file. +%%% \f@issue% +%%% \@fw{-48- %\@txt@msg{Lecture du fichier de }% +%%% %\@txt@msg{configuration de \frenchpack}% +%%% }}{}% +%%% so we now call \IfFileExists ... \@finput + \IfFileExists{\frenchname.cfg}{% -load site config file. + \f@issue% + \@fw{-48- %\@txt@msg{Lecture du fichier de }% + %\@txt@msg{configuration de \frenchpack}% + }% + \@finput{\frenchname.cfg}}{}% + \beginlanguage}% -now the new language (end of \GOfrench) +% + \let\@dORI\document% -................................... \begin{document} + \def\document{% -\slidesonly of seminar must not gobble me! + \ifx\noxcomment\undefined\else% + \global\let\@x@hk\xcomment@hook\global\noxcomment\fi% + \ifx\btxselectlanguage\undefined% + \else\ifx\babel@savevariable\undefined% + \f@issue\@fw{-87- % +%\@txt@msg{ERREUR \string: }% +%\@txt@msg{babelbib s'utilise uniquement avec babel}% + }% + \stop% + \fi% + \fi% + \ifx\@bglngpk\babel@savevariable% + \else% -Babel loaded after french. + \f@issue\@fw{-71- % +%\@txt@msg{ATTENTION : }% +%\@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}% + }% + \fi\let\@bglngpk\undefined% + \@dORI% -execute original \document + \GOfrench% -now initiate the style + \let\GOfrench\undefined% -release memory + \ifx\noxcomment\undefined\else\let\xcomment@hook\@x@hk% + \expandafter\xcomment@hook\fi}% +% now reset < ` ' > as other chars +\@makeother`\@makeother<\@makeother>\@makeother'% +% ReRead of aux file at \end{document} may create problems. +% As French things are already applied, so it's unuseful after \end{document} +\let\enddocumentasusual\enddocument% -............................ \enddocument + \def\enddocument{\def\@tempa{\AtEndDocument{\french\f@clearpage% + \global\let\ifCLA\iffalse% -No more page, thus no layout. + \let\ifCLAfrench\iffalse% + \endfrench}}% +%%% Notice we specially use \AtEndDocument to avoid AmS hook material +%%% to print outside of the current (final) page the \@setaddresses. + \csname f@lastpage\endcsname% -Allow user mods here. + \@CGroup% -end any remaining opened << group + \ifFLA% -At the real end of document we should + \@tempa% -output last page in french. + \def\@tempa{empty}\ifx\@specialstyle\@tempa% + \else\gdef\@specialstyle{french}\fi% + \fi% + \let\GOfrench\relax% -Stop to generate \beginL. + \switchtolanguage\englishTeXmods% + \let\f@clearpage\clearpage% -Keep \clearpage for \AtEndDocument +% Avoid the lastpage package do a \clearpage until last \french page +\ifx\lastpage@putlabel\undefined% -and avoid any change of +\else\let\clearpage\relax% -the page counter: + \let\lastpage@putlabelORI\lastpage@putlabel% + \def\lastpage@putlabel{\addtocounter{page}{+1}\lastpage@putlabelORI% + \addtocounter{page}{-1}}% +\fi% +% Redef of \@newl@bel due to Babel \select@language + \ifx\undefined\babel@core@loaded\else% -i.e. \@testdef: + \ifx\@testdef\undefined\else% -................ \newlabel + \@gG{@td}{@testdef}{//}{3}\fi% -............ \@testdef + \fi% +% Let few stuff expand in \edef for TeX4ht. +\ifx\ConfigureToc\undefined\else% + \let\@ifFTYfalse\relax\let\@ifFTYback\relax% + \@Fstr\let\@Fstr\relax% +\fi% + \enddocumentasusual% + }% +\let\@whatUCH\relax% -\@whatUCH is \relax with french light. +%#< +% =============================== +% | Hyphenation | +% =============================== +% +% Allow or not hyphenation of words starting with a capital letter +\def\allowfulluchyph{\@noBDfr% + \uchyph=1\let\@whatUCH\allowfulluchyph% -.. \allowfulluchyph + \let\@uchbox\empty}% +\def\allowuchyph{\@noBDfr% + \uchyph=1\let\@whatUCH\allowuchyph% -.............. \allowuchyph + \let\@uchbox\hbox}% +\def\disallowuchyph{\@noBDfr% + \uchyph=-1% -................................ \disallowuchyph + \let\@whatUCH\disallowuchyph\let\@uchbox\hbox}% +\def\notthyphenation{\@noBDfr% + {\tt\hyphenchar\font=-1}% -.................\notthyphenation + \let\ifTTH\iffalse}% +\def\tthyphenation{\@noBDfr% + {\tt\hyphenchar\font=`\-}% -.................. \tthyphenation + \let\ifTTH\iftrue}% +\let\@whatUCH\allowuchyph% -is normaly the TeX default +\let\ifTTH\iffalse% -we presume that there no tt hyph. by default +\let\ifFH\iffalse% -we assume we start with no French hyphenation (wrong!) +% +% A macro asking to load a language specific exceptions file. +% Argument provides the language name. File name is in language.dat +\def\hyphex#1{% -available before \begin{document} + \if#1\empty% -........................................... (\hyphex) + \else% -a general macro for other languages + \edef\@excn{#1}\fi% + \let\if@FE\iftrue}% -\hyphex{} before begin document will +% % load exceptions files +\def\frhyphex{% -available before \begin{document} + \if@PMF\else\hyphex{\frenchname}\fi}% -................. \frhyphex +%#> +% =============================== +% | Translations | +% =============================== +% +% The following is to ``repair'' default captions used in standard V2 styles +% prior October 91 as "Figure n:" and "Table n:". +\def\@eatDP{\@ifNextNB:{\@gobble}{}}% +%\def\@eatP#1{\@ifNextNB.{\@gobble}{}}% for any AmS class +\def\f@ffrench{\ifx\listoffigures\relax\else% + \figurename~\thefigure\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\f@tfrench{\ifx\listoftables\relax\else% + \tablename~\thetable\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\unnumberedcaptions#1{\@noBDfr% +%............................... \unnumberedcaptions + \expandafter\let\csname listof#1s\endcsname\relax% + \ifx\listoffigures\relax\ifx\listoftables\relax% + \let\unnumberedcaptions\undefined% + \fi\fi% + }% +% +% Titles ....................................................... \captionsnames +\@ifundefined{captionsnames}{\def\captionsnames{\relax}\let\@tempa\@currname% +% load English captions but force language name for ... +\xdef\@currname{fenglish}\@finput{fenglish.sty}\let\@currname\@tempa}{}% +\def\languagename{french}% -... any further msg message with \kbencoding. +\let\ifnonenglishheadings\iftrue% -Bypass to a LaTeX slight bug... +%#< +\def\tocreduite#1#2{}% -Reduce toc to a toc-summary for \sommaire. +\def\@sEAT#1#2{\@sORI*{\sommairename}}% -Normally a \sommaire is short +\def\@cEAT#1#2{\@chORI*{\sommairename}}% -and need no headings. +\def\@smr[#1]{\let\@tempa\contentsname% -Save it for + \let\contentsname\sommairename% -memoir.cls. + \ifx\tableofcontents\undefined\else% + \begingroup\ifcase #1 0% -Process \sommaire[1-4] + \or \let\l@paragraph\tocreduite% -.....\sommaire[1] + \let\l@subparagraph\tocreduite% + \or \let\l@subsubsection\tocreduite% -.\sommaire[2] + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \or \let\l@subsection\tocreduite% -....\sommaire[3] DEFAULT + \let\l@subsubsection\tocreduite% + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \else \let\l@section\tocreduite% -.......\sommaire[4] + \let\l@subsection\tocreduite% + \let\l@subsubsection\tocreduite% + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \fi% + \let\@sORI\section\let\@chORI\chapter% + \let\section\@sEAT\let\chapter\@sEAT% + \let\@ToCisNOT\relax% -let it be a sommaire first ie there is no toc + \def\@starttoc##1{% -\@startoc locally redefined to let toc reusable + \ifx\fr@RIfM@cls\undefined% -special case AmS document class + \else\chapter*{\sommairename}% -print sommaire now + \fi% + \begingroup\makeatletter% -any case require a second pass + \immediate\openin\@inputcheck \jobname.##1 % + \if@filesw \expandafter\newwrite\csname tf@##1\endcsname\fi% + \ifeof\@inputcheck \@Ffnt{\jobname.##1}% + \if@filesw\immediate\openout \csname tf@##1\endcsname% + \jobname.##1\relax\fi% + \else\immediate\closein\@inputcheck \relax\@@input \jobname.##1 % + \@ifundefined{@ToCisNOT}{% -let a toc be defined further + \if@filesw\immediate\openout \csname tf@##1\endcsname% + \jobname.##1\relax\fi}{}% + \fi\global\@nobreakfalse \endgroup}% + \ifx\fr@RIfM@cls\undefined% -special case AmS document class + \else\def\contentsname{}% -dont print table of contents at all here! + \fi% -in usual cases (LaTeX document classes) we do + \tableofcontents\endgroup% -print the sommaire now. + \def\tableofcontents{% -new def that records there is a toc in the doc + \ifx\pdfstringdef\undefined% -Reset orginal \contentsline + \else\let\contentsline\contentslineORI\fi% -for hyperref. + \addtocontents{toc}{\protect% + \let% -just to be not + \protect\@ToCisNOT\protect\empty}% -as relax + \begingroup% -\@starttoc locally redefined to avoid pb with Atari + \def\@starttoc####1{\begingroup% -normal def without newdef of tf@ + \makeatletter\@input{\jobname.####1}% + \if@filesw\immediate\openout \csname tf@####1\endcsname% + \jobname.####1\relax\fi% + \global\@nobreakfalse \endgroup}% + \@tocORI\endgroup}% -now the original toc command + \fi% -of \if\tableofcontents\undefined + \let\contentsname\@tempa% -Restore it for memoir.cls. + }% -\@smr +\def\sommaire{\@ifNextNB[{\@smr}{\@smr[3]}% -]......................... \sommaire + }% -a Sommaire is a TOC in front of a document +\def\@temp@{\let\if@twocolumn\iffalse}% +\@ifundefined{if@twocolumn}{\@temp@}{}% +\@ifundefined{abstract}{% -undefined in book + \def\abstract{\let\@w@s\@gobble% + \if@twocolumn\section*{\abstractname}% + \else\sm@ller\begin{center}% + \textbf{\abstractname\vspace*{-.5em}\vspace*{\z@}}% + \end{center}\quotation\fi}% + \def\endabstract{\if@twocolumn\else\endquotation\fi}}{}% +\@ifundefined{resume}{% -there are styles already defining \resume +\def\resume{% -.......................................................... \resume + \let\@w@s\@gobble% -no warning for \parsep mod. + \abstract}% +\let\endresume\endabstract% -......................................... \endresume + }{}% +% +\def\@tempa{% +\def\endkeywords{\@noBDfr}% +\def\keywords{\@noBDfr% -.............................................. \keywords + \let\@w@s\@gobble% -no warning for \parsep mod. + \quotation\noindent\sm@ller{% + \ifx\fr@RIfM@cls\undefined% + \else\let\textbf\textsc\fi% -for AmS classes + \kwname}% + \let\endkeywords=\endquotation}% -.................... \endkeywords + }% +\@ifundefined{keywords}{\@tempa}% + {\ifx\fr@RIfM@cls\undefined% + \else\@tempa% -do redefine AmS class keyords def + \fi% + }% +\@ifundefined{endkeywords}{\let\endkeywords\relax}{}% +% +\def\motsclef{\keywords\relax% case any arg. % -....................... \motsclef + \def\endmotsclef{\endkeywords}}% -.................... \endmotsclef +% +\let\ifFTR\iftrue% -Default translation is on. +\ifx\texteuro\undefined\else% + \let\textcurrencyORI\textcurrency% -.............................. \textcurrency + \def\textcurrency{\ifFTR\expandafter\texteuro% + \else\expandafter\textcurrencyORI% + \fi}% +\fi% +\def\annexe {\@ann{\appendixname}}% -................................... \annexe +\def\annexes{\@ann{\appendixname s}}% -................................. \annexes +\def\@ann#1{\@noBDfr\leavevmode% + \ifx\fr@RIfM@cls\undefined\else% -for AmS classes + \let\chaptername\appendixname% -forget Chapter + \fi% + \ifx\chapter\undefined\else% + \par\setcounter{chapter}{0}\setcounter{section}{0}% + \def\@chapapp{\appendixname}\def\thechapter{\Alph{chapter}}% + \addcontentsline{toc}{chapter}{\protect#1}% + \fi}% +\@ifundefined{@restonecolfalse}{\def\@restonecolfalse{}% + \def\@restonecoltrue{}}{}% -dummy def +\@ifundefined{@mkboth}{\def\@mkboth#1#2{}}{}% -idem +\def\glossaire{\@glo{%\protect% + \glossaryname}}% -............................. \glossaire +\def\glossaires{\@glo{%\protect% + \glossaryname s}}% -......................... \glossaires +\def\@glo#1{\ifx\chapter\undefined\else% + \setcounter{chapter}{0}\setcounter{section}{0}% + \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi% + \hbox{}% -to simulate any text that will allow the writes + \clearpage% -to be done to the file instead of the terminal + \ifx\fr@RIfM@cls\undefined% -no need with AmS classes + \chapter*{#1% + \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}% + }% + \addcontentsline{toc}{chapter}{\protect#1}% + \else\chapter*{#1}% -just this for AmS classes + \fi% + \ifx\undefined\@glossaryfile\else% + \immediate\closeout\@glossaryfile% + \ifx\undefined\glossaryentry% -dummy def .... \glossaryentry + \long\def\glossaryentry##1##2{\noindent-- ##1\par}% + \fi% + \ifx\undefined\theglossary% +% default glossary defs, type \glossary{[entry :] comments} +% and use \printglossary[filename] default is jobname.gls ..... \printglossary + \let\theglossary\description% + \let\endtheglossary\enddescription% + \let\scan@allowedfalse\makeatother% -gglo.ist call this + \def\pfill##1 {}% -nullify page num. unneded + \def\@pgf[##1]{\@finput{##1}}% + \def\printglossary{\@ifNextNB[% -] emacs + {\@pgf}{\@pgf[\jobname.gls]}}% + \fi% + \fi\fi}% -\input \jobname.glo will typeset the glossary +%#> +\def\datefrench{% +\def\todayfrench{\ifx\ier\undefined\def\ier{er}\fi% + \ifnum\day=1\relax 1\ier% + \else \number\day\fi% + \space\ifcase\month\or janvier\or f\'evrier\or mars\or % + avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or % + octobre\or novembre\or d\'ecembre\fi \space\number\year}% +}\datefrench% +\if@filesw + \def\ordinalSecondNam{{s}econd}% + \def\ordinalSecondName{{s}econde}% +\else% + \def\ordinalSecondNam{{d}euxi\`eme}% + \let\ordinalSecondName\ordinalSecondNam% +\fi% + \def\@osn#1#2{\expandafter\ifx\csname#1osn\endcsname% + \relax#2\else\csname#1osn\endcsname\fi}% + \def\ordinal#1{\ifcase\value{#1}\or {p}remier% + \or\@osn{#1}{\ordinalSecondNam}\else\ordin@l{#1}\fi}% + \def\ordin@l#1{\ifcase\value{#1}\or\or\or % + {t}roisi\`eme\if@filesw{\protected@write\@auxout{}{% + \protect\expandafter% + \protect\gdef\protect\csname#1osn% + \protect\endcsname% + {{d}euxi\`eme}}}% + \fi% + \or {q}uatri\`eme\or {c}inqui\`eme\or {s}ixi\`eme\or % + {s}epti\`eme\or {h}uiti\`eme\or {n}euvi\`eme\or {d}ixi\`eme\or % + {o}nzi\`eme\or {d}ouzi\`eme\or {t}reizi\`eme\or {q}uatorzi\`eme\or % + {q}uinzi\`eme\or {s}eizi\`eme\or {d}ix-septi\`eme\or {d}ix-huiti\`eme\or % + {d}ix-neuvi\`eme\or {v}ingti\`eme\fi}% + \def\ordinale#1{\ifcase\value{#1}\or {p}remi\`ere% + \or\@osn{#1}{\ordinalSecondName}\else\ordin@l{#1}\fi}% + \def\Ordinal{\expandafter\uppercase\ordinal}% + \def\Ordinale{\expandafter\uppercase\ordinale}% +% +\def\captionsfrench{% -......................................... \captionsfrench + \ifFTR% -Is French translation allowed? + \ifx\captionsnames\captionsfrench\else% + \let\@tdORI\today% -................................................... \today + \let\f@fORI\fnum@figure% -......................................... \fnum@... + \let\f@tORI\fnum@table% + \let\@cnsORI\captionsnames% +% The following for styles or classes: article, report and book + \def\pagename{page}% + \def\refname{R\'ef\'erences}% + \def\abstractname{R\'esum\'e}% +\ifx\bibname\undefined\else% + \def\bibname{Bibliographie}% +\fi% +\ifx\btxselectlanguage\undefined% -Don't call \bibsfrench if babelbib loaded. + \csname bibsfrench\endcsname% -more bibs-names if any. +\fi% + \def\contentsname{Table des mati\`eres}% + \def\listfigurename{Table des figures}% + \def\listtablename{Liste des tableaux}% +\ifx\listalgorithmname\undefined\else% + \def\ALG@name{algorithme}% + \def\listalgorithmname{Liste des \ALG@name s}% +\fi% + \def\indexname{Index}% + \def\seename{\emph{voir}}% -used normally in makeidx.sty + \def\seealsoname{\emph{voir aussi}}% -added macro \seealso + \def\figurename{\textsc{Fig.}}% + \def\tablename{\textsc{Tab.}}% + \def\sommairename{Sommaire}% + \def\partname{% -"Premi\`ere partie" instead of "Part I" + \ignorespaces\Ordinale{part}\space partie% + \@RPtNoInDoc\noexpand\@RPtNoInToc}% + \def\glossaryname{Glossaire}% -added + \def\kwname{\textbf{Mots-cl\'e} : }% + \def\draftname{- \noexpand\351preuve -}% -PostScript IsoLatin1 \'epreuve + \def\prefacename{Pr\'eface}% +\ifx\proofname\undefined\else\def\proofname{D\'emonstration}\fi% +% +% Comment for further dev: +% Next ones depend from the class of document in use, thus the translations +% should apply _only_ when the corresponding class is loaded. Thus it should +% be better to define these names when loading french, not dynamically at +% run time when typesetting the document. +% +\ifx\fr@RIfM@cls\undefined% -figure and table captions modified + \let\fnum@figure\f@ffrench% -except for any AmSLaTeX V1.2 class + \let\fnum@table\f@tfrench% -for which it remains unsolved pbs. + \def\@RPtNoInToc{}% + \def\@RPtNoInDoc{\def\thepart{}}% -nullify \thepart + \else\def\@RPtNoInToc##1.{.}% -remove until dot + \def\@RPtNoInDoc##1\thepart{}% -remove until value +% \let\@eatDP\@eatP% +\fi% +% The following is only for letter +\ifx\opening\undefined\else% + \def\headtoname{}% + \def\ccname{c.c. }% -copie conforme + \def\enclname{P.j. }% -Pieces jointes + \def\PSname{P.-S. :}% -Post-Scriptum + \def\Objectname{Objet :}% -Object of the letter + \def\YourRefname{v/r\'ef. :}% -Your reference number + \def\OurRefname{n/r\'ef. :}% -Our reference number + \def\emailname{m.\'el. :}% -Email address +\fi% +% The following is for seminar +\ifx\slidename\undefined\else% + \def\slidename{Transparent}% + \def\listslidename{Liste des transparents}% +\fi% +% The following is for endnotes 98/01 +\ifx\notesname\undefined\else% + \def\notesname{Notes}% +\fi% +% The following is only for report and book ... + \def\chaptername{Chapitre}% + \def\appendixname{Annexe}% + \let\captionsnames\captionsfrench% +\fi% \else of \ifx\captionsnames\captionsfrench% + \let\today\todayfrench% +\def\@cORI{\@cnsORI% -Restore original caption names + \let\today\@tdORI% + \let\fnum@figure\f@fORI% + \let\fnum@table\f@tORI}% +\fi% -\ifFTR +}% -end of captionsfrench +%#< +\iffrenchbibliography% + \ifx\@rbibstyid\undefined% + \let\@rbibstyid\empty% + \ifx\jb@pkg@name\undefined\else% + \def\@rbibstyid{jb}% + \fi% + \fi% + \ifx\bibsfrench\undefined% + \edef\@tempa{fr\@rbibstyid bib.ldf}% + \IfFileExists{\@tempa}{% +\f@issue% +\@fW{ -65- % +%\@txt@msg{\frenchname.sty charge }% +%\@txt@msg{les traductions pour la bibliographie \string:}% + }\@finput{\@tempa}}{}% + \fi% + \ifx\bibsenglish\relax% + \edef\@tempa{en\@rbibstyid bib.ldf}% + \InputIfFileExists{\@tempa}{}{}% + \fi% +\fi% +%#> +%%%%%%%%%%%%%%%%%% +% =============================== +% | Layout | +% =============================== +% +% NB: See elsewhere in the code for appearance of \ifFLA, to find +% all French layout coding. +\let\@tlORI\@trivlist% +\def\frenchtrivsepwarnings{\let\ifFTSW\iftrue}% -........ \frenchtrivsepwarnings +\def\nofrenchtrivsepwarnings{\let\ifFTSW\iffalse}% -... \nofrenchtrivsepwarnings +\long\def\frtrivseplengths#1{% -............................... \frtrivseplengths + \nofrenchtrivsepwarnings% + \long\def\fr@tsl{#1}% + }% +\def\fr@tsl{\setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\topsep}{0.4ex plus 0.2ex minus 0.2ex}% + \setlength{\partopsep}{1.6ex plus 0.8ex minus 0.8ex}% + }% +\def\frenchtrivsep{\ifFLA\def\@trivlist{% -...................... \frenchtrivsep + \fr@tsl\@tlORI}% + \fi} +\def\nofrenchtrivsep{\let\@trivlist\@tlORI}% -................. \nofrenchtrivsep +\@ifundefined{@afterindenttrue}{\let\@afterindenttrue\relax% + \let\@afterindentfalse\relax}{}% +\let\@aifORI\@afterindentfalse% -save first indent +\edef\@piORI{\the\parindent}% -save \parindent +\begingroup \catcode `| =0 \catcode `[ = 1 \catcode`] =2% + \catcode `\{=12 \catcode `\}=12 \catcode`\\=12% + |gdef|@xversatim#1\end{versatim}[#1|end[versatim]]% + |endgroup% -running macro for versatim +% +\let\@FIM@\relax% -Macro is relax with french light +%#< +\def\@FIM@{\ifCG\else\ifFLA\ifEPG\ifEPGR\else\leftguillemets\fi\fi\fi\fi}% +\let\checkitemguillemets\@FIM@% +%#> +\def\fr@idf{\let\@afterindentfalse\@afterindenttrue\@afterindenttrue}% +\def\fr@nidf{\let\@afterindentfalse\@aifORI\@afterindentfalse}% +\ifx\titlespacing\undefined% + \let\which@indent\fr@idf% -French default is \indentfirst +\else\let\which@indent\fr@nidf% -but let's titlesec package decide if loaded. +\fi% +\def\fr@lbi{\def\labelitemi{\@FIM@--}\def\labelitemii{\@FIM@--}% + \def\labelitemiii{\@FIM@--}\def\labelitemiv{\@FIM@--}% + }% +\long\def\frlabelitems#1{\ifFLA\long\def\fr@lbi{#1}% -............. \frlabelitems + \fr@lbi\fi}% +\def\@FIM{% -Correct labels in itemize environement .............. \labelitem.. + \fr@lbi% + \def\indentfirst{\ifFLA\fr@idf\fi}% -.................... \indentfirst + \def\nonindentfirst{\ifFLA\fr@nidf\fi}% -............. \nonindentfirst + \which@indent% -Apply requested indent in first paragraph + %#< +% The "order" list .................... \begin{order} & \end{order} + \def\labelfrenchenumi{\@FIM@\quando={\arabic{enumi}}}% + \def\labelfrenchenumii{\@FIM@\quando={\arabic{enumii}}}% + \def\labelfrenchenumiii{\@FIM@\quando={\arabic{enumiii}}}% + \def\labelfrenchenumiv{\@FIM@\quando={\arabic{enumiv}}}% + \def\order{\ifnum \@enumdepth >3 \@toodeep\else% + \advance\@enumdepth \@ne% + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list% + {\csname labelfrench\@enumctr\endcsname}% + {\usecounter{\@enumctr}% + \ifFLA% -French layout might be switched after the definition + \addtolength{\leftmargin}{0.9em}% -allow a second digit and << + \fi% + \def\makelabel####1{\hss\llap{####1}}}\fi}% -\order + \let\endorder =\endlist% +% The "versatim" environment .... \begin{versatim} & \end{versatim} +% inapropriate for multi-level of indentation! + \def\versatim{\bgroup\let\@w@s\@gobble% -nullify warning 58 + \ifFLA% -protect our new settings + \let\dospecials\@dsversa% -our specials for versatim + \def\@xobeysp{\leavevmode{}\space}% -allow hypenation at space + \ifx\verbatim@font\undefined\let\verbatim@font=\tt\fi% + \let\@ttORI\verbatim@font% -save the original \tt definition + \def\verbatim@font{\@ttORI% -execute it first to know the font + \verse% -now enter verse environment (\itemindent is negative) + \vskip-2\parskip% -remove vertical par skips + \vskip-1\partopsep\vskip-\topsep% + \leavevmode% + \leftskip=-2\itemindent% -the margin is increased + \parindent=2\itemindent% -each line will go in the margin + \parskip\z@% -no more interline (interpar) spacing + \pretolerance=\@M\tolerance=\@M\hbadness=\@M% -max tolerance + \hyphenchar\the\font=`\-}% + \let\tt=\verbatim@font% -useful outside NFSS + \fi% -ifFLA end of \verbatim@font new def + \let\@xverbatim\@xversatim% -define environment + \verbatim}% -now enter usual verbatim + \def\endversatim{\endverse% + \ifTTH\else\hyphenchar\the\font=-1\fi% -was a global def + \endverbatim\ifFLA\vskip+1\partopsep\fi\egroup}% + \@ifundefined{vers}{% + \def\@vers##1{\def\@tempa ####1##1{\leavevmode\null####1% + \endgroup}\@tempa}% + \def\vers{% -................................................ \vers + \begingroup% -protect local modifications + \def\@xobeysp{\ifFLA\else\penalty\@M\fi\space}% -allow + \catcode``=13 \@noligs \tt% -hyphenation at blank space +% word hyphenation done only if \tthyphenation typed + \ifFLA\let\dospecials\@dsversa\fi% + \let\do\@makeother\dospecials\@vobeyspaces \frenchspacing% + \@vers}}{}% + \@ifundefined{verbatimfile}% -........................... \verbatimfile + {\def\verbatimfile##1{\begingroup\@verbatim\frenchspacing + \@vobeyspaces\input ##1\endgroup}}{}% +%#> +}% -end of \@FIM +%===================== for the letter ... +\def\@temp@{% -a temporary def of all material +\let\@ps@fp\ps@firstpage% +\def\@opening{% +\let\@wideletter\relax% -Definitions for french light here. +\let\emailadd\@empty\let\@yourref\@empty\let\@ourref\@empty% +\let\@object\@empty% +%#< + \@ifundefined{wideletter}{% + \def\@wideletter{}\def\wideletter{% -.............................. \wideletter + \def\@wideletter{\leftskip-0.25\indentedwidth}}}{}% + \@ifundefined{email}{% + \def\email####1{\def\emailadd{\texttt{####1}}}}{}% -.................... \email + \@ifundefined{emailadd}{\def\emailadd{}}{}% + \@ifundefined{yourref}{% + \def\yourref####1{\def\@yourref{####1}}}{}% -......................... \yourref + \@ifundefined{@yourref}{\def\@yourref{}}{}% + \@ifundefined{ourref}{% + \def\ourref####1{\def\@ourref{####1}}}{}% -............................ \ourref + \@ifundefined{@ourref}{\def\@ourref{}}{}% + \@ifundefined{object}{% + \def\object####1{\def\@object{####1}}}{}% -............................ \object + \@ifundefined{@object}{\def\@object{}}{}% + \@ifundefined{PS}{% + \def\PS####1{{\raggedright\PSname\space ####1}}}{}% -...................... \PS +%#> + \def\ps@firstpage{\ifFLA% + \advance\topmargin by -20\p@% -I also suggest to add in +% document preambule: \advance\textheight by 20\p@% + \def\@oddhead{\ifx\undefined\formhead\else% + \bgroup\hss\formhead\hss\egroup\fi}% + \def\@oddfoot{\raisebox{-45\p@}[\z@]% + {\hbox to \textwidth{% + \ifcase \@ptsize\relax% + \normalsize% + \or \sm@ller% + \or \footnotesize% + \fi% +%\hspace*{100\p@}\fromlocation \hfill \telephonenum + \ifx\undefined\formfoot\hfill\else% + \bgroup\hss\formfoot\hss\egroup\fi% + }}\hss}% + \def\@evenhead{}\def\@evenfoot{}% + \else\@ps@fp\fi}% + \long\def\opening####1{% -.......................................... \opening +\ifFLA%%% -these 3 counts not saved for other languages (unnecessary) + \advance\indentedwidth by -0.25\longindentation% + \advance\longindentation by 0.22\textwidth% + \advance\parindent by 1.5em% -null in standard ..... + %%% + \let\nopagenumbers\relax% -Avoid to switch to empty page style. + \thispagestyle{firstpage}% -set firstpage allowing the user to +% use \@oddhead & \@oddfoot in \ps@firstpage + \raggedbottom% -force address to remain in the same place + \ifx\@empty\fromlocation\location{Le}\fi% + \ifx\@empty\fromaddress\let\fromaddress\space\fi% -make an blank box + {\raggedright\hspace*{-0.25\indentedwidth}% + \parbox[t]{0.5\textwidth}{\ignorespaces% + \vbox to 0\p@{\fromaddress\vss}}% + \\*[1.75\baselineskip]% +% \\*[0.65in]% dont let the date appearing in the window +% \vspace*{-5\baselineskip}\vspace*{60\p@}% error average + \par}% + \ifx\@empty\toname% -in fact \toname is never empty in LaTeX V2.09! +% except if you code \begin{letter}{} + {\raggedleft\bgroup\fromlocation\space\@date\egroup\par}% + \else% + {\raggedleft\begin{tabular}{l}\ignorespaces% +% \toname\\ \toaddress\\*[8\parskip]% + \toname\\ \toaddress\\*[6\parskip]% + \fromlocation\space\@date\end{tabular}\par}% + \fi% + \ifx\@empty\@ourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \OurRefname\space\@ourref \par}% + \fi% + \ifx\@empty\@yourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \YourRefname\space\@yourref \par}% + \fi% + \ifx\@empty\@object\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \textbf{\Objectname}\space\@object \par}% + \fi% + \par\vspace*{3\parskip}% +\noindent####1\hfill\vspace*{3\parskip}% no need of \linebreak% + \@wideletter% + \else\@oORI{####1}% + \fi}}% +\def\@closing{% + \def\closing{\fclosing@[9]}% -...................................... \closing + \def\fclosing{\@ifNextNB[{\fclosing@}{\fclosing@[9]}% -]........... \fclosing + }% + \long\def\fclosing@[####1]####2{% + \ifFLA% + \par% -\nobreak + \vspace{\parskip}\stopbreaks% + \ignorespaces ####2\\[####1\medskipamount]% + \ifx\@empty\fromaddress\else% + \hspace*{-0.25\indentedwidth}% + \hspace*{\longindentation}\fi% + {\raggedright\begin{tabular}{l}\ignorespaces% + \ifx\@empty\fromsig% + \fromname% + \else \fromsig \fi% + \ifx\@empty\emailadd\else\\{\footnotesize% + \emph{\emailname} \emailadd}\fi% + \strut\end{tabular}}\par% + \vskip 0pt plus 1fil% -un peu d'elasticite + \else\@cloORI{####2}% + \fi}% + \def\endletter{\ifFLA\vskip 0pt plus 3fil\fi% -un peu d'elasticite + \@elORI}}% -@closing +\@ifundefined{opening}{\def\@opening{}\def\@closing{}}% + {\let\@oORI\opening\let\@cloORI\closing% + \let\@elORI\endletter% + \@opening\@closing}% +}% -\@temp@ +\ifx\opening\undefined\let\@temp@\relax\fi% +\@temp@% -only if letter ..... +%===================== +%#< +%............................................................ \begin{figurette} +\let\ifFLA\iffalse% -dummy def for next processing +\def\@temp@{% +\def\figurette{\@noBDfr% + \ifx\@fgeORI\undefined\figure\fi% -can't work without figure + \ifFLA\bgroup% + \def\@xfloat####1[h]{% + \expandafter\let\csname end####1\endcsname\endfigurette% + \vskip\intextsep\def\@captype{####1}\parindent\z@}% + \@fgeORI[h]\else\figure[h]\fi}% +\def\endfigurette{\@noBDfr% +%.......................................... \end{figurette} + \ifFLA\vskip\intextsep\egroup\else\@efgeORI\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}\xdef\@lim{}\fi% + \let\ifMOVING\iffalse}% + }% +\ifx\figure\undefined\def\@temp@{}\fi% -only when \figure is already defined +\@temp@% +%#> +% Reset chapter counter when starting a part --> \GOfrench +% +% Check for AmS package's class +\def\@tempa{\let\fr@RIfM@cls\undefined}% -will set the no AmS class loaded flag +\let\fr@RIfM@cls\RIfM@% -if no AmS package, no class as well + \ifx\RIfM@\undefined\else% + \expandafter\ifx\csname @classname\endcsname\relax\@tempa% + \else\def\@tempb#1#2#3#4\@nil{% + \if#1a\if#2m\if#3s\else\@tempa\fi% + \else\@tempa\fi\else\@tempa\fi}% + \expandafter\@tempb\@classname\@nil% + \fi% + \fi% -\RIfM@\undefined +% +% This is the French pagestyle to use instead in place of plain wrongly +% used by LaTeX in many situations. Quite simple one................ \ps@french +\def\@temp@{\def\ps@french{\if@fancyplain\ps@plain@fancy\else\ps@plain\fi}}% +\ifx\ps@fancyplain\undefined% -do nothing outside fancyheadings + \ifx\fr@RIfM@cls\undefined\def\ps@french{}% -in standard LaTeX, but not + \else\def\ps@french{\global\topskip\normaltopskip}% -with AmS classes. + \fi% \fr@RIfM@cls\undefined% +\else\@temp@% -to avoid pb in case \if@fancy... undefined +\fi% +\let\ps@frenchORI\ps@french% -Save final french page style def. +\let\@sdORI\secdef% -will be used at each new sectioning. +\def\nofrenchpagestyle{\let\secdef\@sdORI}% -................. \nofrenchpagestyle +\def\frenchpagestyle{% -........................................ \frenchpagestyle + \def\secdef{\ifFLA\thispagestyle{french}\fi\@sdORI}% -.............. (\secdef) + }% +\frenchpagestyle% -Now run the french page style if \frenchlayout. +\ifx\aliaspagestyle\undefined% -Is memoir.cls loaded? no: +\def\nobeginingfolio{\let\ps@french\ps@empty}% -................ \nobeginingfolio +\else% +\def\nobeginingfolio{\let\ps@french\ps@empty% -yes: + \aliaspagestyle{chapter}{empty}% + }% +\fi% +\def\beginingfolio{\let\ps@french\ps@frenchORI% -................. \beginingfolio + \frenchpagestyle}% -This is the default value. +%#< +\@ifundefined{nopagenumbers}{% -don't run everywhere............ (\nopagenumbers) + \def\nopagenumbers{\ifFLA\pagestyle{empty}% + \thispagestyle{empty}\fi}% + }{}% +\def\ifFLA{\ErrFrench}% +% + \newif\ifnonvoid% -still an outer def. +\def\@desarm{% -the \noeveryparguillemets processing + \newbox\@FrBoxi\newbox\@FrBoxii\newbox\@FrBoxiii% + \newbox\@FrBoxiiii\newbox\@FrBoxvi\newbox\@FrBoxvii\newbox\@FrBoxQuotes% + \ifx\@FrDimenS\undefined\newdimen\@FrDimenS\fi% + \def\@setpartozero{\widowpenalty=\z@\clubpenalty=\z@% + \interlinepenalty=\z@\brokenpenalty=\z@\displaywidowpenalty=\z@}% + \def\nonvoidtrue{\let\ifnonvoid\iftrue}% + \def\nonvoidfalse{\let\ifnonvoid\iffalse}% + \def\@transfervbox##1##2{\nonvoidtrue% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\fi% + \ifnonvoid% + \setbox\@FrBoxii=\vbox{\unvbox##2\box\@FrBoxiii}% + \setbox##1=\box\@FrBoxi\setbox##2=\box\@FrBoxii% + \repeat}% + \def\@transferaddvbox##1##2{\nonvoidtrue% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \setbox##2=\vbox{\box\@FrBoxiii}% + \setbox##1=\box\@FrBoxi% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\setbox##1=\box\@FrBoxi\fi% + \ifnonvoid% + \setbox\@FrBoxii=\vbox{\unvbox##2% + \hbox to \@FrDimen{\copy\@FrBoxQuotes\unhbox\@FrBoxiii}}% + \setbox##1=\box\@FrBoxi\setbox##2=\box\@FrBoxii% + \repeat}% + \def\@sendtopage##1{\nonvoidtrue% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\setbox##1=\box\@FrBoxi\fi% + \ifnonvoid% + \unhbox\@FrBoxiii\unskip\break% + \setbox##1=\box\@FrBoxi% + \repeat}% + \def\@stared{\egroup% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \@transferaddvbox\@FrBoxvii\@FrBoxvi% + \setbox\@FrBoxvii=\vbox{\unvbox\@FrBoxvi% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvii\@FrBoxvi% + \noindent \@sendtopage\@FrBoxvi% + \unhbox\@FrBoxiiii\unskip\unskip\unpenalty}% + \def\@fniv2{\egroup% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \@transferaddvbox\@FrBoxvii\@FrBoxvi% + \setbox\@FrBoxvii=\vbox{\unvbox\@FrBoxvi% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvii\@FrBoxvi% + \noindent \@sendtopage\@FrBoxvi% + \setbox\@FrBoxvii=\vbox\bgroup\@setpartozero% + \noindent \unhbox\@FrBoxiiii\unskip\unskip\unpenalty}% + \def\@qqguill{\relax}% + \def\@staring{\global\setbox\@FrBoxQuotes=\hbox to 0.81em{\@qqguill}\egroup% + \setbox\@FrBoxvi=\vbox{\unvbox\@FrBoxvii% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \noindent\@sendtopage\@FrBoxvii% + \setbox\@FrBoxvi=\vbox\bgroup\@setpartozero% + \hangindent=\wd\@FrBoxQuotes\hangafter=1% + \setbox\@FrBoxvii=\hbox{\unhcopy\@FrBoxiiii\unskip\unskip% + \unpenalty}% + \@FrDimenS=\@FrDimen \advance\@FrDimenS by -2em% + \ifvoid\@FrBoxiiii\indent\copy\@FrBoxQuotes% + \else% + \parindent=\z@% + \ifdim \wd\@FrBoxvii>\@FrDimenS \unhbox\@FrBoxvii\break% + \else \unhbox\@FrBoxvii% + \fi\fi}% + \def\@qquotes{\setbox\@FrBoxvii=\vbox\bgroup\@setpartozero}% +}% -end \@desarm +%#> +\def\@EIM{\def\labelitemi{\@lti}\def\labelitemii{\@ltii}% + \def\labelitemiii{\@ltiii}\def\labelitemiv{\@ltiv}% + \let\@afterindentfalse\@aifORI\@afterindentfalse% + \parindent\@piORI}% -restore \parindent +\let\@FL\relax% -\@FL is \relax with french light. +%#< +{\catcode`.=12\catcode`p=12\catcode`t=12\gdef\auTo@gf#1.#2pt{#1}}% +\def\@FL{% -LETTRINES defs +\def\automaticlettrine{% + \ifx\lettrinefontname\undefined% -..... \automaticlettrine + \def\@tempa####1 ####2\@@{% -extract font name + \def\lettrinefontname{####1}}% + \edef\@tempb{ }% + \expandafter\@tempa\fontname% + \expandafter\font\@tempb\@@\fi% + \let\sv@lf=\lettrinefont}% +\def\noautomaticlettrine{% + \let\lettrinefontname=\undefined% -.\noautomaticlettrine + \let\lettrinefont=\sv@lf}% -reset font +\ifx\lettrine\undefined% -............................................. \lettrine +\def\lettrine{\par% + \let\@tempa\relax% + \def\@tempa{\def\@fbr{\fboxrule=\z@}% + \protect\@lettrineS% + }% + \@tempa}% +\if@PMF\def\@Ettrine[##1]{##1}\let\@ettrine\relax\else% + \def\@ettrine##1##2\par{\bgroup\parskip=\z@% -NFSS requires a + {\ly\xdef\bef@ly{\the\font}}% -global def! + \let\newpage=\relax\let\clearpage=\relax% + \let\cleardoublepage=\relax% + \edef\bef@fnt{\the\font}% + \ifCG\def\bef@let{}% + \else\def\bef@let{\bef@fnt\def\ly{\bef@ly}% + \leftguillemets\space}% + \fi\@@ttrine{##1}{##2}\egroup}% + \def\@@ttrine##1##2{\ifFLA\def\@@ttrnxt{\@@@trine##1\@@{##2}}% + \else\def\@@ttrnxt{##1\space\ignorespaces##2}% + \fi% -fol.hbox to start a new par after 1 line lett. + \@@ttrnxt\unskip\par% -First \par is for lineno package. + \f@par% -The second \par ends the \lettrine. + \@nobreakfalse}% -Allow breaks after that paragraph. + \def\@@@trine##1##2\@@##3{\@fbr\TeXeverypar{}% +%%% start of automatic font calculation (a piece of code coming from Ronan) + \ifx\lettrinefontname\undefined\let\auTo@lh\undefined% + \else\let\auTo@lh\lettrinehang% + \ifx\auTo@lh\undefined\def\auTo@lh{2}\fi% + \bgroup% + \ifx\@htfreq\undefined\newdimen\@htfreq\newdimen\@htfbase\fi% + \setbox0=\hbox{M}\@htfreq=\ht0% + \def\dimentocount####1{\expandafter\auTo@gf\the####1}% + \font\@fontreq=\lettrinefontname% + \setbox0=\hbox{\@fontreq ##1}\@htfbase=\ht0% + \advance\@htfreq by \auTo@lh\baselineskip% + \advance\@htfreq by \lineskip% -inapropriate increment + \advance\@htfreq by -\baselineskip% + \multiply\@htfreq by 100 % -To be more precise + \multiply\@htfbase by 100 % + \divide\@htfreq by \dimentocount\@htfbase% -\relax + \multiply\@htfreq by \@m% +\global\font\lettrinefont=\lettrinefontname\space scaled \dimentocount\@htfreq% + \egroup% + \fi% +%%% end of automatic font calculation + \setbox0\hbox{% -\fbox is eliminated for that measuring + {\shortstack{\bef@let{\lettrinefont##1}\relax% + \ifdim\fontdimen\@ne\font>\z@\/\space\fi}}}% + \@FrDimenH=\ht0\advance\@FrDimenH by\dp0% + \@FrDimenS=\@FrDimenH\advance\@FrDimenS by\fboxsep% + \ifdim\baselineskip\superieura0pt% + \divide\@FrDimenS by\baselineskip% + \fi\@FrCount=\@FrDimenS% + \@FrDimen=\baselineskip\multiply\@FrDimen by-\@FrCount% + \advance\@FrDimen by\@FrDimenH% + \ifdim\@FrDimen>0.025\baselineskip \advance\@FrCount by 1\fi% + \ifx\auTo@lh\undefined\else\@FrCount=\auTo@lh\fi% + \ifx\lettrinehang\undefined\else\@FrCount=\lettrinehang\fi% + \@FrDimenI=\wd0% + \ifdim\fboxrule=\z@\else\advance\@FrDimenI by2\fboxrule% + \advance\@FrDimenI by2\fboxsep\fi% + \@FrDimenS=\fontdimen2\font\advance\@FrDimenI by+3\@FrDimenS% + \ifdim\fboxrule=\z@\advance\@FrDimenI by-0.30\@FrDimenS\fi% + \advance\@FrCount by -1% + \@FrDimen=\@FrCount\baselineskip% + \advance\@FrCount by 1% + \ifdim\fboxrule=\z@\else\advance\@FrDimen by -\fboxrule\fi% + \@FrDimenH=-\dp0% -to get baseline alignement + \setbox0\hbox{\ifdim\fboxrule=\z@\kern-\fboxsep\fi% + \fbox{\shortstack{{% + \def\@LSG{\f@issue\@fw{-5- % +%\@txt@msg{d\'efinition de lettrine incorrecte}% + }}% + \let\@RSG=\@LSG\bef@let% + \lettrinefont\raise-\@FrDimen\hbox{##1}\relax% + \ifdim\fontdimen\@ne\font>\z@\/\space\fi}}}}% + \box0\@FrDimen=\@FrDimenH% + \advance\@FrDimenH by-\@FrCount\baselineskip% + \advance\@FrDimenH by \lineskip% -inapropriate action + \ifdim\fboxrule=\z@\else\advance\@FrDimenH by -\fboxrule\fi% + \vspace*{\@FrDimenH}% -where to write the rest of the line + \hangindent=\@FrDimenI% +\ifx\lettrinehang\undefined% -hangafter change then allowed + \ifdim\@FrDimen<-0.025\baselineskip% -if dp0 > 25/1000 then + \advance\@FrCount by\@ne% -add one more line hangafter + \divide\@FrDimen by-\baselineskip% -and may be it could + \advance\@FrCount by\@FrDimen% -extend past a line. + \fi% +\fi% + \ifnum\@FrCount=1\f@issue\@fw{-6- %\@txt@msg{lettrine \`a revoir}% + }\fi% + \hangafter=-\@FrCount% + \noindent\kern-2.5\@FrDimenS% + \def\@temp@{##2}% + \ifx\empty\@temp@\f@issue\@fw{-7- % + %\@txt@msg{lettrine r\'eduite \`a 1 seule lettre}% + }% + \else{\scshape ##2}\fi\def\@temp@{##3}% + \ifx\@temp@\empty\else\space\ignorespaces##3\fi% + }% -@@@trine + \def\@Ettrine[##1 ##2 ##3]##4\par{\bgroup\parskip=0pt% -NFSS requires a + {\ly\xdef\bef@ly{\the\font}}% -global def! + \let\newpage=\relax% + \edef\bef@fnt{\the\font}\@gN% + \ifFLA\def\bef@let{\bef@fnt\def\ly{\bef@ly}##1\space}% + \else ##1\space\fi% + \@@ttrine{##2}{{\def\@aft@let{##3}\ifx\@aft@let\empty% + \else##3\space\fi% + \ignorespaces ##4}}\egroup}% +\fi% -\if@PMF +\def\flettrine{\par% -................................................ \flettrine + \let\@tempa\relax% + \def\@tempa{\def\@fbr{}\protect\@lettrineS}% + \@tempa}% +\def\@lettrineS{\ifx\@FrDimenH\undefined% + \newdimen\@FrDimenH\newdimen\@FrDimenI\fi% + \ifx\@FrDimenS\undefined\newdimen\@FrDimenS\fi% + \@ifNextNB[{\@Ettrine}{\@ettrine}% -] emacs + }% +\fi% -\lettrine undefined + }% -end of \@FL +%%%%%%%%%%%%%%%%% +%#> +% =============================== +% | Typography | +% =============================== +% +% Let the possibility to turn all off +\def\nonfrench{\ifFrench\@DFP% -....................... \begin & \end{nonfrench} + \def\@temp@{\@AFP}% -\@AFP only for non LaTeX users + \else\@NoFr\def\@temp@{\relax}\fi% + \def\endnonfrench{\@temp@\ignorespaces}% + \ignorespaces}% +% +% Original settings of \dospecials et \@sanitize saved at \begin{document} +% include ! ? ; : < > ` ' ^ " in dospecials and sanitize: +\def\@dospecialsfrench{\do\`\do'\@dsversa}% -..................\@dospecialsfrench +\def\@dsversa{% -specials reduced for versatim envir..........\@dsversa +\do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\|\do\^^K\do\_\do\^^A\do\%\do\~% -$emacs + \do\!\do\?\do\;\do\:\do\<\do\>\do\^\do\"}% +\def\@sanitizefrench{% -.........................................\@sanitizefrench +% \@makeother\ \@makeother\\\@makeother\$\@makeother\&%$emacs +% \@makeother\#\@makeother\|\@makeother\^^K\@makeother\_% +% \@makeother\^^A\@makeother\%\@makeother\~% + \@saORI% -get original \@sanitize and add ours: + \@makeother\!\@makeother\?\@makeother\;\@makeother\:% + \@makeother\`\@makeother'\@makeother\<\@makeother\>% + \@makeother\^\@makeother\"}% +% +%\@ifNextNB X {YES} {NO} ... if next char is X then YES else NO ... \@ifNextNB +\def\@ifNextNB#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\futurelet% + \@tempc\@Fifnch}% + \def\@Fifnch{\ifx \@tempc \@tempe\let\@tempd\@tempa% -Next char may be an + \else\let\@tempd\@tempb\fi\@tempd}% -active space. +%\ifNextNBc X or Y {YES} {NO} ... ... \@ifNextNBc +\def\@ifNextNBc#1#2#3#4{\let\@tempe=#1\let\@tempf=#2% + \def\@tempa{#3}\def\@tempb{#4}\futurelet% + \@tempc\@Fifnchc}% + \def\@Fifnchc{\ifx\@tempc\@tempf\@tempa\else\@Fifnch\fi}% +% +\def\@skiplastspace{\ifdim\lastskip>\z@\unskip\penalty\@M\fi}% -..\@skiplastspace +% +\let\ifFrench\iftrue% -temporary setting +\def\@AFP{% -................................ \@AFP = Activate French Punctuation + \let\dospecials\@dospecialsfrench% + \let\@sanitize\@sanitizefrench% + \AFPdp\AFPinfsup}% +\def\AFPdp{\ifFrench\catcode`\!=\active\catcode`\?=\active% + \catcode`\;=\active\catcode`\:=\active\fi}% +\let\AFPinfsup\relax% +%#< +\def\AFPinfsup{\ifFrench\ifFG\catcode`\<=\active\catcode`\>=\active\fi\fi}% +%#> +\def\AFPq{\ifFrench\catcode`'=\active\catcode``=\active\fi}% +\def\AFPdq{\catcode`"=\active}% +% +\def\@DFP{% -............................ \@DFP = Desactivate French Punctuation + \DFPq\DFPinfsup\ifLPA\else\DFPdp% + \let\dospecials\@dsORI% + \let\@sanitize\@saORI\fi}% +\def\DFPq{\ifFrench\catcode``=12\catcode`'=12\fi}% +\let\DFPinfsup\relax% +%#< +\def\DFPinfsup{\ifFrench\catcode`<=12\catcode`>=12\fi}% +%#> +\def\DFPdp{\ifFrench\catcode`;=12\catcode`:=12% + \catcode`!=12\catcode`?=12\fi}% +\def\DFPdq{\catcode`"=12}% +%#< +% Typographic process of dots (default is: let dots macros as usual) +% +\let\@doORI\dots\let\@ldoORI\ldots% +\def\TeXdots{\@noBDfr% + \ifFTY\let\dots\@doORI\let\ldots\@ldoORI\fi}% -.............\TeXdots +\def\noTeXdots{\@noBDfr% + \ifFTY\def\dots{...}\def\ldots{...}\fi}% -............ \noTeXdots +% +% i dotless (for those who haven't a good text editor) +% +\let\@hatORI\^\let\@treORI\"% +\def\idotless{\@noBDfr% + \ifFTY% -............................................... \idotless + \def\^##1{{\expandafter\@hatORI\ifx ##1i\i\else##1\fi}}% + \def\"##1{{\expandafter\@treORI\ifx ##1i\i\else##1\fi}}% + \fi}% +\def\iwithdot{\@noBDfr% + \let\^\@hatORI\let\"\@treORI}% -.....(no MlTeX command). \iwithdot +%#> +% Typographic process of double punctuation: +% +\let\ifLPA\iffalse% -\ifLPA must be initiated. +\let\ifFG\iffalse% -\ifFG must be initiated. +\def\@tempa#1{\f@issue% + \@fw{-13- %\@txt@msg{le caract\`ere "#1" est d\'ej\`a actif}% + }[#1]% + \let\@tempb\next\let\@tempc\empty}% -warning message +\let\@tempb\empty% +\AFPdp% -activate first part +\let\ifWTS\iffalse% -set wrong typed spaces to false +\def\@WTS{\relax\ifmmode\else\ifhmode% -skip wrong typed space + \ifdim\lastskip>\z@\unskip\fi% + \fi\fi}% +% Add a thin space before punctuation ; : and ! in place of a space +\def\@tempc{% +\def;{\ifFTY\protect\@PV%{}% -............................................... ";" + \else\ifWTS\@WTS\fi\string;\fi}% + }% +\def\@tempd{\@tempa{\string;}}% +\ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PV{\relax\ifmmode\string;\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi\string;\fi}% +\def\@tempc{% +\def:{\ifFTY\protect\@DP%{}% -............................................... ":" + \else\ifWTS\@WTS\fi\string:\fi}% + }% +\def\@tempd{\@tempa{\string:}}% +\ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc% +\@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}% +\def\@DP{\relax\ifmmode\string:\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string:% + \@beginparpenalty=\@M\relax% + -Page break forbidden after ":" +\fi}% % -but remains not perfect... +% Stuff for \WindowsUnits +\def\@wu#1{\@@wu#1,\void}% +\def\@@wu#1,#2{\ifx#1\empty\else\@@@wu #1\fi% + \def\@tempa{\@@wu#2}% + \ifx#2\void\else\expandafter\@tempa\fi% + }% +\def\@@@wu#1=#2{\expandafter\edef\csname #1\endcsname:{#2\string:}}% +% \hhline modification should be removed if the version +% [1997/11/24 v3.x beta] is generally in use (and distributed). +\ifx\hhline\undefined\else\let\@hhlORI\hhline% -......................... \hhline + \def\hhline{\omit\ifFrench\let:\@cidp\fi% + \expandafter\@gobble\@hhlORI}% +\fi% +\def\@tempc{% +\def!{\ifFTY\protect\@PE%{}% -............................................... "!" + \else\ifWTS\@WTS\fi\string!\fi}% + }% +\def\@tempd{\@tempa{\string!}}% +\ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PE{\ifmmode\string!\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string!\fi}% +\def\@tempc{% +\def?{\ifFTY\protect\@PI%{}% -............................................... "?" + \else\ifWTS\@WTS\fi\string?\fi}% + }% +\def\@tempd{\@tempa{\string?}}% +\ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PI{\relax\ifmmode\string?\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M% + \hskip +0.09em plus 0.07667em% -max glue accepted + \fi% + \fi% + \string?\fi}% +\ifx\@tempb\next\let\AFPdp\empty\f@issue% + \@fw{-13b- % + \@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi% +\let\ifLPA\ErrFrench% -\ifLPA restored. +\let\ifFG\ErrFrench% -\ifFG restored. +\let\@aORI\@array% -........................................ \@array for \array +\def\@array{}% -default noop, further defined. +% 2e float placement correction +\DFPdp\AFPdp% -normally a noop but in case of warning... +\ifx\AFPdp\empty\else% -only for activated exclamation mark +\def\@array{\let\noexpand\@tempa=\noexpand!% + \def\noexpand!{\noexpand\string\noexpand!}% + \edef\noexpand\@tempb{##1}% -asis substitution + \let\noexpand!=\noexpand\@tempa}% +\fi% +\catcode`<=13\catcode`>=13% -temporary activation +\let\ifArG\iftrue% -by now assume guillemets are available in arrays. +\edef\@array[#1]{\edef\noexpand\@tempb{#1}% -default substitution + \noexpand\ifArG\noexpand\else% + \noexpand\ifnum\catcode`\noexpand<=\active% + \noexpand\ifmmode\let\noexpand<\noexpand\inferieura% + \let\noexpand>\noexpand\superieura% + \noexpand\fi\noexpand\fi\@array% + \noexpand\fi% + \noexpand\@aORI[{\noexpand\@tempb}]}% +\let\@eaORI\eqnarray% -.............................................. \eqnarray +\def\eqnarray{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@eaORI}% +\ifx\@@array\undefined\else% -When array package loaded we must ...... \@@array + \let\@@aORI\@@array% -protect it too +\def\@@array{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@@aORI}% -as for eqnarray (and standard array). +\fi% +\catcode`<=12\catcode`>=12% +\DFPdp% -desactivate first part +\let\@CGroup\relax\let\@@FG\relax% -Should be relax for french light. +\let\@LG\relax% +%#< +% Process of guillemets (typed << and >>)%.......................... Guillemets +% +% here is the oldest way to def. guillemets (still useful with plain} +\def\@og{\leavevmode\ifdim\lastskip>\z@\unskip% + \penalty-9\hskip0.35em minus 0.35em\fi% + \raise0.27ex\hbox{$\scriptscriptstyle\ll$}\,\nobreak\ignorespaces}% +\def\@cg{\@skiplastspace\nobreak\,\leavevmode\raise0.27ex% + \hbox{$\scriptscriptstyle\gg$}}% +\let\ifFG\iftrue% -set the default +\AFPinfsup% -activate for guillemets +% special definition for \lettrine and \flettrine: +\def\@gN{\def<##1{\ifx ##1<\leftguillemets\else\@LSG##1\fi}% + \def>##1{\ifx ##1>\rightguillemets\else\@RSG##1\fi}}% +\let\@oldog\<\let\@oldcg\>% -let it run if previously defined +\def\@ogx<{\ifFTY\@og\else\@DOG\fi}% +\def\@cgx>{\ifFTY\@cg\else\@DFG\fi}% +% Guillemets must not be typed \<< and \>>, the following is for compatibility +%\def\<{\@ifNextNB<{\@ogx}{\@oldog}}% +%\def\>{\@ifNextNB>{\@cgx}{\@oldcg}}% +% +%\def<{\ifnum\catcode`< =\active% look at \normalbrackets................. "<< +% \expandafter\@genGL\else\@LSG\fi}% \EBCDICbrackets are different +\def\@@LFG{\ifFTY\ifmmode\protect\@LSG\else% + \ifIEB\@SOC\else\@LSG\fi% -EBCDICbracket + \fi% + \else\@LSG\fi}% +\global\let\ifCG\iftrue% +\let\inside@an@expand\empty% -Stuff to expand in an usual \edef. +\def\if@mid@expandable#1#2{\let\inside@an@expand\relax\relax% + \ifx\inside@an@expand\relax% + \let\inside@an@expand\empty% + \expandafter#2% + \else\expandafter#1% + \fi}% +% A command to avoid wrong crash when expanding a macro which is not +% fully expandable; usage: \edef\XX{\stop@mid@expandable}\XX +\def\stop@mid@expandable{\if@mid@expandable{% + \errmessage{This macro is not expandable, please % + \string\protect \space it.}\stop}{}% + }% +%%%\def\@LG{\relax\ifFTY\ifmmode\@DOG\else\@@@OG\fi\else\@DOG\fi}% +\def\@LG{\relax\if@mid@expandable{\@@@LG}{\@@LG}}% +\def\@@LG{\ifFTY\ifmmode\@DOG\else\@@@OG\fi\else\@DOG\fi}% +\def\@@@LG{\relax\noexpand <<\relax} +\def\@SifDOGon{\global\let\ifDOG\iftrue}% -set scnd level of guillemets flag +\def\@SifDOGoff{\global\let\ifDOG\iffalse}\@SifDOGoff% -now set it off +\def\@@@OG{\ifCG\ifFLA\ifEPG\else% -now be tolerant... in noeverypar + \hbadness=10000% -all this stuff is really dirty ! + \ifhmode\newline\fi% -We force newline if any stuff already typeset. + \bgroup\def\par{}% + \@FrDimen=\textwidth% -line size on mono-column + \if@twocolumn\tolerance=5000\pretolerance=5000% + \advance\@FrDimen by -\columnsep% + \divide\@FrDimen by 2\fi% -for two-column + \@ifundefined{@inAlist}{}{% -revisite box size in a list environment + \advance\@FrDimen by -\leftmargin\advance\@FrDimen by -\rightmargin% + \advance\@FrDimen by -\listparindent\hsize=\@FrDimen}% + \@qquotes\fi\fi\fi% + \@oguills% + \ifFLA\ifEPG\bgroup\def\@currenvir{guillemets}% -simulate an environment + \let\@CGroup\egroup\fi\fi% -for error processing + \ifCG\ifFLA\ifEPG% -save the current \everypar and apply it first + \xdef\@epORI{{\the\TeXeverypar}}% + \TeXeverypar={\@epORI% -Original \everypar. + \ifEPGR\else% -If not allready done, + \@oguills% -insert guillemets and + \@ifundefined{@OuvOpen}{% -then according + \,% -kerning just after. + }{}% + \fi}% + \fi\fi% + \else\@SifDOGon\@AG% -ancient guillemets featuring + \ifFLA\ifEPG\else\def\@qqguill{\@oguills}\@staring\fi\fi\fi% +%%% \protect\@CGfalse% + \global\let\ifCG\iffalse% + \ifUSP\kern+0.13em\penalty\@M\ignorespaces% + \else\kern-0.19em\relax\penalty\@M\fi}% -likely as \ignorespaces\fi +\def\@AG{\ifAG\let\@LP\@RP\let\@gotl\@gotr% + \fi}% -Apply ancient guillemets if required +\def\f@guillemets{<<}% +\def\@oguills{% + \bgroup\@ifundefined{@OuvOpen}{\def\@OuvOpen{}% -avoid duplicate << + \@ifundefined{ly}{\@og}% + {\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi% + \ifx\@gotl\undefined\char\rq\@LP% + \else\@gotl\fi\kern+0.20em}}% + \else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi% + \nobreak}}{}\egroup}% +%\def>{\ifnum\catcode`> =\active% look at \normalbrackets................. ">>" +% \expandafter\@genGR\else\@RSG\fi}% \EBCDICbrackets are different +\def\@@RFG{\ifFTY\ifmmode\protect\@RSG\else% + \ifIEB\@SFC\else\@RSG\fi% -EBCDICbracket + \fi% + \else\@RSG\fi}% +\def\@SifFTY{\let\ifFTY\iffalse}% -to turn of FTY temporary +%%%\def\@RG{\relax\ifmmode\@SifFTY\fi\ifFTY\@@FG\else\@DFG\fi}% +\def\@RG{\relax\if@mid@expandable{\@@@RG}{\@@RG}}% +\def\@@RG{\ifmmode\@SifFTY\fi\ifFTY\@@FG\else\@DFG\fi}% +\def\@@@RG{\relax\noexpand >>\relax} +\def\endf@guillemets{>>}% +\ifx\RIfM@\undefined\else% -For AmSTeX we force \nofrenchguillemets. + \edef\@emORI{\the\everymath\relax}% -Save original \everymath. + \edef\@edORI{\the\everydisplay\relax}% -Save original \everydisplay. + \f@issue\@fW{^^J -18- % + %\@txt@msg{\frenchname.sty force l'option }% New definition takes care + %\@txt@msg{\string\nofrenchguillemets\space en maths avec AmSLaTeX.}% + }% -that \nofrenchguillemets may + % be still undefined; expansion differed. + \everymath={\csname nofrenchguillemets\endcsname\@emORI}% + \everydisplay={\csname nofrenchguillemets\endcsname\@edORI}% +\fi% +\DFPinfsup% -desactivate for guillemets +% The grammar environnement from syntax package...................... \grammar +\ifx\grammar\undefined% -can't use French guillemets. + \else\let\@grORI\grammar\def\grammar{\nofrenchguillemets\@grORI}% +\fi% + +\def\@@FG{\ifCG\f@issue% +\@fw{-14- %\@txt@msg{fermeture de guillemets non ouverts}% + }\fi% + \ifUSP\unskip\kern+0.13em\else% + \ifdim\lastskip>\z@\unskip% -skip previous space + \penalty\@M% -don't break here + \space% -better than \kern + \penalty\@M% + \fi% + \kern-0.19em% + \fi% + \xdef\@tempd{\@currenvir}\def\@tempe{guillemets}% + \ifx\@tempd\@tempe% + \@CGroup\@fguills% -end group if any and put closing guillemets + \else\ifEPG% + \@fguills% -typeset but no real closing (see \@@@FG) + \def\@CGroup{\egroup\@gobble}% -warning until \endguillemets: + \ifFLA% -Message issued only when french layout is active. + \f@issue% + \@fw{-49- %\@txt@msg{fermeture pr\'ematur\'ee de guillemets}% + }% + \fi% + \else\@CGroup\@fguills% + \fi% + \fi% +% \edef\@currenvir{\@tempd}% generates error instead of just a warning. + \ifDOG\ifFLA\ifEPG\else\@fniv2\fi\fi% + \@SifDOGoff\else\@@@FG\fi% -reset secnd and first level +% following code would be fine but doesn't run: +% \@ifNextNB\space{\penalty-\@highpenalty}{}% allow break if space after + }% +\let\guillemets\@LG% -................................. \begin & \end guillemets +\def\RG@{\ifFTY\ifCG% -could be still closed in a prev. envir + \else\@RG% -Assume first closing >> and print it + \fi% + \@CGroup\@@@FG\relax\fi}% -end second level >> +\let\endguillemets\RG@% +\def\@@@FG{\ifFLA\ifEPG\ifx\@epORI\undefined\else% -\everypar is restored + \expandafter\TeXeverypar=\@epORI\fi% + \xdef\@epORI{{}}% -any way \xdef can be cleared + \else\@staring\@stared\egroup\fi\fi% + \global\let\ifCG\iftrue\let\@CGroup\relax}% +\def\@fguills{\@ifundefined{ly}{\@cg}% -ECM + {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi\kern+0.20em% + \ifx\@gotr\undefined\char\rq\@RP% + \else\@gotr\fi}}% + \else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}% +\ifGIAF\else\ifdim\fontdimen\@ne\font>\z@\/\fi\fi% -italic correction simulated + }% +%#> +\def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}% +\def\@frq{{\catcode`'=12{\ifNEQ\ifECM\char\rq001% + \else\char\rq023\hbox{}\fi% + \else\string'\fi}}}% +\AFPq% -activate quoting +\def`{\protect\@PLQ}% -..................................................... "``" + \let\@PLQ@\lq% + \def\@PLQ{\ifmmode\string`\let\@PLQ@\relax% + \else\ifNED\let\@PLQ@\@PLQn\fi% -may start a par. + \ifhmode\let\@PLQ@\@PLQn\fi% + \fi\@PLQ@}% + \def\@PLQn{\@ifNextNB`{\protect\@OQ}% + {\ifNEQ\ifECM\char\rq000\hbox{}% + \else\char\rq022\hbox{}\fi% + \else\string`\fi}% + }% + \def\@OQ`{\ifNED\protect\@LG\else\string``\fi}% +\def'{\protect\@PRQ}% -..................................................... "''" + \let\@PRQ@\rq% -set the default + \def\@PRQ{\ifmmode\let\@PRQ@\@SRQ@% + \else\ifhmode\let\@PRQ@\@PRQn\fi% + \fi\@PRQ@}% + \def\@@FGp'{\@@FG}% + \def\@PRQn{\let\@PRQ@\rq% -reset the default + \@ifNextNB'{\ifNED\let\@PRQn@\@@FGp% + \else\let\@PRQn@\relax\string'\fi\@PRQn@}% + {\protect\@normalrq}}% +% +% SUBOPTIONS definitions............................................ SUBOPTIONS +\let\ifNED\iffalse% -False for french light. +\let\ifNEQ\iffalse% -False for french light. +%#< +\def\noenglishdoublequotes{\@noBDfr% + \AFPq\let\ifNED\iftrue% -...... \noenglishdoublequotes + \ifFrench\let\@cilq='\fi}% +\def\noenglishquote{\@noBDfr% + \AFPq\let\ifNEQ\iftrue% -................... \noenglishquote + \ifFrench\let\@cilq='\fi}% +%#> +\DFPq% -disactivate quoting +\def\untypedspaces{\@noBDfr% + \let\ifUSP\iftrue}% -......................... \untypedspaces +\def\typedspaces{\@noBDfr% + \let\ifUSP\iffalse}% -............................ \typedspaces +\let\if@labelsinmargin\iffalse% -Should be false for french light. +%#< +\def\englishdoublequotes{\@noBDfr% + \let\ifNED\iffalse% -.............. \englishdoublequotes + \DFPq\ifFrench\let\@cilq='\fi}% +\def\englishquote{\@noBDfr% + \let\ifNEQ\iffalse\DFPq% -...................... \englishquote + \ifFrench\let\@cilq='\fi}% +\def\labelsinmargin{\@noBDfr% + \let\if@labelsinmargin\iftrue}% -............ \labelsinmargin +\def\nolabelsinmargin{\@noBDfr% + \let\if@labelsinmargin\iffalse}% -........\nolabelsinmargin +\def\letpunctuationactivefor{\@noBDfr% +%........................ \letpunctuationactivefor + \global\let\ifLPA\iftrue% + \def\wrongtypedspaces{\@noBDfr% + \global\let\ifWTS\iftrue}% -.............\wrongtypedspaces + }% +\def\wrongtypedspaces{\f@issue\@fw{-17- % +%\@txt@msg{\string\wrongtypedspaces\space est }% +%\@txt@msg{inop\'erant dans ce contexte}% + }}% +\def\nowrongtypedspaces{\@noBDfr% + \global\let\ifWTS\iffalse% -......... \nowrongtypedspaces + \ifLPA\DFPdp% -don't change \dospecials and \@sanitize + \fi\global\let\ifLPA\iffalse}% -it might be dangerous +% With \tabbingaccents you can't put a diacritic (` or ') on a blank space +% but it's okay for all accentuated letters. Usefull in full 8bits with +% ECM too! because 8bits chars are firstly converted to 7bits "a la TeX". +\def\tabbingaccents{\@noBDfr% + \let\@ifTA\iffalse}% -...................... \tabbingaccents +\def\notabbingaccents{\@noBDfr% + \let\@ifTA\iftrue}% -................... \notabbingaccents +\AFPq% +% tabbing environment is modified to be able to put diacritics +\def\@temp@{% + \def\tabbing{\def\@tempa{\let`=\lq\let'=\@normalrq}% -............ \tabbing +% \noenglishquote and \noenglishdoublequotes will do nothing in \tabbing + \ifNED\@tempa\fi\ifNEQ\@tempa\fi% + \def\@tempa{\let\@ifTA\iftrue}% + \ifFTY\else\expandafter\@tempa\fi% + \ifFTY\@ifTA\else% + \let\@trjORI\@tabrj\let\@tlabORI\@tablab% + \let\@ORIrj=\`\let\@ORIlab=\'% + \def\@@tabrj{\ifcat\@tempc\space\let\@tempa=\@trjORI% + \else\let\@tempa=\@ORIrj\fi\@tempa}% + \def\@@tablab{\ifcat\@tempc\space\let\@tempa=\@tlabORI% + \else\let\@tempa=\@ORIlab\fi\@tempa}% + \def\@tabrj{\futurelet\@tempc\@@tabrj}% + \def\@tablab{\futurelet\@tempc\@@tablab}% + \fi\fi\@tgORI}% + }% +\ifx\tabbing\undefined% + \else\let\@tgORI\tabbing% -put diacritics \` & \' + \@temp@% -new def apply +\fi% +\DFPq% +\AFPinfsup% -activate < and > +\def\EBCDICbrackets{\@noBDfr% + \let\ifIEB\iftrue% -......................... \EBCDICbrackets + \ifFG% + \def<{\protect\@LFG}% -old code generate \ifnum incompatibilty + \def\@LFG{\@ifNextNB<{\protect\@OG}{\@@LFG}}% + \def\@OG<{\ifnum\catcode`< =\active\expandafter\@LG% + \else\@@LFG\@@LFG\fi}% + \def>{\protect\@RFG}% + \def\@RFG{\@ifNextNB>{\protect\@FG}{\@@RFG}}% + \def\@FG>{\ifnum\catcode`> =\active\expandafter\@RG% + \else\@@RFG\@@RFG\fi}% + \fi}% +\long\def\@BracesOrNot[#1]{\ifmmode\@PreserveBraces[#1]% + \else\expandafter#1\fi}% +\let\@fobeyspaces\empty% +\long\def\@genG#1#2#3{\@fobeyspaces% + \ifx#2#3\expandafter\protect\csname @#1G\endcsname% + \else\csname @@#1FG\endcsname\expandafter\@BracesOrNot% + \expandafter[\expandafter{% + \expandafter#3\expandafter}\expandafter]% + \fi}% +\edef\@genGL{\noexpand\@genG{L}\noexpand<}% +\edef\@genGR{\noexpand\@genG{R}\noexpand>}% +% Hacking for blank space after "<" or ">" doesn't run in any \ifdim x > y +% like in \footnote, so the code is nullified until... +%\def\@bobeyspaces{\obeyspaces% +% \def\@fobeyspaces{\catcode`\ =10\let\@fobeyspaces\relax}}% +\let\@bobeyspaces\empty +\def\normalbrackets{\@noBDfr% + \let\ifIEB\iffalse% -........................ \normalbrackets + \ifFG% + \def<{\ifnum\catcode`< =\active\@bobeyspaces\expandafter\expandafter% + \expandafter\@genGL\ifmmode\relax\fi% + \else\@LSG\fi}% + \def>{\ifnum\catcode`> =\active\@bobeyspaces\expandafter\expandafter% + \expandafter\@genGR\ifmmode\relax\fi% + \else\@RSG\fi}% + \fi}% +\DFPinfsup% -desactivate < and > +%#> +\let\ifFG\iffalse% -default further choice +%#< +\def\ancientguillemets{\@noBDfr% + \let\ifAG\iftrue}% -................... \ancientguillemets +\def\todayguillemets{\@noBDfr% + \let\ifAG\iffalse}% -...................... \todayguillemets +\def\guillemetsinarrays{\@noBDfr% + \let\ifArG\iftrue}% -................ \guillemetsinarrays +\def\noguillemetsinarrays{\@noBDfr% + \let\ifArG\iffalse}% -........... \noguillemetsinarrays +\def\guillemetsinallfonts{\@noBDfr% + \let\ifGIAF\iftrue}% -........... \guillemetsinallfonts +\def\guillemetsinroman{\@noBDfr% + \let\ifGIAF\iffalse}% -................ \guillemetsinroman +\def\overfullhboxmark{\@noBDfr% + \ifFLA\overfullrule=5pt\fi}% -.......... \overfullhboxmark +\def\nooverfullhboxmark{\@noBDfr% + \ifFLA\overfullrule=0pt\fi}% -....... \nooverfullhboxmark +%#> +\let\ifFrench\iffalse% -reset original value +% +% For compatibility with MlTeX docs but unneeded in this style%...\fhyph \ehyph +{\def\@genMLhyph{\@ifundefined{french}{}{\gdef\fhyph{\french}}% + \@ifundefined{english}{}{\gdef\ehyph{\english}}}% +\@ifundefined{fhyph}{\@genMLhyph}{}% +}% +% +\gdef\frenchTeXmods{% -............................................\frenchTeXmods + \global\let\ifFrench\iftrue% +\ifCLA% + \ifCLAfrench% + \@AFP% -activate French punctuation + \frenchtypography\frenchtranslation\frenchlayout% + \fi% +\else% + \@AFP% -activate French punctuation + \frenchtypography\frenchtranslation\frenchlayout% +\fi% + \frenchmacros\frenchwarnings% + \let\@HifORI\@Hif\let\@HfiORI\@Hfi% + \frenchhyphenation% + \csname @xtrasfrench\endcsname% -from other packages +% (TeX-XeT first direction of writing will be set by the first \everypar) + \ifx\GOfrench\undefined% -When document is really started, + \csname beginL\endcsname% -set TeX--XeT direction of writing. + \fi% + \def\languagename{french}% -set it for mlp. + \@ufo% -user options + \let\switchtolanguage\endfrench% + \ignorespaces% + }% -end \frenchTeXmods +% Declare Options, extras and even more extras +\ifx\undefined\babel@core@loaded% + \edef\extrasfrench{}\def\@xtrasfrench{\extrasfrench}% -for other packages. + \DeclareOption{french}{\def\beginlanguage{% + \ifx\babel@savevariable% -selectlanguage + \undefined\french% + \else\endenglish\selectlanguage{french}\fi}% + }% + \DeclareOption{english}{\def\beginlanguage{% + \ifx\babel@savevariable% -selectlanguage + \undefined\english% + \else\selectlanguage{english}\fi}% + }% +\else\let\extrasfrench\frenchTeXmods% + \AtBeginDocument{% -With babel, at begin document we should + \def\@tempa{\protect\@LabeL}% -test if our label def had + \ifx\@tempa\label\else% -been changed by any package such as hyperref + \let\@lORI\label\let\label\@tempa\fi% -and then reset it. + \def\@tempa{\protect\atgH{r}}% -Same test and action + \ifx\@tempa\ref\else\@gG{r}{ref}{/}{1}\fi% -for \ref. + }% +\fi% +% +\@ifundefined{switchtolanguage}{% + \def\switchtolanguage#1{#1}}{}% -.(style depending)........ \switchtolanguage +\let\@stlORI\switchtolanguage +\def\@DFPtestANDset{% -Test if French was activated, + \ifx\ifFrench\iffalse% -if not \ifLPA will make French to crash + \f@issue\@fw{-71- % +%\@txt@msg{ATTENTION : }% with message -26*-; better is that message. % +%\@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}% + }% + \fi% + \let\@DFPtestANDset\@DFP% + \@DFP}% +\def\endfrench{% -............................................. \endfrench +%%% This \endL should be omitted otherwise it will be an extra for eTeX. +%%% \ifx\undefined\GOfrench% When french document really started, +%%% \csname endL\endcsname% stop any TeX--XeT french direction of writing. +%%% \fi% +\ifCLAfrench\else% + \@DFPtestANDset% + \nofrenchtypography\nofrenchtranslation\nofrenchlayout% +\fi% + \nofrenchmacros% + \nofrenchhyphenation% + \let\@Hif\@HifORI\let\@Hfi\@HfiORI% + \let\switchtolanguage\@stlORI% + \let\ifFrench\iffalse\@stlORI% + \ignorespaces}% -end of \endfrench +\let\noextrasfrench\endfrench% +%#< +\def\frenchtest{\@finput{french.tst}}% -The Torture Test ........... \frenchtest +\def\frenchdoc{\@finput{frdoc.tex}}% -The Documentation ............. \frenchdoc +%#> +%%%%%%%%%%%%%%%%%% +% =============================== +% | Language switch mechanism | +% =============================== +% based on language.dat file +% +\@ifundefined{englishTeXmods}{\gdef\englishTeXmods{}}{}% -....... \englishTeXmods +% +\global\let\@Hif\empty\global\let\@Hfi\empty% -dflt \if...\fi hyphenation switch +\global\let\if@FE\iffalse% -don't reload hyphenation exception if not required. +\newif\if@more\@moretrue% +\def\@doFh{% -define processing for reading language.dat at \begin{document} +\def\f@ERRdat{\f@issue% + \errmessage{-9- %\@txt@msg{Corrupted/absent language.dat file.}% + }\global\let\french\@@end% + }% + \bgroup% -there is a marmelade here for a temporary usage. + \let\ORIGfrench\french% + \newcount\@FrCount% +\def\tl@ng##1{}% -no need at this time to test if \TeXmods is defined +\def\@rhef##1/##2 /{\def\@tempa{##2}% -reloading of hyphenation exceptions files + \def\@tempb{##1}% -language name + \def\@tempc{\ifx\space\@tempa\else% + \expandafter\gdef\csname ##1@hefn\endcsname{##2\relax}% + \if@FE\expandafter\@@input##2\relax\fi\fi}% + \ifx\undefined\@excn\@tempc% + \else\ifx\@tempb\@excn\@tempc\fi\fi}% +\gdef\NouveauLangage[##1]##2{%....................... \NouveauLangage[##]{name} +%-- check for an anormal change in language.dat: +\expandafter\@ifundefined{l@##2}{}% do nothing, unused at initex +{% First accept babel definitions (\chardef) of languages. +\chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% +\edef\l@no{##1}\expandafter% +% Secondly accept our own defs. +\ifx\csname l@##2\endcsname\l@no% OK +\else\f@issue\typeout{^^J \frenchname.sty \string: -27- % +%\@txt@msg{language \l@no\space (##2) was initially }% +%\@txt@msg{(at initex) numbered \csname l@##2\endcsname\space(ERROR!)}% +}[##2]\f@ERRdat% +\fi\fi}% +%-- +\expandafter\tl@ng\csname##2TeXmods\endcsname% +\expandafter\gdef\csname##2 \endcsname% The protected language cs. +{\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% +\@Hif\language=##1\@Hfi\relax}% +\expandafter\gdef\csname##2\endcsname% The language cs. +{\protect\csname##2 \endcsname}% +}%\NouveauLangage +\gdef\Nouveau@Langage[##1]##2{% -....................... \Nouveau@Langage[##]{name} +%arabic as a language should not change the definition of \arabic V5,9995 +% the same is valid for future similar cases V5,9995 + \expandafter\@ifundefined{##2}{\lang@defifalse}% V5,9995 + {\lang@defitrue}% V5,9995 +%-- check for an anormal change in language.dat: + \expandafter\@ifundefined{l@##2}{}% -do nothing, unused at initex + {% -First accept babel definitions (\chardef) of languages. + \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% + \edef\l@no{##1}\expandafter% +% Secondly accept our own defs. + \ifx\csname l@##2\endcsname\l@no% -OK + \else\f@issue\typeout{^^J \frenchname.sty \string: -27- % +%\@txt@msg{language \l@no\space (##2) was initially }% +%\@txt@msg{(at initex) numbered \csname l@##2\endcsname\space(ERROR!)}% + }[##2]\f@ERRdat% + \fi\fi}% +%-- + \expandafter\tl@ng\csname##2TeXmods\endcsname% + \iflang@defi% V5,9995 + \expandafter\gdef\csname##2Lang \endcsname% V5,9995 + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% V5,9995 + \@Hif\language=##1\@Hfi\relax}% V5,9995 + \expandafter\gdef\csname##2Lang\endcsname% V5,9995 + {\protect\csname##2Lang \endcsname}% V5,9995 + \typeout{eFrench Info : % V5,9995 + ##2Lang commute sur langue ##2 = = = =}% V5,9995 + \typeout{eFrench Info : % V5,9995 + et ##2TeXmods pour ses extensions = = = =}% V5,9995 + \else% V5,9995 + \expandafter\gdef\csname##2Lang \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2\endcsname% -The language cs. + {\protect\csname##2 \endcsname}% + \fi% V5,9995 + }% -\Nouveau@Langage +% test if #1 equal ``='' that means same language hyphenation but a dialect. +\edef\@temp@{=}% +\def\@langue##1##2 ##3 ##4/##5{\def\@tempa{=}\def\@tempb{##1}% + \ifx\@tempa\@tempb% + \ifnum\@FrCount > 0 \advance\@FrCount by -1\fi% + \relax% -relax Max! Why is it absolutely needed? + \expandafter\Nouveau@Langage\expandafter[\the\@FrCount]{##2}% + \ifnum\@FrCount \@temp@ 0 \@FrCount= -1\fi% + \else\edef\@temp@{<}\@l@ngue##1##2 ##3 ##4/{##5}% + \fi}% +\def\@l@ngue##1 ##2 ##3/##4{\Nouveau@Langage[##4]{##1}% +%%%\typeout{La langue ##1 est utilis\'ee sous le num\'ero \the\@FrCount} +%\expandafter\@@input##2\relax%% loading of patterns is done at initex +%% % \if@FE + \@rhef##1/##3/% -Check if reload of exceptions file is needed. +%%%\fi + }% -end of \Nouveau@Langage +% +\let\hyphenation\f@hyphenation% -use our new macro. +\openin\@inputcheck = language.dat \def\@tempb{}% +\ifeof\@inputcheck\@Ffnt{language.dat}% + \ifx\undefined\french % -language.dat is absent but \french might be def. + \else\xdef\@PrevF{\french}% + \gdef\french{\switchtolanguage\frenchTeXmods\@PrevF}% + {\@PrevF\f@issue\@fw{-15- % +%\@txt@msg{le langage \frenchname\space porte le }% +%\@txt@msg{num\'ero \the\language}% + }}% + \fi% + \ifx\undefined\l@english % -any default English language number? + \def\l@english{0}% -set it + \fi% + \ifx\undefined\english % -check English (fenglish.sty usally loaded) + \else\xdef\@PrevE{\language=\l@english}% + \gdef\english{\switchtolanguage\englishTeXmods\@PrevE}% + {\@PrevE\f@issue\@fw{-16 % + %\@txt@msg{the English language\space is numbered }% + %\@txt@msg{\the\language}% + }}% + \fi +\else\@FrCount=-1% +\newif\iflang@defi% V5,9995 +\let\englishORI\english% V5,9995 +\let\english\undefined% V5,9995 +\loop \endlinechar=-1 \read\@inputcheck to \@lineD \endlinechar`\^^M% + \ifx\@lineD\empty \else \advance\@FrCount by 1% + \edef\@lineD{\@lineD\space\space/{\the\@FrCount}}% + \expandafter\@langue\@lineD% + \fi% + \ifeof\@inputcheck \@morefalse \fi% + \if@more\repeat% +\fi\closein\@inputcheck% < language.dat +\ifx\undefined\english\let\english\englishORI\fi% V5,9995 ! +\let\hyphenation\@hyphenation% -reset original cs. +% +\def\@MLtst{\@ifundefined{fhyph}% -if French and \fhyph undef. (no language.dat) + {\if@PMF\gdef\french{\switchtolanguage\frenchTeXmods}% + \f@issue% + \@fw{-19- % +%\@txt@msg{utilisation du langage interne num\'ero \the\language}% + }% + \else\f@issue% + \typeout{^^J \frenchname.sty: -20b- +%\@txt@msg{the French language is undefined (ERROR!)}% + }\f@ERRdat\fi}% +%if \fhyph defined as in MlTeX then : + {\gdef\french{\switchtolanguage\frenchTeXmods\fhyph}% + \gdef\english{\switchtolanguage\englishTeXmods\ehyph}% + }% + }% -@MLtst +\@ifundefined{french}{\@MLtst}{}% -French might be still undefined! +\@ifundefined{endenglish}{\global\let\endenglish\french}{}% -and \endenglish +\gdef\tl@ng##1{\ifx ##1\relax\f@issue% +\@fw{-21- %\@txt@msg{##1 n'est pas d\'efini}% + }[##1]\fi}% +\ifx\ORIGfrench\french\f@ERRdat\fi% + \egroup% -this is the end of the marmelade + }% -end of \@doFh (\GOfrench part 2) +%%%%%%%%%%%%%%%%%% Insure AmSTeX will not be loaded later. +\ifx\vert\undefined\else\let\@bvORI\vert\fi% -Already done before macros. +\def\@fwVIIIII{\f@issue% + \kbtypeout{^^J -73- %\@txt@msg{ERREUR avec AmSTeX : }% +%\@txt@msg{\frenchname.sty a \'et\'e charg\'e trop t\^ot !}% + }\stop}% +\ifx\RIfM@\undefined% +\def\vert{\ifx\RIfM@\undefined\expandafter\@bvORI\else\expandafter% + \@fwVIIIII\fi}% +\else% +\def\vert{\@bvORI}% +\fi% +%%%%%%%%%%%%%%%%%% +%#< +% =============================== +% | Macros for help | +% =============================== +% +% Abbreviations +\def\@abbf[#1]{\def\abbrevfilename{#1}}% +\AFPdq% -Activate " char for the following coding +\def\abbreviations{\if@PMF\else\AFPdq\fi% -...................... \abbreviations + \@abbdefs\let\@abbdefs\relax% + \@ifNextNB[% -] emacs + {\@abbf}{\@abbf[frabbrev.tex]}}% +% The following lines are excluded from high speed \if...\fi scan +\def\f@protect{\ifx\protect\@typeset@protect% + \else\f@x@protect\fi}% +\def\f@x@protect\fi#1{\fi\protect"}% +\def\@eatprotect#1\protect#2\@nil{#1}% +\if@PMF\let\f@protect\undefined\let\f@x@protect\undefined% + \let\@eatprotect\undefined% +\fi% -\if@PMF +\def\@abbdefs{% -the needed defs for abbrevs + \def\ABBfound{\global\let\ifABBfound\iftrue}% + \let\ifABBfound\iffalse% + \def\@abbrev##1##2 ##3##4 ##5/{% + \let\ifFMA\iftrue% -allways true here + \edef\@tempa{##1##2}% + \ifx##3*\edef\@tempb{##4}\edef\@tempc{##4s}% + \else\edef\@tempb{##3##4}\edef\@tempc{}% + \fi% + \ifx\@tempa\@tempb##5\ABBfound% + \else\ifx\@tempc\empty% + \else\ifx\@tempa\@tempc##5\ABBfound\fi% + \fi% + \fi% + \ifABBfound% + \else\edef\@tempa{##2}\edef\@tempb{##4}% + \ifx\@tempa\@tempb##5\ABBfound% + \else\ifx\@tempc\empty% + \else\ifx\@tempa\@tempc##5\ABBfound\fi% + \fi% + \fi% + \fi}% + \def\@openabbrev##1{\openin\@inputcheck=##1 % + \ifeof\@inputcheck\@Ffnt{##1}\fi}% + \def"{\f@protect\AbbrevName}% -"......................................... "xx" + \def\AbbrevName##1"{\def\@tempa{##1}\ifx\@tempa\space``\space''% + \else\@@bbrev##1"\fi}% + \def\@@bbrev##1{\expandafter\@@@bbrev\@eatprotect##1\protect\@nil}% + \def\@@@bbrev##1"{\begingroup% + \def\ABBMfalse{\global\let\ifABBM\iffalse}% + \let\ifABBM\iftrue\global\let\ifABBfound\iffalse% + \@openabbrev{\abbrevfilename}% + \ifeof\@inputcheck\else% + \loop\endlinechar=-1\read\@inputcheck to \@lineD\endlinechar`\^^M% + \ifx\@lineD\empty% + \else\edef\@lineD{##1 \@lineD/}\expandafter\@abbrev\@lineD\fi% + \ifABBfound\ABBMfalse\fi% + \ifeof\@inputcheck \ABBMfalse\ifABBfound\else% + \f@issue% + \@fw{-22- % + %\@txt@msg{abr\'eviation de \string"##1\string" non trouv\'ee}% + }[##1]% + \fi\fi% + \ifABBM\repeat% + \fi\closein\@inputcheck% + \ifABBfound\else``##1''\fi\endgroup}% + }% -end of \@abbdefs +\if@PMF\let\@abbdefs\relax\fi% -No need with PMF. +\DFPdq% -Deactivate " char +\def\noabbreviations{\if@PMF\else\DFPdq\fi}% -................. \noabbreviations +% Save original macros if they exist before the French option loading + \let\@atORI\at% +% \let\@bvORI\vert% Already done before macros. + \let\@bsORI\backslash% +\catcode`\/=0{\catcode`/\=12% +/gdef/@boiORI{{/protect/string\}}}% -}emacs+TeX +/catcode`/\=0\catcode`\/=12% + \let\@boi\textbackslash% -Should be ok with hyperref + \let\@chapORI\chap% + \let\@tildeORI\tilde% + \let\@etcORI\etc% + \let\@numORI\numero% + \let\@numsORI\numeros% + \let\@NumORI\Numero% + \let\@NumsORI\Numeros% + \let\@degreORI\degre% + \let\@degresORI\degres% + \let\@iemeORI\ieme% + \let\@iemesORI\iemes% + \let\@ierORI\ier% + \let\@iersORI\iers% + \let\@iereORI\iere% + \let\@ieresORI\ieres% + \let\@fscORI\fsc% + \let\@lscORI\lsc% + \let\@ntsORI\!% + \let\@hntscORI\halfnegthinspace% +\def\@ifm{%\noabbreviations% -this is the default +% original commands would be better preceeded by \expandafter + \def\at{\ifFMA\string @\else\@atORI\fi}% -at char ............. \at +\ifx\RIfM@\undefined% + \def\vert{\ifx\RIfM@\undefined% + \ifmmode\expandafter\@bvORI% + \else\ifFMA\string |\else\@bvORI\fi\fi% + \else\expandafter\@fwVIIIII% + \fi}% +\else% + \def\vert{\ifmmode\expandafter\@bvORI% -| .............. \vert + \else\ifFMA\string |\else\@bvORI\fi\fi}% +\fi% + \def\backslash{\ifmmode\@bsORI% -(barre oblique inversee) ........ \backslash + \else\ifFMA% + \protect\@boi% + \else\@bsORI% + \fi% + \fi}% + \def\chap{\ifFMA\string ^\else\@chapORI\fi}% -hat char ........... \chap + \def\tilde{\relax\ifFMA\ifmmode\expandafter% -tilde char.......... \tilde + \expandafter\expandafter\@tildeORI% + \else\string~\fi\else\expandafter\@tildeORI\fi}% + \def\@Fsp##1{\ifFMA\ifmmode^{\mathrm{##1}}% + \else$^{\mathrm{##1}}$\fi% + \else##1\fi}% + \def\@umer##1{\protect\@Fsp{##1}\kern.2em\ignorespaces}% + \long\def\etc{\def\@tempa{}% -etc. ................ \etc + \ifFMA% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M~\fi% + \fi% + etc\def\@tempa{\@ifNextNB.{}{% + \@fw{-60- % +%\@txt@msg{point manquant apr\`es \string\etc}% + }}}% + \else\@etcORI% + \fi\@tempa}% +\let\nombre\undefined% -To avoid redefinition info message of LaTeX. +\DeclareRobustCommand*{\nombre}% -..................................... \nombre + {\ifFMA\expandafter\@nombre% -This control command designed + \else\expandafter\@nomORI% -to typeset french numbers + \fi}% -with correct spacing like in 123 456,789 012. + \def\numero{\ifFMA n\@umer{o}\else\@numORI\fi}% -n^o ........... \numero + \def\Numero{\ifFMA N\@umer{o}\else\@NumORI\fi}% -N^o ........... \Numero + \def\numeros{\ifFMA n\@umer{os}\else\@numsORI\fi}% -n^os ........... \numeros + \def\Numeros{\ifFMA N\@umer{os}\else\@NumsORI\fi}% -N^os ........... \Numeros + \def\degre{\ifFMA\r{}\space% -degree char....... \degre + \else\expandafter\@degreORI\fi}% + \def\degres{\ifFMA\@Fsp{o}\else\@degresORI\fi}% -degrees sign..... \degres + \def\leftguillemets{\@noBDfr% + \ifFMA\@oguills% -<< char...\leftguillemets + \else<<\fi}% + \def\rightguillemets{\@noBDfr% + \ifFMA\@fguills% ->> char..\rightguillemets + \else>>\fi}% + \def\fup{\@noBDfr\ifFTY% -.............................................. \fup + \expandafter\@fup\fi}\MakeRobustCommand{fup}% + \def\@fup{\@ifstar{\csname\string\!\endcsname\@@fup}{\@@fup}}% + \def\@@fup##1{\def\@tempa{\leavevmode\raise+0.80ex% + \hbox{\protect\sm@llerthree% + \MakeLowercase{##1}}% + \@ifNextNB\bgroup{\@@@fup}{\kern+.17em}}% + \ifFMA\expandafter\@tempa\else##1\fi% + }% + \def\@@@fup##1{\ifx\empty##1\else\kern+.17em{##1}\fi}% +% \def\ieme{\ifFMA\protect\fup{e}\else\@iemeORI\fi}% +% \def\iemes{\ifFMA\protect\fup{es}\else\@iemesORI\fi}% + \def\@tgifFMA##1##2{\ifFMA\expandafter\protect\expandafter##1% + \else\expandafter\protect\expandafter##2\fi% + }% + \def\ieme{\@tgifFMA\@Ieme\@iemeORI}% -............... ieme sign..... \ieme + \def\@Ieme{\@ifstar{\@ieme}{\@@eme}}% + \def\@ieme{\fup*{e}}% + \def\@@eme{\fup{e}}\MakeRobustCommand{ieme}% + \def\iemes{\@tgifFMA\@Iemes\@iemesORI}% -............ iemes sign..... \iemes + \def\@Iemes{\@ifstar{\@iemes}{\@@emes}}% + \def\@iemes{\fup*{es}}\MakeRobustCommand{iemes}% + \def\@@emes{\fup{es}}% + \def\ier{\@tgifFMA\@ier\@ierORI}% -.................. ier sign..... \ier + \def\@ier{\fup*{er}}\MakeRobustCommand{ier}% + \def\iers{\@tgifFMA\@iers\@iersORI}% -............... iers sign..... \iers + \def\iers{\fup*{ers}}\MakeRobustCommand{iers}% + \def\iere{\@tgifFMA\@iere\@iereORI}% -............... iere sign..... \iere + \def\iere{\fup*{re}}\MakeRobustCommand{iere}% + \def\ieres{\@tgifFMA\@ieres\@ieresORI}% -............ ieres sign..... \ieres + \def\@ieres{\fup*{res}}\MakeRobustCommand{ieres}% + \def\fsc{\@noBDfr\Fsc@@}% -....................... small caps for names \fsc + \MakeRobustCommand{fsc}% + \def\Fsc@@{\@ifNextNB*{\let\Fsc@F\@sc@F\FSC@}{\let\Fsc@F\relax\FSC@*}}% + \def\@sc@F{\rmfamily\mdseries}% -The star option forces cmr and m font. + \def\FSC@*##1{\fsc@##1\@@}% +% Still bugged bec \fsc{{{...}}} generates a wrong output + \def\fsc@##1##2\@@{\ifFMA\leavevmode{\ifECM\Fsc@F\else\@sc@F\fi% + \textsc{% + \@uchbox{\let\protect\@empty% + \let\@typeset@protect\@empty% + \let\@changed@x\@changed@x@mouth% + \if\relax\noexpand##1\fsc@@@##1##2\@@% + \else\edef\@tempa{##1}% + \expandafter\fsc@@\@tempa##2\@@% + \fi}}}% + \else\@fscORI##1\fi}% + \def\fsc@@##1##2\@@{\MakeUppercase{##1}\lsc@*{##2}}% -remove surrounding {} + \def\fsc@@@##1##2##3\@@{\MakeUppercase{##1{##2}}\lsc@*{##3}}% +% + \def\lsc{\@noBDfr\Lsc@@}% -............... allways lower case small caps \lsc + \MakeRobustCommand{lsc}% + \def\Lsc@@{\@ifNextNB*{\let\Fsc@F\@sc@F\lsc@}{\let\Fsc@F\relax\lsc@*}}% + \def\lsc@*##1{\ifFMA\leavevmode{\ifECM\Fsc@F\else\@sc@F\fi% + \textsc{\@uchbox{\MakeLowercase{##1}}}}% + \else\@lscORI##1\fi}% +%......................................... \primo \secundo \tertio \quarto% +%((((..................................... \primo) \secundo) \tertio) \quarto) + \def\@FE{\@noBDfr% -( emacs + \@ifNextNB){\@@FPE}{\@@FE}}% + \def\@@FE{\the\@FrCount$^{\mathrm o}$\kern+.29em}% +% \def%( emacs +% \@@FPE){\the\@FrCount\kern-.25em\lower.2ex\hbox{\degre}% +% \kern-.55em%(emacs +% )\kern+.3em}% + \def% -( emacs + \@@FPE){\setbox0=\hbox{\degre}\@FrDimen=\wd0\multiply\@FrDimen by 10% + \divide\@FrDimen by 45\leavevmode% + \the\@FrCount\kern-\@FrDimen% + \setbox0=\hbox{\the\@FrCount}\@tempdima=\ht0% + \setbox0=\hbox{\degre}\@tempdimb=\ht0% + \advance\@tempdimb by -\@tempdima% + \lower\@tempdimb\hbox{\degre}% + \multiply\@FrDimen by 45% + \divide\@FrDimen by 20% + \kern-\@FrDimen% -(emacs + )\kern+.3em}% + \def\quando=##1{\@FrCount=##1\@FE}% -(emacs.......... \quando=n or \quando=n) + \MakeRobustCommand{quando}% + \def\primo{\@FrCount=1\@FE}% + \def\secundo{\@FrCount=2\@FE}% + \def\tertio{\@FrCount=3\@FE}% + \def\quarto{\@FrCount=4\@FE}% +\def\frenchalias##1##2{% -.......................................... \frenchalias + \ifx##1\undefined\let##1 ##2\relax% + \else\f@issue% + \@fw{-1- %\@txt@msg{la macro \string##1 existe d\'ej\`a}% + }[\string##1]% + \expandafter\stop% + \fi}% +% +% (Leslie says: "... counters are referencable, footnote counters are not.") +% Now we do. A facility to be added in future LaTeX releases I hope. +\@ifundefined{refmark}% -stands for \footnotemark[\ref{...}] .......... \refmark + {\def\refmark##1{\@noBDfr% + \ifFTY\ifhmode% -unskip last space + \ifdim\lastskip>\z@\unskip\fi\fi\fi% + \hbox{% -following patch due to NFSS2: +%%%\ifx\DeclareFontShape\undefined\else\let\bf\mathbf\fi%\bf is used in \ref! + $^{\,% -\ref may force \itshape + \let\itshape\relax% -which don't run in math. +\textrm{\scriptsize% -\textrm introduced to avoid \pdfannotlink (13d) to crash. + \ref{##1}% + }% -(Bypass to be removed when version 14 widely installed). + }$}}}{}%....}% +\def\!{\relax\ifFMA\ifmmode% + \mskip-\thinmuskip\else\negthinspace\fi% -......... \! + \else\@ntsORI\fi}% +\expandafter\def\csname\string\!\endcsname{\kern-.083335em}% +\def\halfnegthinspace{\ifFMA\expandafter% -Not documented macro: + \csname\string\!\endcsname% -..... \halfnegthinspace + \else\expandafter\@hntsORI\fi}% +\@ifundefined{moretolerance}{\def\moretolerance{% -.............. \moretolerance + \@noBDfr% + \advance\tolerance by \the\tolerance% -double each tolerance + \advance\pretolerance by \the\pretolerance}}{}% +\@ifundefined{I}{\def\I{I}}{}% -to uppercase \i ........................... \I + \def\Sauter##1Lignes{\@noBDfr% + \vspace*{##1\baselineskip}}% -............ \Sauter#Lignes + }% -end of \@ifm +%%%%% Logo symbolisant TeX, LaTeX et les autres +\@ifundefined{AllTeX}{% -............................................... \AllTeX +\def\AllTeX{(\kern-.075em L\kern-.36em{\sbox\z@ T\vbox to\ht\z@{\hbox{% + \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse% + \selectfont A}\vss}}\kern-.15em)\kern-.075em\TeX}% +\MakeRobustCommand{AllTeX}% + }{}% +%#> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\let\@currname\@currnameORI% -reset current package name +\def\languagename{english}% -Let's go in english until \begin{document} +\def\beginlanguage{% -.......\beginlanguage might be used after \begin{document} + \ifx\babel@savevariable% -selectlanguage + \undefined\french% + \else\endenglish\selectlanguage{french}\fi% + }% +\let\@bglngpk\babel@savevariable% -Set it for further integrity tests. +\ifx\pg@add@to\undefined\else% -polyglot is running +\def\pg@begin{\begingroup}% -Javier Bezos +\def\pg@end{\endgroup}% -as of 98/05/15 +\fi% +% +\edef\beginFWdirection{L}% -write Left to right +\ifx\undefined\babel@core@loaded\ProcessOptions*% -Activate options + \else% -special case Babel + \PackageInfo{\frenchname}% + {Initialisation de l'option \frenchname\space pour Babel}% + \GOfrench\let\GOfrench\relax% +\fi% +\let\@FW\undefined% -No more used macro. +% REMember that \french is equal to \frenchTeXmods PLUS hyphen. stuff. +\resetat% -........................................................ reset @ char +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Let few other packages know that french is loaded. +% +\PassOptionsToPackage{french}{varioref}% +\PassOptionsToPackage{french}{pdfscreen}% +% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/generic/e-french/src/frenchle.tex b/Master/texmf-dist/doc/generic/e-french/src/frenchle.tex new file mode 100644 index 00000000000..966f153101c --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/frenchle.tex @@ -0,0 +1,2526 @@ +% !TeX encoding = utf8 +%This is frenchle.tex : a light french style for LaTeX +% LPPL Copyright by eFrench +% +% +% = = = = = = = = = = = = = = = ATTENTION ! = = = = = = = = = = = = = = = +% +% Ce source devrait rester dans le dépôt subversion. Il ne faut le publier qu'en forme PDF +% ou DVI. Le source en tant que tel pourrait perturber un utilisateur +% moyen de LaTeX et frenchle +% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = +\documentclass[a4paper,12pt,openright]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{times} +\usepackage{url} +\usepackage{moreverb} +\usepackage{relsize} +\makeatletter\def\tempa{\let\if@screen\iffalse}\makeatother% 1.5in +\tempa% +\def\href#1#2{#2} +\let\titcolor\relax +\usepackage[print]{pdfscreen} +\usepackage{mymaj, french} +\usersfrenchoptions{% + \disallowuchyph + \overfullhboxmark +} + + \definecolor{section0}{rgb}{.722,.525,.431} + \definecolor{section1}{rgb}{.650,.350, 0 } + \definecolor{section2}{rgb}{.750,.250, 0} + \definecolor{section3}{rgb}{.950,.050,.0} + \definecolor{section4}{rgb}{.545,.271,.750} + \definecolor{section5}{rgb}{.627,.322,.176} + \definecolor{titcolor}{rgb}{.922,.725,.831} + \definecolor{bleu}{rgb}{.0,.0,.650} + +\hypersetup{ + pdfwindowui=true, pdfnewwindow=true, + colorlinks=true, pdfmenubar=true, pdffitwindow=true, + anchorcolor=bleu, urlcolor=bleu, +} + +\makeatletter +\newcommand{\linkandfootnote}[3]{% + \href{#3}{#2}\bgroup% + \expandafter\ifx\csname r@tlf.#1\endcsname\relax% + \expandafter\global% + \expandafter\let\csname r@tlf.#1\endcsname\empty% + \footnote{\texttt{<}\url{#3}\texttt{>}.\label{lf.#1}}% + \else\refmark{lf.#1}% + \fi\egroup% + }% +\makeatother + +\textwidth=168mm +\textheight=240mm +\voffset -1in +\hoffset -1in +\oddsidemargin=21mm +\evensidemargin=21mm +\topmargin=1cm +\footskip=23mm +\renewcommand{\ttdefault}{lmtt} +\hypersetup{ +pdftitle={Le style frenchle }, +pdfauthor={Bernard Gaulle, Raymond Juillerat}, +pdfcreator={Bernard Gaulle}, +pdfsubject={TeX, LaTeX et la langue française}, +pdfkeywords={TeX, LaTeX, pdfLaTeX, efrench, frenchle.sty, french.sty}, +} +\makeindex +\begin{document} +%\moretolerance +\sloppy +\newcommand{\fbefr}{{\relsize{-1}E}F{\relsize{-1}RENCH}} +\DeclareRobustCommand{\befr}{\fbefr} +\newcommand{\fslefr}{\textsl{\fbefr}} +\DeclareRobustCommand{\slefr}{\fslefr} +\disallowuchyph% C'est ma devise... (inclus dans myfroptn) + +% Page de titre : +\makeatletter +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or \star \or \diamond + \or \heartsuit \else\@ctrerr\fi}} +\makeatother +\title{\hbox{}%\vspace*{-3cm} + \Large + L'extension \textit{frenchle}\\ + pour \LaTeX\\[0ex] +Notice d'utilisation} + +\author{Bernard \fsc{Gaulle}, repris par Raymond \fsc{Juillerat}\\ +pour le groupe \textsl{\befr} \href{mailto:efrench(at)lists.tuxfamily.org}{\texttt{}}% +\thanks{Attention, l'adresse m.él. fournie via les butineurs est +piégée ; il faut la corriger à la main.}\\% +LPPL © \textsl{\befr} (voir le fichier +\linkandfootnote{copyright}{\texttt{Copyright.pdf}} +{http://efrench.org/}% +% ou \texttt{copyrigh.tex} +).\\ +} +\date{version \textit{le} \frenchstyleid}\label{prempage} +\index{efrench@\textsl{\befr}|(} +\maketitle \index{Copyright}%\thispagestyle{empty} +%\vfill +\sommaire[3] +\vfill\vfill +\newcommand{\NNL}{\protect\let\\\relax} +\makeatletter\def\HyPsd@CatcodeWarning#1{}\makeatother% +%% +\let\Subsubsection\subsubsection +\def\subsubsection#1{\Subsubsection[\NNL#1]{\protect\color{section3}#1}} +\let\Subsection\subsection +\def\subsection#1{\Subsection[\NNL#1]{\protect\color{section2}#1}} +\let\Section\section +\def\section#1{\Section[\NNL#1]{\protect\color{section1}#1}} + +\pagebreak + +\section {Introduction} +L’extension \textit{frenchle} pour \LaTeX{} est destinée à « franciser » les documents +imprimés par \LaTeX{} selon les canons typographiques usuellement employés dans +le monde de l’édition française. Elle est aussi appelée « french allégé » car il +existe une version professionnelle , maintenue par le groupe \textsl{\befr} +offrant plus de dispositifs actifs +et notamment plus de possibilités de personnalisation. Cette dernière est +aussi sous licence LPPL. +\section {Objectifs} +Cette extension a été conçue d’emblée comme sous-ensemble de \textsl{FrenchPro}\index{FrenchPro@\textsl{FrenchPro}aujourd'hui {\large\textsl{\befr}}} +(aujourd'hui {\befr}) +avec les objectifs suivants : +\begin{itemize} +\item être un logiciel libre, ou du moins tout autant que peut l’être \LaTeX. +Ainsi il peut être utilisé gratuitement, sans restriction ; être déposé dans +le domaine public et être rediffusé par n’importe quel moyen. +\item être le plus simple possible d’emploi ; ne pas nécessiter de connaissances +particulières autres que celles de \LaTeX{} et fournir, par défaut, une francisation +acceptable des documents de tous les jours tels que courriers, +articles, notes et rapports. Pour les livres ou les thèses d’autres extensions +peuvent s’avérer nécessaires et pour un niveau de satisfaction élevé, +la version professionnelle peut être requise. +\item permettre d’évoluer vers +%\textsl{french} de +la distribution \textsl{\befr} (autrefois \textsl{FrenchPro}\index{FrenchPro@\textsl{FrenchPro}!aujourd'hui {\large\textsl{\befr}}}) +sans aucune modificiation préalable +du document source (à l’exception du changement de nom d’extension). +\item être très facile d’installation ; ne nécessiter aucune modificiation de fichier +de configuration ; utiliser très peu de fichiers et ainsi s’intégrer naturellement +dans les environnements \LaTeX{} français. +\end{itemize} +Cette notice décrit de façon exhaustive ce que fait pour vous l’extension de +façon automatique, comment vous pouvez l’utiliser et les nouvelles commandes +mises à votre disposition. En outre, vous y trouverez des exemples de l’effet +produit par \textit{frenchle} et ses commandes, sur le document résultant. +En complément, vous pouvez vous reporter à la +\linkandfootnote{lafaq}{FAQ french}{http://www.efrench.org/distributions/faq.pdf} qui répond à +nombre de questions sur la francisation avec \TeX{} et \LaTeX. +\section {Historique} \label{histo} +Cet historique est en deux parties. +\begin{itemize} +\item D'abord, il s'agit d'une reprise intégrale de l'historique laissé par Bernard \textsc{Gaulle} +créateur des extensions \textsl{french} et \textit{frenchle}. Sa denière mise au point datait +du 23 mai 2007. Les seules modifications qui ont été nécessaires ont été de supprimer les +références à des sites qui n'existaient plus sur la Toile, éventuellement d'en remplacer +par un lien vers une adresse valable. +\item Ensuite quelques courtes réflexions au sujet du contexte dans lequel cette histoire +se déroule +\end{itemize} +\subsection{Historique repris de Bernard \textsc{Gaulle}} +Avant \textit{frenchle}, existait l’extension \texttt{french} (version 0.1 à pré-V5) qui avait +été développée pendant 12 ans (1988-2000) et avait traversé avec succès tous +les grands changements de version de \TeX{} (v2, v3, tds) et de \LaTeX{} (2.09, nfss, +2e, dc, ec) tout en restant toujours compatible avec la version précédente pour +assurer la stabilité si chère aux utilisateurs de \TeX. + +Au début, l’installation de la francisation nécessitait parfois plusieurs jours +de travail à un gourou \TeX{} et l’utilisateur final disposait de peu de fonctions de +%1. . +personnalisation ; il était enfermé dans les limites du style, d’autant que toute +modification nécessitait la connaissance de \LaTeX. + +De très gros efforts ont été réalisés pour que toute fonction/décision de +\textsl{french} soit réversible et que l’utilisateur puisse y introduire ses propres améliorations. +Un nombre important de commandes a été développé à cet effet. +Dans le même temps, cette francisation s’adaptait tant bien que mal aux +différentes plates-formes d’exploitation (DOS, Window, MacOs, Unix, ...) et +aux différents moteurs \TeX{} (Personal \-\TeX, OzTEX, GTEX, Web2c, ...). La complexité +de l’ensemble s’est alors accrue, ne serait-ce que par la multiplication +du nombre de fichiers nécessaires à l’installation. + +Pour maîtriser cette expansion et en contrôler l’évolution j’ai choisi la méthode +employée pars Donald \textsc{Knuth} pour \TeX{} à savoir : écoute des demandes des +utilisateurs, discussion des améliorations proposées et intégration des fonctions +d’intérêt général qui enrichissent l’extension et ne remettent pas en cause la +compatibilité avec les versions précédentes. à cela j’avais souhaité que \textsl{french} +n’entre pas dans un circuit commercial sans mon accord préalable. Pour ce faire, +une notice de Copyright avait été élaborée et jointe à la distribution de l’ensemble +des fichiers. Dédié aux francophones, le Copyright de \textsl{french} faisait naturellement +mention de GUTenberg (association francophone des utilisateuers +de \TeX) dont j’étais le président fondateur. + +Depuis l’origine, \textsl{french} était archivé sur Internet dans le domaine public. +Aussi, lorsque l’initiative CTAN s’est mise en place avec pour objectif de contenir +tout ce qui a été développé autour de \TeX, \textsl{french} y a été archivé tout +naturellement. + +Plus tard, dans les années 1997-1998, le TUG ainsi que plusieurs éditeurs a +souhaité pouvoir rediffuser le contenu de CTAN sur CD; certaines de ces distributions +entrant dans un circuit commercial effectif. La distribution de \textsl{french} ne +pouvait pas s’intégrer, par défaut, à ces dernières. Alors, pour simplifier la tâche +des distributeurs, les archivistes du CTAN on créé en 1999 une zone « \textit{nonfree} » +où \textsl{french} a été déposé, \textit{ex abrupto}, pour ne pas risquer d’être redistribué en +violation du Copyright. Bien que ne ressemblant en rien à un \textit{shareware}, \textsl{french} +s’est alors retrouvé archivé aux côtés des autres \textit{sharewares} du monde \TeX. Cet +état de fait étant insupportable pour moi qui avais permis à quiconque d’utiliser +\textsl{french} gratuitement pendant une bonne dizaine d’années, j’ai demandé son +retrait de CTAN. Mes tentatives pour changer les choses au sein de CTAN et +du TUG ayant échoué, j’ai choisi de m’adapter à la situation en développant +\textit{frenchle} avec licence \LaTeX{} standard et \textsl{FrenchPro} \index{FrenchPro@\textsl{FrenchPro}!d'origine} +sous licence \textit{shareware} ; le +premier pouvant résider normalement sur CTAN et le second pouvant être mis +dans la zone « \textit{nonfree} » aux côtés des autres \textit{sharewares}. + +L’extension \textit{frenchle} a été mise dans le domaine public pour la première +fois en juin 2000. Six mois plus tard, \textsl{FrenchProV5} \index{FrenchPro@\textsl{FrenchPro}!d'origine} était disponible et six mois +plus tard encore, les adhérents GUTenberg ayant participé au vote du nouveau +conseil d’administration n’ont pas voulu renouveler leur confiance au président +fondateur. C’est ainsi que l’extension \textit{frenchle} est arrivée dans le monde du +logiciel libre. + +Depuis, le TUG (fin 2001) et les associations régionales d’utilisateurs de +\TeX{} (GUTenberg, Dante, etc.) distribuent des CDs contenant l’intégralité des +fichiers disponibles sur CTAN, y compris la zone « \textit{nonfree} » \index{FrenchPro@\textsl{FrenchPro}!d'origine}% +\footnote{ Déplorons juste que \textsl{FrenchPro} y ait été oublié jusqu’à l’année 2003.}. +Pour sa part, GUTenberg, documente \texttt{frenchb} mais oublie curieusement +\texttt{{\backslash}usepackage[frenchle]\{babel\} }\index{extension!babel@\verb'babel'} +et ne connait pas \textsl{FrenchPro} comme l’atteste +le Cahier hors-série numéro 2 de février 2003, page 24% +\footnote{Quelques corrections ont toutefois été consenties dans une version en ligne +(aujourd'hui [2012] disparue) }. +Dans la liste des « \textit{malheurs} » infligés à mes outils de francisation de \LaTeX, +GUTenberg a demandé à l’auteur du paquetage Babel (de Johannes \textsc{Braams}) +de réduire la francisation (option \texttt{french} de Babel) à la seule utilisation de +l’option \texttt{frenchb}\index{babel@\textit{babel}!frenchb@\texttt{frenchb}} de Daniel \textsc{Flipo}. +Cette mesure a pris effet avec la version +de \LaTeX{} distribuée fin 2003. Ceci est la raison pour laquelle je propose l’extension +\texttt{babelfr}\index{extension!babelfr@\texttt{babelfr}} en remplacement\index{extension!babel@\verb'babel'} +de \texttt{babel} ce qui ne retire rien à Babel mais lui +redonne les facilités antérieures. + +À suivre ... ? + +\subsection{Réflexions de Raymond Juillerat} +\subsubsection{Babel et \textsl{mlp}} +Il est clair que les travaux de Daniel \textsc{Flipo} (\texttt{frenchb}) et de Bernard \textsc{Gaulle} (\texttt{french}) +sont tous deux remarquables. L'extension \texttt{french.sty} +(avec ses modules de \textsl{FrenchPro}\index{FrenchPro@\textsl{FrenchPro}!aujourd'hui {\large\textsl{\befr}}}) +a toujours été pensée comme +pouvant tourner sous \TeX{} et sous \LaTeX, l'extension \texttt{frenchb.ldf} est prévue comme +fonctionnant uniquement sous \LaTeX{} avec \index{babel@\textit{babel}!options de francisation} +Babel. +J'y vois une incompatibilité. Pour l'allemand, par exemple, cette incompatibilité a subsisté +et il y a un \texttt{german.ldf} et un \texttt{german.sty}. En ce qui concerne la typographie française, on n'aura +probablement non plus de solution unique pouvant tourner avec ou sans Babel. Je comprends une certaine +déception de Bernard Gaulle de voir sa solution multilangage \textsl{mlp}\index{extension!mlp@\textsl{mlp}} dépassée par Babel. +Mais il faudra suivre l'exemple de nos amis germains. +\subsubsection{Les formats}\label{lesformats} +Bernard \textsc{Gaulle} a vécu l'époque où pour une césure\index{césure} correcte, il était très important de créer un +\index{format}format. Cette initialisation n'est plus nécessaire\index{commande!frlatex@\verb'frlatex'} (depuis 1992 ou même plus tôt) +et a été remplacée par des méthodes plus simples. +Ainsi, il ne faut pas oublier d'activer la langue française dans l'installation de votre système \LaTeX. +C'est une option dans Mik\TeX{} où l'on peut activer ou désactiver les langues prévues. +La langue française, par défaut y est active. +Avec \TeX live, il ne faut pas oublier de charger le module de langue française. +C'est par une de ces méthodes que le fichier de césure sera présent +et que le fichier \texttt{language.dat} \index{fichier!langage.dat@\texttt{language.dat}} +indiquera à \LaTeX{} où sont les fichiers de césure. + +Pourrait-on mettre à disposition, en dehors de \texttt{french.sty} quelques éléments qui +devraient aussi être parfaitement compatibles avec Babel, comme les lettrines, composition en drapeau ? +Ou d'autres pièces parmi +celles présentées dans le \linkandfootnote{tortures}{test de torture du dépôt \textsl{\befr}} +{http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/test/frenchrf.dvi} +ainsi que des macros comme versatim, vers, numero, ordinal, etc. +Et, pourquoi pas, les intégrer à \texttt{frenchb} ? + + \section{Maintenance et mises-à-jour} +Cette section est divisée en deux sous-sections. +\begin{itemize} +\item D'abord, il s'agit la reprise intégrale de la section laissés par Bernard \textsc{Gaulle} +au 23 mai 2007. Les seules modifications qui ont été nécessaires c'était de supprimer les +références à des sites qui n'existent plus sur la Toile, éventuellement d'en remplacer +par un lien vers une adresse valable. +\item Enfin la suite de la maintenance, dès que le projet \textsl{\befr} a été mis en place pour reprendre l'Å“uvre +de son auteur originel afin qu'elle ne tombe pas dans l'oubli. +\end{itemize} +\subsection{Maintenance par Bernard \textsc{Gaulle}} +Bénéficiant des nombreuses années de test dans le cadre du développement +de l’ensemble des modules \textsl{FrenchPro}\index{FrenchPro@\textsl{FrenchPro}!aujourd'hui {\large\textsl{\befr}}} puis \textsl{\befr}, +l’extension \textit{french allégée} est extrêmement +solide et résistante aux différentes conditions d’utilisation. +Des messages d’erreur ou d’avertissement sont fournis à l’utilisateur en cas +de détection d’anomalie (cf paragr. \ref{messag} page \pageref{messag} ). +à chaque fois qu’un correctif est appliqué à \textit{frenchle} il est immédiatement +publié sur \linkandfootnote{svnfrench}{le serveur web} +{http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/inputs/french/frenchle.sty} +%\footnote{disparu depuis} + puis recopié sur les serveurs CTAN. +Avant de signaler une erreur éventuelle vous devez vous assurer de reproduire +le problème avec le plus petit fichier source possible. Ensuite, vous pouvez +envoyer votre rapport de bogue sur Internet (liste francophone gut@ens.fr ou +les newsgroup tels que fr.comp.text.tex) où les gourous \LaTeX{} auront vite fait +de trouver, sinon une solution, tout au moins un contournement. Et lorsque vous +estimerez avoir obtenu une solution satisfaisante ou, à l’inverse, aucun début +de solution, n’hésitez pas à nous contacter (voir les contacts, page \pageref{contact}). +\subsection{\textsc{eFrench} et \textit{frenchle}} +%\subsection{\slefr} +Ici quelques explications pour indiquer ce que le groupe {\befr} a apporté à frenchle.sty version 5,9993 pour en +faire une version 5,9995. +\subsubsection{De FrenchPro à \textsc{eFrench}} +Bernard Gaulle, l'auteur des modules de typographie française dénommés {\sl Frenchle} et {\sl FrenchPro} est décédé peu après +avoir sorti les versions 5,9993 de ces extensions de francisation pour \LaTeX{} . +Avec l'accord de l'épouse de l'auteur, héritière des droits sur l'Å“uvre, un groupe, +lancé par Laurent \textsc{Bloch} +a géré une nouvelle version qui succède à celle de Bernard Gaulle publiée désormais sous licence LPPL. + {\sl FrenchPro} est devenu dès lors \textsl{\befr}. +La version de \texttt{french.sty} a ainsi passé à 5,9994. La grande différence, c'est qu'elle n'est plus +{\sl shareware}, et ne se bloque plus après un mois d'utilisation et beaucoup d'avertissements. +Il n'était alors pas nécessaire alors de modifier {\sl Frenchle} déjà sous licence LPPL. + +Les responsables de la distribution \textsl{\befr} et {\sl Frenchle} ont constaté qu'il y avait un nouveau +problème au niveau de l'utilisation multilingue. Si bien qu'il a +fallu une nouvelle correction de frenchle.sty et french.sty qui ont été portés tous deux à la version 5,9995. + +\subsubsection{Utilisation multilingue}\label{multilingue} +\index{multilinguisme}\index{langues}\index{langages}% +\seealso{langages}{langues} +À chaque ou {\em langage} + indiqué dans le fichier\index{fichier!langage.dat@\texttt{language.dat}} +\verb|language.dat| l'extension \textsl{\befr} définit une commande du +même nom. Si nous notons ce langage sous la forme : +\verb|<|{\em langage}\verb|>|, +la commande s'écrira alors \verb|\<|{\em langage}\verb|>|. +Cette nouvelle commande permet alors de passer du français% +\footnote{Chaque commande \texttt{\backslash\string<}{\em langage}\texttt{\string>} +permet de passer en fait du langage actif à ce nouveau +\texttt{\string<}{\em langage}\texttt{\string>}.} + à ce \verb|<|{\em langage}\verb|>|. + + +Toutefois, il y a des exceptions. Un exemple, c'est le passage à la langue arabe qui, si \textsl{\befr} +avait gardé ce schéma en toute occasion, entrerait en conflit avec le formatage de nombre +en notation arabe qui est défini par \verb|\arabic|. Dans tous les cas où la définition simple +mènerait à un conflit, il faut choisir \verb|\<|{\em langage}\verb|>Lang| +\index{langage@\texttt{\backslash<{}}{\em langage}{\tt>Lang{}}}. % +Dans ces cas, un message est envoyé au journal. +On passera alors à la +langue arabe par \verb|\arabicLang|. + +En fonctionnement normal une option de style \verb|\<|{\em langage}\verb|>| +ou \verb|\<|{\em langage}{\tt>Lang{}} +(dont l'extension s'appelle %le code est dans le fichier +\index{fichier!langage.sty@{\tt<\em langage\tt>.sty}}% +\verb|<|{\em lan\-gage}\verb|>|\texttt{.sty}) +définit une commande \verb|\<|{\em langage}\verb|>TeXmods| +\index{langage@\texttt{\backslash<{}}{\em langage}{\tt>{}}}% +\index{langageTeX@\texttt{\backslash<{}}{\em langage}{\tt>TeXmods}}% +pour compléter cette nouvelle langue (définir des commandes +ou faire des actions spécifiques) +et deux autres : \verb|\begin<|\emph{langage}\verb|>| pour y passer +et \verb|\end<|\emph{langage}\verb|>| pour +en sortir. \index{efrench@\textsl{\befr}|)} +Pour l'arabe, on aura \verb|\begin{arabicLang}| et \verb|\end{arabicLang}| +en complément de \verb|\arabicLang|. + +Comme ce mécanisme avait été introduit avec succès dans {\befr}, nous l'avons aussi +introduit dans \textsl{frenchle}. + +\section{ Conditions d’utilisation} +Il n’y a pas de condition particulière d’utilisation de l’extension \textit{frenchle} ; +toutefois il est conseillé de placer l’appel de \textit{frenchle} en dernière position dans +%2. Déplorons juste que \textit{eFrench} y ait été oublié jusqu’à l’année 2003. +%3. Quelques corrections ont toutefois été consenties dans une version en ligne à +%http://math.univ-lille1.fr/~flipo/dfshort.pdf. +%4. http://daniel.flipo.free.fr/frenchb/index.html +%5. . +%6. +le chargement des extensions au sein du document \index{classe!de document}source :\\[.5em] +\rule{0pt}{1em}\hfill\fbox{ +\begin{minipage}{90mm} + \backslash\texttt{documentclass}\{\textit{\texttt{classe\_de\_documents}}\}\\ + \backslash\texttt{usepackage}[\textit{codage d’entrée} ]\{\texttt{inputenc}\}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \backslash\texttt{usepackage}\{\textit{extension n-2} \}\\ + \backslash\texttt{usepackage}\{\textit{extension n-1} \}\\ + \backslash\texttt{usepackage}\{\texttt{frenchle}\}\\ + \backslash\texttt{begin\{document\}} +\end{minipage} +}\hfill\rule{0pt}{1em}\\[.5em] +%\begin{decl} +%\end{decl} +en effet, il est tenu compte d’un certain nombre d’extensions afin d’en modifier +légèrement le comportement ou bien d’éviter des conflits. Quelque soit le +moteur \TeX, quelque soit l’installation (réalisée correctement) et quelque soit +l’environnement (de bonne programmation) l’extension \textit{frenchle} doit fonctionner +; n’hésitez pas à \linkandfootnote{noustux}{nous}{mailto:efrench@lists.tuxfamily.org} +faire part d’anomalies flagrantes. +Je rappelle que la gestion des caractères accentués est faite par l’extension +\texttt{inputenc} ; il suffit juste que vous précisiez le codage de votre document (latin9, +utf8, applemac, ansinew, ...). +Nous verrons plus loin (page \pageref{peutfaire}) qu’il existe d’autres possibilités pour faire +appel à \textit{frenchle}. +\section{ Ce que fait l’extension} +Nous arrivons maintenant au côté pratique des choses : je vais vous montrer +ce que fait, par défaut, l’extension \textit{frenchle} sur le plan typographique et +comment son comportement peut éventuellement être changé. +\subsection{ La ponctuation} +La virgule, le point-virgule, les deux-points, le point d’exclamation et le +point d’interrogation sont activés afin de les espacer\index{ponctuation} correctement du texte +précédent. +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\[0.5ex] +\begin{boxedverbatim} +$\pi=3,14...$ +point-virgule ; le texte +deux-points : le texte +point d’exclamation ! La phrase +point d’interrogation ? La phrase + +\end{boxedverbatim} +\\[.5ex] +\begin{minipage}{60mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +$\pi=3,14...$\\ +point-virgule ; le texte\\ +deux-points : le texte\\ +point d’exclamation ! La phrase\\ +point d’interrogation ? La phrase +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{60mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{55mm} +\frenchtypography +$\pi=3,14...$\\ +point-virgule ; le texte\\ +deux-points : le texte\\ +point d’exclamation ! La phrase\\ +point d’interrogation ? La phrase +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +\end{minipage} +\rule{0pt}{1em} + +L’espacement inséré par \textit{frenchle} devant la ponctuation est insécable, ce qui +permet de ne jamais retrouver cette ponctuation en tout début de ligne ou de +page. Une mesure spéciale, du même type, est appliquée aux deux-points afin +de ne pas le retrouver seul en bas de page, coupé du texte qui suit. +En standard, le traitement de la virgule par \LaTeX{} est différent en mode +mathématique et en mode texte. Dans ce dernier mode, aucun espacement n’est +inséré automatiquement par \LaTeX. En mode mathématique, grâce à \textit{frenchle} +il en est maintenant de même (contrairement au fonctionnement standard). +Ainsi, on se souviendra de la règle de base du mode mathématique : la barre +d’espacement ne produit aucun effet ; tout espacement doit être indiqué par une +commande ad hoc ( \backslash, \index{\,@\verb'\,'} +ou \backslash\texttt{\textit{space}} \index{space,@\verb'\space'} +ou \backslash\texttt{\textit{thinspace}} ou ...)\index{thinspace,@\verb'\thinspace'} . + + +\begin{center} +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +$\pi \simeq 3,14$ +PI vaut environ 3,14$ +$f(x,y,z)$ saisi sans espacement +$g(x, y, z)$ saisi avec espacement +$h(x,\,y,\,z)$ avec commande ad hoc +\end{boxedverbatim} +\\[0.3ex] +\begin{minipage}{70mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{65mm} +\nofrenchtypography +$\pi \simeq 3,14$\\ +$\textrm{PI vaut environ 3,14}$\\ +$f(x,y,z)$ saisi sans espacement\\ +$g(x, y, z)$ saisi avec espacement\\ +$h(x,\,y,\,z)$ avec commande ad hoc +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{65mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{60mm} +\frenchtypography +$\pi \simeq 3,14$\\ +$\textrm{PI vaut environ 3,14}$\\ +$f(x,y,z)$ saisi sans espacement\\ +$g(x, y, z)$ saisi avec espacement\\ +$h(x,\,y,\,z)$ avec commande ad hoc +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +\rule{0pt}{1em} + + +Les commandes de \textit{frenchle} qui régissent l’espacement après la virgule sont\\ +\verb|\frenchmathcomma| \index{frenchmathcomma@\verb'\frenchmathcomma'} +et \verb|\regularmathcomma|\index{regularmathcomma@\verb'\regularmathcomma'} : + +\begin{center} %============================= +\textit{Texte source}\\[1ex] + +\begin{boxedverbatim} +\regularmathcomma $3,14 \ f(x,y)$ +\frenchmathcomma $3,14 \ f(x,y)$ +\end{boxedverbatim} +\\[.3ex] +\begin{minipage}{60mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +\regularmathcomma $3,14 \ f(x,y)$\\ +\frenchmathcomma $3,14 \ f(x,\,y)$ +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{60mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{55mm} +\frenchtypography +\regularmathcomma $3,14 \ f(x,y)$\\ +\frenchmathcomma $3,14 \ f(x,\,y)$ +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +\rule{0pt}{1em} +L’espacement dans un nombre\index{nombre} (décimal ou non) se fait automatiquement +avec l’ordre \verb|\nombre|\index{nombre@\verb'\nombre'} dès l’instant où un espace a été inséré avec la barre d’espacement, +comme il se doit, après chaque millier ou millième : + +%\pagebreak +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +$1 234,567 89$ +\nombre{1 234,567 89} +\end{boxedverbatim} +\\[.3ex] +\begin{minipage}{60mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +$1 234,567 89$\\ +\nombre{1 234,567 89} +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{60mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{55mm} +\frenchtypography +$1 234,567 89$\\ +\nombre{1 234,567 89} +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +%6 +%Composition standard +%1234, 56789 +%1 234, 567 89 +%Composition avec \textit{frenchle} +%1234,56789 +%1 234,567 89 + + +À l’exception de cet ordre \backslash\texttt{nombre}, \textit{frenchle} peut rajouter automatiquement +les espaces que vous auriez oubliés à la saisie devant la double ponctuation : + +\begin{center} %============================= +\textit{Texte source}\\ +\fbox{\begin{minipage}{130mm} +\nofrenchtypography\tt +\begin{tabular}{ll} +&... fin; il s’ensuit: boum! quoi?\\ +\{{\backslash}untypedspaces&... fin; il s’ensuit: boum! quoi?\}\\ +&... fin ; il s’ensuit : boum ! quoi ?\\ +\end{tabular} +\end{minipage} +}\\[.5em] +\begin{minipage}{60mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +... fin; il s’ensuit: boum! quoi?\\ +{\untypedspaces... fin; il s’ensuit: boum! quoi?}\\ +... fin ; il s’ensuit : boum ! quoi ? +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{60mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{55mm} +\frenchtypography +... fin; il s’ensuit: boum! quoi?\\ +{\untypedspaces... fin; il s’ensuit: boum! quoi?}\\ +... fin ; il s’ensuit : boum ! quoi ? +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +% ==================================== +\rule{0pt}{1em} + +Vous l’avez compris, c’est l’option \verb|\typedspaces|\index{typedspaces@\verb'\typedspaces'} qui est active par défaut +(c’est-à-dire que l’on saisit tous les espacements nécessaires). +Tous les effets que l’on vient de voir sont contrôlables par les ordres \verb|\typedspaces|\index{typedspaces@\verb'\typedspaces'} +\verb|\untypedspaces|\index{untypedspaces@\verb'\untypedspaces'}, + \backslash\texttt{frenchtypography}\index{frenchtypography@\verb'\frenchtypography'} +et \backslash\texttt{nofrenchtypography} ; voyons, sur l’exemple suivant, ce que +\index{nofrenchtypography@\verb'\nofrenchtypography'} +cela donne avec \backslash\texttt{nofrenchtypography}. +\begin{center} +\textit{Texte source}\\ +\begin{boxedverbatim} +{\nofrenchtypography +$\pi=3,14...$\\ +point-virgule ; le texte\\ +deux-points : le texte\\ +point d’exclamation ! La phrase\\ +point d’interrogation ? La phrase\\ +} +\end{boxedverbatim} +\\[.5em] +\begin{minipage}{60mm} +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +$\pi=3,14...$\\ +point-virgule ; le texte\\ +deux-points : le texte\\ +point d’exclamation ! La phrase\\ +point d’interrogation ? La phrase +\end{minipage} +} +\end{center} +\end{minipage} +\begin{minipage}{60mm} +\begin{center} +\textit{Composition avec frenchle} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography +$\pi=3,14...$\\ +point-virgule ; le texte\\ +deux-points : le texte\\ +point d’exclamation ! La phrase\\ +point d’interrogation ? La phrase +\end{minipage} +} +\end{center} +\end{minipage} +\end{center} +\rule{0pt}{1em} +\frenchtypography\frenchlayout +Vous voyez donc clairement qu’en plaçant l’ordre \index{nofrenchtypography@\verb'\nofrenchtypography'} + \backslash\texttt{nofrenchtypography} au +bon endroit, on annule les effets micro-typographiques de \textit{frenchle}. + +\subsection{Les notes}\index{notes} +Un petit exemple vaudra mieux qu’un long discours : +%\let\oldrfootcounter\thefootnote %- - - - - - - - - - - - - - - - - - - - - - - - counter thefootnote +\begin{center} %============================= +\textit{Texte source}\\\index{footnote@\verb'\footnote'} +\begin{boxedverbatim} +\noindent Ici\footnote{Essai de note.}\\ + Ici \footnote{Ceci est une note.} +et là \footnote{Une autre note.}\footnote{Et + encore une autre note.}. +\end{boxedverbatim} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{60mm}{ +\begin{center} +\textit{Composition standard} %-----------------------------------------standard +\fbox{\begin{minipage}{55mm} +\nofrenchtypography\nofrenchlayout{ +\noindent +\large Ici\footnote{Essai de note.}\\ +\large Ici \footnote{Ceci est une note.} +et là\footnote{Une autre note.}\footnote{Et +encore une autre note.}.} +\vspace{5ex} +\end{minipage} +}% +\end{center} +}% +\parbox{65mm}{ +\begin{center} +\textit{Composition avec frenchle} %-----------------------------------------frenchle +\fbox{\frenchtypography\frenchlayout% +\begin{tabular}{@{}lll} +%\frenchtypography{ +%\renewcommand{\@makefntext}{\fr@makefntext}% +\multicolumn{2}{@{}l}{\large Ici\footnotemark[1]}\\ +\multicolumn{2}{@{}l}{\large Ici\footnotemark[2] +et là $^{3,}$\,$^4$.}\\ +\\ +\\\cline{1-2}%} +\rule{0.5em}{0pt}&\footnotesize1. {Essai de note.}&\\[-.2em] +&\multicolumn{2}{l}{\footnotesize2. {Ceci est une note.}}\\[-.2em] +&\footnotesize3. {Une autre note.}\\[-.2em] +&\multicolumn{2}{l}{\footnotesize4. {Et encore une autre note.\rule{10mm}{0pt}}}\\[-.03em] +\end{tabular}% +}% +\end{center} +} +\end{center} +% ==================================== +Comme on le voit, l’espacement devant l’ordre \texttt{{\backslash}footnote} %n’a aucune importance +est sans importance +avec \textit{frenchle}. Deux \texttt{{\backslash}footnotes} peuvent se suivre (sans espace cette fois-ci) +et être composées selon l’usage. Vous aurez bien entendu noté la différence\index{notes!de bas de page} +en bas de page. + +Dans la page de titre, \LaTeX{} exige que l’on utilise l’ordre \texttt{{\backslash}thanks} à la place +de {\backslash}footnote : +\begin{center} %============================= +\textit{Texte source}\\[.3ex] +\begin{boxedverbatim} +\title{L’extension \textit{frenchle} +\thanks{Merci à tous les contributeurs.} \\ +pour les documents en français +\author{B. Gaulle} +} +\maketitle +\end{boxedverbatim} +\\[.5ex] +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{70mm}{ +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{65mm} +\nofrenchtypography\nofrenchlayout{ +%\let{\@mpfootnotetext}{\@footnotetex}t% +\noindent +\hfill \large L'extension \textit{frenchle}\footnote {Merci à tous les contributeurs}\hfill\rule{0pt}{1pt}\\ +\large pour les documents en français}\\ +\rule{0pt}{2em}\hfill B. Gaulle\hfill\rule{0pt}{1pt}\\ +\rule{0pt}{2em} +\end{minipage} +}% +\end{center} +}% +\parbox{70mm}{ +\begin{center} +\textit{Composition avec frenchle} +\fbox{\frenchtypography\frenchlayout% +\begin{tabular}{@{}ll@{}l@{}} +%\frenchtypography{ +%\renewcommand{\@makefntext}{\fr@makefntext}% +\multicolumn{3}{@{}c}{\large L'extension \textit{frenchle}\footnotemark[1]}\\ +\multicolumn{3}{@{}c}{\large pour les documents en français}\\ +&\rule{5em}{0pt}\\ +\multicolumn{3}{@{}c}{\rule{0pt}{1em}B. Gaulle}\\ +\multicolumn{3}{@{}c}{\rule{0pt}{2em}}\\\cline{1-2} +&\multicolumn{2}{l}{\rule{0pt}{1em}\footnotesize1. {Merci à tous les contributeurs}}\\ +\end{tabular}% +}% +\end{center} +} +\end{center} + +Des notes peuvent aussi être placées dans une figure\index{notes!dans les figures} mais en général le texte +de la note est perdu par \LaTeX{} et \textit{frenchle} vous en avertit, il faut alors procéder +comme suit : d'une part \index{footnotemark@\verb'\footnotemark'} +saisir {\backslash}footnotemark à la place de \verb'\footnote' pour placer simplement \index{footnotetext@\verb'\footnotetext'} +l’appel de note et ensuite, après la figure saisir\index{figures!notes dans les } + \verb'\footnotetext'\{texte de la note\}.\label{notesfigu} +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\begin{figure} + \begin{tabular}{|c|} + \hline + \centerline{Peu importe la figure \footnotemark.} \\ + \hline + \end{tabular} + \caption{Une figure explicative} + \end{figure} + \footnotetext{Une explication peut en amener une autre + en bas de page} +\end{boxedverbatim} +\end{center} +\end{minipage} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{70mm}{ +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{65mm} +\nofrenchtypography\nofrenchlayout{ +\noindent +\rule{0pt}{1pt}\hfill \fbox{ +\large Peu importe la figure\footnote{% +Une explication peut en amener une autre en bas de page}.}\hfill\rule{0pt}{1pt}\\ +} +\rule{0pt}{1pt}\hfill\rule{0pt}{1.5em} Figure 1: Une figure explicative\hfill\rule{0pt}{1pt}\\ +\vspace{4em} +\end{minipage} +}% +\end{center} +}% +\parbox{70mm}{ +\begin{center} +\textit{Composition avec frenchle} + +\fbox{ +\begin{minipage}{65mm} +\hfill\fbox{\large Peu importe la figure\footnotemark[1].}\hfill\rule{0pt}{1pt}\\[1em] +\centerline{\textsc{Fig.} 1 -- \textit{Une figure explicative}} +\begin{tabular}{lll} +&\rule{4.3em}{0pt}\\[1.9em] +\multicolumn{3}{@{}c}{\rule{0pt}{2em}}\\\cline{1-2} +&\multicolumn{2}{l}{\rule{0pt}{1em}\footnotesize1. {Une explication peut en amener une}}\\[-.3em] +\multicolumn{3}{l}{\footnotesize{}autre en bas de page}\\ +\end{tabular} +\end{minipage}} +\end{center} +} +% +\end{center} % =========================== + +Comme vous le savez les figures \index{figures} et tableaux sont flottants avec \LaTeX{} c’est +à dire qu’il sont placés au mieux par \LaTeX{} en fonction des options que vous +choisissez ; il est donc parfois délicat de faire résider sur la même page la figure +et le texte de la note en bas de page. + +Pour les tableaux\index{tableaux}, par contre, les notes ne sont pas perdues en français car +elles sont composées juste en dessous du tableau\index{tableaux!notes dans les} + (comme dans le cas d’une minipage +\LaTeX) : +\begin{center} %============================= +\textit{Texte source}\\[1ex] + +\begin{boxedverbatim} +\begin{table} +Il est toujours possible de placer une +note dans un tableau en français : +\bigskip +\begin{tabular}{|c|} + \hline + Peu importe le tableau + \footnote{Une explication en + dessous (perdue ?).}. \\ + \hline + \end{tabular} + \end{table} +\end{boxedverbatim} + +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\alph{mpfootnote}} +\parbox[t]{70mm}{ +\begin{center} +\textit{Composition standard} +{\nofrenchtypography\nofrenchlayout +\fbox{ +\begin{minipage}{65mm} +Il est toujours possible de placer une\\ +note dans un tableau en français :\\ +\bigskip +\begin{tabular}{|c|} +\hline +\rule{0pt}{1.2em}Peu importe le tableau +\footnotemark[1].\\ +\hline +\end{tabular} +\end{minipage} +}} +\end{center} +}% +\parbox[t]{70mm}{ +\begin{center} +\textit{Composition avec frenchle} +\fbox{ +\begin{minipage}{65mm} +Il est toujours possible de placer une\\ +note dans un tableau en français :\\ +\bigskip +\begin{tabular}{|c|} +\hline +\rule{0pt}{1.2em}Peu importe le tableau +\footnote{Une explication en +dessous (perdue ?).}.\\ +\hline +\end{tabular} +\end{minipage} +} + +\end{center} +} +% +\end{center} + +\frenchtypography\frenchlayout +Tous les effets que l’on vient de voir pour les notes sont contrôlables par +les ordres \texttt{{\backslash}french\-typography}\index{frenchtypography@\verb'\frenchtypography'} + et \verb|\frenchlayout|\index{frenchlayout@\verb'\frenchlayout'}, l’un gérant l’espacement et +l’autre la mise-en-page. Pour les désactiver vous pouvez coder +\texttt{{\backslash}nofrenchtypography}\index{nofrenchtypography@\verb'\nofrenchtypography'} +et \texttt{{\backslash}nofrenchlayout}\index{nofrenchlayout@\verb'\nofrenchlayout'} ; +essayons-les pour voir ce que cela donne : + +\begin{center} %============================= +\textit{Texte source}\\ +\begin{boxedverbatim} +{ \nofrenchtypography + \nofrenchlayout + \begin{table} + Peu importe le tableau + \footnote{Une note perdue.}.\\ + \hline + \end{tabular} + \end{table} +} +\end{boxedverbatim} +\\[.5em] +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox[t]{70mm}{ +\begin{center} +\textit{Composition standard} +{\nofrenchtypography\nofrenchlayout +\begin{minipage}{65mm} +\begin{tabular}{|c|} +\hline +\rule{0pt}{1.6em}\Large Peu importe le tableau +\footnotemark[1].\\ +\hline +\end{tabular} +\end{minipage} +} +\end{center} +}% +\parbox[t]{70mm}{ +\begin{center} +\textit{Composition avec frenchle} + +\begin{minipage}{65mm} +\begin{tabular}{|c|} +\hline +\rule{0pt}{1.6em}\Large Peu importe le tableau +\footnotemark[1].\\ +\hline +\end{tabular} +\end{minipage} + +\end{center} +} +% +\end{center} + +Ainsi, la composition par \textit{frenchle} est redevenue tout à fait au standard +\LaTeX. +\subsection{ Le titrage} +L’extension \textit{frenchle} traduit et compose les différents éléments servant au +titrage\index{titrage} dans le document comme vous le trouverez ci-après. Une exception +toutefois concerne l’ordre \verb|\chaptername|\index{chaptername@\verb'\chaptername'} qui, pour des raisons de conception +des hauts de pages de \LaTeX, ne peut pas disposer, pour la plupart du temps, +d’une traduction anglaise.\\[1em] + +\begin{tabular}{|l|l|l|}\hline +\rule{0pt}{1.1em}\textit{Composition en anglais}&\textit{Texte source}&\textit{Composition en français}\\\hline +\rule{0pt}{1em}References &\tt{\backslash}refname &Références \index{refname@\verb'\refname '} \\ +Abstract &\tt{\backslash}abstractname &Résumé \index{abstractname@\verb'\abstractname '} \\ +Table of Contents &\tt{\backslash}contentsname &Table des matières \index{contentsname@\verb'\contentsname'}\\ +List of Figures &\tt{\backslash}listfigurename &Table des figures \index{listfigurename@\verb'\listfigurename'}\\ +List of Tables &\tt{\backslash}listtablename &Liste des tableaux\index{listtablename@\verb'\listtablename'} \\ +Index &\tt{\backslash}indexname &Index \index{indexname@\verb'\indexname'} \\ +Figure &\tt{\backslash}figurename &Fig. \index{figurename@\verb'\figurename'} \\ +Table &\tt{\backslash}tablename &Tab. \index{tablename@\verb'\tablename'} \\ +Part &\tt{\backslash}partname &partie \index{partname@\verb'\partname'} \\ +\hline +\end{tabular} + +\bigskip +Il s’agit là de quelques commandes standard de \LaTeX{} mais \textit{frenchle} en +introduit d’autres dans certains environnements de classe ou d’extensions : + +\bigskip +\begin{tabular}{|l|l|l|}\hline +\rule{0pt}{1.1em}\textit{Composition en anglais}&\textit{Texte source}&\textit{Composition en français}\\\hline +\rule{0pt}{1em}see &\tt{\backslash}seename &voir \index{seename@\verb'\seename'} \\ +see also &\tt{\backslash}seealsoname &voir aussi \index{seealsoname @\verb'\seealsoname '}\\ +Glossary &\tt{\backslash}glossaryname &Glossaire \index{glossaryname@\verb'\glossaryname'} \\ +Keywords: &\tt{\backslash}kwname &Mots-clé : \index{kwname@\verb'\kwname'}\\ +DRAFT &\tt{\backslash}draftname &- épreuve - \index{draftname@\verb'\draftname'}\\ +Preface &\tt{\backslash}prefacename &Préface \index{prefacename@\verb'\prefacename'} \\ +Proof &\tt{\backslash}proofname &Démonstration\index{proofname@\verb'\proofname'} \\ +To &\tt{\backslash}headtoname\verb|\mbox{}|& \index{headtoname@\verb'\headtoname'}\\ +cc &\tt{\backslash}ccname &c.c. \index{ccname@\verb'\ccname'}\\ +Encl &\tt{\backslash}enclname &P.j. \index{enclname@\verb'\enclname'} \\ +PS: &\tt{\backslash}PSname &P.-S. : \index{PSname@\verb'\PSname'} \\ +Subject: &\tt{\backslash}Objectname &Objet : \index{Objectname@\verb'\Objectname'} \\ +Your Ref: &\tt{\backslash}YourRefname &v/réf. : \index{YourRefname@\verb'\YourRefname'} \\ +Our Ref: &\tt{\backslash}OurRefname &n/réf. : \index{OurRefname@\verb'\OurRefname'} \\ +email: &\tt{\backslash}emailname &m.él. : \index{emailname@\verb'\emailname'}\\ +Slide &\tt{\backslash}slidename &Transparent \index{slidename@\verb'\slidename'} \\ +Notes &\tt{\backslash}notesname &Notes \index{notesname@\verb'\notesname'}\\ +Appendix &\tt{\backslash}appendixname &Annexe \index{appendixname@\verb'\appendixname'} \\ +\hline % +\end{tabular}\\[1em] +(Le libellé {\tt{\backslash}draftname} est destiné à une utilisation en PostScript) + +D’autres libellés peuvent être employés dans d’autres extensions ; leur traduction +dépendra de l’interaction de celle-ci avec \textit{frenchle}. Pour être garanti +d’obtenir l’interaction maximum il est souhaitable de coder l’option \textsl{french} +dans {\tt{\backslash}documentclass}\index{classe!de document} + (voir les autres possibilités au paragr. \ref{peutfaire} page \pageref{peutfaire}) :\\[1em] +\rule{0pt}{1em}\hfill\fbox{ +\begin{minipage}{90mm} + \backslash\texttt{documentclass[french]}\{\textit{classe\_de\_documents}\}\\ + \backslash\texttt{usepackage}\{\textit{extension 1}\}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \backslash\texttt{usepackage}\{\textit{extension n-1} \}\\ + \backslash\texttt{usepackage}\{\texttt{frenchle}\}\\ + \backslash\texttt{begin\{document\}} +\end{minipage} +}\hfill\rule{0pt}{1em}\\[.5em] + +Cette simple option sera alors passée à toutes les extensions qui ont prévu +une traduction en français ; la première de ces extensions étant \textit{frenchle} +elle-même (ou \texttt{babel}\index{extension!babel@\verb'babel'} si vous utilisez d’autres langues que l’anglais et le français ; cf +paragr. \ref{multilin} page \pageref{multilin}). +Vous pouvez, bien sûr, à tout moment modifier la traduction des libellés de +votre choix en redéfinissant les macros-instructions mais il est préférable de le +faire avant le \texttt{{\backslash}begin\{document\}}. + +\noindent +\begin{minipage}{\textwidth} +\begin{center} %============================= +\textit{Texte source}\\[.5ex] +{\large +\begin{boxedverbatim} +\fraddto\captionsfrench{\def\figurename{Figurine}} + +\begin{figure} + \begin{tabular}{|c|} + \hline + \centerline{Peu importe la figurine.}\\ + \hline +\end{tabular} +\caption{Une nouvelle figurine} +\end{figure} +\end{boxedverbatim} +}\\[.5em] +\end{center} +\end{minipage} +\begin{center} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{60mm}{ +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{55mm} +\nofrenchtypography\nofrenchlayout{ +\noindent +\rule{0pt}{1pt}\hfill \fbox{ +\large Peu importe la figurine}\hfill\rule{0pt}{1pt}\\ +} +\rule{0pt}{1pt}\hfill\rule{0pt}{1.5em} Figure 1: Une nouvelle figurine\hfill\rule{0pt}{1pt}\\ +\end{minipage} +}% +\end{center} +}% +\parbox{65mm}{ +\begin{center} +\textit{Composition avec frenchle} +\fbox{ +\begin{minipage}{60mm} +\hfill\fbox{\large Peu importe la figurine}\hfill\rule{0pt}{1pt}\\[1em] +\centerline{{Figurine} 1 -- \textit{Une nouvelle figurine }}\\ +\end{minipage}} +\end{center} +} +% +\end{center} % =========================== + +On notera que les définitions sont introduites simplement à la façon \TeX{} pour +s’appliquer dans toutes les circonstances. + +Les titres des figures et des tableaux sont précisés avec l’ordre \texttt{{\backslash}caption} (au +dessus dans le cas d’un tableau ; en dessous dans le cas d’une figure) comme +dans l’exemple ci-après. +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\[.5em] +{%\large +\begin{boxedverbatim} +\begin{figure} + \begin{tabular}{|c|} + \hline + \centerline{Peu importe la figure.}\\ + \hline + \end{tabular} +\caption{Une figure explicative} +\end{figure} + +\begin{table} +\caption{Exemple de tableau}\medskip + \begin{tabular}{|c|} + \hline + \centerline{Peu importe le tableau.}\\ + \hline + \end{tabular} +\end{table} +\end{boxedverbatim} +} +\\[.5em] +\end{center} +\end{minipage}%{\textwidth} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{70mm}{ +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{65mm} +\nofrenchtypography\nofrenchlayout{ +\noindent +\rule{0pt}{1pt}\hfill \fbox{ + \hspace{2em}Peu importe la figure\hspace{2em}}\hfill\rule{0pt}{1pt}\\ +} +\rule{0pt}{1pt}\hfill\rule{0pt}{1.5em} Figure 1: Une figure explicative\hfill\rule{0pt}{1pt}\\[3em] +\rule{0pt}{1pt}\hfill\rule{0pt}{1.5em} Table 1: Exemple de tableau\hfill\rule{0pt}{1pt}\\ +\rule{0pt}{1pt}\hfill \fbox{ + \hspace{2em}Peu importe le tableau.\hspace{2em}}\hfill\rule{0pt}{1pt} +\end{minipage} +}% +\end{center} +}% +\parbox{70mm}{ +\begin{center} +\textit{Composition avec frenchle} +\fbox{ +\begin{minipage}{65mm} +\hfill\fbox{\hspace{1em}Peu importe la figure\hspace{1em}}\hfill\rule{0pt}{1pt}\\[.75em] +\centerline{\textsc{Fig.} 1 -- \textit{Une figure explicative }}\\[3.65em] +\centerline{\textsc{Tab.} 1 -- \textit{Exemple de tableau }}\\[.05em] +\rule{0pt}{1pt}\hfill\fbox{\hspace{2em}Peu importe le tableau\hspace{2em}}\hfill\rule{0pt}{1pt} +\end{minipage}} +\end{center} +} +% +\end{center} % =========================== + +La composition de ces titres est contrôlée avec l’aide des ordres +\texttt{{\backslash}captionfont}\index{captionfont@\verb'\captionfont'} +et\\ \texttt{{\backslash}captionseparator}\index{captionseparator@\verb'\captionseparator'} : + +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\renewcommand{\captionfont}{\upshape + \bfseries\selectfont} +\renewcommand{\captionseparator}{$\Rightarrow$} + +\begin{figure} +\begin{tabular}{|c|} +\hline +\centerline{Peu importe la figure.}\\ +\hline +\end{tabular} +\caption{Une figure explicative} +\end{figure} +\end{boxedverbatim} +\\[.5em] +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\parbox{70mm}{ +\begin{center} +\textit{Composition standard} +\fbox{\begin{minipage}{65mm} +\nofrenchtypography\nofrenchlayout{ +\noindent +\rule{0pt}{1pt}\hfill \fbox{ +\hspace{2em}Peu importe la figure.\hspace{2em}}\hfill\rule{0pt}{1pt}\\ +} +\rule{0pt}{1pt}\hfill\rule{0pt}{1.5em} Figure 1: Une figure explicative\hfill\rule{0pt}{1pt}\\ +\end{minipage} +}% +\end{center} +}% +\parbox{70mm}{ +\begin{center} +\textit{Composition avec frenchle} +\fbox{ +\begin{minipage}{65mm} +\hfill\fbox{\hspace{2em}Peu importe la figure\hspace{2em}}\hfill\rule{0pt}{1pt}\\[1em] +\centerline{\textsc{Fig.} 1$\Rightarrow$ \textbf{Une figure explicative }}\\ +\end{minipage}} +\end{center} +} +% +\end{center} % =========================== + +Tous les effets précédents sont contrôlés par les ordres +\texttt{{\backslash}frenchtypography}\index{frenchtypography@\verb'\frenchtypography'} +et \texttt{{\backslash}frenchtrans\-lation} \index{frenchtranslation@\verb'\frenchtranslation'} +( et leurs inverses \texttt{{\backslash}nofrenchtypography} +\index{nofrenchtypography@\verb'\nofrenchtypography'} +et \texttt{{\backslash}nofrench\-translation)} ; \index{nofrenchtranslation@\verb'\nofrenchtranslation'} +faisons un essai avec \texttt{{\backslash}nofrenchtranslation} : +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} %============================= +\textit{Texte source}\\ +\begin{boxedverbatim} +{\nofrenchtranslation + \begin{table} + \caption{Titres divers}\medskip + \begin{tabular}{|c|c|} + \hline + \verb|\tablename| & \tablename \\ + \verb|\appendixname| & \appendixname \\ + \verb|\figurename| & \figurename \\ + \verb|\abstractname| & \abstractname \\ + \verb|\contentsname| & \contentsname \\ + \hline + \end{tabular} + \end{table} +} +\end{boxedverbatim} +\end{center} +\end{minipage} +\\[.5em] +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} + +\noindent +\parbox{70mm}{ +\begin{center} +\textit{Composition standard} \small \nofrenchtranslation +\begin{tabular}{|@{}c|c|c|@{}c|}\hline +\multicolumn{4}{|c|} {\rule{0pt}{1.2em}Table 1: Titres divers}\\[.2em]\cline{2 - 3} +\rule{0pt}{1.2em}&\tt{\backslash}tablename & \tablename&\\ +&\tt{\backslash}appendixname & \appendixname& \\ +&\tt{\backslash}figurename& \figurename&\\ +&\tt{\backslash}abstractname&\abstractname&\\ +&\tt{\backslash}contentsname&\contentsname&\\\cline{2 - 3} +\multicolumn{4}{|c|}{}\\\hline +\end{tabular} +\end{center} +}% +\parbox{70mm}{ +\begin{center} +\textit{Composition avec frenchle} \small \nofrenchtranslation +\begin{tabular}{|@{}c|c|c|@{}c|}\hline +\multicolumn{4}{|c|} {\rule{0pt}{1.2em}Table 1: \textit{Titres divers}}\\[.2em]\cline{2 - 3} +\rule{0pt}{1.2em}&\tt{\backslash}tablename & \tablename&\\ +&\tt{\backslash}appendixname & \appendixname& \\ +&\tt{\backslash}figurename& \figurename&\\ +&\tt{\backslash}abstractname&\abstractname&\\ +&\tt{\backslash}contentsname&\contentsname&\\\cline{2 - 3} +\multicolumn{4}{|c|}{}\\\hline +\end{tabular}\end{center} +} +% +\end{center} % =========================== + +et maintenant mettons simplement \verb'\nofrenchtypography'\index{nofrenchtypography@\verb'\nofrenchtypography'} +pour voir quel effet +cela produit sur le même tableau ; il va falloir ouvrir l’œil ! +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\ +\begin{boxedverbatim} +{\nofrenchtypography + \begin{table} + \caption{Titres divers}\medskip + \begin{tabular}{|c|c|} + \hline + \verb|\tablename| & \tablename \\ + \verb|\appendixname| & \appendixname \\ + \verb|\figurename| & \figurename \\ + \verb|\abstractname| & \abstractname \\ + \verb|\contentsname| & \contentsname \\ + \hline + \end{tabular} + \end{table} +} +\end{boxedverbatim} +\\[.5em] +\end{center} +\end{minipage}%{\textwith} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} + +\noindent +\parbox{70mm}{ +\begin{center} \nofrenchtypography +\textit{Composition standard} \small \nofrenchtranslation +\begin{tabular}{|@{}c|c|c|c@{}|}\hline +\multicolumn{4}{|c|} {\rule{0pt}{1.2em}Table 1: Titres divers}\\[.2em]\cline{2 - 3} +\rule{0pt}{1.2em}&\tt{\backslash}tablename & \tablename&\\ +&\tt{\backslash}appendixname & \appendixname& \\ +&\tt{\backslash}figurename& \figurename&\\ +&\tt{\backslash}abstractname&\abstractname&\\ +&\tt{\backslash}contentsname&\contentsname&\\\cline{2 - 3} +\multicolumn{4}{|c|}{}\\\hline +\end{tabular} +\end{center} +}% +\parbox{70mm}{ +\begin{center} \nofrenchtypography +\textit{Composition avec frenchle} \small +\begin{tabular}{|@{}c|c|c|c@{}|}\hline +\multicolumn{4}{|c|} {\rule{0pt}{1.2em}\textsc{Tab.} %Table +1: {Titres divers}}\\[.2em]\cline{2 - 3} +\rule{0pt}{1.2em}&\tt{\backslash}tablename & \tablename&\\ +&\tt{\backslash}appendixname & \appendixname& \\ +&\tt{\backslash}figurename& \figurename&\\ +&\tt{\backslash}abstractname&\abstractname&\\ +&\tt{\backslash}contentsname&\contentsname&\\\cline{2 - 3} +\multicolumn{4}{|c|}{}\\\hline +\end{tabular}\end{center} +} +% +\end{center} % =========================== +%\subparagraph +{\textbf{ Remarque de B. \textsc{Gaulle}}} Avez-vous trouvé où la +\texttt{{\backslash}frenchtypography}\index{frenchtypography@\verb'\frenchtypography'} +n’est pas appliquée ici ? + Bravo ! +\subsection{La mise en page} +L’extension \textit{frenchle} modifie la mise en page de \LaTeX.\index{mise en page} Premier exemple : +avec \LaTeX, par défaut, tous les débuts de paragraphes sont mis en retrait de +la marge, sauf pour les premiers paragraphes de partie, chapitre, section, etc. +L’extension \textit{frenchle} corrige ce problème :\\[1em] +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\ +\begin{boxedverbatim} +\section{Nouvelle section} +Le premier paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. + +Le second paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. +\end{boxedverbatim} +\\[.5em] +\end{center} +\end{minipage} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\noindent +\parbox{70mm}{ +\begin{center} \nofrenchtypography +\textit{Composition standard} \small +\end{center} +\fbox{ +\begin{minipage}{60mm} +{\Large \bf 1\hspace{.5em} Nouvelle section}\\ +\rule{0pt}{2.1em}Le premier paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. + +\hspace*{1.5em}Le second paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. +\end{minipage} +} +}% +\parbox{70mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} \small +\end{center} +\fbox{ +\begin{minipage}{60mm} +{\Large \bf 1\hspace{.5em} Nouvelle section}\\ +\hspace*{1.5em\rule{0pt}{2.1em}}Le premier paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. + +\hspace*{1.5em}Le second paragraphe débute ainsi. +Ceci est un texte de remplissage sans +intérêt. +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + +Si vous souhaitez, pour d’autres besoins, utiliser l’extension \texttt{titlesec}, alors +\textit{frenchle} adoptera les options (\texttt{indentfirst}\index{indentfirst@\verb'\indentfirst'} +ou \texttt{nonindentfirst}\index{nonindentfirst@\verb'\nonindentfirst'}) par défaut ou +précisées au chargement de l’extension. + +Avec l’extension \textit{frenchle} la mise en page des listes est différente au niveau +des marqueurs et des espacements verticaux : +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} %============================= +\textit{Texte source}\\[.5ex] +\begin{boxedverbatim} +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; + \begin{itemize} + \item sous-élément ... + \end{itemize} +\item dernier élément. +\end{itemize} +\end{boxedverbatim} +\\[.5em] +\end{center} +\end{minipage} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\noindent +\frlabelitems{\renewcommand{\labelitemi}{--}% +\renewcommand{\labelitemii}{--}% +\renewcommand{\labelitemiii}{--}% +} +\parbox[t]{65mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} \small +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{55mm} +La liste se compose de : +\begin{itemize} +\item [\textbullet]premier élément de la liste ; +\item [$\bullet$]deuxième élément ; +\begin{itemize} +\item [--]sous-élément ... +\end{itemize} +\item [$\bullet$]dernier élément. +\end{itemize} +\end{minipage} +} +}% +%\renewcommand{\FrenchLabelItem}{\textemdash} +%\frlabelitems{\renewcommand{\labelitemi}{--}% +%\renewcommand{\labelitemii}{--}% +%\renewcommand{\labelitemiii}{--}}% +\parbox[t]{65mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} \small +\end{center} +\fbox{ +\begin{minipage}{55mm} +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +\begin{itemize} +\item sous-élément ... +\end{itemize} +\item dernier élément. +\end{itemize} + +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + +Les espacements verticaux sont gérés par les ordres \\ +\texttt{\backslash{}frenchtrivsep}\index{frenchtrivsep@\verb'\frenchtrivsep'} et +\texttt{\backslash{}nofrenchtrivsep}\index{nofrenchtrivsep@\verb'\nofrenchtrivsep'} : + +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +{\nofrenchtrivsep + +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +\item dernier élément. +\end{itemize} +} +\end{boxedverbatim} +\\[.5em]\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\noindent +\frlabelitems{\renewcommand{\labelitemi}{--}% +\renewcommand{\labelitemii}{--}% +\renewcommand{\labelitemiii}{--}% +} +\parbox[t]{65mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} \small +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{55mm} +La liste se compose de : +\begin{itemize} +\item [$\bullet$]premier élément de la liste ; +\item [$\bullet$]deuxième élément ; +%\begin{itemize} +%\item [--]sous-élément ... +%\end{itemize} +\item [$\bullet$]dernier élément. +\end{itemize} +\end{minipage} +} +}% +%\renewcommand{\FrenchLabelItem}{\textemdash} +%\frlabelitems{\renewcommand{\labelitemi}{--}% +%\renewcommand{\labelitemii}{--}% +%\renewcommand{\labelitemiii}{--}}% +\parbox[t]{65mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} \small +\end{center} +\fbox{\nofrenchtrivsep +\begin{minipage}{55mm} +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +%\begin{itemize} +%\item sous-élément ... +%\end{itemize} +\item dernier élément. +\end{itemize} + +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + +Les valeurs d’espacement sont appliqués par \textit{frenchle} à tous les environnements +de liste, de façon homogène. À chaque fois que vous essaierez de modifier +la valeur de ces dimensions (ou qu’une extension le fera à votre place) vous serez +pévenu par \textit{frenchle} que celà n’est pas possible de la sorte. L’affichage de ces +messages\index{messages} d’avertissement est contôlé par les ordres +\verb|\frenchtrivsepwarnings|\index{frenchtrivsepwarnings@\verb'\frenchtrivsepwarnings'} +et \verb|\nofrenchtrivsepwarnings|\index{nofrenchtrivsepwarnings@\verb'\nofrenchtrivsepwarnings'}. + +Vous pouvez choisir vos propres valeurs d’espacement dans les listes en +utilisant l’ordre \\\verb|\frtrivseplengths| et dans ce cas les messages d’avertisssement +précités ne sont plus émis (sauf à +rajouter \verb|\frenchtrivsepwarnings|\index{frenchtrivsepwarnings@\verb'\frenchtrivsepwarnings'} +dans \verb|\frtrivseplengths|)\index{frtrivseplengths@\verb'\frtrivseplengths'} + ; l’exemple suivant vous le démontre. + +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\frtrivseplengths{% + \setlength{\parsep}{0.1ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.1ex plus 0.1ex minus 0.1ex}% + \setlength{\topsep}{0.2ex plus 0.2ex minus 0.2ex}% + \setlength{\partopsep}{0.8ex plus 0.8ex minus 0.8ex}% + } + +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +\item dernier élément. +\end{itemize} +\end{boxedverbatim} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\noindent +\frlabelitems{\renewcommand{\labelitemi}{--}% +\renewcommand{\labelitemii}{--}% +\renewcommand{\labelitemiii}{--}% +} +\parbox[t]{65mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} \small +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{55mm} +La liste se compose de : +\begin{itemize} +\item [$\bullet$]premier élément de la liste ; +\item [$\bullet$]deuxième élément ; +%\begin{itemize} +%\item [--]sous-élément ... +%\end{itemize} +\item [$\bullet$]dernier élément. +\end{itemize} +\end{minipage} +} +}% +%\renewcommand{\FrenchLabelItem}{\textemdash} +%\frlabelitems{\renewcommand{\labelitemi}{--}% +%\renewcommand{\labelitemii}{--}% +%\renewcommand{\labelitemiii}{--}}% +\parbox[t]{65mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} \small +\end{center} +\fbox{%\nofrenchtrivsep +\begin{minipage}{55mm} +\frtrivseplengths{% +\setlength{\parsep}{0.1ex plus 0.1ex minus 0.1ex}% +\setlength{\itemsep}{0.1ex plus 0.1ex minus 0.1ex}% +\setlength{\topsep}{0.2ex plus 0.2ex minus 0.2ex}% +\setlength{\partopsep}{0.8ex plus 0.8ex minus 0.8ex}% +} + +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +%\begin{itemize} +%\item sous-élément ... +%\end{itemize} +\item dernier élément. +\end{itemize} + +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + +Vous pouvez aussi changer les marqueurs de liste en faisant appel à la +commande spéciale \verb|\frlabelitems|\index{frlabelitems@\verb'\frlabelitems'} comme dans l’exemple (sans aucun intérêt typographique) +suivant : + +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} %============================= +\textit{Texte source}\\\index{labelitemi@\verb'\labelitemi'}\index{labelitemii@\verb'\labelitemii'}\index{labelitemiii@\verb'\labelitemiii'} +\begin{boxedverbatim} +\frlabelitems{\renewcommand{\labelitemi}{*}% + \renewcommand{\labelitemii}{**}% + \renewcommand{\labelitemiii}{***}% + } +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; + \begin{itemize} + \item sous-élément ... + \end{itemize} +\item dernier élément. +\end{itemize} +\end{boxedverbatim} +\end{center} +\end{minipage} +\setcounter{mpfootnote}{1} %- - - - - - - - - - - - - - - - - - - - - - - - counter mpfootnote +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +\noindent +\parbox[t]{65mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} \small +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{55mm} +\frlabelitems{\renewcommand{\labelitemi}{*}% +\renewcommand{\labelitemii}{**}% +\renewcommand{\labelitemiii}{***}% + } +La liste se compose de : +\begin{itemize} +\item [\textbullet]premier élément de la liste ; +\item [$\bullet$]deuxième élément ; +\begin{itemize} +\item [--]sous-élément ... +\end{itemize} +\item [$\bullet$]dernier élément. +\end{itemize} +\end{minipage} +} +}% +\parbox[t]{65mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} \small +\end{center} +\fbox{ +\begin{minipage}{55mm} +\frlabelitems{\renewcommand{\labelitemi}{*}% +\renewcommand{\labelitemii}{**}% +\renewcommand{\labelitemiii}{***}% +} +La liste se compose de : +\begin{itemize} +\item premier élément de la liste ; +\item deuxième élément ; +\begin{itemize} +\item sous-élément ... +\end{itemize} +\item dernier élément. +\end{itemize} + +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== +\frlabelitems{\renewcommand{\labelitemi}{--}% +\renewcommand{\labelitemii}{--}% +\renewcommand{\labelitemiii}{--}% +} + + +L’extension \textit{frenchle} s’adapte à la classe de document demandée ; la mise +en page peut donc être extrêmement différente, voici un exemple avec la classe +\texttt{letter}\index{classe!letter@\texttt{letter}} : +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\address{B. \textsc{Gaulle}\\ Mon adresse} +\begin{letter} + {M. Dupond\\ + 17, rue St. \’Eloi\\ + 24140 La Monzie Montastruc} + + \opening{Cher Monsieur X,} + + La documentation est là ! + + \closing{Bonne lecture.} + \cc{Monsieur le directeur Y} + \encl{lettre du ministre Z} +\end{letter} +\end{boxedverbatim} + +\noindent +\parbox[t]{66mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{61mm} \scriptsize +\begin{flushright} +\begin{tabular}{l@{}} +B. \textsc{Gaulle}\\ + Mon adresse\\[2ex] +April 28, 2012 +\end{tabular} +\end{flushright} +{M. Dupond\\ +17, rue St.Éloi\\ +24140 La Monzie Montastruc}\\[1.5ex] + +{Cher Monsieur X,}\\[-.5ex] + +La documentation est là !\\[1ex] +%\rule{0pt}{1pt}\hfill\hfill{Bonne lecture.}\hfill\rule{0pt}{1pt}\\ +\centerline{\phantom{Bonne lecture.}Bonne lecture.}\\[11ex] +cc: Monsieur le directeur Y\\[.5ex] +encl: lettre du ministre Z +\end{minipage} +} +}% +\parbox[t]{66mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} +\end{center} +\fbox{ +\begin{minipage}{61mm}\scriptsize +B. \textsc{Gaulle}\\ + Mon adresse\\[-2.5ex] +\begin{flushright} +\begin{tabular}{l@{}} +M. Dupond\\ +17, rue St.Éloi\\ +24140 La Monzie Montastruc\\[6ex] +Le 28 avril 2012\\[3.5ex] +\end{tabular} +\end{flushright} +\rule{3em}{0pt}Cher Monsieur X,\\[5ex] +\rule{5em}{0pt}La documentation est là !\\[2ex] +\rule{5em}{0pt}Bonne lecture.\\[15ex] +c.c. : Monsieur le directeur Y\\ +P. j. : lettre du ministre Z +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + +Bien entendu, l’adresse de l’expéditeur doit se retrouver dans la fenêtre de +l’enveloppe.\\ + + +Avec la classe \texttt{book}\index{classe!book@\texttt{book}} \textit{frenchle} s’efforce de maintenir la numérotation des +pages au même endroit tout au long du document (contrairement à \LaTeX) ; par +ailleurs la mise en page du titre courant et des débuts de partie sont différentes : + +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\chapter{Nouveau chapitre} + +\section{Nouvelle section} + +Il était une fois dans la villle de Foix un ... +\end{boxedverbatim} + +\noindent +\parbox[t]{66mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition standard} +\end{center} +\fbox{ +\begin{minipage}{61mm} %\scriptsize +\vspace{7ex} +{\large\textbf{Chapter 2\\[1ex] +Nouveau chapitre}}\\[3ex] +\textbf{2.1.\hspace{1em} Nouvelle section}\\[1ex] +{\tiny Il était une fois dans la villle de Foix un ...}\\[5.5ex] +\begin{center} +{\tiny {3}} +\end{center} +\end{minipage} +} +}% +\parbox[t]{66mm}{ +\begin{center} +\textit{Composition avec frenchle} +\end{center} +\fbox{ +\begin{minipage}{61mm}%\scriptsize +%\centerline{\tiny \textsc{CHAPITRE 2\hspace{2em}NOUVEAU CHAPITRE}} +{\tiny \rule{1em}{0pt}\hfill 3\rule{1em}{0pt}}\\[6ex] +{\large\textbf{Chapitre 2\\[1ex] +Nouveau chapitre}}\\[3ex] +\textbf{2.1.\hspace{1em} Nouvelle section}\\[1ex] +\rule{2ex}{0pt}{\tiny Il était une fois dans la villle de Foix un ...}\\[8ex] +\rule{1em}{0pt} +\end{minipage}%\\[1.5em] +} +} +\end{center} % =========================== + +À chaque changement de partie la numérotation des chapitres est remise à +zéro ; si vous ne le souhaitez pas il suffit de coder \verb|\noresetatpart|\index{noresetatpart@\verb'\noresetatpart'}. + +Dans le même registre, \LaTeX{} remet à zéro le compteur de notes de bas de +page à chaque chapitre ; si vous ne le souhaitez pas il suffit alors de coder l’ordre +\verb|\noresetatchapter|\index{noresetatchapter@\verb'\noresetatchapter'}.\\ + +L’extension \textit{frenchle} tient compte aussi des styles ou classes de documents +de l’AMS\index{classe!amsbook@\texttt{amsbook}} : + +\begin{center} %============================= +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\chapter{Nouveau chapitre avec amsbook} + +\section{Nouvelle section} + +Il était une fois un livre que +j’avais composé avec amour ... +\end{boxedverbatim} + +\noindent +\parbox[t]{66mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition standard} +\end{center} +\fbox{ +\begin{minipage}{61mm} %\scriptsize \tinySMALL +\begin{center} +{\scriptsize \textsc CHAPTER 2}\\[5ex] +\textbf{Nouveau chapitre avec amsbook}\\[3ex] +\textbf{\small 1.\hspace{1em} Nouvelle section}\\[.5ex] +\end{center} +{\scriptsize Il était une fois un livre que +j’avais composé avec amour ...}\\[9ex] +\centerline{\tiny 3} +\end{minipage} +} +}% +\parbox[t]{66mm}{ +\begin{center} +\textit{Composition avec frenchle} +\end{center} +\fbox{ +\begin{minipage}{61mm}%\scriptsize +{\tiny \hfill 1.\hspace{1em}NOUVELLE SECTION\hfill{3}}\\[7ex] +\begin{center} +CHAPITRE 2\\[3ex] +\textbf{Nouveau chapitre avec amsbook}\\[1ex] +\textbf{\small 1.\hspace{1em} Nouvelle section}\\[1ex] +\end{center} +{\scriptsize Il était une fois un livre que +j’avais composé avec amour ...} +\end{minipage} +} +}%\\[1.5em] +% +\end{center} % =========================== +\vspace{1ex} + +Toute la mise en page et différentes choses dont on a déjà parlé (comme les +notes dans les tables et les notes consécutives) sont en fait contrôlées par les +ordres \verb|\frenchlayout| (qui est l’option par défaut)\index{frenchlayout@\verb'\frenchlayout'} + et \verb|\nofrenchlayout| ; \index{nofrenchlayout@\verb'\nofrenchlayout'} +voici à nouveau l’exemple avec la classe \texttt{letter}\index{classe!letter@\texttt{letter}} : +\begin{center} %============================= +\begin{minipage}{\textwidth} +\begin{center} +\textit{Texte source}\\[1ex] +\begin{boxedverbatim} +\nofrenchlayout +\address{B. \textsc{Gaulle}} +\begin{letter} +{M. Dupond\\ +17, rue St. \’Eloi\\ +24140 La Monzie Montastruc} + +\opening{Cher Monsieur X,} + +La documentation est là ! + +\closing{Bonne lecture.} +\cc{Monsieur le directeur Y} +\encl{lettre du ministre Z} +\end{letter} +\end{boxedverbatim} +\end{center} +\end{minipage} + +\noindent +\parbox[t]{66mm}{ +\begin{center} \nofrenchtypography \nofrenchlayout \english +\textit{Composition standard} +\end{center} +\fbox{ \nofrenchtrivsep +\begin{minipage}{61mm} \scriptsize +\begin{flushright} +\begin{tabular}{l@{}} +B. \textsc{Gaulle}\\ + \\[2ex] +April 28, 2012 +\end{tabular} +\end{flushright} +{M. Dupond\\ +17, rue St.Éloi\\ +24140 La Monzie Montastruc}\\[1.5ex] + +{Cher Monsieur X,}\\[-.5ex] + +La documentation est là !\\[1ex] +%\rule{0pt}{1pt}\hfill\hfill{Bonne lecture.}\hfill\rule{0pt}{1pt}\\ +\centerline{\phantom{Bonne lecture.}Bonne lecture.}\\[11ex] +cc: Monsieur le directeur Y\\[.5ex] +encl: lettre du ministre Z +\end{minipage} +} +}% +\parbox[t]{66mm}{ +\begin{center} \frenchtypography \frenchlayout +\textit{Composition avec frenchle} +\end{center} +\fbox{ +\begin{minipage}{61mm}\scriptsize +\begin{flushright} +\begin{tabular}{l@{}} +B. \textsc{Gaulle}\\ + \\[2ex] +28 April 2012 +\end{tabular} +\end{flushright} +{M. Dupond\\ +17, rue St.Éloi\\ +24140 La Monzie Montastruc}\\[1.5ex] + +{Cher Monsieur X,}\\[-.5ex] + +La documentation est là !\\[1ex] +%\rule{0pt}{1pt}\hfill\hfill{Bonne lecture.}\hfill\rule{0pt}{1pt}\\ +\centerline{\phantom{Bonne lecture.}Bonne lecture.}\\[11ex] +c.c. : Monsieur le directeur Y\\[.5ex] +P. j. : lettre du ministre Z +\end{minipage} +} +}\\[1.5em] +% +\end{center} % =========================== + \frenchtypography \frenchlayout + +\subsection{Le multilinguisme}\label{multilin} +Par défaut, \textit{frenchle} est bilingue français-anglais, c’est-à-dire que vous pouvez +composer des parties du document selon les habitudes typographiques +françaises et d’autres à l’anglaise (ou plutôt à l’américaine). Il existe plusieurs +méthodes pour réaliser cela : +\begin{description} +\item[1\iere méthode :] dès que vous souhaitez passer en anglais vous saisissez l’ordre +\verb|\english|\index{english@\verb'\english'} et lorsque vous désirez revenir au français vous +saisissez \verb|\french|\index{french@\verb'\french'}. +\begin{center} +\fbox{ +\begin{minipage}{65mm} +\centerline{\texttt{\backslash{}english} \textit{texte en anglais} \texttt{\backslash{}french}} +\end{minipage} +} +\end{center} +\item[2\ieme méthode :] puisque le document, par défaut, est en français vous pouvez +limiter la partie anglaise à un seul bloc \LaTeX{}: +\begin{center} +\fbox{ +\begin{minipage}{50mm} +\centerline{\texttt{\{\backslash{}english} \textit{texte en anglais} \}} +\end{minipage} +} +\end{center} +%{\english texte en anglais } +\item[3\ieme méthode :] consiste à appliquer la méthode \LaTeX{} c’est-à-dire à utiliser +l’environnement \texttt{english} : +\begin{center} +\fbox{ +\begin{minipage}{40mm} +\texttt{\backslash{}begin\{english\}}\\ +\textit{partie à l’anglaise}\\ +\texttt{\backslash{}end\{english\}} +\end{minipage} +} +\end{center} +\item[4\ieme méthode :] en utilisant l’extension \texttt{babel}\index{extension!babel@\verb'babel'} +(on lui préfèrera l’extension \texttt{babelfr}\index{extension!babelfr@\texttt{babelfr}}) : +\begin{center} +\fbox{ +\begin{minipage}{65mm} +\texttt{\backslash{}usepackage[frenchle]\{babelfr\}}\\ +\texttt{\backslash{}begin\{document\}}\\ +\vdots\\ +\texttt{\backslash{}selectlanguage\{english\}}\\ +\textit{\texttt{partie à l’anglaise}}\\ +\texttt{\backslash{}selectlanguage\{french\}} +\end{minipage} +}\\[1ex] +\end{center} +\end{description} + +\noindent Bien entendu, tout ce que l’on vient de dire est réversible ; je veux dire que +vous pouvez remplacer \texttt{english} par \texttt{french} si votre objectif est de composer +seulement quelques morceaux en français. + +Pour passer du \index{bilinguisme}bilinguisme +au multilinguisme il est nécessaire de faire appel \index{multilinguisme}\index{langues}\index{langages} +à d’autres extensions, la plus connue étant \texttt{babel} +(qui couvre un très grand nombre \index{extension!babel@\verb'babel'} +de langages) mais aussi l’extension \textsl{mlp}\index{extension!mlp@\textsl{mlp}} de Bernard \textsc{Gaulle} qui permet aussi +l’allemand et est distribuée avec \textsl{\befr}. \index{efrench@\textsl{\befr}} +Il est possible d'étendre \textsl{mlp}\index{extension!mlp@\textsl{mlp}} à d'autres langages. + +\paragraph*{ Faites donc le pas à \textsl{\befr}.} +Du moment que \textsl{\befr} est publié sous la même licence LPPL +que {\sl Frenchle}, rien ne s'oppose à ce que vous utilisiez +%\textsl{french} et +les autres outils de la distribution + \textsl{\befr} plutôt que {\it frenchle}. +Vous disposerez alors de nombreuses possibilités supplémentaires. +Tout se trouve dans les archives CTAN sous \index{efrench@\textsl{\befr}} +{\sl language/french/efrench}. + +\section{Ce que ne fait pas l'extension} +Les versions antérieures à \LaTeXe ne peuvent pas être utilisées avec \textit{frenchle}. +De même, le mode de compatibilité avec \LaTeX{} 2.09 n’est pas accepté par +\textit{frenchle}. + +L’extension \textit{frenchle} ne gère pas la coupure des mots (ou césure) ; cela est\index{césure} +un dispositif intégré à \LaTeX{} par un dispositif dérivé de \texttt{babel}\index{extension!babel@\verb'babel'}. +Celui-ci est normalement totalement contrôlé par la gestion des langues intégrée +à votre système (\TeX{} Live ou Mik\TeX, voir aussi sous \ref{multilingue} à la page \pageref{multilingue}). + +Les classes de document non standard (et a fortiori les classes « maison ») \index{classe!non standard@\textit{non standard}} %!frabbrev@\texttt{frabbrev.tex} +ne sont pas supportées par \textit{frenchle}. En dehors de ce principe il y a la pratique +qui est bien différente car toutes les classes de document sont en général +« calquées » sur les classes standard de \LaTeX{} et donc respectent les méthodes +de programmation et les structures \LaTeX{} qui sont nécessaires à \textit{frenchle}. Donc, +beaucoup de classes de document fonctionnent bien avec l’extension \textit{frenchle}. + +L’extension \textit{frenchle} ne corrige pas les erreurs de \LaTeX, cela va de soi, +quoique ... quand cela est possible nous essayons d’améliorer la situation. Ainsi, par +exemple, \LaTeX{} a la fâcheuse habitude de perdre les notes de bas de page dans +certaines situations (cf page \pageref{notesfigu}). Avec \textit{frenchle} vous serez prévenu en général que +le texte de votre note n’a pas été imprimé et un message vous donne même la méthode +pour vous en sortir. Aussi vaut-il mieux ne jamais supprimer les messages\index{messages} de +\textit{frenchle}. + +L’extension \textit{frenchle} ne cherche pas à remplacer les extensions ou autres dispositifs +efficaces qui existent par ailleurs ; citons, par exemple, l’extension \texttt{aeguill}\index{extension!aeguill@\verb'aeguill'} +pour obtenir des guillemets francais ou l’extension \texttt{lettrine}\index{extension!lettrine@\verb'lettrine'} pour obtenir des +grosses lettres en début de paragraphe. Notons que ces deux sujets sont traités +entièrement par \textsl{\befr} . +Raison de plus de faire le pas vers \textsl{\befr} .\index{efrench@\textsl{\befr}} +Pour faciliter le passage de \texttt{frenchb} à \textit{frenchle} le traitement des guillemets\index{guillemets} +de \texttt{frenchb} a été introduit dans \textit{frenchle} ; on dispose ainsi des commandes \verb|\og| +et \verb|\fg| ; voici un exemple d’utilisation : + +\begin{center} +\fbox{ +\begin{minipage}{60mm} +\texttt{\backslash{}usepackage[cm]\{aeguill\}}\\ +\vdots\\ +\texttt{\backslash{}usepackage\{frenchle\}}\\ +\texttt{\backslash{}begin\{document\}}\\ +\end{minipage} +} +\end{center} +\textbf{Remarque} : +l'appel de l'extension \texttt{\backslash{}usepackage[cm]\{aeguill\}}\index{extension!aeguill@\verb'aeguill'} + n'est \index{efrench@\textsl{\befr}} pas nécessaire si vous utilisez le codage T1\index{codage!T1} +de fontes (\texttt{\backslash{}usepackage[T1]\{fontenc\}}).\\ +\begin{center} +\begin{tabular}{l|l|} +\multicolumn{1}{c}{\textit{Texte source}}&\multicolumn{1}{c}{\textit{Composition avec frenchle}}\\\hline +\verb|frenchle est destiné à|&\rule{0pt}{2.5ex}frenchle est destiné à\\ +\verb|\og franciser \fg\ les|&\og franciser \fg\ les\\ +\verb|documents.|&documents\\ +\verb|Les classes [...] sont|&Les classes [...] sont\\ +\verb|\og calquées \fg\ |&\og calquées \fg\ \\ +\verb|sur les classes|&sur les classes\\ +\verb|standard. [...] Les classes|&standard. [...] Les classes\rule{1em}{0pt}\\ +\verb|non-standard (et \emph{a|&non-standard (et \emph{a}\\ +\texttt{fortiori\} les classes}&\emph{fortiori} les classes\\ +\verb|\og \emph{maison} \fg)|&\og \emph{maison} \fg)\\ +\verb|etc.|&etc.\\\cline{2-2} +\end{tabular}\\[2ex] +\end{center} +Ceci est une des mille et une façons d’accéder aux guillemets français. On +notera que dans le cas présent il me faut saisir un \texttt{\backslash\textvisiblespace} après le \texttt{\backslash{}fg} s’il doit y +avoir effectivement un espace après le guillemet fermant. + +\section{Ce que pourrait faire l'extension}\label{peutfaire} +Bien d’autres choses pourraient être ajoutées à \textit{frenchle} n’hésitez pas à faire +part de vos améliorations. Pour tester facilement ces améliorations vous pouvez +les inclure dans le fichier de configuration appelé \textit{frenchle}.cfg. Voici un +exemple permettant de saisir les guillemets (8bits, non utf-8) directement au clavier : +\begin{center} +\begin{boxedverbatim} +% Pour utiliser les guillemets 8-bits : +\catcode‘\« =\active\catcode‘\ »=\active +\def« {\og\ignorespaces}\def »{\fg} +\end{boxedverbatim} +\rule{0pt}{1ex}\\[2ex] +\begin{tabular}{l|l|} +\multicolumn{1}{c}{\textit{Texte source}}&\multicolumn{1}{c}{\textit{Composition avec frenchle}}\\\hline +\verb|frenchle est destiné à|&\rule{0pt}{2.5ex}frenchle est destiné à\\ +\texttt{« franciser » les}&« franciser » les\\ +\verb|documents.|&documents\\ +\verb|Les classes [...] sont|&Les classes [...] sont\\ +\texttt{« calquées » }&« calquées » \\ +\verb|sur les classes|&sur les classes\\ +\verb|standard. [...] Les classes|&standard. [...] Les classes\rule{1em}{0pt}\\ +\verb|non-standard (et \emph{a|&non-standard (et \emph{a}\\ +\texttt{fortiori\} les classes}&\emph{fortiori} les classes\\ +\texttt{«}\verb| \emph{maison}| \texttt{»})&\og \emph{maison} \fg)\\ +\verb|etc.|&etc.\\\cline{2-2} +\end{tabular}\\[2ex] +\end{center} + +L’avantage du fichier de configuration est que je n’ai rien à coder dans le +préambule du document et que ces modifications s’appliqueront automatiquement +à tous les documents utilisant \textit{frenchle} (avec une réserve dépendant de +l’emplacement exact du fichier \texttt{frenchle.cfg}\index{fichier!frenchle.cfg@\texttt{frenchle.cfg}}). + +Cette action n'est pas possible dans le codage d'entrée UTF-8, mais \textsl{frenchle} et +\textsl{french} du paquet \textsl{\befr} comprennnent correctement les guillemets +« et » sans devoir les définir dans un fichier accesoire. + +\section{Comment appeler \textit{frenchle} ?} +Plusieurs méthodes existent pour faire appel à \textit{frenchle}, en voici les trois +principales : +\begin{description} +\item[1\iere méthode :] demander le chargement de l’extension par l’ordre \verb|\usepackage| ; +dans ce cas placer cet ordre le plus près de l’ordre \verb|\begin{document}|\index{classe!de document} :\\[.5em] +\rule{0pt}{1em}\hfill\fbox{ +\begin{minipage}{90mm} + \backslash\texttt{documentclass}\{\textit{classe\_de\_documents}\}\\ + \backslash\texttt{usepackage}\{\textit{extension 1} \}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \backslash\texttt{usepackage}\{\textit{extension n-1} \}\\ + \backslash\texttt{usepackage}\{\texttt{frenchle}\}\\ + \backslash\texttt{begin\{document\}} +\end{minipage} +}\hfill\rule{0pt}{1em}\\[.5em] +\item[2\ieme méthode :] demander à ce que l’extension \texttt{babel}\index{extension!babel@\verb'babel'} + charge \textit{frenchle} (on préfèrera +plutôt faire appel à l’extension \texttt{babelfr}) :\index{extension!babelfr@\texttt{babelfr}}\\[.5em] +\rule{0pt}{1em}\hfill\fbox{ +\begin{minipage}{90mm} + \backslash\texttt{documentclass}\{\textit{classe\_de\_documents}\}\\ + \backslash\texttt{usepackage}\{\textit{extension 1} \}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \backslash\texttt{usepackage}\{\textit{extension n-1} \}\\ + \backslash\texttt{usepackage[frenchle]}\{\texttt{babelfr}\}\\ + \backslash\texttt{begin\{document\}} +\end{minipage} +}\hfill\rule{0pt}{1em}\\[.5em] + +\item[3\ieme méthode :] demander à ce que toutes les extensions puissent éventuellement +bénéficier de \textit{frenchle}, y compris \texttt{babelfr}\index{extension!babelfr@\texttt{babelfr}} +qui chargera automatiquement \index{classe!de document} +\textit{frenchle} :\\[.5em] +\rule{0pt}{1em}\hfill\fbox{ +\begin{minipage}{100mm} + \backslash\texttt{documentclass[french]}\{\textit{classe\_de\_documents}\}\\ + \backslash\texttt{usepackage}\{\textit{extension 1} \}\\ +\rule{0.4\textwidth}{0pt} \vdots \\ + \backslash\texttt{usepackage}\{\textit{extension n-1} \}\\ + \backslash\texttt{usepackage\{babelfr}\}\\ + \backslash\texttt{begin\{document\}} +\end{minipage} +}\hfill\rule{0pt}{1em}\\[.5em] +On notera que nous codons \texttt{french} et non pas \texttt{frenchle} ; ceci est volontaire +car les extensions peuvent reconnaître des noms de langage (ici \textsl{french}) +mais pas les noms des extensions (variés) qui définissent les actions. Dans +le cas présent l’option \textsl{french}\index{option french@option \verb'french'} sera interprétée au niveau de +\texttt{babelfr}\index{extension!babelfr@\texttt{babelfr}} et \index{efrench@\textsl{\befr}} +donnera lieu soit au chargement de \textit{frenchle} soit à celui de \textsl{french} de la distribution \textsl{\befr} si celui-ci existe +dans votre installation. +\end{description} + +Une quatrième méthode existe avec \textsl{\befr} en substituant \textsl{mlp}\index{extension!mlp@\textsl{mlp}} à l’extension +\texttt{babel}\index{extension!babel@\verb'babel'}, offrant alors d’autres possibilités mais cela n’est pas l’objet de +cette documentation. +%\pagebreak +\section{Messages}\label{messag} +Voici l’ensemble des messages\index{messages} émis par \textit{frenchle} avec leurs explications. Pour +aborder cette partie il est fortement conseillé d’avoir lu, au moins une fois, la +\linkandfootnote{lafaq}{FAQ}{http://www.efrench.org/distributions/faq.pdf} +sur la francisation de \LaTeX.\\ +\begin{verbatim} +-8a- \footnotetext{...} perdu. +-8b- Coder event. \protect\footnote. +\end{verbatim} +Signifie en général que vous avez utilisé une \backslash{}footnote dans un \backslash{}caption +de tableau. L’extension \textit{frenchle} ne pouvant mettre correctement le texte +de la note en bas de page (défaut actuel de \LaTeX), vous devez, vous +même, insérer la commande \texttt{\backslash{}footnotetext{...}} +après le tableau.\\ +\begin{verbatim} +-9- Corrupted/absent language.dat file. +\end{verbatim} +L’extension \textit{frenchle} vérifie à chaque exécution que le fichier + \index{fichier!langage.dat@\texttt{language.dat}}\vers'language.dat' + soit accessible et non-corrompu. Il est désormais chargé par \LaTeX automatiquement.\\ +\begin{verbatim} +-13- le caractère "..." est déjà actif + la double ponctuation est alors désactivée. +\end{verbatim} +Vous utilisez très probablement un style ou une extension qui fait déjà +usage de ce ou ces caractères. Pour éviter toute anomalie de fonctionnement, +l’extension \textit{frenchle} désactive alors l’effet de la double ponctuation +! : ; ? pour tout votre document. Si ce n’est pas ce que vous voulez, +essayez de charger l’extension en question, soit après le chargement de +l’extension \textit{frenchle} soit dans un environnement \texttt{english}.\\ +\begin{verbatim} +-15- le langage frenchle porte le numéro ... +\end{verbatim} +L’extension \textit{frenchle} vous indique le numéro interne employé pour le langage +\textsl{french}. \\ +\begin{verbatim} +-16- the English language is numbered ... +\end{verbatim} +Même explication que pour le message précédent mais portant ici sur +l’anglais.\\ +\begin{verbatim} +-19- utilisation du langage interne numéro... +\end{verbatim} +Aucun langage \textsl{french} n’a été trouvé dans le fichier \texttt{language.dat}\index{fichier!langage.dat@\texttt{language.dat}}, +dans ces conditions le +style \textit{frenchle} vous indique le numéro de langue interne qu’il va utiliser. + +À vous de voir si ce numéro est acceptable pour la mise en page de votre +texte français. + +Mais ceci ne devrait plus arriver avec les versions récentes de \LaTeX.\\ +\begin{verbatim} +-20- WARNING: the french language is undefined in your format + the french language is undefined (ERROR!) +\end{verbatim} +Vous ne pouvez utiliser \textit{frenchle} sans que votre moteur \LaTeX{} soit un minimum +francisé, c.-à-d. dispose par exemple de motifs de césure adaptés\index{césure}. +Le premier message n’est qu’un avertissement si le fichier de configuration +\texttt{language.dat}\index{fichier!langage.dat@\texttt{language.dat}} définit le français ; si ce n’est pas le cas le deuxième +message est émis.\\[2ex] +\texttt{-21-\backslash\textit{xxx}TeXmods n’est pas défini}. +Une demande a été faite pour travailler avec la langue \textit{xxx} mais celle-ci est +inconnue ou, tout au moins, la commande \backslash\textit{xxx}TeXmods n’est pas définie. +Probablement une erreur interne...\\ +\begin{verbatim} +-23- Extension : style frenchle V... -- date -- (B.Gaulle) +\end{verbatim} +Ceci est la bannière du style \textit{frenchle}. Pensez à vous mettre à jour régulièrement.\\ +\begin{verbatim} +-24- frenchle.sty utilise dans ce document le codage de fonte (O)T1. +\end{verbatim} +Ceci est un message d’information permettant de voir quel +codage\index{OT1 (codage)@\verb'OT1' (codage)}\index{T1 (codage)@\verb'T1' (codage)} de +fonte a été détecté par \textit{frenchle} et sera utilisé pour tout le document\index{codage!utilisé}. +Vous avez toujours le loisir de changer de \index{codage!changement de}codage avant le chargement +initial de \textit{frenchle} de façon qu’il détecte celui qui convient à l’ensemble +des parties françaises du document.\\ +\begin{verbatim} +-25- frenchle.sty affiche ici ses messages en 7-bits (à la TeX). +\end{verbatim} +Le format \LaTeX{} qui a été créé ne supporte pas le 8-bits en sortie. Cela +peut effectivement venir du moteur \TeX{} car tous ne disposent pas de cette +facilité. Si vous souhaitez toutefois afficher les messages en 8-bits, forcez +l’option \verb|\usualmessages|\index{usualmessages@\verb'\usualmessages'}.\\ +\begin{verbatim} +-25- frenchle.sty affiche ici ses messages en 8-bits. +\end{verbatim} +Ceci est l’option normale si le moteur \TeX{} est capable de produire du 8-bits + en sortie, à la place des caractères hexadécimaux sous la forme \chap\chap{}xx. +Cette option peut avoir été forcée par la commande \backslash{}usualmessages.\\ +\begin{verbatim} +-27- frenchle.sty language x (y) was initially +(at initex) numbered z (ERROR!) +\end{verbatim} +Signifie que l’ordre des langues a été probablement modifié dans le fichier +\texttt{language.dat} ou qu’il ne s’agit pas du bon fichier. +Ceci ne devrait plus arriver avec les versions récentes de \LaTeX, +puisqu'il n'est plus nécessaire de créer le format fr\LaTeX qui pourrrait entrer en conflit +avec les définitions déjà inscrites dans \texttt{langage.dat}.\\ +\begin{verbatim} +-29a- ****Warning****: your TeX V3 engine + CM + fonts (your format default) isn’t sufficient + to hyphenate words containing diacritics (like in french). +\end{verbatim} +Ce que l’on appelle communément la césure des mots ne pourra jamais\index{césure} +être effective, dans ces conditions, sur des mots comportant des lettres +accentuées. Il s’agit là du plus grave défaut de francisation que vous obtiendrez +mais il y en a d’autres... Il serait peut-être bon de considérer +l’installation d’un moteur \TeX{} avec option Ml\TeX{} ou la mise en place, +par défaut dans le format\index{fontes!cm@\textit{cm}}, de polices de caractères 8-bits. +Quoique le fomat ne soit plus une solution à l'heure actuelle, voir le paragraphe \ref{lesformats}.\\ +\begin{verbatim} +-34- this file and other auxiliary files require to + use the following LaTeX packages: frenchle ...! + check \usepackage or remove these files. + Typesetting is aborted! +\end{verbatim} +Vous avez dans un passage \LaTeX{} précédent utilisé une (ou plusieurs) +extension qui n’est plus demandée actuellement. Peut-être est-ce volontaire? +Dans ce cas il est préférable d’effacer les fichiers auxiliaires pouvant +contenir des informations relatives à cette extension. Sinon, il suffit de demander +le chargement de l’extension ad hoc.\\ +\begin{verbatim} +-41- Format is out of date, please run initex again. +\end{verbatim} +Ce message ne devrait pas apparaître avec les {\em récentes} versions de \LaTeX. + +L’extension \textit{frenchle} s’est aperçue d’une incohérence au niveau des commandes +de césure. Ces dernières correspondent à une installation ancienne\index{césure} +de la francisation qui les plaçait dans le format. Il était {\em auparavant} impératif de refaire +un format correct.\\ +\begin{verbatim} +-42- The french patch file (frlpatch.sty) is not suitable + for this version of the "frenchle" package dated YY/MM/DD. +\end{verbatim} +Signifie qu’un fichier de \textit{patch}\index{fichier!frlpatch.sty@\texttt{frlpatch.sty}} a été trouvé dans le système mais qu’il ne +convient pas à la version de l’extension \textit{frenchle} que vous utilisez. Il est +nécessaire d’accorder l’un avec l’autre. Dans le doute vous pouvez toujours +renommer le fichier de patch pour qu’il ne soit pas trouvé.\\ +\begin{verbatim} +-48- Lecture du fichier de configuration de frenchle. +\end{verbatim} +Un fichier de configuration \texttt{frenchle.cfg} a été détecté sur l’installation. +Il est lu et les ordres exécutables sont appliqués.\\ +\begin{verbatim} +-51- ERREUR : ce document n’a pas été converti en 8-bits. +\end{verbatim} +Certains documents doivent être convertis en 8-bits avant utilisation. Selon +le type de document, la composition est arrêtée temporairement ou +définitivement. Ce message est réservé à des tests ; il ne devrait jamais +être émis à votre intention. Dans l'état de cette version et sous codage UTF8, ce test doit être supprimé.\\ +\begin{verbatim} +-52- Error: the frenchle package doesn’t run in + such minimal document class, sorry! +\end{verbatim} +L’extension \textit{frenchle} ne peut fonctionner avec une classe de document +réduite, et en particulier avec la classe\index{classe!minimal@\verb'minimal'}% +\index{minimal@\verb'minimal'} \texttt{minimal}.\\ +\begin{verbatim} +-58- Valeur de ... ignorée. +\end{verbatim}%\tthyphenation +Un environnement de liste est utilisé avec modification d’espacement, +(\verb|\topsep, \partosep,| \verb|\itemsep|\index{itemsep@\verb'\itemsep'} ou \verb|\parsep|) alors que les espacement +verticaux sont imposés par \textit{frenchle}. Vous avez plusieurs solutions : +soit vous abandonnez l’idée de les modifier (si cela vient de +vous) soit vous pouvez revenir aux espacements standard de \LaTeX{} avec\index{nofrenchtrivsep@\verb'\nofrenchtrivsep'} +\texttt{\backslash{}nofrenchtrivsep} soit enfin vous pouvez supprimer ce message avec +l’ordre \texttt{\backslash{}nofrenchtrivsepwarnings}\index{nofrenchtrivsepwarnings@\verb'\nofrenchtrivsepwarnings'}.\\ +\begin{verbatim} +-68- ERROR: frenchle is no more running with 2.09 emulation, sorry! +\end{verbatim} +Vous utilisez probablement un très vieux document qui n’a pas été entièrement +reconverti pour \LaTeXe ; cette version de \textit{frenchle} ne peut être utilisée +dans ce cas.\\ +\begin{verbatim} +-71- ATTENTION : si babel est utilisé, mettre french en option +\end{verbatim} +Vous avez probablement fait appel à babel\index{babel@\textit{babel}!french en@frenchle en option de} + par une commande du genre\index{extension!babel@\verb'babel'} +\backslash{}usepackage[...]\{babel\} puis vous avez demandé à charger une extension +\textsl{french} (\texttt{efrench.ldf} ou \texttt{frenchle.ldf}), ce qui est incompatible. Soit +vous utilisez babel avec l’option \textit{efrench} ou \textit{frenchle} soit vous utilisez +une extension \textsl{french} toute seule. Il est probable que la composition du +document n’ira pas bien loin...\\ +\begin{verbatim} +-73- ERREUR avec AmS\TeX{} : frenchle.sty a été chargé trop tôt. +\end{verbatim} +Il est indispensable de charger l’extension de francisation après AmS\TeX{} +de façon à ce qu’elle s’adapte au contexte.\\ +\begin{verbatim} +-93- you are using two french options for +Babel, please choose one... +\end{verbatim} +Il se peut que vous ayez demandé le chargement de \textit{frenchle} par Babel +et en même temps que vous ayez donné à Babel l’option \textsl{french} (dans le +\backslash{}documentclass par exemple). Il vous faut alors soit éliminer une option +soit utiliser l’extension \texttt{babelfr}\index{extension!babelfr@\texttt{babelfr}} +à la place de \texttt{babel}\index{extension!babel@\verb'babel'}. +\pagebreak +\section{Remerciements et contacts} +\paragraph*{Remerciements de Bernard \fsc{gaulle}}Ce document serait incomplet sans les +remerciements\index{remerciements} aux nombreux contributeurs +(dont une liste exhaustive serait bien impossible à réaliser) qui ont +apporté leurs problèmes, leurs solutions ou leurs corrections ; c’est aussi grâce +à eux que \textit{frenchle} est maintenu à jour et enrichi régulièrement, je les en remercie +vivement et avec moi toute la communauté francophone des utilisateurs de +\LaTeX. + +\paragraph*{Contacts}\label{contact} +En cas de problème, prière de \linkandfootnote{rayj}{me} +{mailto:raymond@juill.ch} contacter\index{contacts} (qui ai mis à jour ces pages) +ou \linkandfootnote{noustux}{}{mailto:efrench@lists.tuxfamily.org} +Nous ferons de notre mieux pour vous aider. + +\bibliographystyle{plain} +\ifx\Section\undefined\else\let\section\Section\fi% Restore \section. +\def\refname{Références bibliographiques}\index{références} +\begin{drapeaufg} +\begin{thebibliography}{9}\index{bibliographie} +\bibitem{ hautsdecasse}J. André \& J. Grimault, \textit{\linkandfootnote{rhautsdecasse} +{Emploi des capitales (première partie)}{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1990___6_42_0.pdf}}, +\textit{in} Les Cahiers GUTenberg \Numero{} 6, 1990. +\bibitem{ codetypo}\textit{Code typographique}, Fédération de la communication , 17\ieme édition, 1995. +\bibitem{ division} J. Désarménien, \textit{La division par ordinateur des mots français : application +à \TeX}, {\it in} TSI vol. 5 {\Numero} 4, 1986. +%[4] D. Flipo, B. Gaulle et K. Vancauwenberghe,Motifs de césure français, +%in Les Cahiers GUTenberg N18, 1994. +%(http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/ +%18-motifs.pdf) +\bibitem{cesures} D. Flipo, B. Gaulle et K. Vancauwenberghe,\textit{ +\linkandfootnote{ rcesures}{Motifs de césure français}{http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1994___18_35_0.pdf}}, +{\it in} Les Cahiers GUTenberg \Numero 18, 1994\index{césure}. +%[5] B. Gaulle, FAQ \textsl{french}, foire aux questions à propos de \LaTeX{} en français, +%2007 +%(http://frenchpro.free.fr/screen.pdf/FAQscreen.pdf) +\bibitem{faq} B. Gaulle, eFrench +\textit{\linkandfootnote{lafaq}{% +Foire aux questions à propos de \LaTeX{} en français}% +{http://www.efrench.org/distributions/faq.pdf}}, 2007 +\bibitem{compagnon} M. Goossens, F. Mittelbach et A. Samarin, \textit{The \LaTeX{} companion}, +Addison-Wesley, 1993. +\bibitem{guidrom} \textit{Guide du typographe romand}, Association suisse des compositeurs à la machine, +6\ieme~édition, 2000. +\bibitem{lamptex} L. Lamport, \textit{\LaTeX, A document preparation system}, Addison-Wesley, 1994. +\bibitem{lampndx} L. Lamport, \textit{An Index Processor For \LaTeX}, 1987. +\bibitem{imprnat} \textit{Lexique des règles typographiques en usage à l’Imprimerie nationale}, +4\ieme~édition, 1991, ISBN 2-11-081075-0. +\bibitem{perrousmanu} Y. Perrousseaux, \textit{Manuel de typographie française élémentaire}, Atelier +Perrousseaux, 4\ieme~édition,1995, ISBN 2-911220-00-5. +\bibitem{perrousmepa} Y. Perrousseaux, \textit{Mise en page et impression}, Atelier Perrousseaux, +1996, ISBN 2-911220-01-3. +%[13] E. Saudrais, Le petit typographe rationnel, document électronique, 2007 +%(http://perso.wanadoo.fr/eddie.saudrais/prepa/typo.pdf) +\bibitem{lepetity} E. Saudrais, + \textit{\linkandfootnote{rlepetity}{Le petit typographe rationel}{http://tex.loria.fr/typographie/saudrais-typo.pdf}} +\end{thebibliography} +\end{drapeaufg} +\vfill +\newpage +\nooverfullhboxmark% Pourquoi faut-il le repréciser pour la versions screen? +\tableofcontents +\def\footnote#1{}% nullify any footnote here. +\printindex +\end{document} diff --git a/Master/texmf-dist/doc/generic/e-french/src/myfroptn.sty b/Master/texmf-dist/doc/generic/e-french/src/myfroptn.sty new file mode 100644 index 00000000000..388f18b205d --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/myfroptn.sty @@ -0,0 +1,17 @@ +% This is a test of a personal style file defining the french options +% i want to use usually in my documents. 2000/03/03 +% Copyright Bernard Gaulle as in french_doc.pdf + +\usersfrenchoptions{% voici mes options %%%%%%%%%%%%%%%%%%%%%%%%% + \disallowuchyph % C'est ma devise... % + \overfullhboxmark % devrait pas y en avoir% + }% % +% En plain TeX il faut retirer le % de debut de ligne suivante % +%\@ufo% car il n'y a pas de \begin{document} %%%%%%%%%%%%%%%%%%%% + +%\message{Activation des options personnelles du style french} +\endinput +%% +%% checksum = "12795 17 93 776" +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/generic/e-french/src/mymaj.sty b/Master/texmf-dist/doc/generic/e-french/src/mymaj.sty new file mode 100644 index 00000000000..a74e72fae69 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/src/mymaj.sty @@ -0,0 +1,181 @@ +% ----------- mymaj.sty +% Permet de mettre un trait vertical dans la marge. +% +% Appel : +% \maj ................... pour marquer une ligne seule +% \begin{MAJ}...\end{MAJ} pour une entite plus grande +% +% Les trois variables suivantes permettent de parametrer la macro. +% majwidth epaisseur du trait +% majhskip espace entre le trait et le paragraphe +% +% Bugs connues : +% 1- ne pas utiliser dans une \footnote +% 2- ne pas mettre \maj dans \begin{MAJ} ... \end{MAJ} +% 3- les barres de mise a jour peuvent se retrouver anormalement en haut +% ou bas de page. +%% +%% checksum = "65193 181 669 6726" +%% +%/////////////////////////////////////////// +% Change bar document-style option for LaTeX. +% +% Copyright (C) 1990 by David B. Johnson (dbj@titan.rice.edu). +% +% These macros draw a solid bar down the right margin of the output, +% covering a range of the input file that has been declared to be changed. +% +% The beginning and end of a change bar in the text are marked with +% \chgbarbegin and \chgbarend, respectively. For example, +% +% Here is some sample text \chgbarbegin that was +% changed\chgbarend{} and some that wasn't changed. +% +% The change bar is drawn continuously between the line of output +% containing the \chgbarbegin and the line of output containing the +% \chgbarend. These lines can end up on separate pages, and the +% division at page boundaries is handled automatically. +% +% Two dimensions control the size and placement of the change bars: +% \chgbarwidth The width of a change bar +% \chgbarsep The distance between the text and the change bar +% +% Warning: it does not appear to be possible to do this completely +% correctly, due to the time at which the verticle glue on a page is +% finally set, and the way that page breaks are decided. With +% \raggedbottom, this normally works fine. It hasn't been tested with +% \flushbottom, but will probably behave worse. In strange rare +% situations, a change bar might be drawn from the first line of a page +% up off the top of a page; this can usually be fixed by slightly moving +% the \chngbarend around, or by breaking a single change bar range +% into two ranges. +% +\newdimen\chgbarwidth \newdimen\chgbarsep +\chgbarwidth 4pt +\chgbarsep .25in +% +\def\chgbarbegin{\ifhmode\@chgbar{-2}\else\@chgbar{-3}\fi} +\def\chgbarend{\@chgbar{-4}} +% +\marginparpush 0pt +% +% The remainder of this is hacked up based on the LaTeX 2.09 latex.tex. +% +% copied from \marginpar +\def\@chgbar#1{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\global + \count\@currbox#1}{\@floatpenalty\z@ \@fltovf + \def\@currbox{\@tempboxa}}\fi + \setbox\@tempboxa\color@vbox\vbox + \bgroup\end@float\@esphack} +% +\newdimen\@chgbarbegin +\newif\if@inchgbar \@inchgbarfalse +% +\def\@addmarginpar{% +\ifnum\count\@currbox = -2 % change bar begin from hmode + \global\@chgbarbegin\@pageht \global\advance\@chgbarbegin -\baselineskip + \global\@inchgbartrue + \@cons\@freelist\@currbox +\else +\ifnum\count\@currbox = -3 % change bar begin not from hmode + \global\@chgbarbegin\@pageht + \global\@inchgbartrue + \@cons\@freelist\@currbox +\else +\ifnum\count\@currbox = -4 % change bar end + \if@inchgbar\else\@latexbug\fi + \@tempdima\@pageht \advance\@tempdima -\@chgbarbegin + \nointerlineskip + \@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\chgbarsep + \else \hskip -\chgbarsep \fi +\hbox{\vbox to 0pt{\vss + \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@ +}} +\hss} + \nointerlineskip + \global\@inchgbarfalse + \@cons\@freelist\@currbox +\else + \@next\@marbox\@currlist{\@cons\@freelist\@marbox + \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi + \@tempdima\@mparbottom \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@marbox \ifdim\@tempdima >\z@ + \@warning{Marginpar on page \thepage\space moved}\else\@tempdima\z@ \fi + \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@marbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@marbox + \global\ht\@marbox\z@ \global\dp\@marbox\z@ + \vskip -\@pagedp \vskip\@tempdima\nointerlineskip + \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\marginparsep + \else \hskip -\marginparsep \hskip -\marginparwidth \fi + \box\@marbox \hss} + \vskip -\@tempdima + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp} +\fi\fi\fi} +% +\def\@makecol{\setbox\@outputbox\box\@cclv + \if@inchgbar + \@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \@tempdima\ht\@outputbox \advance\@tempdima -\@chgbarbegin + \advance\@tempdima -\baselineskip + \setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@outputbox \nointerlineskip \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\chgbarsep + \else \hskip -\chgbarsep \fi + \hbox{\vbox to 0pt{\vss + \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@}}\hss}} + \global\@chgbarbegin 0pt +\fi + \ifvoid\footins\else\setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@outputbox\vskip\skip\footins\footnoterule\unvbox\footins}\fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth + \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox + \vskip-\dimen128\@textbottom} + \global\maxdepth\@maxdepth} +%/////////////////////////////////////////// +\let\majwidth\chgbarwidth% The width of a change bar +\majwidth=0.5pt% +\let\majhskip\chgbarsep% The distance between the text and the change bar +\let\MAJ\chgbarbegin\let\endMAJ\chgbarend% +\def\maj{\chgbarbegin\hbox to 0pt{}\chgbarend}% +\if@twoside\else\reversemarginpar\fi% a little more french ? +\endinput% diff --git a/Master/texmf-dist/makeindex/e-french/fridx1.ist b/Master/texmf-dist/makeindex/e-french/fridx1.ist new file mode 100644 index 00000000000..9e480bcb0e5 --- /dev/null +++ b/Master/texmf-dist/makeindex/e-french/fridx1.ist @@ -0,0 +1,16 @@ +% FICHIER fridx1.ist +% Personnalisation Numero 1 d'un index (faire makeindex -s fridx1.ist) +% -------------------------------------------------------------------- + +headings_flag 1 +heading_prefix "{\\large \\bf \\hfil--\\ " +heading_suffix " --\\ \\hfil}\\nopagebreak\n" +symhead_negative "symboles" +symhead_positive "Symboles" + +delim_0 " \\dotfill \ " +delim_1 " \\dotfill \ " +delim_2 " \\dotfill \ " +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + diff --git a/Master/texmf-dist/tex/generic/e-french/deutschx.mlp b/Master/texmf-dist/tex/generic/e-french/deutschx.mlp new file mode 100644 index 00000000000..25d2cd93045 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/deutschx.mlp @@ -0,0 +1,34 @@ +% deutschx.mlp Usual german configuration for the mlp package. +% last mods: 2000/09/06 +% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the local or linguistic TeX users group +% accepts the modifications. +% +% Group to get in touch for deutschx.mlp is: ... +% Person to send a message is: ... (defaultly: gaulle@idris.fr) +% +% +\ProvidesFile{deutschx.mlp}% + [2000/09/06 german configuration file for mlp package] +\DeclareOption{deutsch}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{ndeutsch}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +\DeclareOption{englisch}{\@requirepackage{mlp-01}% original US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{franzosisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{franzoesisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{hollandisch}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/efrench.ldf b/Master/texmf-dist/tex/generic/e-french/efrench.ldf new file mode 100644 index 00000000000..ae84c8da1b8 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/efrench.ldf @@ -0,0 +1,59 @@ +%% This is french.ldf (e-french option for Babel) under LaTeX --bg 2006/09/28 +%% to be used like this: \usepackage[e-french]{babel} +%% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% +\ProvidesFile{e-french.ldf}% originally: +% [2003/11/17 v3.0 % +% [2003/11/19 v3.1 % french loaded before babel e-french. +% [2005/03/21 v3.2 % pb francais/frenchb loaded before babel e-french. + [2006/09/28 v3.3 % \main@language added before \selectlanguage. + e-french option of babel loading the e-french package] +\ifx\undefined\captionsfrench +\else\main@language{french}\selectlanguage{french}% Select again French +\expandafter\ifx\csname endfrench\endcsname\relax +\PackageError{frenchle}{-93- You are using two French options for Babel, % + please choose only one.} +\let\endfrench\stop\fi + \endfrench% but stop it until \begin{document}. +\expandafter\endinput +\fi +\chardef\atcatcode=\catcode`\@\catcode`\@=11\relax +\ifx\undefined\babel@core@loaded% still undefined (>3.5)? + \let\babel@core@loaded\main@language\fi% +\ifx\undefined\originalTeX \let\originalTeX\empty \fi +\originalTeX +\ifx\undefined\l@french\@nopatterns{French}\adddialect\l@french0\fi + +\protected@write\@auxout{}{\protect% insure files integrity +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- this file and other auxiliary files require to + use the following}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- LaTeX packages: e-french and babel!}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- check \protect\protect\protect\usepackage + \protect\space or remove these files. + Typesetting is aborted!} + \protect\stop}}% +\let\auxWARNINGi=\@gobble% accept aux files produces by french +\let\auxWARNINGii=\@gobble% and those produces by babel+french + +\InputIfFileExists{french.sty}{}% load our e-french package + {\PackageError{e-french}% but not via e-french.sty. + {-63- e-french style file not found}% + {-63- Check if file exist somewhere in your system.}% + \let\endfrench\stop% + }% +\endfrench% and stop it immediately until \begin{document} +\let\noextrasfrancais\endfrench% bug in babel.sty version 3.5e +\let\extrasfrancais\frenchTeXmods% ditto +\let\captionsfrancais\captionsfrench% +\main@language{french}% the \begin{document}. +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/efrench.sty b/Master/texmf-dist/tex/generic/e-french/efrench.sty new file mode 100644 index 00000000000..c3ae2d4c377 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/efrench.sty @@ -0,0 +1,12 @@ +%% This is efrench.sty original as frenchpro --bg 2002/01/29 +%% frenchpro updated --bg 2003/11/17 +%% Remake as efrench --rj 2011-10-15 +%% to be used like this: \usepackage{efrench} +%% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% +\RequirePackage{french}% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/enbib.ldf b/Master/texmf-dist/tex/generic/e-french/enbib.ldf new file mode 100644 index 00000000000..cd81166d4d1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/enbib.ldf @@ -0,0 +1,44 @@ +% file enbib.tex +% +% Translation of names defined in frplain.bst, fralpha.bst and frapalike.bst +% by Ronan Keryell. +% File initiated by B. Gaulle from R.K.'s frbib.sty +% This file is defaultly loaded by french(le).sty +% Can be used with the ACM style (then long translation is in force +% if you don't type \usepackage{fracm}. +% last mods 2000/12/11 +% Voir aussi frbib.tex +% +\def\bibsenglish{% + \def\andname{and}% + \def\editorname{editor}% + \def\editornames{editors}% + \def\volumename{volume}% + \def\Volumename{volumes}% + \def\ofname{of}% + \def\numbername{number}% + \def\Numbername{Number}% + \def\inname{in}% + \def\Inname{In}% + \def\editionname{edition}% +% \def\pagename{page}% already defined in french.sty. + \def\pagesname{pages}% +% \def\chaptername{chapitre\ }% already defined in french.sty. + \def\technicalreportname{Technical Report}% + \def\revisionname{Revision}% + \def\masterthesisname{Master thesis}% for fracm.bst without fracm.sty + \def\phdthesisname{PhD thesis}% for fracm.bst without fracm.sty + \def\janname{January}% + \def\febname{February}% + \def\marname{March }% + \def\aprname{April}% + \def\mayname{May}% + \def\junname{June}% + \def\julname{July}% + \def\augname{August}% + \def\sepname{September}% + \def\octname{October}% + \def\novname{November}% + \def\decname{December}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/epreuve.sty b/Master/texmf-dist/tex/generic/e-french/epreuve.sty new file mode 100644 index 00000000000..72b6bd6e595 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/epreuve.sty @@ -0,0 +1,63 @@ +% epreuve.sty coming from the News --Steve Anderson 2 mar 1993 +% mods Bernard GAULLE 97/06/31 +% when this file is input in a LaTeX document, it will print a large +% DRAFT message in light grey at an angle across each page. +% +% assumes DVI file will be converted to PostScript by the dvips driver. +% +% taken from example posted to the net. +%% +%% checksum = "17686 63 274 2073" +%% +% Include the LaTeX draft option of style by default (--bg) +\ifx\undefined\ds@draft\let\ds@draft\relax\fi +\ds@draft + +% define the default language specific name (--bg) +\ifx\draftname\undefined% + \def\draftname{- \noexpand\311preuve -}% imprimer Épreuve (PS) +\fi +% +\let\docEpreuve=\document% +\def\document{% attach the mods to \begin{document} + \csname docEpreuve\endcsname% +% let \DRAFTNAME apply if defined +\ifx\DRAFTNAME\undefined% +\else\let\draftname=\DRAFTNAME% +\fi +% \message{DRAFT=\draftname}% +\special{! userdict begin /bop-hook{ +gsave +/encodefont { % coming from the red book (--bg) + findfont dup % get the old font dict + maxlength dict begin % make a new one just as big + { 1 index /FID ne % Copy everything but FID + { def } + { pop pop } + ifelse } + forall + /Encoding exch def % Install the new encoding + dup /FontName exch def % new font dict is still current + currentdict definefont % Create the new font + end +} bind def +/Helvetica-Bold-ISOLatin1 ISOLatin1Encoding + /Helvetica-Bold encodefont pop +initmatrix 72 dup scale +/Helvetica-Bold-ISOLatin1 findfont 2 scalefont setfont +(\draftname) dup +stringwidth pop +4.5 5.5 translate +60 rotate 2 div neg 0 moveto +.95 setgray +show +grestore +% here was the original coding: +%200 30 translate +%65 rotate /Times-Roman findfont 220 scalefont setfont +%0 0 moveto 0.99 setgray (\draftname) show grestore +}def end}% +}%\document +\ifx\docEpreuve\relax\document\fi% outside any high language +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/fenglish.sty b/Master/texmf-dist/tex/generic/e-french/fenglish.sty new file mode 100644 index 00000000000..c13c2565878 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/fenglish.sty @@ -0,0 +1,126 @@ +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +\ProvidesFile{fenglish.sty}% + [2004/06/23 english interface for the french(le/pro) package] +\def\beginlanguage{% + \ifx\selectlanguage\undefined\english% + \else\selectlanguage{english}\fi}% +\edef\beginFWdirection{L}% +\ifx\undefined\babel@core@loaded% + \DeclareOption{english}{\def\beginlanguage{% + \ifx\selectlanguage\undefined\english% + \else\selectlanguage{english}\fi}% + }% + \ProcessOptions% +\fi% +\expandafter\ifx\csname englishTeXmods\endcsname\relax% +\else \endinput \fi% +\ifx\@ifundefined\undefined% +\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname% + #1\endcsname\relax#2\else#3\fi}% +\fi% +\let\ifCLAenglish\iffalse% +\def\@tempa{\global\let\ifCLA\iffalse% + }% +\ifx\ifCLA\undefined\expandafter\@tempa\fi% + +\global\let\ifnonenglishheadings\iffalse% +\gdef\captionsenglish{% + \ifx\captionsnames\captionsenglish\else + \def\pagename{page}% + \def\refname{References}% + \def\abstractname{Abstract}% +\ifx\bibname\undefined\else% + \def\bibname{Bibliography}% +\fi% +\ifx\btxselectlanguage\undefined% + \csname bibsenglish\endcsname% +\fi% + \def\contentsname{Table of Contents}% + \def\listfigurename{List of Figures}% + \def\listtablename{List of Tables}% +\ifx\listalgorithmname\undefined\else% + \def\ALG@name{algorithm}% + \def\listalgorithmname{List of \ALG@name s}% +\fi% + \def\indexname{Index}% + \def\seename{\emph{see}}% + \def\seealsoname{\emph{see also}}% + \def\figurename{Figure}% + \def\tablename{Table}% + \def\partname{Part}% + \def\glossaryname{Glossary}% + \def\kwname{\textbf{Keywords}: }% + \def\draftname{DRAFT}% + \def\prefacename{Preface}% +\ifx\proofname\undefined\else% + \def\proofname{Proof}% +\fi% +\ifx\opening\undefined\else% + \def\headtoname{To}% + \def\ccname{cc}% + \def\enclname{Encl}% + \def\PSname{PS:}% + \def\Objectname{Subject:}% + \def\YourRefname{Your Ref:}% + \def\OurRefname{Our Ref:}% + \def\emailname{email:}% +\fi% +\ifx\slidename\undefined\else% + \def\slidename{Slide}% +\fi% +\ifx\notesname\undefined\else% + \def\notesname{Notes}% +\fi% +\ifnonenglishheadings% +\else% + \def\chaptername{Chapter}% +\fi% + \def\appendixname{Appendix}% + \fi% +\let\captionsnames\captionsenglish% +}% +\@ifundefined{englishTeXmods}{% + \gdef\englishTeXmods{% + \ifCLA + \ifCLAenglish% + \ifx\captionsnames\captionsenglish% + \else\captionsenglish\dateenglish% + \fi% + \fi% + \else% + \ifx\captionsnames\captionsenglish% + \else\captionsenglish\dateenglish% + \fi% + \fi% + \csname @xtrasenglish\endcsname% + \def\languagename{english}% + \let\switchtolanguage\endenglish% + }% + }{}% +\ifx\dateenglish\undefined% +\def\dateenglish{\def\today{\ifcase\day\or 1st\or 2nd\or 3rd\or 4th\or 5th\or + 6th\or 7th\or 8th\or 9th\or 10th\or 11th\or 12th\or 13th\or 14th\or 15th\or + 16th\or 17th\or 18th\or 19th\or 20th\or 21st\or 22nd\or 23rd\or 24th\or + 25th\or 26th\or 27th\or 28th\or 29th\or 30th\or 31st\fi~\ifcase\month\or + January\or February\or March\or April\or May\or June\or July\or August\or + September\or October\or November\or December\fi\space \number\year}}% +\fi% +\ifx\undefined\babel@core@loaded% + \edef\extrasenglish{}\def\@xtrasenglish{\extrasenglish}% +\else% + \let\extrasenglish\englishTeXmods% +\fi% +\@ifundefined{english}{\gdef\english{\relax}}{}% +\@ifundefined{switchtolanguage}{% + \gdef\switchtolanguage#1{#1}}{}% +\let\@enstORI\switchtolanguage% +\let\englishORI\english% +\def\endenglish{\let\switchtolanguage\@enstORI% + \ignorespaces}% +\let\noextrasenglish\endenglish% +\def\english{\switchtolanguage\englishTeXmods\englishORI% + \ignorespaces}% +\english% +\endinput% diff --git a/Master/texmf-dist/tex/generic/e-french/frabbrev.tex b/Master/texmf-dist/tex/generic/e-french/frabbrev.tex new file mode 100644 index 00000000000..768c43f8aa5 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frabbrev.tex @@ -0,0 +1,297 @@ +% frabbrev.tex file (French typographic abbreviations) +% should always be used in 8bit format (generated from +% fxabbrev.tex which is full ASCII 7bit) +% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% Don't change this to a 7bits coding except if you are using 7bits input +% +% History of mods: +% =============== +% - Change \^i into î_ --bg 01/16/92 +% - Added shorten "cad" (remark coming from Jacques Andre) --bg 02/07/92 +% - paragraph sign (\S) followed by a tilde --bg 05/15/92 +% - recoded to 8bits --bg 08/24/92 +% - add second, seconds, premiers, premières, troisièmes... +% numéros, Numéros and pages. +% --bg 01/12/93 +% - strings containing a space must be within a group. --bg 98/05/15 +% - THE FIRST LETTER IS NO MORE TESTED except if the string is +% within braces. Thus, any string beginning whith an uppercase +% letter should be enclosed within braces. --bg 1999/11/08 +% - f8abbrev.tex and frabbrev.850 definitely removed. +% f7abbrev.tex rename fxabbrev.tex --bg 2000/06/14 +% - few adds coming from Yves Perrousseaux' book on typo. --bg 2001/08/03 +% - corrections for second(s) and seconde(s). --bg 2001/09/20 +% - * facility added for plurals ==> 6 changes. +% - legal units added and few other names. +% HAPPY 10 YEARS ANNIVERSARY! --bg 2001/01/21 +% - abbrev. from Louis Guéry from CFPJ. --bg 2002/02/21 +%% +%% checksum = "20285 297 1013 10463" +%% + +% Checked name Replacement +% ============ =========== +% +% Notice that when the checked name is inside braces all that name +% should be equal to "name" otherwise the first letter is not checked. +% If checked name begins with "*" then "_name_" and "_name_s" will +% be checked, the replacement name is the same in the two cases. +% +% NB: All macros have to be not expanded. + +premier 1\noexpand\ier% +premiers 1\noexpand\iers% +première 1\noexpand\iere% +premières 1\noexpand\ieres% +deuxième 2\noexpand\ieme% +deuxièmes 2\noexpand\iemes% +second 2\noexpand\fup{d}% +seconds 2\noexpand\fup{ds}% +seconde 2\noexpand\fup{de}% +secondes 2\noexpand\fup{des}% +troisième 3\noexpand\ieme% +troisièmes 3\noexpand\iemes% +quatrième 4\noexpand\ieme% +quatrièmes 4\noexpand\iemes% + +primo \noexpand\quando{1}% +secundo \noexpand\quando{2}% +tertio \noexpand\quando{3}% +quarto \noexpand\quando{4}% +quinto \noexpand\quando{5}% +sexto \noexpand\quando{6}% +septuno \noexpand\quando{7}% +octavo \noexpand\quando{8}% +nono \noexpand\quando{9}% +decimo \noexpand\quando{10}% + +{Numéro} \noexpand\Numero% +{Numéros} \noexpand\Numeros% +numéro \noexpand\numero% +numéros \noexpand\numeros% + +monsieur M.% +messieurs MM.% +mademoiselle M\noexpand\fup{lle}% +mesdemoiselles M\noexpand\fup{lles}% +madame M\noexpand\fup{me}% +mesdames M\noexpand\fup{mes}% +maître M\noexpand\fup{e}% +maîtres M\noexpand\fup{es}% + +{Compagnie} c\noexpand\fup{ie}% +canton C\noexpand\fup{on}% +docteur D\noexpand\fup{r}% +folio f\noexpand\fup{o}% +folios f\noexpand\fup{os}% +monseigneur M\noexpand\fup{gr}% +paragraphe \noexpand\S~% doit être suivi d'un numéro. +recto r\noexpand\fup{o}% +verso v\noexpand\fup{o}% + +{Académie} Acad.% +adjectif adj.% +{Administration} Admin.% +ancien anc.% +annexe ann.% from LG 2002/02/21 +{Antiquité} Antiq.% +appendice append.% +après apr.% +archives arch.% +archéologie archéol.% +arithmétique arithm.% +arrondissement arr.% +article art.% +astronomie astron.% +avant av.% +avenue av.% from LG 2002/02/21 +bibliographie bibliogr.% +bibliothèque bibl.% from LG 2002/02/21 +biologie biol.% +botanique bot.% +boulevard bd% +bulletin bull.% +cad \noexpand\hbox{c.-à-d.}% +chapitre chap.% +chef-lieu ch.-l.% +chronologie chronol.% +circulaire circ.% +circonscription circonscr.% +{Code civil} C.civ.% +{Code pénal} C.pén.% +*collaborateur coll.% +collection coll.% +colonne col.% from LG 2002/02/21 +commandeur C.% from LG 2002/02/21 +département dép.% +dictionnaire dict.% +document doc.% +{Est} E% +*éditeur éd.% * from LG 2002/02/21 +*édition éd.% * from LG 2002/02/21 +environ env.% +épitre ép.% +épilogue épil.% +établissements Éts% +étymologie étym.% +exemple ex.% +expéditeur exp.% from LG 2002/02/21 +fascicule fasc.% +faubourg fg% +féminin fém.% +feuillet f.% +figure fig.% +Frère F.% from LG 2002/02/21 +géographie géogr.% +géologie géol.% +géométrie géom.% +graphique graph.% +gravure grav.% +habitants hab.% +hauteur haut.% +iconographie iconogr.% +*illustrations illustr.% 21/01/2002 +inférieur inf.% +introduction introd.% +invariable invar.% +italique ital.% +juridique jur.% +jurisprudence jur.% +*ligne l.% 21/01/2002 +largeur larg.% +latitude lat.% +librairie libr.% +livre liv.% +locution loc.% +longitude long.% +longueur long.% +manuscrit ms.% +manuscrits mss.% +masculin masc.% +mathématiques math.% +maximum max.% from LG 2002/02/21 +mécanique mécan.% +mémoire mém.% +musique mus.% +mythologie myth.% +{Nord} N% +nouveau nouv.% +nouvelle nouv.% +numismatique numism.% +officier O.% from LG 2002/02/21 +{Ouest} O% from LG 2002/02/21 +ouvrage ouvr.% +*page p.% 21/01/2002 +partie part.% +Père P.% from LG 2002/02/21 +photographie phot.% +physique phys.% +*planche pl.% 21/01/2002 +relié rel.% from LG 2002/02/21 +reliure rel.% +rédaction réd. +route rte% from LG 2002/02/21 +{Sud} S.% +science sc.% +scène sc.% +section sect.% +{Saint} St% +{Saints} Sts% +{Sainte} Ste% +{Saintes} Stes% +section sect.% from LG 2002/02/21 +siècle s.% from LG 2002/02/21 +{société} sté% 21/01/2002 +{Société} Sté% Yves Perrousseaux 2001/08/03 +substantif subst.% +*suivant suiv.% 21/01/2002 +*suivante suiv.% 21/01/2002 +supèrieur sup.% from LG 2002/02/21 +supplément suppl.% +téléphone tél.% Yves Perrousseaux 2001/08/03 +tome t.% from LG 2002/02/21 +traducteur trad.% +traduction trad.% +variante var% from LG 2002/02/21 +vers v.% from LG 2002/02/21 +voir V% from LG 2002/02/21 +volume vol.% + +% Unités légales : + +*ampère A% +*are a% +*bel B% from LG 2002/02/21 +*candela cd% from LG 2002/02/21 +centi c% from LG 2002/02/21 +*centiare ca% +*centigramme cg% +*centilitre cl% +*centimètre cm% +déca da% from LG 2002/02/21 +*décalitre dal% +dècamètre dam% +déci d% from LG 2002/02/21 +décibel dB% +décigramme dg% from LG 2002/02/21 +décilitre dl% from LG 2002/02/21 +*franc F% +giga G% from LG 2002/02/21 +*grade gr% +*gramme g% +*hectare ha% +hect h% from LG 2002/02/21 +*hectogramme hg% +*hectolitre hl% +*hectomètre hm% +*hertz Hz% from LG 2002/02/21 +*heure h% +*jour j% +*kelvin K% from LG 2002/02/21 +kilo k% from LG 2002/02/21 +*kilogramme kg% +*kilohertz kHz% from LG 2002/02/21 +*kilomètre km% +*kilovoltampère kVA% from LG 2002/02/21 +*kilowatt kW% +kilowatt-heure kWh% +kilowatts-heure kWh% +*litre l% +lux lx% from LG 2002/02/21 +méga M% from LG 2002/02/21 +*mégahertz MHz% from LG 2002/02/21 +*mètre m% +% micro est a introduire qd on aura \mu en romain droit. +milli m% from LG 2002/02/21 +*millibar mbar% +*milligramme mg% from LG 2002/02/21 +*millilitre ml% +*millimètre mm% +*milliseconde ms% from LG 2002/02/21 +*minute min% +*mole mol% from LG 2002/02/21 +nano n% from LG 2002/02/21 +*nanoseconde nc% from LG 2002/02/21 +*newton N% from LG 2002/02/21 +*pascal Pa% from LG 2002/02/21 +pico p% from LG 2002/02/21 +*picoseconde ps% from LG 2002/02/21 +quintal q% from LG 2002/02/21 +quintaux q% from LG 2002/02/21 +*radian rad% from LG 2002/02/21 +*seconde s% +*stère st% +téra T% from LG 2002/02/21 +*thermie th% from LG 2002/02/21 +*tonne t% +*volt V% +*watt W% +*wattheure Wh% from LG 2002/02/21 + +% Excerpt from ``Lexique des règles typographiques en usage a l'Imprimerie +% nationale'', Abréviations, p7-11 and few additions. +% plus other usual (referenced) names. diff --git a/Master/texmf-dist/tex/generic/e-french/francais.mlp b/Master/texmf-dist/tex/generic/e-french/francais.mlp new file mode 100644 index 00000000000..a401a41dc0c --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/francais.mlp @@ -0,0 +1,43 @@ +% francais.mlp Usual configuration for French using the mlp package. +% last mods: 2002/01/14% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the local or linguistic TeX users group +% accepts the modifications. +% +% Group to get in touch for francais.mlp is: GUTenberg +% +\ProvidesFile{francais.mlp}% + [2002/01/14 french configuration file for mlp package] + \DeclareOption{allemand}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% + \DeclareOption{allemandn}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +%\DeclareOption{alsacien}... + \DeclareOption{anglais}{\@requirepackage{mlp-01}% for US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{autrichien}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{autrichienn}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49}% + }% +%\DeclareOption{basque}... +%\DeclareOption{breton}... + \DeclareOption{francais}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% + \DeclareOption{acadien}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% + \DeclareOption{canadien}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{hollandais}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/frbabel.sty b/Master/texmf-dist/tex/generic/e-french/frbabel.sty new file mode 100644 index 00000000000..4d0524b518b --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frbabel.sty @@ -0,0 +1,170 @@ +\NeedsTeXFormat{LaTeX2e}[1998/06/01] +\ifx\LdfInit\@undefined\input babel.def\relax\fi +\DeclareOption{acadian}{\input{frenchb.ldf}} +\DeclareOption{acadien}{\input{french.ldf}}% cf FrenchPro language.dat +\DeclareOption{afrikaans}{\input{dutch.ldf}} +\DeclareOption{american}{\input{english.ldf}} +\DeclareOption{australian}{\input{english.ldf}} +\DeclareOption{austrian}{\input{germanb.ldf}} +\DeclareOption{bahasa}{\input{bahasa.ldf}} +\DeclareOption{basque}{\input{basque.ldf}} +\DeclareOption{brazil}{\input{portuges.ldf}} +\DeclareOption{brazilian}{\input{portuges.ldf}} +\DeclareOption{breton}{\input{breton.ldf}} +\DeclareOption{british}{\input{english.ldf}} +\DeclareOption{bulgarian}{\input{bulgarian.ldf}} +\DeclareOption{canadian}{\input{english.ldf}} +%\DeclareOption{canadien}{\input{frenchb.ldf}} +\DeclareOption{canadien}{\input{french.ldf}}% cf FrenchPro language.dat +\DeclareOption{catalan}{\input{catalan.ldf}} +\DeclareOption{croatian}{\input{croatian.ldf}} +\DeclareOption{czech}{\input{czech.ldf}} +\DeclareOption{danish}{\input{danish.ldf}} +\DeclareOption{dutch}{\input{dutch.ldf}} +\DeclareOption{english}{\input{english.ldf}} +\DeclareOption{esperanto}{\input{esperanto.ldf}} +\DeclareOption{estonian}{\input{estonian.ldf}} +\DeclareOption{finnish}{\input{finnish.ldf}} +\DeclareOption{francais}{\input{frenchb.ldf}} +\DeclareOption{frenchb}{\input{frenchb.ldf}} +%%%\DeclareOption{french}{\input{frenchb.ldf}}% +\DeclareOption{galician}{\input{galician.ldf}} +\DeclareOption{german}{\input{germanb.ldf}} +\DeclareOption{germanb}{\input{germanb.ldf}} +\DeclareOption{greek}{\input{greek.ldf}} +\DeclareOption{polutonikogreek}{% + \input{greek.ldf}% + \languageattribute{greek}{polutoniko}} +\DeclareOption{hebrew}{% + \input{rlbabel.def}% + \input{hebrew.ldf}} +\DeclareOption{hungarian}{\input{magyar.ldf}} +\DeclareOption{icelandic}{\input{icelandic.ldf}} +\DeclareOption{interlingua}{\input{interlingua.ldf}} +\DeclareOption{irish}{\input{irish.ldf}} +\DeclareOption{italian}{\input{italian.ldf}} +\DeclareOption{latin}{\input{latin.ldf}} +\DeclareOption{lowersorbian}{\input{lsorbian.ldf}} +\DeclareOption{magyar}{\input{magyar.ldf}} +\DeclareOption{naustrian}{\input{ngermanb.ldf}} +\DeclareOption{newzealand}{\input{english.ldf}} +\DeclareOption{ngerman}{\input{ngermanb.ldf}} +\DeclareOption{norsk}{\input{norsk.ldf}} +\DeclareOption{samin}{\input{samin.ldf}} +\DeclareOption{nynorsk}{\input{norsk.ldf}} +\DeclareOption{polish}{\input{polish.ldf}} +\DeclareOption{portuges}{\input{portuges.ldf}} +\DeclareOption{portuguese}{\input{portuges.ldf}} +\DeclareOption{romanian}{\input{romanian.ldf}} +\DeclareOption{russian}{\input{russianb.ldf}} +\DeclareOption{scottish}{\input{scottish.ldf}} +\DeclareOption{serbian}{\input{serbian.ldf}} +\DeclareOption{slovak}{\input{slovak.ldf}} +\DeclareOption{slovene}{\input{slovene.ldf}} +\DeclareOption{spanish}{\input{spanish.ldf}} +\DeclareOption{swedish}{\input{swedish.ldf}} +\DeclareOption{turkish}{\input{turkish.ldf}} +\DeclareOption{ukrainian}{\input{ukraineb.ldf}} +\DeclareOption{uppersorbian}{\input{usorbian.ldf}} +\DeclareOption{welsh}{\input{welsh.ldf}} +\DeclareOption{UKenglish}{\input{english.ldf}} +\DeclareOption{USenglish}{\input{english.ldf}} +\DeclareOption*{% + \InputIfFileExists{\CurrentOption.ldf}{}{% + \PackageError{babel}{% + Language definition file \CurrentOption.ldf not found}{% + Maybe you misspelled the language option?}}% + } +\InputIfFileExists{bblopts.cfg}{% + \typeout{*************************************^^J% + * Local config file bblopts.cfg used^^J% + *}% + }{} +\DeclareOption{activeacute}{} +\DeclareOption{activegrave}{} +\DeclareOption{KeepShorthandsActive}{} +\ProcessOptions* +\ifx\bbl@main@language\@undefined + \PackageError{babel}{% + You haven't specified a language option}{% + You need to specify a language, either as a global + option\MessageBreak + or as an optional argument to the \string\usepackage\space + command; \MessageBreak + You shouldn't try to proceed from here, type x to quit.} + \input{babel.def} +\fi +\def\substitutefontfamily#1#2#3{% + \lowercase{\immediate\openout15=#1#2.fd\relax}% + \immediate\write15{% + \string\ProvidesFile{#1#2.fd}% + [\the\year/\two@digits{\the\month}/\two@digits{\the\day} + \space generated font description file]^^J + \string\DeclareFontFamily{#1}{#2}{}^^J + \string\DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}^^J + \string\DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}^^J + \string\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}^^J + \string\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}^^J + \string\DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/bx/n}{}^^J + \string\DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/bx/it}{}^^J + \string\DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/bx/sl}{}^^J + \string\DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/bx/sc}{}^^J + }% + \closeout15 + } +\@onlypreamble\substitutefontfamily +\AtBeginDocument{% + \@ifpackageloaded{ifthen}{% + \bbl@redefine@long\ifthenelse#1#2#3{% + \let\bbl@tempa\pageref + \let\pageref\org@pageref + \@safe@activestrue + \org@ifthenelse{#1}{% + \let\pageref\bbl@tempa + \@safe@activesfalse + #2}{% + \let\pageref\bbl@tempa + \@safe@activesfalse + #3}% + }% + }{}% + } +\AtBeginDocument{% + \@ifpackageloaded{varioref}{% + \bbl@redefine\@@vpageref#1[#2]#3{% + \@safe@activestrue + \org@@@vpageref{#1}[#2]{#3}% + \@safe@activesfalse}% + \bbl@redefine\vrefpagenum#1#2{% + \@safe@activestrue + \org@vrefpagenum{#1}{#2}% + \@safe@activesfalse}% + }{}% + } +\AtBeginDocument{% + \@ifpackageloaded{hhline}% + {\expandafter\ifx\csname normal@char\string:\endcsname\relax + \else + \makeatletter + \def\@currname{hhline}\input{hhline.sty}\makeatother + \fi}% + {}} +\DeclareRobustCommand{\FOREIGNLANGUAGE}[1]{% + \lowercase{\foreignlanguage{#1}}} +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\endinput diff --git a/Master/texmf-dist/tex/generic/e-french/frbib.ldf b/Master/texmf-dist/tex/generic/e-french/frbib.ldf new file mode 100644 index 00000000000..609f60f721f --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frbib.ldf @@ -0,0 +1,44 @@ +% file frbib.tex +% +% Traduction des noms definis dans frplain.bst, fralpha.bst et frapalike.bst +% par Ronan Keryell. +% Fichier initialise par B. Gaulle a partir du frbib.sty de R.K. +% Ce fichier est charge par defaut dans french(le).sty +% Peut etre utilise avec le style de l'ACM (version longue des libelles +% si on ne met pas \usepackage{fracm}). +% derniere modification 2000/12/11 +% Check also enbib.tex +% +\def\bibsfrench{% + \def\andname{et}% + \def\editorname{\'editeur}% + \def\editornames{\'editeurs}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\ofname{de}% + \def\numbername{num\'ero}% + \def\Numbername{Num\'ero}% + \def\inname{dans}% + \def\Inname{Dans}% + \def\editionname{\'edition}% +% \def\pagename{page}% de'ja` dans french.sty. + \def\pagesname{pages}% +% \def\chaptername{chapitre}% de'ja` dans french.sty. + \def\technicalreportname{Rapport Technique}% + \def\revisionname{R\'evision}% + \def\masterthesisname{DEA}% pour fracm.bst sans fracm.sty + \def\phdthesisname{Th\`ese de doctorat}% pour fracm.bst sans fracm.sty + \def\janname{janvier}% + \def\febname{f\'evrier}% + \def\marname{mars}% + \def\aprname{avril}% + \def\mayname{mai}% + \def\junname{juin}% + \def\julname{juillet}% + \def\augname{ao\^ut}% + \def\sepname{septembre}% + \def\octname{octobre}% + \def\novname{novembre}% + \def\decname{d\'ecembre}% +}% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/french-msg.tex b/Master/texmf-dist/tex/generic/e-french/french-msg.tex new file mode 100644 index 00000000000..7db46b54312 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french-msg.tex @@ -0,0 +1,206 @@ +% File french-msg.tex (messages issued by the FrenchPro package) +\msgheader{-\msgid-\space} +\msg{1}{the #1 macro already exists}{} +\msg{2}{#1 file not found.}{} +\msg{3}{\frenchpack\space is not active here\string!}{} +\msg{4}{entering now "Poor-Man-French-Style" way}{} +\msg{5}{the lettrine definition is wrong}{} +\msg{6}{check again the lettrine code}{} +\msg{7}{the lettrine is reduced to a lonely letter}{} +\msg{8}{\string\footnotetext{#1} lost % + \MessageBreak % + Code event. \string\protect\string\footnote}{} +\msg{9}{Corrupted/absent language.dat file}{} +\msg{10}{french package not loaded}{} +\msg{11}{applying the \string<\string< frpatch \string>\string> #1}{} +\msg{12}{frpatch.sty is out of date, delete the file}{} +\msg{13}{the character "#1" is already activated}{} +\msgheader{-13-\space} +\msg{13b}{double punctuation is then disactivated}{} +\msgheader{-\msgid-\space} +\msg{14}{closing not opened guillemets}{} +\msg{15}{the language \frenchname\space is numbered \the\language}{} +\msg{16}{the English language\space is numbered \the\language}{} +\msg{17}{\string\wrongtypedspaces\space not running % + in this context}{} +\msg*{18}{\frenchname.sty is forcing the \string\nofrenchguillemets\space % + option in math with AmSLaTeX.}{} +\msg{19}{using the internal language number \the\language}{} +\msg*{20}{WARNING\string: the French language is undefined in your format.}{} +\msg*{20b}{\frenchname.sty\string: the French language is undefined % + (ERROR\string!)}{} +\msg{21}{#1 is not defined}{} +\msg{22}{abbreviation of \string"#1\string" not found}{} +\msg*{23}{Package\string: \frenchpack\space\frenchstyleid% + \space(B.Gaulle)}{} +\msg{24}{\frenchname.sty is using, in this document, the font encoding % + \f@encoding.}{}% +\msg{25}{\frenchname.sty is issuing his messages in % + \ifEightBitOutput8bits.\else7bits mode % + "a la TeX".\fi % + ^^J}{} +\msg{26}{Error found in \frenchname.sty\string! % + \MessageBreak % + (look at e.g. the language.dat file)}{} +\msg*{27}{\frenchname.sty\string: language \l@no\space (#1) was initially % + (at initex) numbered \csname l@#1\endcsname\space(ERROR\string!)}{} +\msg{28}{WARNING\string: TeX Version 2 don't allow to use the % + 8bits chars with diacritics}{} +\msg*{29}{***Warning***\string: TeX engine in use along with CM fonts % + \MessageBreak % + (as in current TeX format) isn't sufficient to hyphenate % + \MessageBreak % + words containing diacritics (like in French).}{} +\msg{30}{ERROR\string! % + Something wrong\string! your TeX engine can't hyphenate correctly % + \MessageBreak % + french words with diacritics *in that current font* or % + encoding}{} +\msg{31}{Wrong French Hyphenation\string! % + Are you sure to run with a format *********** % + \MessageBreak % + in which the french patterns were % + installed at initex time\string? ***********}{} +\msg{32}{if yes try to switch to T1 font % + encoding (\string\usepackage[T1]{fontenc})***}{} +\msg{33}{CHECK the list for hexadecimal TeX codes you can't display % + \MessageBreak % + and decide if they must be eliminated from \@kbencoding.kbc % + \MessageBreak % + assuming your ''locale'' settings are okay on your system.}{} +\msg{34}{this file and other auxiliary files require to % + use the following % + \MessageBreak % + LaTeX packages\string: \frenchpack\string! % + \MessageBreak % + check \string\usepackage\space or remove these files. % + Typesetting is aborted\string!}{} +\msg{35}{kbconfig\string: Redefining \string ^\string ^\string Y uccode. % + \MessageBreak % + kbconfig\string: Redefining \string ^\string ^\string Z uccode.}{} +\msg{36}{ERROR\string: invalid name of LaTeX format % + (\string\fmtname). % + \MessageBreak % + CORRECT it to\string: \string\fmtname=LaTeX2e\space % + or ancient name.}{} +\msg{36b}{ERROR\string: non standard LaTeX format % + (\string\fmtname)}{} +\msg{37a}{ERROR\string: the french package is already active here.}{} +\msg{37b}{ERROR\string: the french package is stll not active here.}{} +\msg{38}{The language #1 is used as language number \the\workl@.}{} +\msg{39}{Error\string: file language.dat not found, trying to load % + US-english hyphenation file}{} +\msg*{40}{Writing kb8to7.lex and kb7to8.lex}{} +\msg{41}{your format is out of date, please run initex again\string!}{} +\msg{42}{The \frenchname\space patch file (frpatch.sty) is not suitable % + \MessageBreak % + for this version of the "\frenchpack" package dated \FSfd}{} +\msg{43}{french.all is LOADED^^J}{} +\msg{44}{ERROR the command \LaMacro\space is undefined\string!}{} +\msg{45}{executing \LaMacro}{} +\msg{46}{This commande is already defined in \frenchname.sty % + \MessageBreak % + Possible problem with \frenchpack\space (\Aboi #1 macro)}{} +\msg*{47}{i must stop because your TeX engine is unable to % + generate 8bit output codes, sorry\string!}{} +\msg{48}{Reading the configuration file of \frenchpack}{} +\msg{49}{closing the guillemets too early}{} +\msg{50}{Error\string: the french language is undefined in % + language.dat file.}{} +\msg{51}{ERROR\string: this document was not converted to 8bit...}{} +\msg*{52}{Error\string: the \frenchpack\space package doesn't run in % + such minimal document class, sorry\string!}{} +\msg{53}{the guillemets environment is not usable with % + \MessageBreak % + the \string\noeveryparguillemets\space option}{} +\msg{54}{ERROR\string: \string\unusedslot\space (\unusedslot) is invalid}{} +\msg{55}{ERROR \string\unusedslot\space character % + (\@unusedslot) is not activated.}{} +\msg*{56}{Processed 8bits characters are\string:}{} +\msg{57}{keyboard package #1 loaded for the font encoding % + \f@encoding.^^J}{} +\msg{58}{value of #1 ignored}{} +\msg*{59}{FATAL ERROR\string: unusual strange text generated.}{} +\msg{60}{dot missing after \string\etc}{} +\msg{61}{hyph\hyphchar.tex file not found.}{} +\msg{62}{additional hyphenation file loading % + for \hyphchar\space fonts with specific hyphen char}{} +\msg{63}{french.sty or frenchle.sty files not found. % + \MessageBreak % + Check if files exist somewhere in your system.}{} +\msg{64}{ERROR\string: invalid \string\fmtname\space in lplain.tex}{} +\msg{65}{\frenchname.sty is loading the translations % + for bibliography \string:}{} +\msg*{66}{ERROR\string! This file can't be typeset without any input % + \MessageBreak % + encoding declaration (look at keyboard or inputenc packages.)}{} +\msg*{67}{WARNING it seeems your are using inputenc and keyboard, % + please chose\string!}{} +\msg*{68}{ERROR\string: \frenchpack\space is no more running % + with 2.09 emulation, sorry\string!}{} +\msg{69}{kbconfig\string: Intercepting the dump control sequence for % + eliminating few invalid chars.}{} +\msg{70}{kbconfig\string: modifying \string\@tabacckludge\space for math.}{} +\msg{71}{WARNING\string: if babel is used,% + \MessageBreak + specify option \frenchname(pro/le)}{} +\msg{72}{kbconfig\string: utf8 encoding can't be completed with plain\string! % + \MessageBreak % + kbconfig\string: continuing with no Unicode characters.}{} +\msg*{73}{\frenchname.sty was loaded too early\string!}{} +\msg*{74}{ERROR, keyboard package loaded after % + \frenchpack!}{} +\msg{75}{kbconfig\string: utf8 encoding not found via inputenc % + package\string! % + \MessageBreak % + kbconfig\string: continuing with no Unicode characters.}{} +\msg{76}{kbconfig\string: no language dependencies available within % + Plain TeX\string!}{} +\msg{77}{No #1\space characters defined for English.}{} +\msg*{78}{ERROR\string: noutf8 option clash.}{} +\msg*{79}{keyboard.sty\string: no local option given, % + no utf8 coding.}{} +\msg{80}{Babel is willing to load the \CurrentOption\space option % + \MessageBreak but the mlp package is already loaded, % + please choose % + \MessageBreak either mlp with \CurrentOption\space option, % + \CurrentOption\space alone % + \MessageBreak or babel with \CurrentOption\space option}% + {\help{just remove the superfluous package or option.}} +\msg*{81}{WARNING\string: "msg" package not found\string; % + \MessageBreak continuing without message texts}{} +\msg{82}{command \LaMacro\space is not defined now}{} +\msg{83}{Testing macros before \string\begin{document}^^J}{} +\msg{84}{Now testing again but AFTER \string\begin{document}^^J}{} +\msg{85}{Warning\string: the fixlanguage option % + was not provided at the babelbib call}{} +\msg{86}{keyboard.sty\string: % + The mltex feature is nullified due to the #1\space option.}{} +\msg{87}{ERROR\string: % + \MessageBreak % + babelbib should only be used with babel}{} +\msg{88}{No characters defined % + \MessageBreak % + by keyboard encoding change to `utf8'\MessageBreak}{} +\msg{89}{kbconfig\string: Keyboard character used is undefined\MessageBreak % + in keyboard encoding `utf8'}% + {You need to provide a definition with % + \noexpand\DeclareInputText\MessageBreak or % + \noexpand\DeclareInputMath before using this key.} +\msg{90}{Invalid Unicode char value \string < 00A0}{\@eha} +\msg{91}{Unicode char #1 not set up\space % + for use with LaTeX}{\@eha} +\msg{92}{Yous should either\string:\MessageBreak % + - use an engine with the MlTeX option, or\MessageBreak % + - switch to font encoding T1 as default.}{} +\msg*{93}{You are using two French options for Babel, % + \MessageBreak % + please choose only one.}{} +\msgheader{-**-\space} +\msg*{**a}{\frenchpack\space serial number is *\@FrVal*.}{} +\msg*{**b}{\@FrVal\space of \frenchpack.}{} +\msgheader{} +\msg{*}{the message \msgid\space is unknown in the \frenchname\space % + package}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + diff --git a/Master/texmf-dist/tex/generic/e-french/french.all b/Master/texmf-dist/tex/generic/e-french/french.all new file mode 100644 index 00000000000..c3e7aeb788c --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.all @@ -0,0 +1,39 @@ +% This is the french test to check if all french macros exist and are running. +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% rev. 2002/04/25 +{\catcode`\]=13\def]{} + \message{-43- french.all now LOADED^^J} +\def\DmyDeF#1{\def\LaMacro{\expandafter\noexpand\csname#1\endcsname} + \message{^^J} + \expandafter\ifx\csname#1\endcsname\relax + \message{-44- ERRROR command \LaMacro is undefined!} + \else + \message{-45- executing \LaMacro} + \phantom{\expandafter\csname#1\endcsname\relax} + \fi + }% +\def\Dmydef#1,#2]{\DmyDeF{#1}% + \def\temp{#2}\ifx\temp\empty\let\Dmydef\relax\fi% + \Dmydef#2]}% +\def\dummydef[{\Dmydef}% +% Here are all the french defs names +\def\>{>}\def\<{<}\def\!{!}% simulation +% following code can't be executed asis +\ifx\frenchtest\undefined\else\let\frenchtest\empty\fi +\ifx\frenchdoc\undefined\else\let\frenchdoc\empty\fi +\ifx\figurette\undefined\else\let\figurette\empty\fi +\ifx\endfigurette\undefined\else\let\endfigurette\empty\fi +\ifx\GOfrench\undefined\else\let\GOfrench\empty\fi +\ifx\vert\undefined\else\let\vert\empty\fi +\ifx\tilde\undefined\else\let\tilde\empty\fi +\ifx\originaloutput\undefined\else\let\originaloutput\empty\fi +\ifx\unnumberedcaptions\undefined\else\let\unnumberedcaptions\empty\fi +\ifx\kbIO\undefined\else\let\kbIO\empty\fi +\ifx\nombre\undefined\else\let\nombre\empty\fi +\def\@kbtypeout[#1]#2{} +\input french.cmd % load all french cmd names +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/french.cfg b/Master/texmf-dist/tex/generic/e-french/french.cfg new file mode 100644 index 00000000000..dac7b0f1a4f --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.cfg @@ -0,0 +1,11 @@ +% les options suivantes (conseillées) par défaut : +\abbreviations +\disallowuchyph +\overfullhboxmark +\tthyphenation +\tabbingaccents +\automaticlettrine +% désactivez les options de frenchle pour '«' et '»' ! +% test eFrench = {\befr} +\newcommand{\fbefr}{{\footnotesize E}F{\footnotesize RENCH}} +\DeclareRobustCommand{\befr}{\fbefr} \ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/e-french/french.chk b/Master/texmf-dist/tex/generic/e-french/french.chk new file mode 100644 index 00000000000..279b0e7f09d --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.chk @@ -0,0 +1,55 @@ +% This is the french style check file (that check french cs & issue a warning) +% After Bernard Gaulle's decease this work is now maintained as a part of +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% to be used only to see if a document is french-style compatible +% +% rev. 2005/05/17 +\catcode`\/=0{\catcode`/\=12/gdef/Aboi{/string\}}%}emacs+TeX +/catcode`/\=0\catcode`\/=12\catcode`\@=11 +% THERE IS A LOOP when using the msg package thus +\let\kbBissue\relax% i don't use it. +% Localisation code for numbered \typeout: "\kbBissue% localise it." +% For debugging one can remove "msg" access, just uncomment +%\let\kbBissue\relax% this line. + \ifx\kbBissue\undefined% +% Firstly we add the material to use the "msg" package for localization. + \def\kb@issue#1#2{\kb@issue@[#1]#2\void}% The local \issuemsg macro. + % which will call the real one; + % #1 is the macro message required. + % #2 is the message header + msg number + % such as "^^J -234-", just message + % number (234) is kept. + \let\kbBissue\kb@issue% + \def\kb@issue@[#1]#2-#3-#4\void{\issuemsg[#1]#3(french)}% + \ifx\issuemsg\undefined\let\kbBissue\relax\let\typeouA\typeout\fi% + \fi% +% +\catcode`\@=12 +{\catcode`\]=13\def]{} +\gdef\ErrMsgF#1{% +\ifx\kbBissue\relax% + \errhelp{-46- Cette commande est deja definie dans le style french}% +% \errhelp{-46- Your command will be ignored, type to proceed}% +\fi% +\kbBissue% localise it. + \errmessage{-46- Probleme eventuel avec FrenchPro (macro \Aboi #1)}} +\def\DmyDeF#1{\expandafter\gdef\csname#1\endcsname{\ErrMsgF{#1}}}% +\def\Dmydef#1,#2]{\DmyDeF{#1}% + \def\temp{#2}\ifx\temp\empty\let\Dmydef\relax\fi% + \Dmydef#2]}% +\def\dummydef[{\Dmydef}% +\input french.cmd % +% the following for super-activated-characters +\catcode`\"=\active +\gdef"{{\def\Aboi{}\ErrMsgF{\string"}}} +\catcode`<=\active\catcode`>=\active +\gdef<{{\def\Aboi{}\ErrMsgF{\string<}}} +\gdef>{{\def\Aboi{}\ErrMsgF{\string>}}} +\catcode`<=12\catcode`>=12 +\gdef\EBCDICbrackets{\catcode`<=\active\catcode`>=\active} +\gdef\noEBCDICbrackets{\catcode`<=12\catcode`>=12} +\def\frenchTeXmods{\ErrMsgF{frenchTeXmods}}% normally unused by user +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/french.cmd b/Master/texmf-dist/tex/generic/e-french/french.cmd new file mode 100644 index 00000000000..0bed3f9dfe3 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.cmd @@ -0,0 +1,89 @@ +% This is the list of all french macros introduced/modified by the french style +% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% to be used only for testing/debugging purposes. +% +% All pseudo standard titles cs (like \slidename) are omitted. +% Just specific french macros are there. +% rev. 2005/03/24 +\dummydef[french,english,frenchtest,frenchdoc,NouveauLangage,% % 5 +beginlanguage,inferieura,superieura,lqq,rqq,originalinput,% %10 +nonfrench,endnonfrench,frenchtypography,noTeXdots,TeXdots,% %15 +ancientguillemets,todayguillemets,guillemetsinallfonts,%18 + guillemetsinroman,endguillemets,%20 +noenglishquote,englishquote,noenglishdoublequotes,englishdoublequotes,%24 + untypedspaces,%25 +typedspaces,idotless,iwithdot,EBCDICbrackets,normalbrackets,% %30 +letpunctutionactivefor,wrongtypedspaces,nofrenchtypography,%33 + frenchlayout,everyparguillemetsremoved,%35 +everyparguillemets,noeveryparguillemets,overfullhboxmark,%38 + nooverfullhboxmark,labelsinmargin,%40 +nolabelsinmargin,Numeros,nopagenumbers,order,nofrenchlayout,% %45 +frenchtranslation,resume,sommaire,annexe,annexes,% %50 +glossaire,glossaires,printindex,see,seealso,% %55 +nofrenchtranslation,frenchmacros,dittomark,frenchname,ordinal,% %60 +keywords,endkeywords,motsclef,endmotsclef,pmfrench,% %65 +CheckSevenBits,frenchhyphenation,nofrenchhyphenation,hyphex,frhyphex,%%70 +letpunctuationactivefor,endfrench,prefacename,vert,tilde,% %75 +automaticlettrine,noautomaticlettrine,frenchguillemets,%78 + nofrenchguillemets,wideletter,%80 +abbreviations,noabbreviations,nofrenchmacros,frenchstyleid,%84 + originaloutput,%85 +abstract,endabstract,email,unnumberedcaptions,nowrongtypedspaces,% %90 +<,>,endorder,Ordinale,Ordinal,% %95 +allowuchyph,disallowuchyph,versatim,usualmessages,nohyphenation,% %100 +endversatim,tthyphenation,notthyphenation,!,tabbingaccents,% %105 +notabbingaccents,usersfrenchoptions,PS,yourref,ourref,% %110 +object,AllTeX,ordinale,guillemetsinarrays,noguillemetsinarrays,% %115 +pointvirgule,deuxpoints,pointexclamation,kbtypeout,%119 + pointinterrogation,%120 +guillemets,regularmathcomma,frenchmathcomma,frenchwarnings,%124 + nofrenchwarnings,%125 +frenchtrivsepwarnings,nofrenchtrivsepwarnings,emailname,fraddto,%129 +nombre,% %130 +frtrivseplengths,frlabelitems,checkitemguillemets,indentfirst,% %135 +nonindentfirst,kbIO,ConstantLayout,WindowsUnits,verbatimfile,% %140 +frenchpagestyle,nofrenchpagestyle,beginingfolio,nobeginingfolio,% %144 + FileName,%145 +theFileName,frenchbguillemets,nofrenchbguillemets,% + FrenchGuillemetsFrom,CyrillicGuillemets,%150 +PolishGuillemets,LasyGuillemets,og,fg,% %154 + % + % 154 commandes definies avant \begin{document}% + %----------------------------------------------% +% +%%%%%%%%%%%%% +% Macros defined after \begin{document} +% +ier,iere,ieme,iers,ieres,% %005 +iemes,numeros,lettrinefont,degre,degres,% %010 +leftguillemets,rightguillemets,fup,primo,secundo,% %015 +tertio,quarto,quando,fsc,refmark,% %020 +moretolerance,Sauter,lsc,vers,formfoot,% %025 +formhead,figurette,endfigurette,printglossary,lettrine,% %030 +flettrine,at,chap,lettrinehang,lettrinefontname,% %035 +noresetatpart,etc,allowhyphens,captionfont,originalmathcomma,% %040 +frenchpack,halfnegthinspace,% 42 + % + % 42 commandes definies apres \begin{document}% + %+ 154 commandes definies avant \begin{document}% + %= 196 commandes utilisables dans FrenchPro % +% %-----------------------------------------------% +%%%%%%%%%%%% +% +% Macros not entered in the list or removed +% +%GOfrench,% is not a user command +%fguillemets,endfguillemets,%150 % removed 2000/03/08 +%languagename is defined by babel +%slidename and listslidename will be in seminar too +%notesname is already in endnotes +%proofname is in AmS +%No, % was it really defined in the past? +%addto is defined by babel +]}% +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/french.dmy b/Master/texmf-dist/tex/generic/e-french/french.dmy new file mode 100644 index 00000000000..c3db0cf453b --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.dmy @@ -0,0 +1,70 @@ +% This is the french dummy style (that redefine all french cs as dummy) +% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% to be used only for testing/debugging purposes. +% +% rev. 2000/10/20 +%% +%% checksum = "57290 67 195 2733" +%% +{\catcode`\]=13\def]{} +\def\DmyDeF#1{\expandafter\gdef\csname#1\endcsname{\relax}}% +\def\Dmydef#1,#2]{\DmyDeF{#1}% + \def\temp{#2}\ifx\temp\empty\let\Dmydef\relax\fi% + \Dmydef#2]}% +\def\dummydef[{\Dmydef}% +% Here are all the french defs names +\ifx\french\undefined\let\french\relax\fi% %1 +\ifx\english\undefined\let\english\relax\fi% %2 +\input french.cmd % +% The following is for commands used before \begin{document} +% they must not produce any text. +\def\email#1{}% +% +\global\let\dsORI\dospecials\gdef\dospecials{\do<\do>\dsORI} +\catcode`<=\active\catcode`>=\active +\gdef\EBCDICbrackets{% let << >> do a grouping + \catcode`<=\active\catcode`>=\active + \global\let\ifOG\iffalse + \gdef\NNouv<{\ifOG\else\bgroup\fi\global\let\ifOG\iftrue} + \gdef\NNfer>{\ifOG\egroup\fi\global\let\ifOG\iffalse} + \gdef<{\protect\myNo}\gdef>{\protect\myNf} + \gdef\myNo{\ifmmode\string<\else\NNouv<\fi} + \gdef\myNf{\ifmmode\string>\else\NNfer>\fi} +} +\gdef<{\string<}% +\gdef>{\string>}% for use with 8bits << and >> +\gdef\normalbrackets{\catcode`<=12\catcode`>=12 + \global\let\dospecials\dsORI} +\catcode`<=12\catcode`>=12 +\gdef\guillemets{<<}\gdef\endguillemets{>>} +\gdef\guillemotleft{<<}\gdef\guillemotright{>>} +\gdef\ref#1{??}% contents nullified (too much code to write) +\gdef\special#1{}\def\cite#1{??}% ditto +\gdef\Sauter#1Lignes{}% +% the following to let LaTeX know about the order and versatim env. +\global\let\order\itemize\global\let\endorder\enditemize +{\catcode`\@=11\relax +%\global\let\@sanORI\@sanitize\def\@sanitize{\@sanORI\@makeother<\@makeother>} +\begingroup \catcode `| =0 \catcode `[ = 1 \catcode`] =2 + \catcode `\{=12 \catcode `\}=12 \catcode`\\=12 + |gdef|@xversatim#1\end{versatim}[#1|end[versatim]] + |endgroup% running macro for versatim +\gdef\versatim{\let\@xverbatim\@xversatim\verbatim% + \def\endversatim{\endverbatim}} +} +%\global\let\vers\verb% c'est un pb pour 2e (invalid in argument) +\global\let\vers\relax +\let\BSori\backslash\def\backslash{\ifmmode\BSori\else$\BSori$\fi} +\global\def\|{\backslash|}% used in french.tst as a backslash in a verb. +\def\frenchTeXmods{}% normally unused by user +\let\figurette\figure\let\endfigurette\endfigure +\def\CheckSevenBits/#1/#2{}% no-op +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + diff --git a/Master/texmf-dist/tex/generic/e-french/french.ldf b/Master/texmf-dist/tex/generic/e-french/french.ldf new file mode 100644 index 00000000000..befe87736f4 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.ldf @@ -0,0 +1,87 @@ +%% This is french.ldf (french option for Babel) under LaTeX --bg 2006/09/27 +% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +\ProvidesFile{french.ldf}% originally: +% [1995/06/19 v1.0 the first try with Babel 3.4 +% [1997/01/02 v1.2 well a just in time for 3.5 alpha +% [1997/02/21 v1.3 mods for 3.6, pb is loading babel.def at good time. +% [1997/03/28 v1.4 +% [1997/08/26 v1.5 +% [1999/09/21 v1.6 +% [2000/07/04 v1.7 % french light support (frenchle) added. +% [2000/08/29 v1.8 % french light correction (frenchle speaks french) +% [2001/11/28 v1.9 % french loaded before babel, special case. +% [2003/11/19 v1.10 % french loaded before babel frenchle/frenchpro, +% [2004/06/25 v1.11 % mlp loaded before babel. \atcatcode removed. +% [2004/09/13 v1.12 % messages numbers changed. +% [2005/03/21 v1.13 % pb francais/frenchb loaded before babel FrenchPro. + [2006/09/28 v1.14 % \main@language added before \selectlanguage. + french option of babel loading the frenchle/FrenchPro package] +\ifx\undefined\captionsfrench% In case french is allready loaded, +\else% major switchs should be set now: + \ifx\@mlp@loaded\undefined% but only if the mlp package wasn't + \else% already loaded. + \PackageError{\CurrentOption}% + {-80- Babel is willing to load the \CurrentOption\space option% + \MessageBreak but the mlp package is already loaded, % + please choose % + \MessageBreak either mlp with \CurrentOption\space option, % + \CurrentOption\space alone % + \MessageBreak or babel with \CurrentOption\space option}% + {just remove the superfluous package or option.}% + \expandafter\endinput\fi% + \expandafter\let\expandafter\ifLPA\csname iffalse\endcsname + \let\nofrenchtypography\relax + \let\nofrenchtranslation\relax + \let\nofrenchlayout\relax + \let\nofrenchmacros\relax + \let\nofrenchhyphenation\relax + \ifx\LdfInit\undefined\else\expandafter\LdfInit\fi + \main@language{french}\selectlanguage{french}% Select again French +\expandafter\ifx\csname endfrench\endcsname\relax +\PackageError{frenchle}{-93- You are using two French options for Babel, % + please choose only one.} +\let\endfrench\stop\fi + \endfrench% but stop it until \begin{document}. + \expandafter\endinput% +\fi +\ifnum\catcode`\@=11\else\expandafter\catcode`\@=11\fi% +\ifx\undefined\babel@core@loaded% still undefined (>3.5)? + \let\babel@core@loaded\main@language\fi% +\ifx\undefined\originalTeX \let\originalTeX\empty \fi +\originalTeX +\ifx\undefined\l@french\@nopatterns{French}\adddialect\l@french0\fi + +\protected@write\@auxout{}{\protect% insure files integrity +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- this file and other auxiliary files require to + use the following}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- LaTeX packages: french and babel!}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- check \protect\protect\protect\usepackage + \protect\space or remove these files. + Typesetting is aborted!} + \protect\stop}}% +\let\auxWARNINGi=\@gobble% accept aux files produces by french +\let\auxWARNINGii=\@gobble% and those produces by babel+french + +\InputIfFileExists{french.sty}{}% load our french pro package + {\InputIfFileExists{frenchle.sty}{}% or the light version if any, + {\PackageError{french/frenchle}% + {-63- french or frenchle style files not found}% + {-63- Check if files exist somewhere in your system.}% + \let\endfrench\stop% + }% + }% +\endfrench% and stop it immediately until \begin{document} +\let\noextrasfrancais\endfrench% bug in babel.sty version 3.5e +\let\extrasfrancais\frenchTeXmods% ditto +\let\captionsfrancais\captionsfrench% +\main@language{french}% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/french.sty b/Master/texmf-dist/tex/generic/e-french/french.sty new file mode 100644 index 00000000000..dfece88af88 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french.sty @@ -0,0 +1,3200 @@ +% This file is a part of the e-French package. +% For more details please read efrenchp.pdf +\expandafter\ifx\csname frenchTeXmods\endcsname\relax% +\else \endinput \fi% +\def\frenchname{french}% +\def\frenchpack{eFrench}% eFrench +\def\ds@french{}% +\def\ds@pmfrench{\pmfrench}% +{\catcode`\@=11{% + \ifx\@unexpandable@protect\undefined\let\protect\empty% + \else\let\protect\@unexpandable@protect% + \fi% + \xdef\FSfd{20 octobre 2011}% eFrench + \xdef\FSfv{V5,9995}% + \xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}% +}}% + \edef\FSfd{2007/06/28 }% +\NeedsTeXFormat{LaTeX2e}[1996/12/01]% +\let\auxWARNINGi=\@gobble% +\def\@txt@msg#1{#1}% +\def\@gobbleopt[#1]{}% +\def\f@issue#1#2{#1{#2}\@ifnextchar[{\@gobbleopt}{}% + }% +\def\@tempc{% +\def\f@issue##1##2{\f@issue@[##1]##2\void}% + % + % + % + % +\def\f@issue@[##1]##2-##3-##4\void{\issuemsg[##1]##3(french)}% +\PassOptionsToPackage{french}{msg}% +\ifx\LdfInit\@undefined% + \RequirePackage{msg}% +\else% + \let\@GOfrench\@currname% + \xdef\@currname{msg}% + \def\intern@lc@llfrom{\frenchpack}% + \let\fp@languagename\languagename% + \ifx\documentclass\@twoclasseserror% + \def\languagename{french}% + \fi% + \@@input msg.sty% + \let\languagename\fp@languagename% + \let\fp@languagename\undefined% + \let\intern@lc@llfrom\undefined% + \let\@currname\@GOfrench% +\fi% + }% +\def\@tempd{\def\f@issue##1##2{\@ifnextchar[{\@gobbleopt}{}% + }% + }% +\edef\@tempa{\expandafter\noexpand\csname str-\jobname\endcsname}% +\edef\@tempb{\expandafter\noexpand\csname str-frlicense\endcsname}% +\ifx\@tempa\@tempb% +\IfFileExists{msg.sty}{\@tempc}{\@tempd}\else% +\IfFileExists{msg.sty}{\@tempc}{% + \typeout{^^J -81- WARNING: "msg" package not found;% +^^J\space\space\space\space\space\space continuing without message texts.}% + }% +\fi% +\newif\ifECM% +\def\ErrFrench{\f@issue\@fW{-26- % + % + % + }}% +\def\ifFTY{\ErrFrench}\def\ifFTR{\ErrFrench}\def\ifFG{\ErrFrench}% +\def\ifFLA{\ErrFrench}\def\ifFMA{\ErrFrench}\def\ifFH{\ErrFrench}% +\def\ifArG{\ErrFrench}\def\ifFTSW{\ErrFrench}\def\ifFW{\ErrFrench}% +\edef\GOfrench{`\string @}% +\ifnum\catcode\GOfrench=11% + \let\resetat\relax% + \else\edef\resetat{\noexpand\catcode\GOfrench=\the\catcode\GOfrench}% + \makeatletter\fi% +\let\@currnameORI\@currname% +\xdef\@currname{\frenchname}% +{\def\'{\string\'}% + \ProvidesPackage{\frenchname}% + [\FSfd\space The \frenchpack\space package /\FSfv/]% +}% +\def\GOfrench{babel}\ifx\@currnameORI\GOfrench% + \ifx\undefined\babel@core@loaded\input babel.def\relax\fi% + \ifx\undefined\babel@core@loaded% + \let\babel@core@loaded\main@language\fi% + \fi% +\def\@tempa#1V#2,#3\@nil{\def\@FSfv{#2}}\expandafter\@tempa\FSfv\@nil% +\let\FSfv=\undefined% +\IfFileExists{frpatch.sty}{\def\FSfd@patch{unknown}}{\let\FSfd@patch\FSfd}% +\if@compatibility% + \f@issue\typeout{^^J -68- + % + % + }\expandafter\stop% +\fi% +\ifx\l@french\undefined\f@issue\typeout{^^J -20- + % + % + }% +\fi% +\fontencoding{\encodingdefault}\selectfont% + \def\@temp@{OT1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else\def\@temp@{LO1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else% + \def\@temp@{\global\ECMtrue}% + \fi% + \fi% +\@temp@% +\def\@tempa{\let\ifEightBitOutput\iffalse}% +\ifx\EightBitOutputfalse\undefined\expandafter\@tempa\fi% +\ifECM\else\ifx\charsubdef\undefined% + \def\@tempa{\noexpand\dGs}% + \ifx\@tempa\dGs\else% + \ifx\@kb@msgXXIX\relax\else% + \f@issue\typeout{^^J -29- % + % + % + % + }% + \let\@kb@msgXXIX\relax% + \fi% + \fi% +\fi\fi% +\ifx\undefined\@dblarg% +\long\def\@dblarg#1{\@ifnextchar[{#1}{\@xdblarg{#1}}}}% +\long\def\@xdblarg#1#2{#1[{#2}]{#2}}% +\fi% +\newdimen\@FrDimen% +\def\usualmessages{\let\ifEightBitOutput\iftrue}% + \ifnum\inputlineno=-1\def\@o@l{.}% + \else\def\@o@l{ (\`a la ligne \the\inputlineno).}\fi% + \expandafter\let\expandafter\@aiguORI\expandafter=% + \csname OT\string1\string\'\endcsname% + \expandafter\let\expandafter\@gravORI\expandafter=% + \csname OT\string1\string\`\endcsname% + \expandafter\let\expandafter\@acchORI\expandafter=% + \csname OT\string1\string\^\endcsname% + \expandafter\let\expandafter\@tremORI\expandafter=% + \csname OT\string1\string\"\endcsname% + \expandafter\let\expandafter\@cediORI\expandafter=% + \csname OT\string1\string\c\endcsname% +\def\@PreserveBraces[#1#2]% + {\ifcat\noexpand#1$ #1#2\def\@temp@{}% + \else\def\@temp@{#2}% + \ifx\@temp@\empty\def\@temp@{#1}% + \else\def\@temp@{{#1#2}}\fi% + \fi\expandafter\@temp@}% +\def\@temp@{lplain-bilingual}% +\ifx\fmtname\@temp@\f@issue\typeout{-64- % + \@txt@msg{ERROR: invalid \string\fmtname\space in lplain.tex}% + }\stop\fi% +%% code to test the shareware licence suppressed eFrench +\let\@tempc\relax% +\ifx\today\undefined\let\today\cejour\fi% +\ifx\today\undefined\f@issue\typeout{^^J -52- % + % + % + }\expandafter\stop% +\fi% +{\def\GOfrench{\global\let\ifEightBitOutput\iffalse}% + \let\add@accent\@gobble\edef\@tempa{\`{}}% + \def\@tempb{{\setbox \@tempboxa \hbox {}\accent 18 }}% + \ifx\@tempa\@tempb% + \expandafter% + \GOfrench% + \fi% +}% +\def\@fW#1{{\let\@nobraces\@firstofone% + \ifEightBitOutput% + \setbox\@tempboxa\hbox{\`\space}% + \ifx\charsubdef\undefined\else% + \let\add@accent\@gobble% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \edef\@tempa{#1}\typeout{\@tempa}}}% +{\def\ier{er}% +\f@issue% +\@fW{^^J -23- % + % + }% +}% +\let\ifFW\iftrue% +\def\@fw#1{{\let\@NoFr\relax% + \ifFW\kbtypeout% + {^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }}% + % +\ifx\kbtypeout\undefined% +\def\@kbtypeout[#1]#2{\ifEightBitOutput\let\@typeset@protect\protect\fi% + \let\@inpenc@undefined@\@gobble% + \edef\f@tempa{#2\empty}% + #1{\f@tempa}\egroup}% +\def\kbtypeout{\kbIO[\typeout]}% +\def\kbIO{\bgroup% + \ifECM\fontencoding{OT1}\selectfont\fi% + % + \let\@nobraces\@firstofone% + \let\protect\string% + \ifEightBitOutput% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \def\"##1{\expandafter\@nobraces\@tremORI##1}% + \def\c##1{\expandafter\@nobraces\@cediORI##1}% + \csname @kbspecials\endcsname% + \else% + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% + \fi% + \@kbtypeout}% +\fi% +\ifx\@kbtypeout\undefined% + \def\@kbtypeout[#1]#2{#1{#2}\egroup}% +\fi% +\def\@tempb{\let\ifEightBitOutput\iffalse}% +\ifx\kbtypeout\typeout% + \long\def\@tempa{\add@accent{19}}% + \ifx\@tempa\@aiguORI\expandafter\@tempb\fi% +\def\@fw#1{\ifFW\bgroup\let\@nobraces\@firstofone% + \ifEightBitOutput% + \ifx\charsubdef\undefined\else% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \@kbtypeout[\typeout]{^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }% +\fi +\def\@Ffnt#1{\f@issue\@fw{-2- % + }[#1]}% +\def\@finput#1{\InputIfFileExists{#1}{}{\@Ffnt{#1}}}% +\def\@NoFr{\f@issue\@fw{-3- % + % + }}% +\let\ifFrench\iffalse% +\ifx\addto\undefined% + \def\addto#1#2{\ifx#1\@undefined\def#1{#2}% + \else\ifx#1\relax\def #1{#2}% + \else{\toks@\expandafter{#1#2}% + \xdef#1{\the\toks@}}% + \fi% + \fi% + }% +\fi% +\def\fraddto#1#2{\addto{#1}{#2}% + \ifFrench\french\else\english\fi}% +\ifx\MakeRobustCommand\undefined% +\def\MakeRobustCommand#1{\expandafter\expandafter\expandafter% + \let\expandafter\expandafter\csname #1 fp\endcsname% + \csname #1\endcsname% + \expandafter% + \edef\csname #1\endcsname{\expandafter\protect% + \expandafter\noexpand\csname #1 fp\endcsname} + }% +\fi% +\ifx\DocInput\undefined\else% + \let\fr@di\DocInput\def\DocInput#1{% + \ifFrench\english\fr@di{#1}\french% + \else\fr@di{#1}% + \fi\relax}% +\fi% +\ifx\url\undefined\else% + \let\fr@ul\url\def\url#1{% + \ifFrench\english\fr@ul{#1}\french% + \else\fr@ul{#1}% + \fi\relax}% +\fi% +\ifx\xy\undefined\else% + \let\fr@xy\xy\def\xy{% + \ifFrench\nofrenchguillemets\DFPdp\fi\fr@xy}% +\fi% +\ifx\hyper@n@rmalise\undefined\else% + \let\fr@hne\hyper@n@rmalise\def\fr@hnr#1#2{\fr@hne{#1}{#2}}% + \def\hyper@n@rmalise{\ifFrench\english\expandafter\fr@hnr% + \else\expandafter\fr@hne\fi}% +\fi% +\ifx\PDFSCR@Info\undefined\else% + \def\@seccntformat#1{\protect\textcolor{section\thesection@level}% + {\expandafter\upshape\csname the#1\endcsname}\quad}% +\fi% +\ifx\listing\undefined\else% + \let\fr@li\listing% +\edef\listing{\noexpand\@protected@testopt\noexpand\listing% + \expandafter\noexpand\csname\string\listing\endcsname {1}}% + \ifx\fr@li\listing% + \def\listing{% + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi}% + \else% + \long\def\listing{% + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi\relax}% + \fi% +\fi% +\ifx\inputlisting\undefined\else% + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi\relax}% +\fi% +\ifx\lstlisting\undefined\else% + \let\fr@lsi\lstlisting\long\def\lstlisting{% + \ifFrench\expandafter\english\expandafter\fr@lsi% + \else\expandafter\fr@lsi% + \fi}% +\fi% +\ifx\lstinputlisting\undefined\else% + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi}% +\fi% +\def\ifFrench#1\fi{\@NoFr}% + % +\def\originalinput#1{\ifFrench\english\@finput{#1}\french% + \else\@finput{#1}\fi\relax}% +\def\originaloutput[#1]{% + \bgroup\ifFrench\english\fi% + \def\@riginalout##1##2{\immediate\write##1{##2}\egroup}% + \@riginalout{#1}}% +\let\ifFLA\iffalse% +\@ifundefined{printindex}{% + \def\see#1#2{\seename% + \/ {#1}}% + \def\printindex{\clearpage% + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% + \addcontentsline{toc}{chapter}% + {\protect\indexname}% + {\let\@ti\theindex% + \def\theindex{\@ti\ifFLA\thispagestyle{french}\fi}% + \@finput{\jobname.ind}}}}{}% +\ifx\printnomenclature\undefined\else% +\let\@pne\printnomenclature% +\def\printnomenclature{\nofrenchwarnings\@pne}% +\fi% +\ifx\thebibliography\undefined\else% +\let\@tbs\thebibliography% +\let\fr@savebib\thebibliography% +\long\def\thebibliography#1{% + \ifFLA% + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% +\ifx\bibname\undefined% + \addcontentsline{toc}{chapter}{\refname}% +\else% + \addcontentsline{toc}{chapter}{\bibname}% +\fi% + \fi% + \@tbs{#1}% + }% +\ifx\bt@stepcnt\undefined% +\else% +\let\thebibliography\@tbs% +\let\bt@saveitem\bibitem% +\AtBeginDocument{\let\bt@savebib\fr@savebib}% +\def\@tempd#1#2#3#4\void{\def\@tempa{\noexpand#1}\def\@tempb{\noexpand#2}% + \def\@tempc{\noexpand#3}\def\@@tbs##1{#4}}% +\expandafter\@tempd\thebibliography{\string#1}\void% +\edef\thebibliography#1{\@tempa\@tempb\@tempc% + \noexpand\@@tbs{#1}\noexpand\@tbs}% +\def\@tbs{\ifFLA% + \ifx\hyper@refstepcounter\undefined\else% + \stepcounter{subparagraph}% + \hyper@refstepcounter{subparagraph}% + \fi% + \ifx\bibname\undefined% + \addcontentsline{toc}{chapter}{\refname}% + \else% + \addcontentsline{toc}{chapter}{\bibname}% + \fi% + \fi% + }% +\fi% +\fi% +\def\ifFLA{\ErrFrench}% +\@ifundefined{disableindex}{}% + {% + \def\see#1#2{\seename\/ {#1}}% + }% +\@ifundefined{seealso}{% + \def\subsee#1#2{\seealsoname% + \/ {#1}}% + \let\nosee\@gobble% + \def\seealso{\bgroup\edef\@temp@{}\@ifNextNB[{\see@@so}% + {\see@lso}}% + \def\see@lso#1#2{\expandafter% + \index\@temp@{#1!zzzzz@\protect\subsee{#2}|nosee}\egroup}% + \def\see@@so[#1]{\edef\@temp@{[#1]}\see@lso}}{}% + \def\@ifFTYfalse{\let\ifFTY\iffalse}% + \def\@ifFTYback{\let\ifFTY\if@Back}% + \let\if@PMF\iffalse% +\newif\if@PMF\@PMFfalse% +\def\pmfrench{\@PMFtrue\f@issue\@fw{-4- % + % + }% + \def\frenchname{pmfrench}}% +\f@issue% +\@fW{ -24- % + % + % + }% +\f@issue% +\@fW{ -25- % + }% +\def\CheckSevenBits/#1{\def\@tempa##1##2/##3{\ifx##2\empty\else% + \f@issue% + \@fw{-51- % + % + }% + \expandafter ##3\fi}\expandafter\@tempa\noexpand#1}% +\@ifundefined{tt}{\def\tt{\fontfamily{\ttdefault}\selectfont}}{}% +\let\ifGIAF\iftrue% +\@ifundefined{ly}% + {% + \ifx\symlasy\undefined% + \ifx\undefined\babel@core@loaded% + \RequirePackage{latexsym}% + \else% + \xdef\@currname{latexsym}% + \@@input latexsym.sty\@@input ulasy.fd% + \fi% + \fi% + \def\@ly{\fontencoding{U}\fontfamily{lasy}% + \ifGIAF\else\fontseries{m}\fontshape{n}\fi\selectfont}% + \def\ly{\ifFG\ifECM\rm\else\@ly\fi\fi}% + }{}% +\ifx\guillemetsfont\undefined% +\def\guillemetsfont{\fontfamily{\rmdefault}% + \fontseries{m}\fontshape{n}\selectfont}% +\fi% +\def\@gfnt{\guillemetsfont}% +\edef\lq{\string`}\edef\rq{\string'}% +\let\@cilq='% +\edef\lqq{\string`\string`}\edef\rqq{\string'\string'}% +\edef\pointvirgule{\string;}% +\edef\deuxpoints{\string:}% +\let\@cidp=:% +\edef\pointexclamation{\string!}% +\edef\pointinterrogation{\string?}% +\edef\inferieura{\string<}% +\edef\superieura{\string>}% +\edef\dittomark{\string"}% +\let\f@par\par% +\let\@SLQ\lq% +\def\@SRQ@{^\bgroup\prim@s}% +\def\@SRQ{\ifmmode\expandafter\@SRQ@\else\rq\fi}% +\let\@gotl\guillemotleft% +\let\@gotr\guillemotright% +\def\@temp@{LO1}\ifx\@temp@\f@encoding% + \else\edef\@temp@{OT1}\fi% +\def\@tempa#1{\expandafter\relax% + \expandafter\global% + \expandafter\def% + \csname\@temp@\string#1\endcsname}% +\@tempa{\guillemotleft}{\let\ifECM\iffalse% + \ifFG\ly(\kern-0.20em(\else<<\fi}% +\@tempa{\guillemotright}{\let\ifECM\iffalse% + \ifFG\unskip% + \ly\kern+0.20em)\kern-0.20em)% + \else>>% + \fi}% +\let\@LSG\inferieura\def\@DOG{\inferieura\inferieura}% +\let\@RSG\superieura\def\@DFG{\superieura\superieura}% +\def\@SOC{\string[% + }% +\def\@SFC{% + \string]}% +\edef\@LP{\ifECM023\else(\fi% + }% +\edef\@RP{% + \ifECM024\else)\fi}% +\newif\ifFH% +\let\@noBDfr\@nodocument% +\def\frenchhyphenation{\@noBDfr}% +\def\nofrenchhyphenation{\@noBDfr}% +\def\frenchtypography{\@noBDfr}% +\def\regularmathcomma{\@noBDfr}% +\def\frenchmathcomma{\@noBDfr}% +\def\frenchwarnings{\@noBDfr}% +\def\nofrenchwarnings{\@noBDfr}% +\def\nofrenchtypography{\@noBDfr}% +\def\nofrenchtranslation{\@noBDfr}% +\def\frenchtranslation{\@noBDfr}% +\ifx\RIfM@\undefined% +\def\nofrenchguillemets{\@noBDfr}% +\def\frenchguillemets{\@noBDfr}% +\def\nofrenchbguillemets{\@noBDfr}% +\def\frenchbguillemets{\@noBDfr}% +\fi% +\global\let\ifCLAfrench\iffalse% +\def\ConstantLayout{\@noBDfr}% +\def\originalmathcomma{\@noBDfr}% +\def\everyparguillemetsremoved{\@noBDfr}% +\def\Numeros{\@noBDfr}% +\def\order{\@noBDfr}% +\def\endorder{\@noBDfr}% +\def\sommairename{\@noBDfr}% +\def\versatim{\@noBDfr}% +\def\endversatim{\@noBDfr}% +\def\nofrenchmacros{\@noBDfr}% +\def\frenchmacros{\@noBDfr}% +\def\automaticlettrine{\@noBDfr}% +\def\noautomaticlettrine{\@noBDfr}% +\def\noeveryparguillemets{\@noBDfr}% +\def\everyparguillemets{\@noBDfr}% +\def\nofrenchlayout{\@noBDfr}% +\def\frenchlayout{\@noBDfr}% +\def\indentfirst{\@noBDfr}% +\def\nonindentfirst{\@noBDfr}% +\def\NouveauLangage{\@noBDfr}% +\def\letpunctutionactivefor{\@noBDfr}% +\def\@tempa{\let\ifarticle\iffalse}% +\ifx\ifarticle\undefined\expandafter\@tempa\fi% +\ifx\@seminarerr\undefined\else\ifarticle\else% +\let\@soORI\shipout% +\def\shipout#1#2{\def\@tempa{slide}\def\@tempb{slide*}% + {\ifx\@tempa\@currenvir\let\protect\noexpand% + \else\ifx\@tempb\@currenvir\let\protect\noexpand\fi% + \fi% + \@soORI#1#2}% + \global\let\shipout\@soORI% + }% +\fi\fi% +\let\h@yphenation\hyphenation% +\long\def\f@hyphenation#1{\bgroup% + \let\par\space% + \def\-{ }% + \let\allowhyphens\undefined% + \csname accenthyphcodes\endcsname% + \lowercase{\edef\@tempa{#1}}% + \h@yphenation{\@tempa}\egroup}% +\def\@tempa{\let\iffrenchbibliography\iftrue}% +\ifx\iffrenchbibliography\undefined\expandafter\@tempa\fi% +\ifx\nombre\undefined\else\let\@nomORI\nombre\fi% +\begingroup\obeyspaces% +\gdef\@@nombre{\ifFTY\@mathcomma\obeyspaces\let =\,\fi}% +\endgroup% +\def\@nombre#1{\bgroup\let\ifFTY\iftrue\def\@tempa{#1}% + \def\,{\ifmmode\mskip\thinmuskip\fi}% + \if@filesw{\immediate\openout\@inputcheck=\jobname.tmp% + \let\protect\noexpand% + \ifmmode% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + \@tempa\ignorespaces}% + \else% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + $\@tempa$\ignorespaces}% + \fi% + \immediate\closeout\@inputcheck% + }% + \immediate\openin\@inputcheck=\jobname.tmp% + \immediate\read\@inputcheck to\@tempa% + \immediate\closein\@inputcheck% + \def\@tempa{{\input{\jobname.tmp}}}% + \fi% + \@tempa\egroup% + }% +\ifx\nombre\undefined\DeclareRobustCommand*{\nombre}{\@nombre}\fi% +\ifx\WindowsUnits\undefined% + \def\WindowsUnits{\@wu}\fi% +\def\FileName{\bgroup% + \def\@FNenc@loop##1##2{\@tempcnta`##1\relax% + \loop\catcode\@tempcnta=11% + \ifnum\@tempcnta<`##2\relax% + \advance\@tempcnta\@ne% + \repeat}% + \@FNenc@loop\^^A\^^H% + \@FNenc@loop\^^K\^^K% + \@FNenc@loop\^^N\^^_% + \@FNenc@loop\^^?\^^ff% + \@FileName}% +\def\@FileName#1{\gdef\theFileName{#1}\egroup}% +\let\og\empty\let\fg\empty% + \def\FrenchGuillemetsFrom#1#2#3#4{% + \DeclareFontEncoding{#1}{}{}% + \DeclareFontSubstitution{#1}{#2}{m}{n}% + \DeclareTextCommand{\guillemotleft}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#3}}% + \DeclareTextCommand{\guillemotright}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}} + \def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2}{wncyr}{60}{62}} + \def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lmr}{19}{20}} + \def\LasyGuillemets{% + \DeclareTextCommand{\guillemotleft}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}% + \DeclareTextCommand{\guillemotright}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}} + \IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGuillemets} + \DeclareTextSymbolDefault{\guillemotleft}{OT1} + \DeclareTextSymbolDefault{\guillemotright}{OT1} + \def\guill@spacing{\penalty\@M\hskip.8\fontdimen2\font + plus.3\fontdimen3\font + minus.8\fontdimen4\font} + \DeclareRobustCommand*{\begin@guill}{\leavevmode + \guillemotleft\penalty\@M\guill@spacing} + \DeclareRobustCommand*{\end@guill}{\ifdim\lastskip>\z@\unskip\fi + \penalty\@M\guill@spacing\guillemotright\xspace} + \AtBeginDocument{\ifx\xspace\@undefined\let\xspace\relax\fi} + \def\bbl@frenchguillemets{\renewcommand{\og}{\begin@guill}% + \renewcommand{\fg}{\end@guill}} + \def\bbl@nonfrenchguillemets{\renewcommand{\og}{``}% + \renewcommand{\fg}{\ifdim\lastskip>\z@\unskip\fi ''}} +\def\@ifo{% +\def\kbIO{\bgroup% + \ifECM\fontencoding{OT1}\selectfont\fi% + \ifFTY\expandafter\nofrenchtypography\fi% + \let\@nobraces\@firstofone% + \let\protect\string% + \ifEightBitOutput% + \def\'####1{\expandafter\@nobraces\@aiguORI####1}% + \def\`####1{\expandafter\@nobraces\@gravORI####1}% + \def\^####1{\expandafter\@nobraces\@acchORI####1}% + \def\"####1{\expandafter\@nobraces\@tremORI####1}% + \def\c####1{\expandafter\@nobraces\@cediORI####1}% + \csname @kbspecials\endcsname% + \else% + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% + \fi% + \@kbtypeout}% +\let\s@owhyphens\showhyphens% +\let\@dsORI\dospecials% +\@ifundefined{@sanitize}{\def\@sanitize{\relax}}{}% +\let\@saORI\@sanitize% +\def\frenchhyphenation{% + \ifFH\else\FHtrue% + \edef\@uchORI{\the\uchyph}% + \def\@Hif{\ifFH}\let\@Hfi\fi% + \lccode `\'=`\'% + \ifx\flowercase\undefined\else\def\lowercase{\flowercase}\fi% + \@ifundefined{allowhyphens}{% + \def\allowhyphens{\ifhmode\nobreak\hskip\z@skip\fi}}{}% + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% + \@whatUCH% + \def\@tempa####1{{\accenthyphcodes\h@yphenation{####1}}}% + \ifx\@tempa\hyphenation\f@issue% + \@fw{-41- % + % + }\stop% + \fi% + \def\accenthyphcodes{% + \let\@typeset@protect\protect% + \ifx\protect\noexpand\else% + \ifECM\else\fontencoding{T1}% + \let\pickup@font\@gobble% + \let\size@update\relax\selectfont% + \fi\fi}% + \let\hyphenation\f@hyphenation% + \def\showhyphens####1{\bgroup% + \csname accenthyphcodes\endcsname% + \protected@edef\@tempa{####1}% + \s@owhyphens{\@tempa}\egroup}% + \fi}% +\def\nofrenchhyphenation{% + \ifFH\FHfalse% + \lccode`\'=0% + \let\hyphenation\h@yphenation% + \let\showhyphens\s@owhyphens% + \ifx\lowercaseORI\undefined\else\let\lowercase\lowercaseORI\fi% + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% + \uchyph=\@uchORI% + \fi}% +\edef\originalmathcomma% + {\noexpand\mathcode`,=\the\mathcode`,}% +\@tempcnta=\the\mathcode`,\@tempcntb=\the\mathcode`,% +\divide\@tempcnta by 4096\relax% +\multiply\@tempcnta by -4096\relax% +\advance\@tempcntb by \@tempcnta% +\edef\@tempb{\noexpand\mathcode`,=\the\@tempcntb}% +\advance\@tempcntb by 24576\relax% +\edef\@tempa{\noexpand\mathcode`,=\the\@tempcntb}% +\edef\regularmathcomma{% + \noexpand\def\noexpand\@mathcomma{\@tempa}% + \noexpand\@mathcomma}% +\def\@tempa{\if\space\next\else\mathord\fi\mathcomma}% +\let\ifFTY\iftrue% +\ifx\@tempa\sm@rtcomma% + \def\frenchmathcomma{% + \def\@mathcomma{\ifFTY\mathcode`\,="8000\fi}% + \@mathcomma}% +\else% +\edef\frenchmathcomma{% + \noexpand\def\noexpand\@mathcomma% + {\noexpand\ifFTY\@tempb\noexpand\fi}% + \noexpand\@mathcomma}% +\fi% +\frenchmathcomma% +\def\ifFTY{\ErrFrench}% +\def\nofrenchtypography{% + \let\ifFTY\iffalse\let\if@Back\ifFTY% +\expandafter\let\csname OT1\string\textbackslash \endcsname\undefined% + \notabbingaccents% + \nofrenchguillemets% + \nofrenchbguillemets% + \sloppy% + \nonfrenchspacing% + \regularmathcomma% + }% +\def\frenchtypography{% + \let\ifFTY\iftrue\let\if@Back\ifFTY% +\expandafter\let\csname OT1\string\textbackslash \endcsname\@boiORI% + \let\ifLPA\iffalse% + \typedspaces% + \nowrongtypedspaces% + \tabbingaccents% + \englishquote\englishdoublequotes% + \nolabelsinmargin% + \frenchguillemets% + \frenchbguillemets% + \normalbrackets\todayguillemets% + \guillemetsinroman\guillemetsinarrays% + \edef\@tempa{\the\vfuzz}% + \fussy% + \vfuzz=\@tempa% + \frenchspacing% + \frenchmathcomma% + }% +\def\nofrenchtranslation{% + \let\ifFTR\iffalse\@cORI}% +\def\frenchtranslation{% + \let\ifFTR\iftrue\captionsfrench}% +\let\frenchguillemets\relax\let\nofrenchguillemets\relax% +\let\frenchbguillemets\bbl@frenchguillemets% +\let\nofrenchbguillemets\bbl@nonfrenchguillemets% +\def\frenchguillemets{% + \let\ifFG\iftrue% + \let\guillemets\@LG% + \let\endguillemets\RG@% + \let\guillemotleft\f@guillemets% + \let\guillemotright\endf@guillemets% + \AFPinfsup}% +\def\nofrenchguillemets{% + \let\ifFG\iffalse% + \let\guillemotleft\@gotl% + \let\guillemotright\@gotr% + \let\guillemets\f@guillemets% + \let\endguillemets\endf@guillemets% + \DFPinfsup}% +\def\noeveryparguillemets{\let\ifEPG\iffalse% + \@desarm\let\@desarm\relax% + \def\guillemets{% + \f@issue% + \@fw{-53- % + % + % + % + }% + \bgroup\bgroup% + \def\guillemets{\bgroup% + \let\endguillemets\egroup}}% + }% +\def\everyparguillemets{\let\ifEPGR\iffalse% + \let\ifEPG\iftrue% + \let\guillemets\@LG% + \let\endguillemets\RG@% + }% +\def\everyparguillemetsremoved{% + \let\ifEPGR\iftrue}% +\def\@tempa{\global\let\ifCLA\iffalse}% +\ifx\ifCLA\undefined\expandafter\@tempa\fi% +\def\ConstantLayout{\global\let\ifCLA\iftrue% + \expandafter\let\csname ifCLA\languagename\endcsname\iftrue% + \def\@tempa{\let\ifbbbbfixlanguage\iftrue}% + \ifx\ifbbbbfixlanguage\undefined\@tempa\fi% + \def\@tempa{\ifbbbbfixlanguage\else% + \f@issue% + \@fw{-85- % + % + }\fi% + }% + \ifx\@nodocument\relax\@tempa% + \else\ifx\btxselectlanguage\undefined% + \PassOptionsToPackage{fixlanguage}{babelbib}% + \else\@tempa% + \fi% + \fi% + \let\ConstantLayout\relax}% +\def\nofrenchlayout{\nofrenchtrivsep% + \let\ifFLA\iffalse\@EIM}% +\def\frenchlayout{% + \let\ifFLA\iftrue\everyparguillemets% + \@FIM\@FL\let\@FL\empty\noautomaticlettrine% + \frenchtrivsep}% +\def\frenchwarnings{\let\ifFW\iftrue% + \frenchtrivsepwarnings}% +\def\nofrenchwarnings{\let\ifFW\iffalse% + }% +\def\nofrenchmacros{\let\ifFMA\iffalse}% +\def\frenchmacros{\let\ifFMA\iftrue\@ifm% + \let\@ifm\relax}% +}% +\long\def\usersfrenchoptions% + {\bgroup\makeatletter% + \expandafter\egroup% + \g@addto@macro\@ufo}% +\ifx\@ufo\undefined% + \let\@ufo\empty% +\fi% + \def\prim@s{\prime\futurelet\@let@token\pr@m@s}% + \def\pr@m@s{\ifx\@cilq\@let@token\expandafter\pr@@@s% + \else\ifx^\@let@token\expandafter\expandafter\expandafter\pr@@@t% + \else\egroup\fi% + \fi}% +\let\@fsORI\frenchspacing% +\def\frenchspacing{\@fsORI\ifECM\sfcode`\(=0\sfcode`\)=1000\fi}% +\catcode`<=\active\catcode`>=\active\catcode`'=\active% +\catcode`:=\active\catcode``=\active% +\let<=\inferieura\let>=\superieura% +\def\@Fstr{\def<{\@LSG}\def>{\@RSG}\def`{\@SLQ}\def'{\@SRQ}% + \def:{\deuxpoints}% + \let\dGs\empty}% +\def\@LiN{\let\@sogORI<\let\@sfgORI>\let\@lqORI`\let\@rqORI'% + \let\@dpORI:\@Fstr\@ifFTYfalse}% +\def\@LiB{\let<\@sogORI\let>\@sfgORI\let`\@lqORI\let'\@rqORI% + \let:\@dpORI\@ifFTYback}% +\catcode\lq:=12% +\let\@s@ORI\special% +\def\newcount{\alloc@0\count\countdef\insc@unt}% +\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}% +\def\newbox{\alloc@4\box\chardef\insc@unt}% +\let\ifFTY\iffalse% +\ifx\vref\undefined\else% +\@ifpackageloaded{varioref}{\def\@vrfCode{% + \@gG{vr}{vref}{/}{1}% + \@gG{vpr}{vpageref}{1}{1}% + \@gG{vprr}{vpagerefrange}{1}{2}% + \def\reftextpagerange##1##2{% + pages~\pageref{##1}\ifFTY -\else --\fi\pageref{##2}}% + }% + }{}% +\fi% +\def\ifFTY{\ErrFrench}% +\@ifclassloaded{beamer}{\let\l@chapter\empty% + \def\beamer@captiontemplate{\small\structure% + {\insertcaptionname\captionseparator\space}% + \insertcaption} + }{}% +\def\GOfrench{% + \def\special##1{\@ifFTYfalse\bgroup\@Fstr\@s@ORI{##1}% + \egroup\@ifFTYback}% + \let\@noBDfr\relax% + {\catcode\lq\<=\active\ifx<\undefined\else\global% + \let\@mLSG<\global% + \def\@LSG{\ifmmode\@mLSG\else\inferieura\fi}\fi}% + {\catcode\lq\>=\active\ifx>\undefined\else\global% + \let\@mRSG>\global% + \def\@RSG{\ifmmode\@mRSG\else\superieura\fi}\fi}% +\if@PMF\def\pmfrench{}\def\noeveryparguillemets{}\def\@stared{}% + \def\@desarm{}\def\@qquotes{}\def\@staring{}\def\@fniv2{}\fi% +\def\sm@llerthree{\protect\sm@ller\protect\sm@ller\protect\sm@ller} +\@ifundefined{smaller}{\def\sm@ller{\small}% + \let\sm@llerthree\scriptsize% + \def\l@rger{\large}}% + {\def\RSsmallest{4pt}% + \ifx\undefined\sm@ller% + \let\sm@ller\smaller\fi}% +\@ifundefined{footnotesize}{% + \def\footnotesize{\sm@ller\sm@ller}}{}% +\@ifundefined{Huge}{% + \def\Huge{\l@rger\l@rger\l@rger\l@rger\l@rger}}{}% +\@ifundefined{lettrinefont}{\let\lettrinefont\Huge}{}% +\let\sv@lf=\lettrinefont% +\ifx\@pdfcreator\undefined% + \else\addto\@pdfcreator{, with \frenchpack\space package}\fi% +\def\noresetatpart{\ifFLA\let\cl@part\empty\fi}% +\def\noresetatchapter{\ifFLA\let\cl@chapter\empty\fi}% +\@ifundefined{chapter}{}{}% +\@ifundefined{c@chapter}{\newcounter{chapter}}{\@addtoreset{chapter}{part}}% +\@ifundefined{quotation}{\def\quotation{}}{}% +\ifx\tableofcontents\undefined% + \else\let\@tocORI\tableofcontents\fi% +\ifx\pdfstringdef\undefined% + \else\let\contentslineORI\contentsline\fi% +\@ifundefined{l@chapter}{% +\def\@tempa{% + \def\l@chapter####1####2{\addpenalty{-\@highpenalty}% + \vskip 1.0em plus\p@\@tempdima 1.5em% + \begingroup% + \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth% + \bfseries \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip% + ####1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss ####2}\par% + \penalty\@highpenalty% + \endgroup}}% +\ifx\RIfM@\undefined\@tempa% + \else% + \ifx\fr@RIfM@cls\undefined\@tempa +\fi% +\fi}{}% +\@ifundefined{theHchapter}{}% + {\renewcommand{\theHchapter}{\arabic{part}.\arabic{chapter}}}% + \def\@gG##1##2##3##4{% + \def\@temp@{\expandafter\let\csname @##1@ORI\endcsname=}% + \expandafter\@temp@\csname ##2\endcsname% + \if##3\empty% + \if2##4% + \expandafter\def\csname ##2\endcsname####1####2% + {\protect\atgG{##1}{{####1}{####2}}}% + \else% + \if3##4% + \expandafter\def\csname ##2\endcsname####1####2####3% + {\protect\atgG{##1}{{####1}{####2}{####3}}}% + \else% + \expandafter\def\csname ##2\endcsname####1% + {\protect\atgG{##1}{{####1}}}% + \fi% + \fi% + \else% + \if/##3\expandafter\def\csname ##2\endcsname{\protect\atgH{##1}}% + \else% + \if2##4\expandafter\def\csname ##2\endcsname{\protect\atgN{##1}}% + \else\expandafter\def\csname ##2\endcsname{\protect\atgM{##1}}% + \fi% + \fi% + \fi}% + \def\atgG##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname##2\egroup}% + \def\atgH##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname{##2}\egroup}% + \def\atgM##1{\@ifNextNB[{\@gM@@{##1}}{\@gM@@{##1}[\empty]}% + }% + \def\atgN##1{\@ifNextNB[{\@gM@@@{##1}}{\@gM@@@{##1}[\empty]}% + }% + \def\@gM@@##1[##2]##3{\@gM@@@{##1}[##2]{##3}{}}% + \def\@gM@@@##1[##2]##3##4{\bgroup\@ifFTYfalse\@Fstr% + \xdef\@temp@{\noexpand\@gG@{##3}{##4}}\egroup% + \ifx\empty##2\let\@gG@=\empty% + \else\protected@edef\@gG@{[##2]}\fi% + \let\@typeset@protect\protect% + \protected@edef\@temp@{\noexpand\expandafter% + \noexpand\expandafter% + \noexpand\csname @##1@ORI\noexpand\endcsname% + \@temp@}\@temp@}% +\ifx\babel@sanitize@arg\undefined\else% +\def\babel@sanitize@arg##1{##1}% +\wlog{\frenchname.sty\string: use of the babel package force me to nullify % + \noexpand\babel@sanitize@arg.}% +\fi% +\ifx\ifthenelse\undefined\else\let\@iTeORI\ifthenelse% + \long\def\ifthenelse##1##2##3{\@ifFTYfalse\@iTeORI{##1}% + {\@ifFTYback##2}{\@ifFTYback##3}}% +\fi% +\ifx\texttt\undefined\else\@gG{xt}{texttt}{/}{1}% + \MakeRobustCommand{texttt}\fi% +\ifx\hyperbaseurl\undefined\else\@gG{hl}{hyperbaseurl}{/}{1}\fi% +\ifx\Ginclude@graphics\undefined\else\@gG{ig}% + {Ginclude@graphics}{/}{1}\fi% +\ifx\NAT@citex\undefined% + \ifx\cite\undefined\else\@gG{c}{cite}{1}{1}\fi% + \ifx\citeyear\undefined\else\@gG{cy}{citeyear}{/}{1}\fi% +\else% + \let\@cxORI\@citex% + \def\@citex[##1][##2]##3{\@ifFTYfalse% + \let\mbox\mboxORI% + \@cxORI[##1][##2]{##3}\aftergroup\@ifFTYback}% +\@gG{cin}{citation}{/}{1}% + \ifx\ifjb@index@bib\undefined\let\ifjb@index@bib\iffalse\fi% + \ifx\jb@lbibitem\undefined\else% + % + % + \def\jb@lbibitem[##1]##2{% + \gdef\jb@tempb{##1}% + \protected@xdef\jb@key{##2}% + \ifjb@index@bib% + \jb@call@index{aut}{##2}% + \jb@call@index{ed}{##2}% + \jb@call@index{org}{##2}% + \fi% + \endgroup}% + \@gG{fc}{fullcite}{1}{1}% + \fi% +\fi% +\ifx\nocite\undefined\else\@gG{nc}{nocite}{/}{1}\fi% +\ifx\backcite\undefined\else\@gG{bkc}{backcite}{//}{2}\fi% +\ifx\bibitem\undefined\else\let\@biORI\bibitem% + \def\bibitem{\@LiN\@ifNextNB[{\@bi@cb}{\@bi@ca}% + }% + \def\@bi@ca##1{\@biORI{##1}\@LiB}% + \def\@bi@cb[##1]##2{\@biORI[##1]{##2}\@LiB}% +\fi% +\expandafter\ifx\string\bt@@item\undefined% + \else\@gG{bti}{\string\bt@@item}{1}{1}% + \fi% +\ifx\vref\undefined\else% + \ifx\reftextvario\undefined\let\@vrfCode\undefined% +\fi\fi% +\ifx\ref\undefined\else\@gG{r}{ref}{/}{1}\fi% +\ifx\tag\undefined\else\@gG{tG}{tag}{/}{1}\fi% +\ifx\pageref\undefined\else\let\pageref@ORI\pageref% + \let\f@pageref\pageref\@gG{fpr}{f@pageref}{/}{1}% + \def\pageref{\ifFTY\expandafter\f@pageref\else% + \expandafter\pageref@ORI\fi}% +\fi% +\csname @vrfCode\endcsname% +\xdef\@lim{}\let\ifMOVING\iffalse% +\ifx\sf@@sub@label\undefined\else\@gG{ss}{sf@@sub@label}{/}{1}\fi% +\def\@temp@{% + \def\label{\protect\@LabeL}% +\def\r@LabeL{\ifx\@lim\empty% + \else\marginpar{\@lim@}\xdef\@lim{}% + \fi}% +\def\m@LabeL{\def\@setMGtrue{\let\ifMOVING\iftrue}% + \ifmmode\@setMGtrue% + \aftergroup\r@LabeL% + \fi% + \expandafter\t@LabeL}% +\def\@LabeL{\ifMOVING\expandafter\t@LabeL% + \else\m@LabeL% + \fi}% + \def\t@LabeL####1{\@ifFTYfalse\if@labelsinmargin\ifMOVING% + \xdef\@lim{\ifx\@lim\empty\else\@lim\@@par\relax\fi[####1]}% + \gdef\@lim@{\@ifFTYfalse\hbadness=\@M\tt\@lim\@ifFTYback}% + \else\marginpar{% + \@ifFTYfalse\hbadness=\@M\tt[####1]\@ifFTYback}\fi\fi% + % + \bgroup\@Fstr\@lORI{####1}\egroup\@ifFTYback}% + }% +\ifx\fr@RIfM@cls\undefined\else% +\let\@mtORI\maketitle% +\def\maketitle{{\@mtORI}}% +\fi% +\ifx\label\undefined\else\let\@lORI\label% + \@temp@% + \let\ltx@label\label% +\fi% +\ifx\@newl@bel\undefined\else\@gG{nl}{@newl@bel}{//}{3}\fi% +\def\@temp@{% + \let\@aclORI\addcontentsline% + \global\let\ifCG\iftrue% + \def\addcontentsline####1####2####3{\@ifFTYfalse\bgroup\@Fstr% + \@aclORI{####1}{####2}{####3}\egroup\@ifFTYback}% + }% +\@ifundefined{addcontentsline}{\gdef\addcontentsline##1##2##3{}}% + {\@temp@}% +\let\ifFrench\iffalse% +\def\@temp@{% + \def\index{\bgroup\ifFrench\@DFP\fi% + \expandafter\egroup\@iORI}% + }% +\ifx\index\undefined\else\let\@iORI\index% + \@temp@% +\fi% +\ifx\list\undefined\else% + \let\@liORI\list% +\fi% + \let\@topsepORI\topsep% + \let\@partopsepORI\partopsep% + \let\@itemsepORI\itemsep% + \let\@parsepORI\parsep% +\def\warn@seps{\def\topsep{\@w@s{\string\topsep}\@topsepORI}% + \def\partopsep{\@w@s{\string\partopsep}\@partopsepORI}% + \def\itemsep{\@w@s{\string\itemsep}\@itemsepORI}% + \def\parsep{\@w@s{\string\parsep}\@parsepORI}% + \def\@tempa{verse}\def\@tempb{quotation}% + \ifx\@tempa\@currenvir\let\@w@s\@gobble\else% + \ifx\@tempb\@currenvir\let\@w@s\@gobble\fi% + \fi% + }% +\def\@w@s##1{\ifFTSW\f@issue% + \@fw{-58- % + }[##1]\fi}% +\def\org@seps{\let\topsep\@topsepORI% + \let\partopsep\@partopsepORI% + \let\itemsep\@itemsepORI% + \let\parsep\@parsepORI% + }% +\def\list##1##2{\def\@inAlist{}\@liORI{##1}{% + \ifx\@trivlist\@tlORI\else\warn@seps\fi% + ##2\org@seps}}% +\ifx\@makecaption\undefined\else\let\@mcORI\@makecaption\fi% +\ifx\captionseparator\undefined% + \def\captionseparator{~--}% +\fi% +\let\ifFTY\iffalse% +\ifx\@contdelim\undefined\else% + \ifx\@memerror\undefined% + \let\@cdORI\@contdelim% + \def\@contdelim{\ifFTY\space\else\@cdORI\fi}% + \else% + \let\captionseparator\empty% + \let\captionfont\@conttfont% + \fi% +\fi% +\def\ifFTY{\ErrFrench}% +\ifx\captionfont\undefined% + \let\captionfont\emph% + \else\let\@cfORI\captionfont% + \def\captionlabelfont{\upshape}% + \def\captionfont{\itshape\@cfORI}% + \ifx\captionlabeldelim\undefined\else% + \let\captionlabeldelim\captionseparator% + \let\captionseparator\empty% + \fi% +\fi% +\def\@makecaption##1##2{\ifFTY% + \def\@secondofmany####1####2\void{####2}% + \def\@tempa{\@secondofmany##2\void}% + \ifx\@tempa\empty% + \let\captionseparator\empty% + \fi% + \@mcORI{##1}{\relax% + \captionfont{##2}}% + \else\@mcORI{##1}{##2}\fi}% +\def\@temp@{% + \def\thanks####1{\global\let\@makefntext\fr@makefntext% + \bgroup% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi\nobreak\fi% + \def\@footnotemark{\hbox{\@textsuperscript{\normalfont\,\@thefnmark}}}% + \fi\let\ifFTY\iffalse\@thORI{####1}% + \egroup}% + }% +\ifx\thanks\undefined\else\let\@thORI\thanks\@temp@\fi% +\let\ifFTY\iffalse% +\ifx\@makefnmark\undefined\else\let\@mfnmORI\@makefnmark% +\def\@makefnmark{\ifFTY\hbox{\@textsuperscript{\normalfont% + \ifx\thefootnote\relax\else\,\fi% + \@thefnmark}}% + \else\@mfnmORI\fi}% +\fi% +\def\@temp@{\long\def\fr@makefntext####1{% + \bgroup% + \ifFTY\def\@tempa{footnote}\let\@tfnORI\@thefnmark% + \ifx\@tempa\@mpfn% + \def\@thefnmark{% + % + \egroup\egroup% + \long\def\@tempa{\fnsymbol{footnote}}% + \ifx\@tempa\thefootnote% + \expandafter\raise+0.55ex% + \fi% + \hbox\bgroup\textnormal\bgroup% + \def\@temp@{% +\ifx\fr@RIfM@cls\undefined% +\ifx\thanks\relax\else\kern-1.1\parindent\fi% +\else \kern-\parindent% +\fi% + \@ifnextchar\relax{\def\@temp@{\hphantom{.}\kern+0.25em}}% + {\def\@temp@{.\kern+0.25em}}% + }% + \expandafter\@temp@\@tfnORI\@temp@% + }% + \leavevmode\kern+0.5em% + \else\def\@thefnmark{\@tfnORI\,}\fi% + \fi\@mfntORI{####1}\egroup}% + }% + \let\@mfntORI\@makefntext\@temp@% + \let\@makefntext\fr@makefntext% +\def\ifFTY{\ErrFrench}% +\let\@fntORI\@footnotetext% +\long\def\@footnotetext##1{\bgroup\let\if@labelsinmargin\iffalse% + \@fntORI{##1}\egroup}% +\let\@fnORI\footnote% +\def\footnote{\bgroup% + \def\index{\@ifnextchar[{\f@index}% + {\f@index@}% + }% + \def\f@index[####1]####2{\@ifFTYfalse\@iORI[####1]{####2}% + \@ifFTYback}% + \def\f@index@####1{\@ifFTYfalse\@iORI{####1}\@ifFTYback}% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi% + \nobreak\fi\fi% + \ifmmode\let\@fnORI\fr@footnote\fi% + \@ifNextNB[% + \@Footnote\@Fntnorm}% +\long\def\@Footnote[##1]##2{\@fnORI[##1]{##2}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\long\def\@Fntnorm##1{\@fnORI{##1}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\def\@Fntcoma{\ifFLA\@textsuperscript{,}\nobreak\fi}% +\def\@Fxloat##1[##2]{\@xfORI{##1}[##2]\csname @Fend\@currenvir\endcsname}% +\let\@fgeORI\figure\let\@efgeORI\endfigure% +\def\@temp@{\let\@fgeORI\figure% + \def\figure{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \@set@fr@fn@% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@fgeORI}}% +\ifx\figure\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendfigure{\let\@efgeORI\endfigure% + \def\endfigure{\@efgeORI% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}}% +\ifx\endfigure\undefined\let\@Fendfigure\relax\fi% +\let\@cnORI\caption% +\def\@tablescaption{\@dblarg\@t@blescaption}% +\let\mboxORI\mbox% +\def\mbox##1{\leavevmode\hbox{\protect\@set@fr@fn@##1}}% +\def\@set@fr@fn@{\ifFrench\let\footnote\fr@footnote\fi}% +\def\fr@footnote{\@ifNextNB[\fr@fn@{\fr@fn@[]}% + }% +\def\fr@fn@[##1]##2{\footnotemark% + \f@issue% + \@fw{-8- % + % + }[##2]% + }% +\def\@t@blescaption[##1]##2{\let\cur@fn\footnote% + \let\footnote\fr@footnote% + \@cnORI[##1]{##2}\let\footnote\cur@fn}% +\def\@temp@{% + \let\@tbeORI\table% + \def\table{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% + \let\caption\@tablescaption% + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@tbeORI}% + \expandafter\let% + \expandafter\@dbtbeORI\csname table*\endcsname% + \expandafter\def\csname table*\endcsname{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% + \let\caption\@tablescaption% + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@dbtbeORI}% + }% +\ifx\table\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendtable{% + \let\@etORI\endtable% + \def\endtable{\ifFLA\par% + \vskip-\lastskip% + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@etORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\ifx\endtable\undefined\let\@Fendtable\relax\fi% +\def\@temp@{\def\endtable{\ifFLA\endgroup% + \expandafter\let\csname endtable*\endcsname\endtable% + \fi}% + }% +\ifx\endtable\relax\@temp@% +\fi% +\expandafter\def\csname @Fendtable*\endcsname{% + \expandafter\let% + \expandafter\@dbetORI\csname endtable*\endcsname% + \expandafter\def% + \csname endtable*\endcsname{\ifFLA\par% + \vskip-\lastskip% + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@dbetORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\expandafter\ifx\csname endtable*\endcsname\relax% + \expandafter\let\csname endtable*\endcsname\endtable% +\fi% +\expandafter\ifx\csname\string\table\endcsname\undefined\else% + \expandafter\let\expandafter\BfigureORI\csname\string\figure\endcsname% + \expandafter\def\csname\string\figure\endcsname{\@Fendfigure\BfigureORI}% + \expandafter\let\expandafter\BtableORI\csname\string\table\endcsname% + \expandafter\def\csname\string\table\endcsname{\@Fendtable\BtableORI}% +\fi% +\def\drapeaufg{\ifFLA% + \raggedright\hbadness=6000% + \rightskip=0.3em plus 0.75em\hfuzz=0.4em\relax% + \let\enddrapeaufg\par\fi}% +\def\drapeaufgIN{\ifFLA% + \raggedright\hbadness=6000% + \rightskip=0.3em plus 0.75em\hfuzz=6em% + \lefthyphenmin=12\righthyphenmin=10\relax% + \let\enddrapeaufgIN\par\fi}% +\def\drapeaufd{\ifFLA\raggedleft% + \let\enddrapeaufd\par\fi}% +\def\drapeaufdIN{\ifFLA% + \raggedleft\hfuzz=6em% + \lefthyphenmin=12\righthyphenmin=10\relax% + \let\enddrapeaufdIN\par\fi}% +\ifx\undefined\Hy@PDFDef\let\Hy@PDFDef\pdfstringdef\fi% +\ifx\undefined\Hy@PDFDef\else% + \let\@hpdORI\Hy@PDFDef% + \def\Hy@PDFDef##1##2{\@ifFTYfalse\afterassignment% + \@Fstr\@hpdORI{##1}{##2}\@ifFTYback}% +\fi% +\ifx\pdfstringdef\undefined\else% + \let\pdfstringdef\Hy@PDFDef% +\fi% + \let\@lti\labelitemi\let\@ltii\labelitemii% + \let\@ltiii\labelitemiii\let\@ltiv\labelitemiv% + \@ifo% + \let\@ifo\undefined% + \@doFh% + \let\@doFh\undefined% + \let\hyphex\undefined\let\frhyphex\undefined% + \let\@temp@\undefined% + \let\ifFTY\iffalse\let\ifFTR\iffalse% + \let\ifFLA\iffalse\let\ifFMA\iffalse\let\ifFH\iffalse% +\def\@tempa##1{\o@everypar{\rl@everypar##1}}% +\ifx\@tempa\everypar\let\TeXeverypar\o@everypar% +\else\let\TeXeverypar=\everypar% +\fi% + \ifx \TeXXeTstate \undefined% + \edef \next {\ifx \beginL \undefined 00\else 01\fi}% + \else% + \edef \next {\ifnum \TeXXeTstate = 0 00\else 01\fi}% + \fi% + \if \next\let\beginL\relax\let\beginR\relax% + \else% + \edef\@fepORI{{\the\TeXeverypar}}% + \def\@SetBFWdirection{\csname begin% + \beginFWdirection\endcsname}% + \TeXeverypar={\@SetBFWdirection% + \let\@SetBFWdirection\relax% + {\let\@nodocument\relax% + \@fepORI}}% + \fi% + \let\ErrFrench\@Ffnt\def\@Ffnt##1{}% +\ifx\undefined\babel@core@loaded% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- this file and other auxiliary files require to % + use the following}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- LaTeX packages: \frenchpack!}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- check \protect\protect\protect\usepackage% + \protect\space or remove these files. % + Typesetting is aborted!}% + \protect\stop}}% +\fi% +\@finput{frpatch.sty}% + \ifx\FSfd@patch\FSfd\else + \f@issue% + \@fw{-42- % + % + % + }% + \batchmode\@@end% + \fi% + \let\@Ffnt\ErrFrench\let\ErrFrench\undefined% + \IfFileExists{\frenchname.cfg}{% + \f@issue% + \@fw{-48- % + % + }% + \@finput{\frenchname.cfg}}{}% + \beginlanguage}% + \let\@dORI\document% + \def\document{% + \ifx\noxcomment\undefined\else% + \global\let\@x@hk\xcomment@hook\global\noxcomment\fi% + \ifx\btxselectlanguage\undefined% + \else\ifx\babel@savevariable\undefined% + \f@issue\@fw{-87- % + % + % + }% + \stop% + \fi% + \fi% + \ifx\@bglngpk\babel@savevariable% + \else% + \f@issue\@fw{-71- % + % + % + }% + \fi\let\@bglngpk\undefined% + \@dORI% + \GOfrench% + \let\GOfrench\undefined% + \ifx\noxcomment\undefined\else\let\xcomment@hook\@x@hk% + \expandafter\xcomment@hook\fi}% +\@makeother`\@makeother<\@makeother>\@makeother'% +\let\enddocumentasusual\enddocument% + \def\enddocument{\def\@tempa{\AtEndDocument{\french\f@clearpage% + \global\let\ifCLA\iffalse% + \let\ifCLAfrench\iffalse% + \endfrench}}% + \csname f@lastpage\endcsname% + \@CGroup% + \ifFLA% + \@tempa% + \def\@tempa{empty}\ifx\@specialstyle\@tempa% + \else\gdef\@specialstyle{french}\fi% + \fi% + \let\GOfrench\relax% + \switchtolanguage\englishTeXmods% + \let\f@clearpage\clearpage% +\ifx\lastpage@putlabel\undefined% +\else\let\clearpage\relax% + \let\lastpage@putlabelORI\lastpage@putlabel% + \def\lastpage@putlabel{\addtocounter{page}{+1}\lastpage@putlabelORI% + \addtocounter{page}{-1}}% +\fi% + % + \ifx\undefined\babel@core@loaded\else% + \ifx\@testdef\undefined\else% + \@gG{@td}{@testdef}{//}{3}\fi% + \fi% + % +\ifx\ConfigureToc\undefined\else% + \let\@ifFTYfalse\relax\let\@ifFTYback\relax% + \@Fstr\let\@Fstr\relax% +\fi% + \enddocumentasusual% + }% +\let\@whatUCH\relax% +\def\allowfulluchyph{\@noBDfr% + \uchyph=1\let\@whatUCH\allowfulluchyph% + \let\@uchbox\empty}% +\def\allowuchyph{\@noBDfr% + \uchyph=1\let\@whatUCH\allowuchyph% + \let\@uchbox\hbox}% +\def\disallowuchyph{\@noBDfr% + \uchyph=-1% + \let\@whatUCH\disallowuchyph\let\@uchbox\hbox}% +\def\notthyphenation{\@noBDfr% + {\tt\hyphenchar\font=-1}% + \let\ifTTH\iffalse}% +\def\tthyphenation{\@noBDfr% + {\tt\hyphenchar\font=`\-}% + \let\ifTTH\iftrue}% +\let\@whatUCH\allowuchyph% +\let\ifTTH\iffalse% +\let\ifFH\iffalse% +\def\hyphex#1{% + \if#1\empty% + \else% + \edef\@excn{#1}\fi% + \let\if@FE\iftrue}% +\def\frhyphex{% + \if@PMF\else\hyphex{\frenchname}\fi}% +\def\@eatDP{\@ifNextNB:{\@gobble}{}}% +\def\f@ffrench{\ifx\listoffigures\relax\else% + \figurename~\thefigure\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\f@tfrench{\ifx\listoftables\relax\else% + \tablename~\thetable\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\unnumberedcaptions#1{\@noBDfr% + % + \expandafter\let\csname listof#1s\endcsname\relax% + \ifx\listoffigures\relax\ifx\listoftables\relax% + \let\unnumberedcaptions\undefined% + \fi\fi% + }% +\@ifundefined{captionsnames}{\def\captionsnames{\relax}\let\@tempa\@currname% +\xdef\@currname{fenglish}\@finput{fenglish.sty}\let\@currname\@tempa}{}% +\def\languagename{french}% +\let\ifnonenglishheadings\iftrue% +\def\tocreduite#1#2{}% +\def\@sEAT#1#2{\@sORI*{\sommairename}}% +\def\@cEAT#1#2{\@chORI*{\sommairename}}% +\def\@smr[#1]{\let\@tempa\contentsname% + \let\contentsname\sommairename% + \ifx\tableofcontents\undefined\else% + \begingroup\ifcase #1 0% + \or \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \or \let\l@subsubsection\tocreduite% + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \or \let\l@subsection\tocreduite% + \let\l@subsubsection\tocreduite% + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \else \let\l@section\tocreduite% + \let\l@subsection\tocreduite% + \let\l@subsubsection\tocreduite% + \let\l@paragraph\tocreduite% + \let\l@subparagraph\tocreduite% + \fi% + \let\@sORI\section\let\@chORI\chapter% + \let\section\@sEAT\let\chapter\@sEAT% + \let\@ToCisNOT\relax% + \def\@starttoc##1{% + \ifx\fr@RIfM@cls\undefined% + \else\chapter*{\sommairename}% + \fi% + \begingroup\makeatletter% + \immediate\openin\@inputcheck \jobname.##1 % + \if@filesw \expandafter\newwrite\csname tf@##1\endcsname\fi% + \ifeof\@inputcheck \@Ffnt{\jobname.##1}% + \if@filesw\immediate\openout \csname tf@##1\endcsname% + \jobname.##1\relax\fi% + \else\immediate\closein\@inputcheck \relax\@@input \jobname.##1 % + \@ifundefined{@ToCisNOT}{% + \if@filesw\immediate\openout \csname tf@##1\endcsname% + \jobname.##1\relax\fi}{}% + \fi\global\@nobreakfalse \endgroup}% + \ifx\fr@RIfM@cls\undefined% + \else\def\contentsname{}% + \fi% + \tableofcontents\endgroup% + \def\tableofcontents{% + \ifx\pdfstringdef\undefined% + \else\let\contentsline\contentslineORI\fi% + \addtocontents{toc}{\protect% + \let% + \protect\@ToCisNOT\protect\empty}% + \begingroup% + \def\@starttoc####1{\begingroup% + \makeatletter\@input{\jobname.####1}% + \if@filesw\immediate\openout \csname tf@####1\endcsname% + \jobname.####1\relax\fi% + \global\@nobreakfalse \endgroup}% + \@tocORI\endgroup}% + \fi% + \let\contentsname\@tempa% + }% +\def\sommaire{\@ifNextNB[{\@smr}{\@smr[3]}% + }% +\def\@temp@{\let\if@twocolumn\iffalse}% +\@ifundefined{if@twocolumn}{\@temp@}{}% +\@ifundefined{abstract}{% + \def\abstract{\let\@w@s\@gobble% + \if@twocolumn\section*{\abstractname}% + \else\sm@ller\begin{center}% + \textbf{\abstractname\vspace*{-.5em}\vspace*{\z@}}% + \end{center}\quotation\fi}% + \def\endabstract{\if@twocolumn\else\endquotation\fi}}{}% +\@ifundefined{resume}{% +\def\resume{% + \let\@w@s\@gobble% + \abstract}% +\let\endresume\endabstract% + }{}% +\def\@tempa{% +\def\endkeywords{\@noBDfr}% +\def\keywords{\@noBDfr% + \let\@w@s\@gobble% + \quotation\noindent\sm@ller{% + \ifx\fr@RIfM@cls\undefined% + \else\let\textbf\textsc\fi% + \kwname}% + \let\endkeywords=\endquotation}% + }% +\@ifundefined{keywords}{\@tempa}% + {\ifx\fr@RIfM@cls\undefined% + \else\@tempa% + \fi% + }% +\@ifundefined{endkeywords}{\let\endkeywords\relax}{}% +\def\motsclef{\keywords\relax% + \def\endmotsclef{\endkeywords}}% +\let\ifFTR\iftrue% +\ifx\texteuro\undefined\else% + \let\textcurrencyORI\textcurrency% + \def\textcurrency{\ifFTR\expandafter\texteuro% + \else\expandafter\textcurrencyORI% + \fi}% +\fi% +\def\annexe {\@ann{\appendixname}}% +\def\annexes{\@ann{\appendixname s}}% +\def\@ann#1{\@noBDfr\leavevmode% + \ifx\fr@RIfM@cls\undefined\else% + \let\chaptername\appendixname% + \fi% + \ifx\chapter\undefined\else% + \par\setcounter{chapter}{0}\setcounter{section}{0}% + \def\@chapapp{\appendixname}\def\thechapter{\Alph{chapter}}% + \addcontentsline{toc}{chapter}{\protect#1}% + \fi}% +\@ifundefined{@restonecolfalse}{\def\@restonecolfalse{}% + \def\@restonecoltrue{}}{}% +\@ifundefined{@mkboth}{\def\@mkboth#1#2{}}{}% +\def\glossaire{\@glo{% + \glossaryname}}% +\def\glossaires{\@glo{% + \glossaryname s}}% +\def\@glo#1{\ifx\chapter\undefined\else% + \setcounter{chapter}{0}\setcounter{section}{0}% + \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi% + \hbox{}% + \clearpage% + \ifx\fr@RIfM@cls\undefined% + \chapter*{#1% + \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}% + }% + \addcontentsline{toc}{chapter}{\protect#1}% + \else\chapter*{#1}% + \fi% + \ifx\undefined\@glossaryfile\else% + \immediate\closeout\@glossaryfile% + \ifx\undefined\glossaryentry% + \long\def\glossaryentry##1##2{\noindent-- ##1\par}% + \fi% + \ifx\undefined\theglossary% + \let\theglossary\description% + \let\endtheglossary\enddescription% + \let\scan@allowedfalse\makeatother% + \def\pfill##1 {}% + \def\@pgf[##1]{\@finput{##1}}% + \def\printglossary{\@ifNextNB[% + {\@pgf}{\@pgf[\jobname.gls]}}% + \fi% + \fi\fi}% +\def\datefrench{% +\def\todayfrench{\ifx\ier\undefined\def\ier{er}\fi% + \ifnum\day=1\relax 1\ier% + \else \number\day\fi% + \space\ifcase\month\or janvier\or f\'evrier\or mars\or % + avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or % + octobre\or novembre\or d\'ecembre\fi \space\number\year}% +}\datefrench% +\if@filesw + \def\ordinalSecondNam{{s}econd}% + \def\ordinalSecondName{{s}econde}% +\else% + \def\ordinalSecondNam{{d}euxi\`eme}% + \let\ordinalSecondName\ordinalSecondNam% +\fi% + \def\@osn#1#2{\expandafter\ifx\csname#1osn\endcsname% + \relax#2\else\csname#1osn\endcsname\fi}% + \def\ordinal#1{\ifcase\value{#1}\or {p}remier% + \or\@osn{#1}{\ordinalSecondNam}\else\ordin@l{#1}\fi}% + \def\ordin@l#1{\ifcase\value{#1}\or\or\or % + {t}roisi\`eme\if@filesw{\protected@write\@auxout{}{% + \protect\expandafter% + \protect\gdef\protect\csname#1osn% + \protect\endcsname% + {{d}euxi\`eme}}}% + \fi% + \or {q}uatri\`eme\or {c}inqui\`eme\or {s}ixi\`eme\or % + {s}epti\`eme\or {h}uiti\`eme\or {n}euvi\`eme\or {d}ixi\`eme\or % + {o}nzi\`eme\or {d}ouzi\`eme\or {t}reizi\`eme\or {q}uatorzi\`eme\or % + {q}uinzi\`eme\or {s}eizi\`eme\or {d}ix-septi\`eme\or {d}ix-huiti\`eme\or % + {d}ix-neuvi\`eme\or {v}ingti\`eme\fi}% + \def\ordinale#1{\ifcase\value{#1}\or {p}remi\`ere% + \or\@osn{#1}{\ordinalSecondName}\else\ordin@l{#1}\fi}% + \def\Ordinal{\expandafter\uppercase\ordinal}% + \def\Ordinale{\expandafter\uppercase\ordinale}% +\def\captionsfrench{% + \ifFTR% + \ifx\captionsnames\captionsfrench\else% + \let\@tdORI\today% + \let\f@fORI\fnum@figure% + \let\f@tORI\fnum@table% + \let\@cnsORI\captionsnames% + \def\pagename{page}% + \def\refname{R\'ef\'erences}% + \def\abstractname{R\'esum\'e}% +\ifx\bibname\undefined\else% + \def\bibname{Bibliographie}% +\fi% +\ifx\btxselectlanguage\undefined% + \csname bibsfrench\endcsname% +\fi% + \def\contentsname{Table des mati\`eres}% + \def\listfigurename{Table des figures}% + \def\listtablename{Liste des tableaux}% +\ifx\listalgorithmname\undefined\else% + \def\ALG@name{algorithme}% + \def\listalgorithmname{Liste des \ALG@name s}% +\fi% + \def\indexname{Index}% + \def\seename{\emph{voir}}% + \def\seealsoname{\emph{voir aussi}}% + \def\figurename{\textsc{Fig.}}% + \def\tablename{\textsc{Tab.}}% + \def\sommairename{Sommaire}% + \def\partname{% + \ignorespaces\Ordinale{part}\space partie% + \@RPtNoInDoc\noexpand\@RPtNoInToc}% + \def\glossaryname{Glossaire}% + \def\kwname{\textbf{Mots-cl\'e} : }% + \def\draftname{- \noexpand\351preuve -}% + \def\prefacename{Pr\'eface}% +\ifx\proofname\undefined\else\def\proofname{D\'emonstration}\fi% +\ifx\fr@RIfM@cls\undefined% + \let\fnum@figure\f@ffrench% + \let\fnum@table\f@tfrench% + \def\@RPtNoInToc{}% + \def\@RPtNoInDoc{\def\thepart{}}% + \else\def\@RPtNoInToc##1.{.}% + \def\@RPtNoInDoc##1\thepart{}% +\fi% +\ifx\opening\undefined\else% + \def\headtoname{}% + \def\ccname{c.c. }% + \def\enclname{P.j. }% + \def\PSname{P.-S. :}% + \def\Objectname{Objet :}% + \def\YourRefname{v/r\'ef. :}% + \def\OurRefname{n/r\'ef. :}% + \def\emailname{m.\'el. :}% +\fi% +\ifx\slidename\undefined\else% + \def\slidename{Transparent}% + \def\listslidename{Liste des transparents}% +\fi% +\ifx\notesname\undefined\else% + \def\notesname{Notes}% +\fi% + \def\chaptername{Chapitre}% + \def\appendixname{Annexe}% + \let\captionsnames\captionsfrench% + \fi% + \let\today\todayfrench% +\def\@cORI{\@cnsORI% + \let\today\@tdORI% + \let\fnum@figure\f@fORI% + \let\fnum@table\f@tORI}% +\fi% +}% +\iffrenchbibliography% + \ifx\@rbibstyid\undefined% + \let\@rbibstyid\empty% + \ifx\jb@pkg@name\undefined\else% + \def\@rbibstyid{jb}% + \fi% + \fi% + \ifx\bibsfrench\undefined% + \edef\@tempa{fr\@rbibstyid bib.ldf}% + \IfFileExists{\@tempa}{% +\f@issue% +\@fW{ -65- % + % + % + }\@finput{\@tempa}}{}% + \fi% + \ifx\bibsenglish\relax% + \edef\@tempa{en\@rbibstyid bib.ldf}% + \InputIfFileExists{\@tempa}{}{}% + \fi% +\fi% +\let\@tlORI\@trivlist% +\def\frenchtrivsepwarnings{\let\ifFTSW\iftrue}% +\def\nofrenchtrivsepwarnings{\let\ifFTSW\iffalse}% +\long\def\frtrivseplengths#1{% + \nofrenchtrivsepwarnings% + \long\def\fr@tsl{#1}% + }% +\def\fr@tsl{\setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\topsep}{0.4ex plus 0.2ex minus 0.2ex}% + \setlength{\partopsep}{1.6ex plus 0.8ex minus 0.8ex}% + }% +\def\frenchtrivsep{\ifFLA\def\@trivlist{% + \fr@tsl\@tlORI}% + \fi} +\def\nofrenchtrivsep{\let\@trivlist\@tlORI}% +\@ifundefined{@afterindenttrue}{\let\@afterindenttrue\relax% + \let\@afterindentfalse\relax}{}% +\let\@aifORI\@afterindentfalse% +\edef\@piORI{\the\parindent}% +\begingroup \catcode `| =0 \catcode `[ = 1 \catcode`] =2% + \catcode `\{=12 \catcode `\}=12 \catcode`\\=12% + |gdef|@xversatim#1\end{versatim}[#1|end[versatim]]% + |endgroup% +\let\@FIM@\relax% +\def\@FIM@{\ifCG\else\ifFLA\ifEPG\ifEPGR\else\leftguillemets\fi\fi\fi\fi}% +\let\checkitemguillemets\@FIM@% +\def\fr@idf{\let\@afterindentfalse\@afterindenttrue\@afterindenttrue}% +\def\fr@nidf{\let\@afterindentfalse\@aifORI\@afterindentfalse}% +\ifx\titlespacing\undefined% + \let\which@indent\fr@idf% +\else\let\which@indent\fr@nidf% +\fi% +\def\fr@lbi{\def\labelitemi{\@FIM@--}\def\labelitemii{\@FIM@--}% + \def\labelitemiii{\@FIM@--}\def\labelitemiv{\@FIM@--}% + }% +\long\def\frlabelitems#1{\ifFLA\long\def\fr@lbi{#1}% + \fr@lbi\fi}% +\def\@FIM{% + \fr@lbi% + \def\indentfirst{\ifFLA\fr@idf\fi}% + \def\nonindentfirst{\ifFLA\fr@nidf\fi}% + \which@indent% + % + \def\labelfrenchenumi{\@FIM@\quando={\arabic{enumi}}}% + \def\labelfrenchenumii{\@FIM@\quando={\arabic{enumii}}}% + \def\labelfrenchenumiii{\@FIM@\quando={\arabic{enumiii}}}% + \def\labelfrenchenumiv{\@FIM@\quando={\arabic{enumiv}}}% + \def\order{\ifnum \@enumdepth >3 \@toodeep\else% + \advance\@enumdepth \@ne% + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list% + {\csname labelfrench\@enumctr\endcsname}% + {\usecounter{\@enumctr}% + \ifFLA% + \addtolength{\leftmargin}{0.9em}% + \fi% + \def\makelabel####1{\hss\llap{####1}}}\fi}% + \let\endorder =\endlist% + % + % + \def\versatim{\bgroup\let\@w@s\@gobble% + \ifFLA% + \let\dospecials\@dsversa% + \def\@xobeysp{\leavevmode{}\space}% + \ifx\verbatim@font\undefined\let\verbatim@font=\tt\fi% + \let\@ttORI\verbatim@font% + \def\verbatim@font{\@ttORI% + \verse% + \vskip-2\parskip% + \vskip-1\partopsep\vskip-\topsep% + \leavevmode% + \leftskip=-2\itemindent% + \parindent=2\itemindent% + \parskip\z@% + \pretolerance=\@M\tolerance=\@M\hbadness=\@M% + \hyphenchar\the\font=`\-}% + \let\tt=\verbatim@font% + \fi% + \let\@xverbatim\@xversatim% + \verbatim}% + \def\endversatim{\endverse% + \ifTTH\else\hyphenchar\the\font=-1\fi% + \endverbatim\ifFLA\vskip+1\partopsep\fi\egroup}% + \@ifundefined{vers}{% + \def\@vers##1{\def\@tempa ####1##1{\leavevmode\null####1% + \endgroup}\@tempa}% + \def\vers{% + \begingroup% + \def\@xobeysp{\ifFLA\else\penalty\@M\fi\space}% + \catcode``=13 \@noligs \tt% + % + \ifFLA\let\dospecials\@dsversa\fi% + \let\do\@makeother\dospecials\@vobeyspaces \frenchspacing% + \@vers}}{}% + \@ifundefined{verbatimfile}% + {\def\verbatimfile##1{\begingroup\@verbatim\frenchspacing + \@vobeyspaces\input ##1\endgroup}}{}% +}% +\def\@temp@{% +\let\@ps@fp\ps@firstpage% +\def\@opening{% +\let\@wideletter\relax% +\let\emailadd\@empty\let\@yourref\@empty\let\@ourref\@empty% +\let\@object\@empty% + \@ifundefined{wideletter}{% + \def\@wideletter{}\def\wideletter{% + \def\@wideletter{\leftskip-0.25\indentedwidth}}}{}% + \@ifundefined{email}{% + \def\email####1{\def\emailadd{\texttt{####1}}}}{}% + \@ifundefined{emailadd}{\def\emailadd{}}{}% + \@ifundefined{yourref}{% + \def\yourref####1{\def\@yourref{####1}}}{}% + \@ifundefined{@yourref}{\def\@yourref{}}{}% + \@ifundefined{ourref}{% + \def\ourref####1{\def\@ourref{####1}}}{}% + \@ifundefined{@ourref}{\def\@ourref{}}{}% + \@ifundefined{object}{% + \def\object####1{\def\@object{####1}}}{}% + \@ifundefined{@object}{\def\@object{}}{}% + \@ifundefined{PS}{% + \def\PS####1{{\raggedright\PSname\space ####1}}}{}% + \def\ps@firstpage{\ifFLA% + \advance\topmargin by -20\p@% + % + \def\@oddhead{\ifx\undefined\formhead\else% + \bgroup\hss\formhead\hss\egroup\fi}% + \def\@oddfoot{\raisebox{-45\p@}[\z@]% + {\hbox to \textwidth{% + \ifcase \@ptsize\relax% + \normalsize% + \or \sm@ller% + \or \footnotesize% + \fi% + % + \ifx\undefined\formfoot\hfill\else% + \bgroup\hss\formfoot\hss\egroup\fi% + }}\hss}% + \def\@evenhead{}\def\@evenfoot{}% + \else\@ps@fp\fi}% + \long\def\opening####1{% + \ifFLA% + \advance\indentedwidth by -0.25\longindentation% + \advance\longindentation by 0.22\textwidth% + \advance\parindent by 1.5em% + % + \let\nopagenumbers\relax% + \thispagestyle{firstpage}% + % + \raggedbottom% + \ifx\@empty\fromlocation\location{Le}\fi% + \ifx\@empty\fromaddress\let\fromaddress\space\fi% + {\raggedright\hspace*{-0.25\indentedwidth}% + \parbox[t]{0.5\textwidth}{\ignorespaces% + \vbox to 0\p@{\fromaddress\vss}}% + \\*[1.75\baselineskip]% + \par}% + \ifx\@empty\toname% + % + {\raggedleft\bgroup\fromlocation\space\@date\egroup\par}% + \else% + {\raggedleft\begin{tabular}{l}\ignorespaces% + \toname\\ \toaddress\\*[6\parskip]% + \fromlocation\space\@date\end{tabular}\par}% + \fi% + \ifx\@empty\@ourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \OurRefname\space\@ourref \par}% + \fi% + \ifx\@empty\@yourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \YourRefname\space\@yourref \par}% + \fi% + \ifx\@empty\@object\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \textbf{\Objectname}\space\@object \par}% + \fi% + \par\vspace*{3\parskip}% + \noindent####1\hfill\vspace*{3\parskip}% + \@wideletter% + \else\@oORI{####1}% + \fi}}% +\def\@closing{% + \def\closing{\fclosing@[9]}% + \def\fclosing{\@ifNextNB[{\fclosing@}{\fclosing@[9]}% + }% + \long\def\fclosing@[####1]####2{% + \ifFLA% + \par% + \vspace{\parskip}\stopbreaks% + \ignorespaces ####2\\[####1\medskipamount]% + \ifx\@empty\fromaddress\else% + \hspace*{-0.25\indentedwidth}% + \hspace*{\longindentation}\fi% + {\raggedright\begin{tabular}{l}\ignorespaces% + \ifx\@empty\fromsig% + \fromname% + \else \fromsig \fi% + \ifx\@empty\emailadd\else\\{\footnotesize% + \emph{\emailname} \emailadd}\fi% + \strut\end{tabular}}\par% + \vskip 0pt plus 1fil% + \else\@cloORI{####2}% + \fi}% + \def\endletter{\ifFLA\vskip 0pt plus 3fil\fi% + \@elORI}}% +\@ifundefined{opening}{\def\@opening{}\def\@closing{}}% + {\let\@oORI\opening\let\@cloORI\closing% + \let\@elORI\endletter% + \@opening\@closing}% +}% +\ifx\opening\undefined\let\@temp@\relax\fi% +\@temp@% +\let\ifFLA\iffalse% +\def\@temp@{% +\def\figurette{\@noBDfr% + \ifx\@fgeORI\undefined\figure\fi% + \ifFLA\bgroup% + \def\@xfloat####1[h]{% + \expandafter\let\csname end####1\endcsname\endfigurette% + \vskip\intextsep\def\@captype{####1}\parindent\z@}% + \@fgeORI[h]\else\figure[h]\fi}% +\def\endfigurette{\@noBDfr% + % + \ifFLA\vskip\intextsep\egroup\else\@efgeORI\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}\xdef\@lim{}\fi% + \let\ifMOVING\iffalse}% + }% +\ifx\figure\undefined\def\@temp@{}\fi% +\@temp@% +\def\@tempa{\let\fr@RIfM@cls\undefined}% +\let\fr@RIfM@cls\RIfM@% + \ifx\RIfM@\undefined\else% + \expandafter\ifx\csname @classname\endcsname\relax\@tempa% + \else\def\@tempb#1#2#3#4\@nil{% + \if#1a\if#2m\if#3s\else\@tempa\fi% + \else\@tempa\fi\else\@tempa\fi}% + \expandafter\@tempb\@classname\@nil% + \fi% + \fi% +\def\@temp@{\def\ps@french{\if@fancyplain\ps@plain@fancy\else\ps@plain\fi}}% +\ifx\ps@fancyplain\undefined% + \ifx\fr@RIfM@cls\undefined\def\ps@french{}% + \else\def\ps@french{\global\topskip\normaltopskip}% + \fi% +\else\@temp@% +\fi% +\let\ps@frenchORI\ps@french% +\let\@sdORI\secdef% +\def\nofrenchpagestyle{\let\secdef\@sdORI}% +\def\frenchpagestyle{% + \def\secdef{\ifFLA\thispagestyle{french}\fi\@sdORI}% + }% +\frenchpagestyle% +\ifx\aliaspagestyle\undefined% +\def\nobeginingfolio{\let\ps@french\ps@empty}% +\else% +\def\nobeginingfolio{\let\ps@french\ps@empty% + \aliaspagestyle{chapter}{empty}% + }% +\fi% +\def\beginingfolio{\let\ps@french\ps@frenchORI% + \frenchpagestyle}% +\@ifundefined{nopagenumbers}{% + \def\nopagenumbers{\ifFLA\pagestyle{empty}% + \thispagestyle{empty}\fi}% + }{}% +\def\ifFLA{\ErrFrench}% + \newif\ifnonvoid% +\def\@desarm{% + \newbox\@FrBoxi\newbox\@FrBoxii\newbox\@FrBoxiii% + \newbox\@FrBoxiiii\newbox\@FrBoxvi\newbox\@FrBoxvii\newbox\@FrBoxQuotes% + \ifx\@FrDimenS\undefined\newdimen\@FrDimenS\fi% + \def\@setpartozero{\widowpenalty=\z@\clubpenalty=\z@% + \interlinepenalty=\z@\brokenpenalty=\z@\displaywidowpenalty=\z@}% + \def\nonvoidtrue{\let\ifnonvoid\iftrue}% + \def\nonvoidfalse{\let\ifnonvoid\iffalse}% + \def\@transfervbox##1##2{\nonvoidtrue% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\fi% + \ifnonvoid% + \setbox\@FrBoxii=\vbox{\unvbox##2\box\@FrBoxiii}% + \setbox##1=\box\@FrBoxi\setbox##2=\box\@FrBoxii% + \repeat}% + \def\@transferaddvbox##1##2{\nonvoidtrue% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \setbox##2=\vbox{\box\@FrBoxiii}% + \setbox##1=\box\@FrBoxi% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\setbox##1=\box\@FrBoxi\fi% + \ifnonvoid% + \setbox\@FrBoxii=\vbox{\unvbox##2% + \hbox to \@FrDimen{\copy\@FrBoxQuotes\unhbox\@FrBoxiii}}% + \setbox##1=\box\@FrBoxi\setbox##2=\box\@FrBoxii% + \repeat}% + \def\@sendtopage##1{\nonvoidtrue% + \loop% + \setbox\@FrBoxi=\vbox{\unvbox##1\global\setbox\@FrBoxiii=\lastbox% + \unskip}% + \ifvoid\@FrBoxiii\nonvoidfalse\setbox##1=\box\@FrBoxi\fi% + \ifnonvoid% + \unhbox\@FrBoxiii\unskip\break% + \setbox##1=\box\@FrBoxi% + \repeat}% + \def\@stared{\egroup% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \@transferaddvbox\@FrBoxvii\@FrBoxvi% + \setbox\@FrBoxvii=\vbox{\unvbox\@FrBoxvi% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvii\@FrBoxvi% + \noindent \@sendtopage\@FrBoxvi% + \unhbox\@FrBoxiiii\unskip\unskip\unpenalty}% + \def\@fniv2{\egroup% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \@transferaddvbox\@FrBoxvii\@FrBoxvi% + \setbox\@FrBoxvii=\vbox{\unvbox\@FrBoxvi% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvii\@FrBoxvi% + \noindent \@sendtopage\@FrBoxvi% + \setbox\@FrBoxvii=\vbox\bgroup\@setpartozero% + \noindent \unhbox\@FrBoxiiii\unskip\unskip\unpenalty}% + \def\@qqguill{\relax}% + \def\@staring{\global\setbox\@FrBoxQuotes=\hbox to 0.81em{\@qqguill}\egroup% + \setbox\@FrBoxvi=\vbox{\unvbox\@FrBoxvii% + \global\setbox\@FrBoxiiii=\lastbox\unskip}% + \@transfervbox\@FrBoxvi\@FrBoxvii% + \noindent\@sendtopage\@FrBoxvii% + \setbox\@FrBoxvi=\vbox\bgroup\@setpartozero% + \hangindent=\wd\@FrBoxQuotes\hangafter=1% + \setbox\@FrBoxvii=\hbox{\unhcopy\@FrBoxiiii\unskip\unskip% + \unpenalty}% + \@FrDimenS=\@FrDimen \advance\@FrDimenS by -2em% + \ifvoid\@FrBoxiiii\indent\copy\@FrBoxQuotes% + \else% + \parindent=\z@% + \ifdim \wd\@FrBoxvii>\@FrDimenS \unhbox\@FrBoxvii\break% + \else \unhbox\@FrBoxvii% + \fi\fi}% + \def\@qquotes{\setbox\@FrBoxvii=\vbox\bgroup\@setpartozero}% +}% +\def\@EIM{\def\labelitemi{\@lti}\def\labelitemii{\@ltii}% + \def\labelitemiii{\@ltiii}\def\labelitemiv{\@ltiv}% + \let\@afterindentfalse\@aifORI\@afterindentfalse% + \parindent\@piORI}% +\let\@FL\relax% +{\catcode`.=12\catcode`p=12\catcode`t=12\gdef\auTo@gf#1.#2pt{#1}}% +\def\@FL{% +\def\automaticlettrine{% + \ifx\lettrinefontname\undefined% + \def\@tempa####1 ####2\@@{% + \def\lettrinefontname{####1}}% + \edef\@tempb{ }% + \expandafter\@tempa\fontname% + \expandafter\font\@tempb\@@\fi% + \let\sv@lf=\lettrinefont}% +\def\noautomaticlettrine{% + \let\lettrinefontname=\undefined% + \let\lettrinefont=\sv@lf}% +\ifx\lettrine\undefined% +\def\lettrine{\par% + \let\@tempa\relax% + \def\@tempa{\def\@fbr{\fboxrule=\z@}% + \protect\@lettrineS% + }% + \@tempa}% +\if@PMF\def\@Ettrine[##1]{##1}\let\@ettrine\relax\else% + \def\@ettrine##1##2\par{\bgroup\parskip=\z@% + {\ly\xdef\bef@ly{\the\font}}% + \let\newpage=\relax\let\clearpage=\relax% + \let\cleardoublepage=\relax% + \edef\bef@fnt{\the\font}% + \ifCG\def\bef@let{}% + \else\def\bef@let{\bef@fnt\def\ly{\bef@ly}% + \leftguillemets\space}% + \fi\@@ttrine{##1}{##2}\egroup}% + \def\@@ttrine##1##2{\ifFLA\def\@@ttrnxt{\@@@trine##1\@@{##2}}% + \else\def\@@ttrnxt{##1\space\ignorespaces##2}% + \fi% + \@@ttrnxt\unskip\par% + \f@par% + \@nobreakfalse}% + \def\@@@trine##1##2\@@##3{\@fbr\TeXeverypar{}% + \ifx\lettrinefontname\undefined\let\auTo@lh\undefined% + \else\let\auTo@lh\lettrinehang% + \ifx\auTo@lh\undefined\def\auTo@lh{2}\fi% + \bgroup% + \ifx\@htfreq\undefined\newdimen\@htfreq\newdimen\@htfbase\fi% + \setbox0=\hbox{M}\@htfreq=\ht0% + \def\dimentocount####1{\expandafter\auTo@gf\the####1}% + \font\@fontreq=\lettrinefontname% + \setbox0=\hbox{\@fontreq ##1}\@htfbase=\ht0% + \advance\@htfreq by \auTo@lh\baselineskip% + \advance\@htfreq by \lineskip% + \advance\@htfreq by -\baselineskip% + \multiply\@htfreq by 100 % + \multiply\@htfbase by 100 % + \divide\@htfreq by \dimentocount\@htfbase% + \multiply\@htfreq by \@m% +\global\font\lettrinefont=\lettrinefontname\space scaled \dimentocount\@htfreq% + \egroup% + \fi% + \setbox0\hbox{% + {\shortstack{\bef@let{\lettrinefont##1}\relax% + \ifdim\fontdimen\@ne\font>\z@\/\space\fi}}}% + \@FrDimenH=\ht0\advance\@FrDimenH by\dp0% + \@FrDimenS=\@FrDimenH\advance\@FrDimenS by\fboxsep% + \ifdim\baselineskip\superieura0pt% + \divide\@FrDimenS by\baselineskip% + \fi\@FrCount=\@FrDimenS% + \@FrDimen=\baselineskip\multiply\@FrDimen by-\@FrCount% + \advance\@FrDimen by\@FrDimenH% + \ifdim\@FrDimen>0.025\baselineskip \advance\@FrCount by 1\fi% + \ifx\auTo@lh\undefined\else\@FrCount=\auTo@lh\fi% + \ifx\lettrinehang\undefined\else\@FrCount=\lettrinehang\fi% + \@FrDimenI=\wd0% + \ifdim\fboxrule=\z@\else\advance\@FrDimenI by2\fboxrule% + \advance\@FrDimenI by2\fboxsep\fi% + \@FrDimenS=\fontdimen2\font\advance\@FrDimenI by+3\@FrDimenS% + \ifdim\fboxrule=\z@\advance\@FrDimenI by-0.30\@FrDimenS\fi% + \advance\@FrCount by -1% + \@FrDimen=\@FrCount\baselineskip% + \advance\@FrCount by 1% + \ifdim\fboxrule=\z@\else\advance\@FrDimen by -\fboxrule\fi% + \@FrDimenH=-\dp0% + \setbox0\hbox{\ifdim\fboxrule=\z@\kern-\fboxsep\fi% + \fbox{\shortstack{{% + \def\@LSG{\f@issue\@fw{-5- % + % + }}% + \let\@RSG=\@LSG\bef@let% + \lettrinefont\raise-\@FrDimen\hbox{##1}\relax% + \ifdim\fontdimen\@ne\font>\z@\/\space\fi}}}}% + \box0\@FrDimen=\@FrDimenH% + \advance\@FrDimenH by-\@FrCount\baselineskip% + \advance\@FrDimenH by \lineskip% + \ifdim\fboxrule=\z@\else\advance\@FrDimenH by -\fboxrule\fi% + \vspace*{\@FrDimenH}% + \hangindent=\@FrDimenI% +\ifx\lettrinehang\undefined% + \ifdim\@FrDimen<-0.025\baselineskip% + \advance\@FrCount by\@ne% + \divide\@FrDimen by-\baselineskip% + \advance\@FrCount by\@FrDimen% + \fi% +\fi% + \ifnum\@FrCount=1\f@issue\@fw{-6- % + }\fi% + \hangafter=-\@FrCount% + \noindent\kern-2.5\@FrDimenS% + \def\@temp@{##2}% + \ifx\empty\@temp@\f@issue\@fw{-7- % + % + }% + \else{\scshape ##2}\fi\def\@temp@{##3}% + \ifx\@temp@\empty\else\space\ignorespaces##3\fi% + }% + \def\@Ettrine[##1 ##2 ##3]##4\par{\bgroup\parskip=0pt% + {\ly\xdef\bef@ly{\the\font}}% + \let\newpage=\relax% + \edef\bef@fnt{\the\font}\@gN% + \ifFLA\def\bef@let{\bef@fnt\def\ly{\bef@ly}##1\space}% + \else ##1\space\fi% + \@@ttrine{##2}{{\def\@aft@let{##3}\ifx\@aft@let\empty% + \else##3\space\fi% + \ignorespaces ##4}}\egroup}% +\fi% +\def\flettrine{\par% + \let\@tempa\relax% + \def\@tempa{\def\@fbr{}\protect\@lettrineS}% + \@tempa}% +\def\@lettrineS{\ifx\@FrDimenH\undefined% + \newdimen\@FrDimenH\newdimen\@FrDimenI\fi% + \ifx\@FrDimenS\undefined\newdimen\@FrDimenS\fi% + \@ifNextNB[{\@Ettrine}{\@ettrine}% + }% +\fi% + }% +\def\nonfrench{\ifFrench\@DFP% + \def\@temp@{\@AFP}% + \else\@NoFr\def\@temp@{\relax}\fi% + \def\endnonfrench{\@temp@\ignorespaces}% + \ignorespaces}% +\def\@dospecialsfrench{\do\`\do'\@dsversa}% +\def\@dsversa{% + \do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\|\do\^^K\do\_\do\^^A\do\%\do\~%$emacs + \do\!\do\?\do\;\do\:\do\<\do\>\do\^\do\"}% +\def\@sanitizefrench{% + \@saORI% + \@makeother\!\@makeother\?\@makeother\;\@makeother\:% + \@makeother\`\@makeother'\@makeother\<\@makeother\>% + \@makeother\^\@makeother\"}% +\def\@ifNextNB#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\futurelet% + \@tempc\@Fifnch}% + \def\@Fifnch{\ifx \@tempc \@tempe\let\@tempd\@tempa% + \else\let\@tempd\@tempb\fi\@tempd}% +\def\@ifNextNBc#1#2#3#4{\let\@tempe=#1\let\@tempf=#2% + \def\@tempa{#3}\def\@tempb{#4}\futurelet% + \@tempc\@Fifnchc}% + \def\@Fifnchc{\ifx\@tempc\@tempf\@tempa\else\@Fifnch\fi}% +\def\@skiplastspace{\ifdim\lastskip>\z@\unskip\penalty\@M\fi}% +\let\ifFrench\iftrue% +\def\@AFP{% + \let\dospecials\@dospecialsfrench% + \let\@sanitize\@sanitizefrench% + \AFPdp\AFPinfsup}% +\def\AFPdp{\ifFrench\catcode`\!=\active\catcode`\?=\active% + \catcode`\;=\active\catcode`\:=\active\fi}% +\let\AFPinfsup\relax% +\def\AFPinfsup{\ifFrench\ifFG\catcode`\<=\active\catcode`\>=\active\fi\fi}% +\def\AFPq{\ifFrench\catcode`'=\active\catcode``=\active\fi}% +\def\AFPdq{\catcode`"=\active}% +\def\@DFP{% + \DFPq\DFPinfsup\ifLPA\else\DFPdp% + \let\dospecials\@dsORI% + \let\@sanitize\@saORI\fi}% +\def\DFPq{\ifFrench\catcode``=12\catcode`'=12\fi}% +\let\DFPinfsup\relax% +\def\DFPinfsup{\ifFrench\catcode`<=12\catcode`>=12\fi}% +\def\DFPdp{\ifFrench\catcode`;=12\catcode`:=12% + \catcode`!=12\catcode`?=12\fi}% +\def\DFPdq{\catcode`"=12}% +\let\@doORI\dots\let\@ldoORI\ldots% +\def\TeXdots{\@noBDfr% + \ifFTY\let\dots\@doORI\let\ldots\@ldoORI\fi}% +\def\noTeXdots{\@noBDfr% + \ifFTY\def\dots{...}\def\ldots{...}\fi}% +\let\@hatORI\^\let\@treORI\"% +\def\idotless{\@noBDfr% + \ifFTY% + \def\^##1{{\expandafter\@hatORI\ifx ##1i\i\else##1\fi}}% + \def\"##1{{\expandafter\@treORI\ifx ##1i\i\else##1\fi}}% + \fi}% +\def\iwithdot{\@noBDfr% + \let\^\@hatORI\let\"\@treORI}% +\let\ifLPA\iffalse% +\let\ifFG\iffalse% +\def\@tempa#1{\f@issue% + \@fw{-13- % + }[#1]% + \let\@tempb\next\let\@tempc\empty}% +\let\@tempb\empty% +\AFPdp% +\let\ifWTS\iffalse% +\def\@WTS{\relax\ifmmode\else\ifhmode% + \ifdim\lastskip>\z@\unskip\fi% + \fi\fi}% +\def\@tempc{% +\def;{\ifFTY\protect\@PV% + \else\ifWTS\@WTS\fi\string;\fi}% + }% +\def\@tempd{\@tempa{\string;}}% +\ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PV{\relax\ifmmode\string;\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi\string;\fi}% +\def\@tempc{% +\def:{\ifFTY\protect\@DP% + \else\ifWTS\@WTS\fi\string:\fi}% + }% +\def\@tempd{\@tempa{\string:}}% +\ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc% +\@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}% +\def\@DP{\relax\ifmmode\string:\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string:% + \@beginparpenalty=\@M\relax% + \fi}% +\def\@wu#1{\@@wu#1,\void}% +\def\@@wu#1,#2{\ifx#1\empty\else\@@@wu #1\fi% + \def\@tempa{\@@wu#2}% + \ifx#2\void\else\expandafter\@tempa\fi% + }% +\def\@@@wu#1=#2{\expandafter\edef\csname #1\endcsname:{#2\string:}}% +\ifx\hhline\undefined\else\let\@hhlORI\hhline% + \def\hhline{\omit\ifFrench\let:\@cidp\fi% + \expandafter\@gobble\@hhlORI}% +\fi% +\def\@tempc{% +\def!{\ifFTY\protect\@PE% + \else\ifWTS\@WTS\fi\string!\fi}% + }% +\def\@tempd{\@tempa{\string!}}% +\ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PE{\ifmmode\string!\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string!\fi}% +\def\@tempc{% +\def?{\ifFTY\protect\@PI% + \else\ifWTS\@WTS\fi\string?\fi}% + }% +\def\@tempd{\@tempa{\string?}}% +\ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PI{\relax\ifmmode\string?\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M% + \hskip +0.09em plus 0.07667em% + \fi% + \fi% + \string?\fi}% +\ifx\@tempb\next\let\AFPdp\empty\f@issue% + \@fw{-13b- % + \@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi% +\let\ifLPA\ErrFrench% +\let\ifFG\ErrFrench% +\let\@aORI\@array% +\def\@array{}% +\DFPdp\AFPdp% +\ifx\AFPdp\empty\else% +\def\@array{\let\noexpand\@tempa=\noexpand!% + \def\noexpand!{\noexpand\string\noexpand!}% + \edef\noexpand\@tempb{##1}% + \let\noexpand!=\noexpand\@tempa}% +\fi% +\catcode`<=13\catcode`>=13% +\let\ifArG\iftrue% +\edef\@array[#1]{\edef\noexpand\@tempb{#1}% + \noexpand\ifArG\noexpand\else% + \noexpand\ifnum\catcode`\noexpand<=\active% + \noexpand\ifmmode\let\noexpand<\noexpand\inferieura% + \let\noexpand>\noexpand\superieura% + \noexpand\fi\noexpand\fi\@array% + \noexpand\fi% + \noexpand\@aORI[{\noexpand\@tempb}]}% +\let\@eaORI\eqnarray% +\def\eqnarray{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@eaORI}% +\ifx\@@array\undefined\else% + \let\@@aORI\@@array% +\def\@@array{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@@aORI}% +\fi% +\catcode`<=12\catcode`>=12% +\DFPdp% +\let\@CGroup\relax\let\@@FG\relax% +\let\@LG\relax% +\def\@og{\leavevmode\ifdim\lastskip>\z@\unskip% + \penalty-9\hskip0.35em minus 0.35em\fi% + \raise0.27ex\hbox{$\scriptscriptstyle\ll$}\,\nobreak\ignorespaces}% +\def\@cg{\@skiplastspace\nobreak\,\leavevmode\raise0.27ex% + \hbox{$\scriptscriptstyle\gg$}}% +\let\ifFG\iftrue% +\AFPinfsup% +\def\@gN{\def<##1{\ifx ##1<\leftguillemets\else\@LSG##1\fi}% + \def>##1{\ifx ##1>\rightguillemets\else\@RSG##1\fi}}% +\let\@oldog\<\let\@oldcg\>% +\def\@ogx<{\ifFTY\@og\else\@DOG\fi}% +\def\@cgx>{\ifFTY\@cg\else\@DFG\fi}% +\def\@@LFG{\ifFTY\ifmmode\protect\@LSG\else% + \ifIEB\@SOC\else\@LSG\fi% + \fi% + \else\@LSG\fi}% +\global\let\ifCG\iftrue% +\let\inside@an@expand\empty% +\def\if@mid@expandable#1#2{\let\inside@an@expand\relax\relax% + \ifx\inside@an@expand\relax% + \let\inside@an@expand\empty% + \expandafter#2% + \else\expandafter#1% + \fi}% +\def\stop@mid@expandable{\if@mid@expandable{% + \errmessage{This macro is not expandable, please % + \string\protect \space it.}\stop}{}% + }% +\def\@LG{\relax\if@mid@expandable{\@@@LG}{\@@LG}}% +\def\@@LG{\ifFTY\ifmmode\@DOG\else\@@@OG\fi\else\@DOG\fi}% +\def\@@@LG{\relax\noexpand <<\relax} +\def\@SifDOGon{\global\let\ifDOG\iftrue}% +\def\@SifDOGoff{\global\let\ifDOG\iffalse}\@SifDOGoff% +\def\@@@OG{\ifCG\ifFLA\ifEPG\else% + \hbadness=10000% + \ifhmode\newline\fi% + \bgroup\def\par{}% + \@FrDimen=\textwidth% + \if@twocolumn\tolerance=5000\pretolerance=5000% + \advance\@FrDimen by -\columnsep% + \divide\@FrDimen by 2\fi% + \@ifundefined{@inAlist}{}{% + \advance\@FrDimen by -\leftmargin\advance\@FrDimen by -\rightmargin% + \advance\@FrDimen by -\listparindent\hsize=\@FrDimen}% + \@qquotes\fi\fi\fi% + \@oguills% + \ifFLA\ifEPG\bgroup\def\@currenvir{guillemets}% + \let\@CGroup\egroup\fi\fi% + \ifCG\ifFLA\ifEPG% + \xdef\@epORI{{\the\TeXeverypar}}% + \TeXeverypar={\@epORI% + \ifEPGR\else% + \@oguills% + \@ifundefined{@OuvOpen}{% + \,% + }{}% + \fi}% + \fi\fi% + \else\@SifDOGon\@AG% + \ifFLA\ifEPG\else\def\@qqguill{\@oguills}\@staring\fi\fi\fi% + \global\let\ifCG\iffalse% + \ifUSP\kern+0.13em\penalty\@M\ignorespaces% + \else\kern-0.19em\relax\penalty\@M\fi}% +\def\@AG{\ifAG\let\@LP\@RP\let\@gotl\@gotr% + \fi}% +\def\f@guillemets{<<}% +\def\@oguills{% + \bgroup\@ifundefined{@OuvOpen}{\def\@OuvOpen{}% + \@ifundefined{ly}{\@og}% + {\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi% + \ifx\@gotl\undefined\char\rq\@LP% + \else\@gotl\fi\kern+0.20em}}% + \else\hbox{{\ly\@LP\kern-0.20em\@LP\kern+0.20em}}\fi% + \nobreak}}{}\egroup}% +\def\@@RFG{\ifFTY\ifmmode\protect\@RSG\else% + \ifIEB\@SFC\else\@RSG\fi% + \fi% + \else\@RSG\fi}% +\def\@SifFTY{\let\ifFTY\iffalse}% +\def\@RG{\relax\if@mid@expandable{\@@@RG}{\@@RG}}% +\def\@@RG{\ifmmode\@SifFTY\fi\ifFTY\@@FG\else\@DFG\fi}% +\def\@@@RG{\relax\noexpand >>\relax} +\def\endf@guillemets{>>}% +\ifx\RIfM@\undefined\else% + \edef\@emORI{\the\everymath\relax}% + \edef\@edORI{\the\everydisplay\relax}% + \f@issue\@fW{^^J -18- % + % + % + }% + % + \everymath={\csname nofrenchguillemets\endcsname\@emORI}% + \everydisplay={\csname nofrenchguillemets\endcsname\@edORI}% +\fi% +\DFPinfsup% +\ifx\grammar\undefined% + \else\let\@grORI\grammar\def\grammar{\nofrenchguillemets\@grORI}% +\fi% + +\def\@@FG{\ifCG\f@issue% + \@fw{-14- % + }\fi% + \ifUSP\unskip\kern+0.13em\else% + \ifdim\lastskip>\z@\unskip% + \penalty\@M% + \space% + \penalty\@M% + \fi% + \kern-0.19em% + \fi% + \xdef\@tempd{\@currenvir}\def\@tempe{guillemets}% + \ifx\@tempd\@tempe% + \@CGroup\@fguills% + \else\ifEPG% + \@fguills% + \def\@CGroup{\egroup\@gobble}% + \ifFLA% + \f@issue% + \@fw{-49- % + }% + \fi% + \else\@CGroup\@fguills% + \fi% + \fi% + \ifDOG\ifFLA\ifEPG\else\@fniv2\fi\fi% + \@SifDOGoff\else\@@@FG\fi% + }% +\let\guillemets\@LG% +\def\RG@{\ifFTY\ifCG% + \else\@RG% + \fi% + \@CGroup\@@@FG\relax\fi}% +\let\endguillemets\RG@% +\def\@@@FG{\ifFLA\ifEPG\ifx\@epORI\undefined\else% + \expandafter\TeXeverypar=\@epORI\fi% + \xdef\@epORI{{}}% + \else\@staring\@stared\egroup\fi\fi% + \global\let\ifCG\iftrue\let\@CGroup\relax}% +\def\@fguills{\@ifundefined{ly}{\@cg}% + {\nobreak\leavevmode\ifECM\hbox{{\ifGIAF\else\@gfnt\fi\kern+0.20em% + \ifx\@gotr\undefined\char\rq\@RP% + \else\@gotr\fi}}% + \else\hbox{{\ly\kern+0.20em\@RP\kern-0.20em\@RP}}\fi}% +\ifGIAF\else\ifdim\fontdimen\@ne\font>\z@\/\fi\fi% + }% +\def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}% +\def\@frq{{\catcode`'=12{\ifNEQ\ifECM\char\rq001% + \else\char\rq023\hbox{}\fi% + \else\string'\fi}}}% +\AFPq% +\def`{\protect\@PLQ}% + \let\@PLQ@\lq% + \def\@PLQ{\ifmmode\string`\let\@PLQ@\relax% + \else\ifNED\let\@PLQ@\@PLQn\fi% + \ifhmode\let\@PLQ@\@PLQn\fi% + \fi\@PLQ@}% + \def\@PLQn{\@ifNextNB`{\protect\@OQ}% + {\ifNEQ\ifECM\char\rq000\hbox{}% + \else\char\rq022\hbox{}\fi% + \else\string`\fi}% + }% + \def\@OQ`{\ifNED\protect\@LG\else\string``\fi}% +\def'{\protect\@PRQ}% + \let\@PRQ@\rq% + \def\@PRQ{\ifmmode\let\@PRQ@\@SRQ@% + \else\ifhmode\let\@PRQ@\@PRQn\fi% + \fi\@PRQ@}% + \def\@@FGp'{\@@FG}% + \def\@PRQn{\let\@PRQ@\rq% + \@ifNextNB'{\ifNED\let\@PRQn@\@@FGp% + \else\let\@PRQn@\relax\string'\fi\@PRQn@}% + {\protect\@normalrq}}% +\let\ifNED\iffalse% +\let\ifNEQ\iffalse% +\def\noenglishdoublequotes{\@noBDfr% + \AFPq\let\ifNED\iftrue% + \ifFrench\let\@cilq='\fi}% +\def\noenglishquote{\@noBDfr% + \AFPq\let\ifNEQ\iftrue% + \ifFrench\let\@cilq='\fi}% +\DFPq% +\def\untypedspaces{\@noBDfr% + \let\ifUSP\iftrue}% +\def\typedspaces{\@noBDfr% + \let\ifUSP\iffalse}% +\let\if@labelsinmargin\iffalse% +\def\englishdoublequotes{\@noBDfr% + \let\ifNED\iffalse% + \DFPq\ifFrench\let\@cilq='\fi}% +\def\englishquote{\@noBDfr% + \let\ifNEQ\iffalse\DFPq% + \ifFrench\let\@cilq='\fi}% +\def\labelsinmargin{\@noBDfr% + \let\if@labelsinmargin\iftrue}% +\def\nolabelsinmargin{\@noBDfr% + \let\if@labelsinmargin\iffalse}% +\def\letpunctuationactivefor{\@noBDfr% + % + \global\let\ifLPA\iftrue% + \def\wrongtypedspaces{\@noBDfr% + \global\let\ifWTS\iftrue}% + }% +\def\wrongtypedspaces{\f@issue\@fw{-17- % + % + % + }}% +\def\nowrongtypedspaces{\@noBDfr% + \global\let\ifWTS\iffalse% + \ifLPA\DFPdp% + \fi\global\let\ifLPA\iffalse}% +\def\tabbingaccents{\@noBDfr% + \let\@ifTA\iffalse}% +\def\notabbingaccents{\@noBDfr% + \let\@ifTA\iftrue}% +\AFPq% +\def\@temp@{% + \def\tabbing{\def\@tempa{\let`=\lq\let'=\@normalrq}% + \ifNED\@tempa\fi\ifNEQ\@tempa\fi% + \def\@tempa{\let\@ifTA\iftrue}% + \ifFTY\else\expandafter\@tempa\fi% + \ifFTY\@ifTA\else% + \let\@trjORI\@tabrj\let\@tlabORI\@tablab% + \let\@ORIrj=\`\let\@ORIlab=\'% + \def\@@tabrj{\ifcat\@tempc\space\let\@tempa=\@trjORI% + \else\let\@tempa=\@ORIrj\fi\@tempa}% + \def\@@tablab{\ifcat\@tempc\space\let\@tempa=\@tlabORI% + \else\let\@tempa=\@ORIlab\fi\@tempa}% + \def\@tabrj{\futurelet\@tempc\@@tabrj}% + \def\@tablab{\futurelet\@tempc\@@tablab}% + \fi\fi\@tgORI}% + }% +\ifx\tabbing\undefined% + \else\let\@tgORI\tabbing% + \@temp@% +\fi% +\DFPq% +\AFPinfsup% +\def\EBCDICbrackets{\@noBDfr% + \let\ifIEB\iftrue% + \ifFG% + \def<{\protect\@LFG}% + \def\@LFG{\@ifNextNB<{\protect\@OG}{\@@LFG}}% + \def\@OG<{\ifnum\catcode`< =\active\expandafter\@LG% + \else\@@LFG\@@LFG\fi}% + \def>{\protect\@RFG}% + \def\@RFG{\@ifNextNB>{\protect\@FG}{\@@RFG}}% + \def\@FG>{\ifnum\catcode`> =\active\expandafter\@RG% + \else\@@RFG\@@RFG\fi}% + \fi}% +\long\def\@BracesOrNot[#1]{\ifmmode\@PreserveBraces[#1]% + \else\expandafter#1\fi}% +\let\@fobeyspaces\empty% +\long\def\@genG#1#2#3{\@fobeyspaces% + \ifx#2#3\expandafter\protect\csname @#1G\endcsname% + \else\csname @@#1FG\endcsname\expandafter\@BracesOrNot% + \expandafter[\expandafter{% + \expandafter#3\expandafter}\expandafter]% + \fi}% +\edef\@genGL{\noexpand\@genG{L}\noexpand<}% +\edef\@genGR{\noexpand\@genG{R}\noexpand>}% +\let\@bobeyspaces\empty +\def\normalbrackets{\@noBDfr% + \let\ifIEB\iffalse% + \ifFG% + \def<{\ifnum\catcode`< =\active\@bobeyspaces\expandafter\expandafter% + \expandafter\@genGL\ifmmode\relax\fi% + \else\@LSG\fi}% + \def>{\ifnum\catcode`> =\active\@bobeyspaces\expandafter\expandafter% + \expandafter\@genGR\ifmmode\relax\fi% + \else\@RSG\fi}% + \fi}% +\DFPinfsup% +\let\ifFG\iffalse% +\def\ancientguillemets{\@noBDfr% + \let\ifAG\iftrue}% +\def\todayguillemets{\@noBDfr% + \let\ifAG\iffalse}% +\def\guillemetsinarrays{\@noBDfr% + \let\ifArG\iftrue}% +\def\noguillemetsinarrays{\@noBDfr% + \let\ifArG\iffalse}% +\def\guillemetsinallfonts{\@noBDfr% + \let\ifGIAF\iftrue}% +\def\guillemetsinroman{\@noBDfr% + \let\ifGIAF\iffalse}% +\def\overfullhboxmark{\@noBDfr% + \ifFLA\overfullrule=5pt\fi}% +\def\nooverfullhboxmark{\@noBDfr% + \ifFLA\overfullrule=0pt\fi}% +\let\ifFrench\iffalse% +{\def\@genMLhyph{\@ifundefined{french}{}{\gdef\fhyph{\french}}% + \@ifundefined{english}{}{\gdef\ehyph{\english}}}% +\@ifundefined{fhyph}{\@genMLhyph}{}% +}% +\gdef\frenchTeXmods{% + \global\let\ifFrench\iftrue% +\ifCLA% + \ifCLAfrench% + \@AFP% + \frenchtypography\frenchtranslation\frenchlayout% + \fi% +\else% + \@AFP% + \frenchtypography\frenchtranslation\frenchlayout% +\fi% + \frenchmacros\frenchwarnings% + \let\@HifORI\@Hif\let\@HfiORI\@Hfi% + \frenchhyphenation% + \csname @xtrasfrench\endcsname% + \ifx\GOfrench\undefined% + \csname beginL\endcsname% + \fi% + \def\languagename{french}% + \@ufo% + \let\switchtolanguage\endfrench% + \ignorespaces% + }% +\ifx\undefined\babel@core@loaded% + \edef\extrasfrench{}\def\@xtrasfrench{\extrasfrench}% + \DeclareOption{french}{\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\french% + \else\endenglish\selectlanguage{french}\fi}% + }% + \DeclareOption{english}{\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\english% + \else\selectlanguage{english}\fi}% + }% +\else\let\extrasfrench\frenchTeXmods% + \AtBeginDocument{% + \def\@tempa{\protect\@LabeL}% + \ifx\@tempa\label\else% + \let\@lORI\label\let\label\@tempa\fi% + \def\@tempa{\protect\atgH{r}}% + \ifx\@tempa\ref\else\@gG{r}{ref}{/}{1}\fi% + }% +\fi% +\@ifundefined{switchtolanguage}{% + \def\switchtolanguage#1{#1}}{}% +\let\@stlORI\switchtolanguage +\def\@DFPtestANDset{% + \ifx\ifFrench\iffalse% + \f@issue\@fw{-71- % + % + % + }% + \fi% + \let\@DFPtestANDset\@DFP% + \@DFP}% +\def\endfrench{% +\ifCLAfrench\else% + \@DFPtestANDset% + \nofrenchtypography\nofrenchtranslation\nofrenchlayout% +\fi% + \nofrenchmacros% + \nofrenchhyphenation% + \let\@Hif\@HifORI\let\@Hfi\@HfiORI% + \let\switchtolanguage\@stlORI% + \let\ifFrench\iffalse\@stlORI% + \ignorespaces}% +\let\noextrasfrench\endfrench% +\def\frenchtest{\@finput{french.tst}}% +\def\frenchdoc{\@finput{frdoc.tex}}% +\@ifundefined{englishTeXmods}{\gdef\englishTeXmods{}}{}% +\global\let\@Hif\empty\global\let\@Hfi\empty% +\global\let\if@FE\iffalse% +\newif\if@more\@moretrue% +\def\@doFh{% +\def\f@ERRdat{\f@issue% + \errmessage{-9- % + }\global\let\french\@@end% + }% + \bgroup% + \let\ORIGfrench\french% + \newcount\@FrCount% +\def\tl@ng##1{}% +\def\@rhef##1/##2 /{\def\@tempa{##2}% + \def\@tempb{##1}% + \def\@tempc{\ifx\space\@tempa\else% + \expandafter\gdef\csname ##1@hefn\endcsname{##2\relax}% + \if@FE\expandafter\@@input##2\relax\fi\fi}% + \ifx\undefined\@excn\@tempc% + \else\ifx\@tempb\@excn\@tempc\fi\fi}% +\gdef\NouveauLangage[##1]##2{% + \expandafter\@ifundefined{l@##2}{}% + {% + \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% + \edef\l@no{##1}\expandafter% + % + \ifx\csname l@##2\endcsname\l@no% + \else\f@issue\typeout{^^J \frenchname.sty \string: -27- % + % + % + }[##2]\f@ERRdat% + \fi\fi}% + \expandafter\tl@ng\csname##2TeXmods\endcsname% + \expandafter\gdef\csname##2 \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2\endcsname% + {\protect\csname##2 \endcsname}% + }% +\def\Nouveau@Langage[##1]##2{% > def nouveau langage 1 +%arabic as a language should not change the definition of \arabic +% the same is valid for future similar cases + \expandafter\@ifundefined{##2}{\lang@defifalse}% + {\lang@defitrue}% + \expandafter\@ifundefined{l@##2}{}% + {% + \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% + \edef\l@no{##1}\expandafter% + % + \ifx\csname l@##2\endcsname\l@no% + \else\f@issue\typeout{^^J \frenchname.sty \string: -27- % + % + % + }[##2]\f@ERRdat% + \fi\fi}% + \expandafter\tl@ng\csname##2TeXmods\endcsname% + \iflang@defi% + \expandafter\gdef\csname##2Lang \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2Lang\endcsname% + {\protect\csname##2Lang \endcsname}% + \typeout{eFrench Info : % + \\##2Lang commute sur langue ##2 }% + \typeout{eFrench Info : % + et \\##2TeXmods pour ses extensions }% + \typeout{eFrench Info : % + avec \\ = une seule barre oblique inverse ===}% + \else% + \expandafter\gdef\csname##2 \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2\endcsname% + {\protect\csname##2 \endcsname}% + \fi% + }% < def nouveau langage 1 +\edef\@temp@{=}% +\def\@langue##1##2 ##3 ##4/##5{\def\@tempa{=}\def\@tempb{##1}% + \ifx\@tempa\@tempb% + \ifnum\@FrCount > 0 \advance\@FrCount by -1\fi% + \relax% + \expandafter\Nouveau@Langage\expandafter[\the\@FrCount]{##2}% + \ifnum\@FrCount \@temp@ 0 \@FrCount= -1\fi% + \else\edef\@temp@{<}\@l@ngue##1##2 ##3 ##4/{##5}% + \fi}% +\def\@l@ngue##1 ##2 ##3/##4{\Nouveau@Langage[##4]{##1}% + % + \@rhef##1/##3/% + }% +\let\hyphenation\f@hyphenation% +\openin\@inputcheck = language.dat \def\@tempb{}% > language.dat +\ifeof\@inputcheck\@Ffnt{language.dat}% + \ifx\undefined\french % + \else\xdef\@PrevF{\french}% + \gdef\french{\switchtolanguage\frenchTeXmods\@PrevF}% + {\@PrevF\f@issue\@fw{-15- % + % + % + }}% + \fi% + \ifx\undefined\l@english % + \def\l@english{0}% + \fi% + \ifx\undefined\english % + \else\xdef\@PrevE{\language=\l@english}% + \gdef\english{\switchtolanguage\englishTeXmods\@PrevE}% + {\@PrevE\f@issue\@fw{-16 % + % + % + }}% + \fi +\else\@FrCount=-1% +\newif\iflang@defi% +\let\englishORI\english% +\let\english\undefined% +\loop \endlinechar=-1 \read\@inputcheck to \@lineD \endlinechar`\^^M% + \ifx\@lineD\empty \else \advance\@FrCount by 1% + \edef\@lineD{\@lineD\space\space/{\the\@FrCount}}% + \expandafter\@langue\@lineD% + \fi% + \ifeof\@inputcheck \@morefalse \fi% + \if@more\repeat% +\fi\closein\@inputcheck% < language.dat +\ifx\undefined\english\let\english\englishORI\fi% ! +\let\hyphenation\@hyphenation% +\def\@MLtst{\@ifundefined{fhyph}% + {\if@PMF\gdef\french{\switchtolanguage\frenchTeXmods}% + \f@issue% + \@fw{-19- % + % + }% + \else\f@issue% + \typeout{^^J \frenchname.sty: -20b- + % + }\f@ERRdat\fi}% + {\gdef\french{\switchtolanguage\frenchTeXmods\fhyph}% + \gdef\english{\switchtolanguage\englishTeXmods\ehyph}% + }% + }% +\@ifundefined{french}{\@MLtst}{}% +\@ifundefined{endenglish}{\global\let\endenglish\french}{}% +\gdef\tl@ng##1{\ifx ##1\relax\f@issue% + \@fw{-21- % + }[##1]\fi}% +\ifx\ORIGfrench\french\f@ERRdat\fi% + \egroup% + }% +\ifx\vert\undefined\else\let\@bvORI\vert\fi% +\def\@fwVIIIII{\f@issue% + \kbtypeout{^^J -73- % + % + }\stop}% +\ifx\RIfM@\undefined% +\def\vert{\ifx\RIfM@\undefined\expandafter\@bvORI\else\expandafter% + \@fwVIIIII\fi}% +\else% +\def\vert{\@bvORI}% +\fi% +\def\@abbf[#1]{\def\abbrevfilename{#1}}% +\AFPdq% +\def\abbreviations{\if@PMF\else\AFPdq\fi% + \@abbdefs\let\@abbdefs\relax% + \@ifNextNB[% + {\@abbf}{\@abbf[frabbrev.tex]}}% +\def\f@protect{\ifx\protect\@typeset@protect% + \else\f@x@protect\fi}% +\def\f@x@protect\fi#1{\fi\protect"}% +\def\@eatprotect#1\protect#2\@nil{#1}% +\if@PMF\let\f@protect\undefined\let\f@x@protect\undefined% + \let\@eatprotect\undefined% +\fi% +\def\@abbdefs{% + \def\ABBfound{\global\let\ifABBfound\iftrue}% + \let\ifABBfound\iffalse% + \def\@abbrev##1##2 ##3##4 ##5/{% + \let\ifFMA\iftrue% + \edef\@tempa{##1##2}% + \ifx##3*\edef\@tempb{##4}\edef\@tempc{##4s}% + \else\edef\@tempb{##3##4}\edef\@tempc{}% + \fi% + \ifx\@tempa\@tempb##5\ABBfound% + \else\ifx\@tempc\empty% + \else\ifx\@tempa\@tempc##5\ABBfound\fi% + \fi% + \fi% + \ifABBfound% + \else\edef\@tempa{##2}\edef\@tempb{##4}% + \ifx\@tempa\@tempb##5\ABBfound% + \else\ifx\@tempc\empty% + \else\ifx\@tempa\@tempc##5\ABBfound\fi% + \fi% + \fi% + \fi}% + \def\@openabbrev##1{\openin\@inputcheck=##1 % + \ifeof\@inputcheck\@Ffnt{##1}\fi}% + \def"{\f@protect\AbbrevName}% + \def\AbbrevName##1"{\def\@tempa{##1}\ifx\@tempa\space``\space''% + \else\@@bbrev##1"\fi}% + \def\@@bbrev##1{\expandafter\@@@bbrev\@eatprotect##1\protect\@nil}% + \def\@@@bbrev##1"{\begingroup% + \def\ABBMfalse{\global\let\ifABBM\iffalse}% + \let\ifABBM\iftrue\global\let\ifABBfound\iffalse% + \@openabbrev{\abbrevfilename}% + \ifeof\@inputcheck\else% + \loop\endlinechar=-1\read\@inputcheck to \@lineD\endlinechar`\^^M% + \ifx\@lineD\empty% + \else\edef\@lineD{##1 \@lineD/}\expandafter\@abbrev\@lineD\fi% + \ifABBfound\ABBMfalse\fi% + \ifeof\@inputcheck \ABBMfalse\ifABBfound\else% + \f@issue% + \@fw{-22- % + % + }[##1]% + \fi\fi% + \ifABBM\repeat% + \fi\closein\@inputcheck% + \ifABBfound\else``##1''\fi\endgroup}% + }% +\if@PMF\let\@abbdefs\relax\fi% +\DFPdq% +\def\noabbreviations{\if@PMF\else\DFPdq\fi}% + \let\@atORI\at% + \let\@bsORI\backslash% +\catcode`\/=0{\catcode`/\=12% +/gdef/@boiORI{{/protect/string\}}}% +/catcode`/\=0\catcode`\/=12% + \let\@boi\textbackslash% + \let\@chapORI\chap% + \let\@tildeORI\tilde% + \let\@etcORI\etc% + \let\@numORI\numero% + \let\@numsORI\numeros% + \let\@NumORI\Numero% + \let\@NumsORI\Numeros% + \let\@degreORI\degre% + \let\@degresORI\degres% + \let\@iemeORI\ieme% + \let\@iemesORI\iemes% + \let\@ierORI\ier% + \let\@iersORI\iers% + \let\@iereORI\iere% + \let\@ieresORI\ieres% + \let\@fscORI\fsc% + \let\@lscORI\lsc% + \let\@ntsORI\!% + \let\@hntscORI\halfnegthinspace% +\def\@ifm{% + \def\at{\ifFMA\string @\else\@atORI\fi}% +\ifx\RIfM@\undefined% + \def\vert{\ifx\RIfM@\undefined% + \ifmmode\expandafter\@bvORI% + \else\ifFMA\string |\else\@bvORI\fi\fi% + \else\expandafter\@fwVIIIII% + \fi}% +\else% + \def\vert{\ifmmode\expandafter\@bvORI% + \else\ifFMA\string |\else\@bvORI\fi\fi}% +\fi% + \def\backslash{\ifmmode\@bsORI% + \else\ifFMA% + \protect\@boi% + \else\@bsORI% + \fi% + \fi}% + \def\chap{\ifFMA\string ^\else\@chapORI\fi}% + \def\tilde{\relax\ifFMA\ifmmode\expandafter% + \expandafter\expandafter\@tildeORI% + \else\string~\fi\else\expandafter\@tildeORI\fi}% + \def\@Fsp##1{\ifFMA\ifmmode^{\mathrm{##1}}% + \else$^{\mathrm{##1}}$\fi% + \else##1\fi}% + \def\@umer##1{\protect\@Fsp{##1}\kern.2em\ignorespaces}% + \long\def\etc{\def\@tempa{}% + \ifFMA% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M~\fi% + \fi% + etc\def\@tempa{\@ifNextNB.{}{% + \@fw{-60- % + % + }}}% + \else\@etcORI% + \fi\@tempa}% +\let\nombre\undefined% +\DeclareRobustCommand*{\nombre}% + {\ifFMA\expandafter\@nombre% + \else\expandafter\@nomORI% + \fi}% + \def\numero{\ifFMA n\@umer{o}\else\@numORI\fi}% + \def\Numero{\ifFMA N\@umer{o}\else\@NumORI\fi}% + \def\numeros{\ifFMA n\@umer{os}\else\@numsORI\fi}% + \def\Numeros{\ifFMA N\@umer{os}\else\@NumsORI\fi}% + \def\degre{\ifFMA\r{}\space% + \else\expandafter\@degreORI\fi}% + \def\degres{\ifFMA\@Fsp{o}\else\@degresORI\fi}% + \def\leftguillemets{\@noBDfr% + \ifFMA\@oguills% + \else<<\fi}% + \def\rightguillemets{\@noBDfr% + \ifFMA\@fguills% + \else>>\fi}% + \def\fup{\@noBDfr\ifFTY% + \expandafter\@fup\fi}\MakeRobustCommand{fup}% + \def\@fup{\@ifstar{\csname\string\!\endcsname\@@fup}{\@@fup}}% + \def\@@fup##1{\def\@tempa{\leavevmode\raise+0.80ex% + \hbox{\protect\sm@llerthree% + \MakeLowercase{##1}}% + \@ifNextNB\bgroup{\@@@fup}{\kern+.17em}}% + \ifFMA\expandafter\@tempa\else##1\fi% + }% + \def\@@@fup##1{\ifx\empty##1\else\kern+.17em{##1}\fi}% + \def\@tgifFMA##1##2{\ifFMA\expandafter\protect\expandafter##1% + \else\expandafter\protect\expandafter##2\fi% + }% + \def\ieme{\@tgifFMA\@Ieme\@iemeORI}% + \def\@Ieme{\@ifstar{\@ieme}{\@@eme}}% + \def\@ieme{\fup*{e}}% + \def\@@eme{\fup{e}}\MakeRobustCommand{ieme}% + \def\iemes{\@tgifFMA\@Iemes\@iemesORI}% + \def\@Iemes{\@ifstar{\@iemes}{\@@emes}}% + \def\@iemes{\fup*{es}}\MakeRobustCommand{iemes}% + \def\@@emes{\fup{es}}% + \def\ier{\@tgifFMA\@ier\@ierORI}% + \def\@ier{\fup*{er}}\MakeRobustCommand{ier}% + \def\iers{\@tgifFMA\@iers\@iersORI}% + \def\iers{\fup*{ers}}\MakeRobustCommand{iers}% + \def\iere{\@tgifFMA\@iere\@iereORI}% + \def\iere{\fup*{re}}\MakeRobustCommand{iere}% + \def\ieres{\@tgifFMA\@ieres\@ieresORI}% + \def\@ieres{\fup*{res}}\MakeRobustCommand{ieres}% + \def\fsc{\@noBDfr\Fsc@@}% + \MakeRobustCommand{fsc}% + \def\Fsc@@{\@ifNextNB*{\let\Fsc@F\@sc@F\FSC@}{\let\Fsc@F\relax\FSC@*}}% + \def\@sc@F{\rmfamily\mdseries}% + \def\FSC@*##1{\fsc@##1\@@}% + \def\fsc@##1##2\@@{\ifFMA\leavevmode{\ifECM\Fsc@F\else\@sc@F\fi% + \textsc{% + \@uchbox{\let\protect\@empty% + \let\@typeset@protect\@empty% + \let\@changed@x\@changed@x@mouth% + \if\relax\noexpand##1\fsc@@@##1##2\@@% + \else\edef\@tempa{##1}% + \expandafter\fsc@@\@tempa##2\@@% + \fi}}}% + \else\@fscORI##1\fi}% + \def\fsc@@##1##2\@@{\MakeUppercase{##1}\lsc@*{##2}}% + \def\fsc@@@##1##2##3\@@{\MakeUppercase{##1{##2}}\lsc@*{##3}}% + \def\lsc{\@noBDfr\Lsc@@}% + \MakeRobustCommand{lsc}% + \def\Lsc@@{\@ifNextNB*{\let\Fsc@F\@sc@F\lsc@}{\let\Fsc@F\relax\lsc@*}}% + \def\lsc@*##1{\ifFMA\leavevmode{\ifECM\Fsc@F\else\@sc@F\fi% + \textsc{\@uchbox{\MakeLowercase{##1}}}}% + \else\@lscORI##1\fi}% + \def\@FE{\@noBDfr% + \@ifNextNB){\@@FPE}{\@@FE}}% + \def\@@FE{\the\@FrCount$^{\mathrm o}$\kern+.29em}% + \def% + \@@FPE){\setbox0=\hbox{\degre}\@FrDimen=\wd0\multiply\@FrDimen by 10% + \divide\@FrDimen by 45\leavevmode% + \the\@FrCount\kern-\@FrDimen% + \setbox0=\hbox{\the\@FrCount}\@tempdima=\ht0% + \setbox0=\hbox{\degre}\@tempdimb=\ht0% + \advance\@tempdimb by -\@tempdima% + \lower\@tempdimb\hbox{\degre}% + \multiply\@FrDimen by 45% + \divide\@FrDimen by 20% + \kern-\@FrDimen% + )\kern+.3em}% + \def\quando=##1{\@FrCount=##1\@FE}% + \MakeRobustCommand{quando}% + \def\primo{\@FrCount=1\@FE}% + \def\secundo{\@FrCount=2\@FE}% + \def\tertio{\@FrCount=3\@FE}% + \def\quarto{\@FrCount=4\@FE}% +\def\frenchalias##1##2{% + \ifx##1\undefined\let##1 ##2\relax% + \else\f@issue% + \@fw{-1- % + }[\string##1]% + \expandafter\stop% + \fi}% +\@ifundefined{refmark}% + {\def\refmark##1{\@noBDfr% + \ifFTY\ifhmode% + \ifdim\lastskip>\z@\unskip\fi\fi\fi% + \hbox{% + $^{\,% + \let\itshape\relax% +\textrm{\scriptsize% + \ref{##1}% + }% + }$}}}{}% +\def\!{\relax\ifFMA\ifmmode% + \mskip-\thinmuskip\else\negthinspace\fi% + \else\@ntsORI\fi}% +\expandafter\def\csname\string\!\endcsname{\kern-.083335em}% +\def\halfnegthinspace{\ifFMA\expandafter% + \csname\string\!\endcsname% + \else\expandafter\@hntsORI\fi}% +\@ifundefined{moretolerance}{\def\moretolerance{% + \@noBDfr% + \advance\tolerance by \the\tolerance% + \advance\pretolerance by \the\pretolerance}}{}% +\@ifundefined{I}{\def\I{I}}{}% + \def\Sauter##1Lignes{\@noBDfr% + \vspace*{##1\baselineskip}}% + }% +\@ifundefined{AllTeX}{% +\def\AllTeX{(\kern-.075em L\kern-.36em{\sbox\z@ T\vbox to\ht\z@{\hbox{% + \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse% + \selectfont A}\vss}}\kern-.15em)\kern-.075em\TeX}% +\MakeRobustCommand{AllTeX}% + }{}% +\let\@currname\@currnameORI% +\def\languagename{english}% +\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\french% + \else\endenglish\selectlanguage{french}\fi% + }% +\let\@bglngpk\babel@savevariable% +\ifx\pg@add@to\undefined\else% +\def\pg@begin{\begingroup}% +\def\pg@end{\endgroup}% +\fi% +\edef\beginFWdirection{L}% +\ifx\undefined\babel@core@loaded\ProcessOptions*% + \else% + \PackageInfo{\frenchname}% + {Initialisation de l'option \frenchname\space pour Babel}% + \GOfrench\let\GOfrench\relax% +\fi% +\let\@FW\undefined% +\resetat% +\PassOptionsToPackage{french}{varioref}% +\PassOptionsToPackage{french}{pdfscreen}% +\endinput% diff --git a/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex b/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex new file mode 100644 index 00000000000..02c56612f2f --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/french_french-msg.tex @@ -0,0 +1,213 @@ +% Fichier french_french-msg.tex (messages de l'extension FrenchPro) +\msgencoding{ansinew}\msgheader{-\msgid-\space} +\msg{1}{la macro #1 existe déjà}{} +\msg{2}{fichier #1 non trouvé.}{} +\msg{3}{\frenchpack\space n'est pas actif ici \string!}{} +\msg{4}{passage au mode "Poor-Man-French-Style"}{} +\msg{5}{définition de lettrine incorrecte}{} +\msg{6}{lettrine à revoir}{} +\msg{7}{lettrine réduite à 1 seule lettre}{} +\msg{8}{\string\footnotetext{#1} perdu. % + \MessageBreak % + Coder évent. \string\protect\string\footnote}{} +\msg{9}{fichier language.dat file absent ou corrompu}{} +\msg{10}{l'extension frenchle/FrenchPro n'a pas été chargée}{} +\msg{11}{application du \string<\string< frpatch \string>\string> #1}{} +\msg{12}{frpatch.sty est périmé, fichier à détruire}{} +\msg{13}{le caractère "#1" est déjà actif}{} +\msgheader{-13-\space} +\msg{13b}{la double ponctuation est alors désactivée}{} +\msgheader{-\msgid-\space} +\msg{14}{fermeture de guillemets non ouverts}{} +\msg{15}{le langage \frenchname\space porte le numéro \the\language}{} +\msg{16}{le langage english language\space porte le numéro \the\language}{} +\msg{17}{\string\wrongtypedspaces\space est inopérant dans ce contexte}{} +\msg*{18}{\frenchname.sty force l'option % + \string\nofrenchguillemets\space en maths avec AmSLaTeX.}{} +\msg{19}{utilisation du langage interne numéro \the\language}{} +\msg*{20}{ATTENTION \string: le langage french n'est pas % + défini dans votre format.}{} +\msg*{20b}{\frenchname.sty \string: le langage french n'est pas défini % + (ERREUR \string!)}{} +\msg{21}{#1 n'est pas défini}{} +\msg{22}{abréviation de \string"#1\string" non trouvée}{} +\msg*{23}{Extension \string: \frenchpack\space\frenchstyleid% + \space(B.Gaulle)}{} +\msg{24}{\frenchname.sty utilise dans ce document le codage de fonte % + \f@encoding.}{}% +\msg{25}{\frenchname.sty affiche ici ses messages en % + \ifEightBitOutput8-bits.\else7-bits % + \string<\string< \string à la TeX \string>\string>.\fi % + ^^J}{} +\msg{26}{Erreur détectée dans \frenchname.sty \string! % + \MessageBreak % + (voir p.ex. le fichier language.dat)}{} +\msg*{27}{\frenchname.sty \string: le language \l@no\space (#1) était % + initialement (à initex) numéroté % + \csname l@#1\endcsname\space(ERREUR \string!)}{} +\msg{28}{ATTENTION \string: TeX Version 2 ne permet pas d'utiliser des % + caractères accentués 8-bits}{} +\msg*{29}{***Attention*** \string: le moteur TeX en utilisation avec % + des fontes CM % + \MessageBreak % + (comme dans ce format TeX) est insuffisant pour la césure % + \MessageBreak % + des mots accentués (comme en français).}{} +\msg{30}{ERREUR\string! Quelque chose est anormal \string! % + votre moteur TeX ne peut pas couper correctement les mots % + \MessageBreak % + français accentués *dans la fonte courante* ou % + avec ce codage}{} +\msg{31}{Mauvaise césure française \string! % + Êtes-vous sûr de tourner avec le format *********** % + \MessageBreak % + ayant les motifs de césure françaiss % + installés au moment d'initex \string? ***********}{} +\msg{32}{si oui, essayez de passer au codage de fonte T1 % + (\string\usepackage[T1]{fontenc})***}{} +\msg{33}{VERIFIEZ si les codes TeX hexadécimaux listés ne peuvent s'afficher % + \MessageBreak % + à l'écran et décidez s'ils doivent être éliminés de \@kbencoding.kbc % + \MessageBreak % + en supposant que votre ''locale'' est bien initialisée % + sur votre système.}{} +\msg{34}{ce fichier et les autres fichiers auxiliaires exigent d'utiliser % + \MessageBreak % + les extension LaTeX packages suivantes \string: \frenchpack\string! % + \MessageBreak % + vérifiez vos \string\usepackage\space ou effacer ces fichiers. % + Arrêt de la composition \string!}{} +\msg{35}{kbconfig \string: Redéfinition de % + \string ^\string ^\string Y uccode. % + \MessageBreak % + kbconfig \string: Redéfinition de % + \string ^\string ^\string Z uccode.}{} +\msg{36}{ANOMALIE \string: nom de format LaTeX % + (\string\fmtname) invalide. % + \MessageBreak % + CORRIGER pour avoir \string\fmtname=LaTeX2e\space % + ou ancien nom.}{} +\msg{36b}{ANOMALIE \string: LaTeX format % + (\string\fmtname) non standard}{} +\msg{37a}{ANOMALIE \string: extension FrenchPro active ici.}{} +\msg{37b}{ANOMALIE \string: extension FrenchPro inactive ici.}{} +\msg{38}{La langage #1 est utilisé sous le numéro \the\workl@.}{} +\msg{39}{Erreur \string: fichier language.dat non trouvé, essai de % + chargement du fichier de césure US-english}{} +\msg*{40}{Écriture de kb8to7.lex et kb7to8.lex}{} +\msg{41}{votre format est périmé, merci de refaire initex \string!}{} +\msg{42}{Le patch \frenchname\space (frpatch.sty) n'est pas valable % + \MessageBreak % + pour cette version de l'extension "\frenchpack" datée \FSfd}{} +\msg{43}{french.all est CHARGÉ^^J}{} +\msg{44}{ERREUR la commande \LaMacro\space n'est pas définie \string!}{} +\msg{45}{exécution de \LaMacro}{} +\msg{46}{Cette commande est deja définie dans \frenchname.sty % + \MessageBreak % + Problème éventuel avec \frenchpack\space (macro \Aboi #1)}{} +\msg*{47}{je dois m'arrêter car votre moteur TeX engine n'est pas capable % + de générer des codes 8-bits en sortie, désolé \string!}{} +\msg{48}{Lecture du fichier de configuration de \frenchpack}{} +\msg{49}{fermeture prématurée de guillemets}{} +\msg{50}{Erreur \string: le langage french n'est pas défini dans % + le fichier language.dat.}{} +\msg{51}{ERREUR \string: ce document n'a pas été converti en 8-bits...}{} +\msg*{52}{Erreur \string: \frenchpack\space package ne fonctionne pas % + avec une classe de document si minimaliste, désolé \string!}{} +\msg{53}{environnement guillemets inutilisable % + \MessageBreak % + avec l'option \string\noeveryparguillemets}{} +\msg{54}{ERREUR \string: \string\unusedslot\space (\unusedslot) est invalide}{} +\msg{55}{ERREUR le caractère \string\unusedslot\space % + (\@unusedslot) n'est pas actif.}{} +\msg*{56}{Les caractères 8-bits traités sont \string:}{} +\msg{57}{extension keyboard #1 chargée pour le codage de fonte % + \f@encoding.^^J}{} +\msg{58}{valeur de #1 ignorée}{} +\msg*{59}{ERREUR FATALE \string: texte généré étrange et inhabituel.}{} +\msg{60}{point manquant après \string\etc}{} +\msg{61}{fichier hyph\hyphchar.tex file non trouvé.}{} +\msg{62}{chargement d'un fichier de césures additionnel % + pour les fontes \hyphchar\space avec caractère de % + césure spécifique}{} +\msg{63}{fichier french.sty ou frenchle.sty non trouvé. % + \MessageBreak % + Vérifiez s'ils existent quelque part dans votre système.}{} +\msg{64}{ERREUR \string: \string\fmtname\space est invalide dans lplain.tex}{} +\msg{65}{\frenchname.sty charge % + les traductions pour la bibliographie \string:}{} +\msg*{66}{ERREUR \string! Ce fichier ne peut être composé sans une % + \MessageBreak % + déclaration de codage (voir les extensions keyboard ou inputenc).}{} +\msg*{67}{ATTENTION il semble que vous utilisez à la fois inputenc et % + keyboard, merci de choisir \string!}{} +\msg*{68}{ERREUR \string: \frenchpack\space ne tourne pas avec % + l'émulation 2.09, désolé \string!}{} +\msg{69}{kbconfig \string: interception de la commande dump pour % + éliminer quelques caractères invalides.}{} +\msg{70}{kbconfig \string: modification de \string\@tabacckludge\space pour % + les maths.}{} +\msg{71}{ATTENTION \string: si babel est utilisé, % + \MessageBreak % + mettre \frenchname(pro/le) en option}{} +\msg{72}{kbconfig \string: le codage utf8 ne peut être réalisé avec % + plain \string! % + \MessageBreak % + kbconfig \string: on continue sans caractères Unicode.}{} +\msg*{73}{\frenchname.sty a été chargé trop tôt \string!}{} +\msg*{74}{ERREUR, extension keyboard chargée après % + \frenchpack!}{} +\msg{75}{kbconfig \string: codage utf8 non trouvé via l'extension % + inputenc \string! % + \MessageBreak % + kbconfig \string: on continue sans caractères Unicode.}{} +\msg{76}{kbconfig \string: pas de contraintes de langage possibles % + avec Plain TeX \string!}{} +\msg{77}{Aucun caractère #1\space de défini en english}{} +\msg*{78}{ERREUR \string: l'otion noutf8 fournie est en conflit.}{} +\msg*{79}{keyboard.sty \string: pas d'option locale fournie, % + codage utf8 impossible.}{} +\msg{80}{Babel souhaite charger l'option \CurrentOption\space % + \MessageBreak mais l'extension mlp est déjà chargée, % + merci de choisir % + \MessageBreak soit mlp avec l'option \CurrentOption\space, % + soit \CurrentOption\space seul % + \MessageBreak ou babel avec l'option \CurrentOption\space}% + {\help{juste retirer l'extension ou l'option superflue.}} +\msg*{81}{ATTENTION \string: extension "msg" non trouvée\string; % + \MessageBreak on continue sans le texte des messages}{} +\msg{82}{la commande \LaMacro\space n'est pas encore définie}{} +\msg{83}{Test des macros avant le \string\begin{document}^^J}{} +\msg{84}{Maintenant, nouveau test mais après le \string\begin{document}^^J}{} +\msg{85}{Attention \string: l'option fixlanguage % + n'a pas été fournie à l'appel de babelbib}{} +\msg{86}{keyboard.sty\string: % + le dispositif mltex a été annulé par l'option #1.}{} +\msg{87}{ERREUR \string: % + \MessageBreak % + babelbib s'utilise uniquement avec babel}{} +\msg{88}{Aucun caractère n'a été défini\MessageBreak % + pour le codage clavier `utf8'\MessageBreak}{} +\msg{89}{kbconfig \string: Le caractère utilisé n'est pas défini % + \MessageBreak % + avec le codage clavier `utf8'}% + {Vous pouvez en fournir une définition avec % + \noexpand\DeclareInputText\MessageBreak ou % + \noexpand\DeclareInputMath avant de l'utiliser.}% +\msg{90}{Caractère Unicode invalide, valeur \string < 00A0}{\@eha} +\msg{91}{La chaî{}ne de caractères Unicode #1 n'a pas été % + définie pour être utilisée avec LaTeX}{\@eha} +\msg{92}{Vous devez \string:\MessageBreak % + - soit utiliser un moteur avec option MlTeX,\MessageBreak % + - soit passer en codage T1 par défaut.}{} +\msg*{93}{Vous utilisez deux options de francisation avec Babel, % + \MessageBreak % + merci d'en choisir une seule.}{} +\msgheader{-**-\space} +\msg*{**a}{Le numéro de série de \frenchpack\space est *\@FrVal*.}{} +\msg*{**b}{\@FrVal\space of \frenchpack.}{} +\msgheader{} +\msg{*}{le message \msgid\space de l'extension \frenchname\space n'est pas % + répertorié}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + diff --git a/Master/texmf-dist/tex/generic/e-french/frenchle.cfg b/Master/texmf-dist/tex/generic/e-french/frenchle.cfg new file mode 100644 index 00000000000..c17b9778910 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frenchle.cfg @@ -0,0 +1,12 @@ +% Fichier de configuration pour frenchle (avec ou sans babel)% 2005/03/23 +% +% After Bernard Gaulle's decease this work is now maintained as a part of +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% Vous pouvez decommenter les lignes suivantes si vous souhaitez +% utiliser les guillemets 8-bits iso-latin1 ou iso-latin9 : +% +%\catcode`\«=\active\catcode`\»=\active +%\def«{\og\ignorespaces}\def»{\fg} +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/frenchle.ldf b/Master/texmf-dist/tex/generic/e-french/frenchle.ldf new file mode 100644 index 00000000000..c5509f6c056 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frenchle.ldf @@ -0,0 +1,63 @@ +%% This is frenchle.ldf (frenchle option for Babel) under LaTeX --bg 2006/09/27 +%% to be used like this: \usepackage[frenchle]{babel} +%% +%% +% After Bernard Gaulle's decease this work is now maintained as a part of +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% +\ProvidesFile{frenchle.ldf}% +% [2001/04/12 v1.0 % Original file. +% [2001/06/07 v1.1 % Doc. & msg changes. +% [2003/11/19 v1.2 % french loaded before babel frenchle. +% [2005/03/21 v1.3 % pb francais/frenchb loaded before babel frenchle. +% [2005/03/23 v1.4 % global French option taken in account. + [2006/09/27 v1.5 % \main@language added before \selectlanguage. + % \main@language moved at end after \ProcessOptions. + Frenchle option of babel loading the French Light package] +\ifx\undefined\captionsfrench +\else\main@language{french}\selectlanguage{french}% Select again French +\expandafter\ifx\csname endfrench\endcsname\relax +\PackageError{frenchle}{-93- You are using two French options for Babel, % + please choose only one.} +\let\endfrench\stop\fi + \endfrench% but stop it until \begin{document}. +\expandafter\endinput +\fi +\chardef\atcatcode=\catcode`\@\catcode`\@=11\relax +\ifx\undefined\babel@core@loaded% still undefined (>3.5)? + \let\babel@core@loaded\main@language\fi% +\ifx\undefined\originalTeX \let\originalTeX\empty \fi +\originalTeX +\ifx\undefined\l@french\@nopatterns{French}\adddialect\l@french0\fi + +\protected@write\@auxout{}{\protect% insure files integrity +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- this file and other auxiliary files require to + use the following}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- LaTeX packages: frenchle and babel!}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- check \protect\protect\protect\usepackage + \protect\space or remove these files. + Typesetting is aborted!} + \protect\stop}}% +\let\auxWARNINGi=\@gobble% accept aux files produces by french +\let\auxWARNINGii=\@gobble% and those produces by babel+french +\InputIfFileExists{frenchle.sty}{}% load the light version package. + {\PackageError{frenchle}% + {-63- frenchle style file not found}% + {-63- Check if file exist somewhere in your system.}% + \let\endfrench\stop% + }% +\endfrench% and stop it immediately until \begin{document} +\let\noextrasfrancais\endfrench% bug in babel.sty version 3.5e +\let\extrasfrancais\frenchTeXmods% ditto +\let\captionsfrancais\captionsfrench% +\catcode`\@=\atcatcode \let\atcatcode\relax +\DeclareOption{french}{}\ProcessOptions% Now global option french is used. +\main@language{french}% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/frenchle.sty b/Master/texmf-dist/tex/generic/e-french/frenchle.sty new file mode 100644 index 00000000000..be262777682 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frenchle.sty @@ -0,0 +1,2080 @@ +% +% This is frenchle.sty (informations en francais ci-dessous.tex) +% This is the light version of THE multilingual "e-French" package for LaTeX. +% After Bernard Gaulle's decease this work is now maintained as a part of +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% If you want to have informations about the professional version +% see under www.efrench.org +% +% Cette extension << french allegee >> a pour objectif de resoudre un maximum +% de problemes de francisation de LaTeX sans avoir a connaitre la moindre +% commande complementaire ; la seule chose a faire est de saisir : +% \usepackage{frenchle} si vous travaillez sans babel ; +% \usepackage[frenchle]{babel} sinon ; dans ce cas il faut +% avoir installe frenchle.ldf en plus de frenchle.sty +% OU \usepackage[efrench]{babel} et dans ce dernier cas il faut avoir +% installe french.ldf en plus de frenchle.sty. +% mais le mieux avec babel est de coder : \documentclass[french]{classe} +% puis : \usepackage[frenchle]{babel} +% car ainsi l'option french est passée a toutes les extensions. +% L'extension frenchle fait plein de choses pour vous au niveau typographique +% (espacement de la ponctuation, composition des notes, etc.) ainsi que +% pour la mise en page (figures, tableaux, listes, etc.), la traduction des +% libelles usuels de LaTeX ou enfin la francisation des classes de documents +% dont la classe << letter >>. Vous pouvez utiliser des guillemets a la +% francaise tout comme avec l'option frenchb de Babel. Voir d'ailleurs a ce +% sujet le fichier de configuration frenchle.cfg. +% La documentation a propos de frenchle est disponible sur le serveur +% a l'url http://www.efrench.org/bases/doc/frenchle.pdf ou sur ctan. +% +% Concernant la cesure des mots il est necessaire que votre format LaTeX +% contienne les motifs de cesure du francais. Consultez a ce sujet la +% FAQ de francisation a http://www.efrench.org/bases/FAQ.pdf +% ou sur ctan. +% +% La version d'e-French peut vous apporter encore plein d'autres +% facilites. Si vous ne trouvez pas la documentation a ce sujet, consultez +% http://www.efrench.org/distributions/frguide.pdf. +% +\expandafter\ifx\csname frenchTeXmods\endcsname\relax% +\else \endinput \fi% +\def\frenchname{frenchle}% +\def\frenchpack{frenchle}% +\def\ds@french{}% +\def\ds@pmfrench{\pmfrench}% +{\catcode`\@=11{% + \ifx\@unexpandable@protect\undefined\let\protect\empty% + \else\let\protect\@unexpandable@protect% + \fi% + \xdef\FSfd{20 octobre 2011}% + \xdef\FSfv{V5,9995}% + \xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}% +}}% + \edef\FSfd{2007/06/28 }% +\NeedsTeXFormat{LaTeX2e}[1996/12/01]% +\let\auxWARNINGi=\@gobble% +\def\@txt@msg#1{#1}% +\def\@gobbleopt[#1]{}% +\def\f@issue#1#2{#1{#2}\@ifnextchar[{\@gobbleopt}{}% + }% +\newif\ifECM% +\def\ErrFrench{\f@issue\@fW{-26- % + \@txt@msg{Erreur d\'etect\'ee dans \frenchname.sty !}% + \@txt@msg{(voir p.ex. le fichier language.dat)}% + }}% +\def\ifFTY{\ErrFrench}\def\ifFTR{\ErrFrench}\def\ifFG{\ErrFrench}% +\def\ifFLA{\ErrFrench}\def\ifFMA{\ErrFrench}\def\ifFH{\ErrFrench}% +\def\ifArG{\ErrFrench}\def\ifFTSW{\ErrFrench}\def\ifFW{\ErrFrench}% +\edef\GOfrench{`\string @}% +\ifnum\catcode\GOfrench=11% + \let\resetat\relax% + \else\edef\resetat{\noexpand\catcode\GOfrench=\the\catcode\GOfrench}% + \makeatletter\fi% +\let\@currnameORI\@currname% +\xdef\@currname{\frenchname}% +{\def\'{\string\'}% + \ProvidesPackage{\frenchname}% + [\FSfd\space The \frenchpack\space package /\FSfv/]% +}% +\def\GOfrench{babel}\ifx\@currnameORI\GOfrench% + \ifx\undefined\babel@core@loaded\input babel.def\relax\fi% + \ifx\undefined\babel@core@loaded% + \let\babel@core@loaded\main@language\fi% + \fi% +\let\FSfv=\undefined% +\IfFileExists{frlpatch.sty}{\def\FSfd@patch{unknown}}{\let\FSfd@patch\FSfd}% +\if@compatibility% + \f@issue\typeout{^^J -68- + \@txt@msg{ERROR: \frenchpack\space is no more running }% + \@txt@msg{with 2.09 emulation, sorry!}% + }\expandafter\stop% +\fi% +\ifx\l@french\undefined\f@issue\typeout{^^J -20- + \@txt@msg{WARNING:}% + \@txt@msg{the French language is undefined in your format.}% + }% +\fi% +\fontencoding{\encodingdefault}\selectfont% + \def\@temp@{OT1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else\def\@temp@{LO1}\ifx\@temp@\f@encoding% + \def\@temp@{\global\ECMfalse}% + \else% + \def\@temp@{\global\ECMtrue}% + \fi% + \fi% +\@temp@% +\def\@tempa{\let\ifEightBitOutput\iffalse}% +\ifx\EightBitOutputfalse\undefined\expandafter\@tempa\fi% +\ifECM\else\ifx\charsubdef\undefined% + \def\@tempa{\noexpand\dGs}% + \ifx\@tempa\dGs\else% + \ifx\@kb@msgXXIX\relax\else% + \f@issue\typeout{^^J -29- % + \@txt@msg{***Warning***\string: TeX engine in use along with CM fonts }% + \@txt@msg{(as in current TeX format) isn't sufficient to hyphenate }% + \@txt@msg{words containing diacritics (like in French).}% + }% + \let\@kb@msgXXIX\relax% + \fi% + \fi% +\fi\fi% +\ifx\undefined\@dblarg% +\long\def\@dblarg#1{\@ifnextchar[{#1}{\@xdblarg{#1}}}}% +\long\def\@xdblarg#1#2{#1[{#2}]{#2}}% +\fi% +\newdimen\@FrDimen% +\def\usualmessages{\let\ifEightBitOutput\iftrue}% + \ifnum\inputlineno=-1\def\@o@l{.}% + \else\def\@o@l{ (\`a la ligne \the\inputlineno).}\fi% + \expandafter\let\expandafter\@aiguORI\expandafter=% + \csname OT\string1\string\'\endcsname% + \expandafter\let\expandafter\@gravORI\expandafter=% + \csname OT\string1\string\`\endcsname% + \expandafter\let\expandafter\@acchORI\expandafter=% + \csname OT\string1\string\^\endcsname% + \expandafter\let\expandafter\@tremORI\expandafter=% + \csname OT\string1\string\"\endcsname% + \expandafter\let\expandafter\@cediORI\expandafter=% + \csname OT\string1\string\c\endcsname% +\let\@tempc\relax% +\ifx\today\undefined\let\today\cejour\fi% +\ifx\today\undefined\f@issue\typeout{^^J -52- % + \@txt@msg{Error: the \frenchpack\space package doesn't run in }% + \@txt@msg{such minimal document class, sorry!}% + }\expandafter\stop% +\fi% +{\def\GOfrench{\global\let\ifEightBitOutput\iffalse}% + \let\add@accent\@gobble\edef\@tempa{\`{}}% + \def\@tempb{{\setbox \@tempboxa \hbox {}\accent 18 }}% + \ifx\@tempa\@tempb% + \expandafter% + \GOfrench% + \fi% +}% +\def\@fW#1{{\let\@nobraces\@firstofone% + \ifEightBitOutput% + \setbox\@tempboxa\hbox{\`\space}% + \ifx\charsubdef\undefined\else% + \let\add@accent\@gobble% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \edef\@tempa{#1}\typeout{\@tempa}}}% +{\def\ier{er}% +\f@issue% +\@fW{^^J -23- \@txt@msg{Extension \string : \frenchpack\space}% + \@txt@msg{\frenchstyleid\space(eFrench)}% + }% +}% +\let\ifFW\iftrue% +\def\@fw#1{{\let\@NoFr\relax% + \ifFW\kbtypeout% + {^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }}% + % +\ifx\kbtypeout\undefined% +\def\@kbtypeout[#1]#2{\ifEightBitOutput\let\@typeset@protect\protect\fi% + \let\@inpenc@undefined@\@gobble% + \edef\f@tempa{#2\empty}% + #1{\f@tempa}\egroup}% +\def\kbtypeout{\kbIO[\typeout]}% +\def\kbIO{\bgroup% + \ifECM\fontencoding{OT1}\selectfont\fi% + % + \let\@nobraces\@firstofone% + \let\protect\string% + \ifEightBitOutput% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \def\^##1{\expandafter\@nobraces\@acchORI##1}% + \def\"##1{\expandafter\@nobraces\@tremORI##1}% + \def\c##1{\expandafter\@nobraces\@cediORI##1}% + \csname @kbspecials\endcsname% + \else% + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% + \fi% + \@kbtypeout}% +\fi% +\ifx\@kbtypeout\undefined% + \def\@kbtypeout[#1]#2{#1{#2}\egroup}% +\fi% +\def\@tempb{\let\ifEightBitOutput\iffalse}% +\ifx\kbtypeout\typeout% + \long\def\@tempa{\add@accent{19}}% + \ifx\@tempa\@aiguORI\expandafter\@tempb\fi% +\def\@fw#1{\ifFW\bgroup\let\@nobraces\@firstofone% + \ifEightBitOutput% + \ifx\charsubdef\undefined\else% + \def\'##1{\expandafter\@nobraces\@aiguORI##1}% + \def\`##1{\expandafter\@nobraces\@gravORI##1}% + \fi% + \else% + \let\protect\string\let\add@accent\@gobble% + \fi% + \@kbtypeout[\typeout]{^^J \frenchname.sty \string : #1\@o@l}% + \fi% + }% +\fi +\def\@Ffnt#1{\f@issue\@fw{-2- \@txt@msg{fichier #1 non trouv\'e}% + }[#1]}% +\def\@finput#1{\InputIfFileExists{#1}{}{\@Ffnt{#1}}}% +\def\@NoFr{\f@issue\@fw{-3- % + \@txt@msg{\frenchpack\space n'est pas actif ici !}% + }}% +\let\ifFrench\iffalse% +\ifx\addto\undefined% + \def\addto#1#2{\ifx#1\@undefined\def#1{#2}% + \else\ifx#1\relax\def #1{#2}% + \else{\toks@\expandafter{#1#2}% + \xdef#1{\the\toks@}}% + \fi% + \fi% + }% +\fi% +\def\fraddto#1#2{\addto{#1}{#2}% + \ifFrench\french\else\english\fi}% +\ifx\MakeRobustCommand\undefined% +\def\MakeRobustCommand#1{\expandafter\expandafter\expandafter% + \let\expandafter\expandafter\csname #1 fp\endcsname% + \csname #1\endcsname% + \expandafter% + \edef\csname #1\endcsname{\expandafter\protect% + \expandafter\noexpand\csname #1 fp\endcsname} + }% +\fi% +\ifx\DocInput\undefined\else% + \let\fr@di\DocInput\def\DocInput#1{% + \ifFrench\english\fr@di{#1}\french% + \else\fr@di{#1}% + \fi\relax}% +\fi% +\ifx\url\undefined\else% + \let\fr@ul\url\def\url#1{% + \ifFrench\english\fr@ul{#1}\french% + \else\fr@ul{#1}% + \fi\relax}% +\fi% +\ifx\xy\undefined\else% + \let\fr@xy\xy\def\xy{% + \ifFrench\nofrenchguillemets\DFPdp\fi\fr@xy}% +\fi% +\ifx\hyper@n@rmalise\undefined\else% + \let\fr@hne\hyper@n@rmalise\def\fr@hnr#1#2{\fr@hne{#1}{#2}}% + \def\hyper@n@rmalise{\ifFrench\english\expandafter\fr@hnr% + \else\expandafter\fr@hne\fi}% +\fi% +\ifx\PDFSCR@Info\undefined\else% + \def\@seccntformat#1{\protect\textcolor{section\thesection@level}% + {\expandafter\upshape\csname the#1\endcsname}\quad}% +\fi% +\ifx\listing\undefined\else% + \let\fr@li\listing% +\edef\listing{\noexpand\@protected@testopt\noexpand\listing% + \expandafter\noexpand\csname\string\listing\endcsname {1}}% + \ifx\fr@li\listing% + \def\listing{% + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi}% + \else% + \long\def\listing{% + \ifFrench\expandafter\english\expandafter\fr@li% + \else\expandafter\fr@li% + \fi\relax}% + \fi% +\fi% +\ifx\inputlisting\undefined\else% + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi\relax}% +\fi% +\ifx\lstlisting\undefined\else% + \let\fr@lsi\lstlisting\long\def\lstlisting{% + \ifFrench\expandafter\english\expandafter\fr@lsi% + \else\expandafter\fr@lsi% + \fi}% +\fi% +\ifx\lstinputlisting\undefined\else% + \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{% + \ifFrench\english\fr@PL[#1]\french% + \else\fr@PL[#1]% + \fi}% +\fi% + \def\@ifFTYfalse{\let\ifFTY\iffalse}% + \def\@ifFTYback{\let\ifFTY\if@Back}% + \let\if@PMF\iffalse% +\f@issue% +\@fW{ -24- % + \@txt@msg{\frenchname.sty utilise dans ce document le codage de fonte }% + \@txt@msg{\f@encoding.^^J}% + }% +\f@issue% +\@fW{ -25- \@txt@msg{\frenchname.sty affiche ici ses messages en }% +\@txt@msg{\ifEightBitOutput8-bits.\else7-bits << \string\`a la TeX >>.\fi}% +\@txt@msg{^^J^^J}% + }% +\def\CheckSevenBits/#1{\def\@tempa##1##2/##3{\ifx##2\empty\else% + \f@issue% + \@fw{-51- % + \@txt@msg{ERREUR : ce document n'a pas \'et\'e converti en 8-bits...}% + }% + \expandafter ##3\fi}\expandafter\@tempa\noexpand#1}% +\@ifundefined{tt}{\def\tt{\fontfamily{\ttdefault}\selectfont}}{}% +\edef\lq{\string`}\edef\rq{\string'}% +\let\@cilq='% +\edef\lqq{\string`\string`}\edef\rqq{\string'\string'}% +\edef\pointvirgule{\string;}% +\edef\deuxpoints{\string:}% +\let\@cidp=:% +\edef\pointexclamation{\string!}% +\edef\pointinterrogation{\string?}% +\edef\inferieura{\string<}% +\edef\superieura{\string>}% +\edef\dittomark{\string"}% +\let\f@par\par% +\let\@SLQ\lq% +\def\@SRQ@{^\bgroup\prim@s}% +\def\@SRQ{\ifmmode\expandafter\@SRQ@\else\rq\fi}% +\newif\ifFH% +\let\@noBDfr\@nodocument% +\def\frenchhyphenation{\@noBDfr}% +\def\nofrenchhyphenation{\@noBDfr}% +\def\frenchtypography{\@noBDfr}% +\def\regularmathcomma{\@noBDfr}% +\def\frenchmathcomma{\@noBDfr}% +\def\frenchwarnings{\@noBDfr}% +\def\nofrenchwarnings{\@noBDfr}% +\def\nofrenchtypography{\@noBDfr}% +\def\nofrenchtranslation{\@noBDfr}% +\def\frenchtranslation{\@noBDfr}% +\ifx\RIfM@\undefined% +\def\nofrenchguillemets{\@noBDfr}% +\def\frenchguillemets{\@noBDfr}% +\def\nofrenchbguillemets{\@noBDfr}% +\def\frenchbguillemets{\@noBDfr}% +\fi% +\global\let\ifCLAfrench\iffalse% +\def\ConstantLayout{\@noBDfr}% +\def\nofrenchmacros{\@noBDfr}% +\def\frenchmacros{\@noBDfr}% +\def\automaticlettrine{\@noBDfr}% +\def\noautomaticlettrine{\@noBDfr}% +\def\noeveryparguillemets{\@noBDfr}% +\def\everyparguillemets{\@noBDfr}% +\def\nofrenchlayout{\@noBDfr}% +\def\frenchlayout{\@noBDfr}% +\def\indentfirst{\@noBDfr}% +\def\nonindentfirst{\@noBDfr}% +\def\NouveauLangage{\@noBDfr}% +\def\letpunctutionactivefor{\@noBDfr}% +\def\@tempa{\let\ifarticle\iffalse}% +\ifx\ifarticle\undefined\expandafter\@tempa\fi% +\ifx\@seminarerr\undefined\else\ifarticle\else% +\let\@soORI\shipout% +\def\shipout#1#2{\def\@tempa{slide}\def\@tempb{slide*}% + {\ifx\@tempa\@currenvir\let\protect\noexpand% + \else\ifx\@tempb\@currenvir\let\protect\noexpand\fi% + \fi% + \@soORI#1#2}% + \global\let\shipout\@soORI% + }% +\fi\fi% +\let\h@yphenation\hyphenation% +\long\def\f@hyphenation#1{\bgroup% + \let\par\space% + \def\-{ }% + \let\allowhyphens\undefined% + \csname accenthyphcodes\endcsname% + \lowercase{\edef\@tempa{#1}}% + \h@yphenation{\@tempa}\egroup}% +\def\@tempa{\let\iffrenchbibliography\iftrue}% +\ifx\iffrenchbibliography\undefined\expandafter\@tempa\fi% +\ifx\nombre\undefined\else\let\@nomORI\nombre\fi% +\begingroup\obeyspaces% +\gdef\@@nombre{\ifFTY\@mathcomma\obeyspaces\let =\,\fi}% +\endgroup% +\def\@nombre#1{\bgroup\let\ifFTY\iftrue\def\@tempa{#1}% + \def\,{\ifmmode\mskip\thinmuskip\fi}% + \if@filesw{\immediate\openout\@inputcheck=\jobname.tmp% + \let\protect\noexpand% + \ifmmode% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + \@tempa\ignorespaces}% + \else% + \immediate\write\@inputcheck{\protect\makeatletter% + \protect\@@nombre% + $\@tempa$\ignorespaces}% + \fi% + \immediate\closeout\@inputcheck% + }% + \immediate\openin\@inputcheck=\jobname.tmp% + \immediate\read\@inputcheck to\@tempa% + \immediate\closein\@inputcheck% + \def\@tempa{{\input{\jobname.tmp}}}% + \fi% + \@tempa\egroup% + }% +\ifx\nombre\undefined\DeclareRobustCommand*{\nombre}{\@nombre}\fi% +\ifx\WindowsUnits\undefined% + \def\WindowsUnits{\@wu}\fi% +\def\FileName{\bgroup% + \def\@FNenc@loop##1##2{\@tempcnta`##1\relax% + \loop\catcode\@tempcnta=11% + \ifnum\@tempcnta<`##2\relax% + \advance\@tempcnta\@ne% + \repeat}% + \@FNenc@loop\^^A\^^H% + \@FNenc@loop\^^K\^^K% + \@FNenc@loop\^^N\^^_% + \@FNenc@loop\^^?\^^ff% + \@FileName}% +\def\@FileName#1{\gdef\theFileName{#1}\egroup}% +\let\og\empty\let\fg\empty% + \def\FrenchGuillemetsFrom#1#2#3#4{% + \DeclareFontEncoding{#1}{}{}% + \DeclareFontSubstitution{#1}{#2}{m}{n}% + \DeclareTextCommand{\guillemotleft}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#3}}% + \DeclareTextCommand{\guillemotright}{OT1}{% + {\fontencoding{#1}\fontfamily{#2}\selectfont\char#4}}} + \def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2}{wncyr}{60}{62}} + \def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lmr}{19}{20}} + \def\LasyGuillemets{% + \DeclareTextCommand{\guillemotleft}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}% + \DeclareTextCommand{\guillemotright}{OT1}{\hbox{% + \fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}} + \IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGuillemets} + \DeclareTextSymbolDefault{\guillemotleft}{OT1} + \DeclareTextSymbolDefault{\guillemotright}{OT1} + \def\guill@spacing{\penalty\@M\hskip.8\fontdimen2\font + plus.3\fontdimen3\font + minus.8\fontdimen4\font} + \DeclareRobustCommand*{\begin@guill}{\leavevmode + \guillemotleft\penalty\@M\guill@spacing} + \DeclareRobustCommand*{\end@guill}{\ifdim\lastskip>\z@\unskip\fi + \penalty\@M\guill@spacing\guillemotright\xspace} + \AtBeginDocument{\ifx\xspace\@undefined\let\xspace\relax\fi} + \def\bbl@frenchguillemets{\renewcommand{\og}{\begin@guill}% + \renewcommand{\fg}{\end@guill}} + \def\bbl@nonfrenchguillemets{\renewcommand{\og}{``}% + \renewcommand{\fg}{\ifdim\lastskip>\z@\unskip\fi ''}} +\def\@ifo{% +\def\kbIO{\bgroup% + \ifECM\fontencoding{OT1}\selectfont\fi% + \ifFTY\expandafter\nofrenchtypography\fi% + \let\@nobraces\@firstofone% + \let\protect\string% + \ifEightBitOutput% + \def\'####1{\expandafter\@nobraces\@aiguORI####1}% + \def\`####1{\expandafter\@nobraces\@gravORI####1}% + \def\^####1{\expandafter\@nobraces\@acchORI####1}% + \def\"####1{\expandafter\@nobraces\@tremORI####1}% + \def\c####1{\expandafter\@nobraces\@cediORI####1}% + \csname @kbspecials\endcsname% + \else% + \let\add@accent\@gobble% + \def\set@display@protect{\let\protect\noexpand}% + \fi% + \@kbtypeout}% +\let\s@owhyphens\showhyphens% +\let\@dsORI\dospecials% +\@ifundefined{@sanitize}{\def\@sanitize{\relax}}{}% +\let\@saORI\@sanitize% +\def\frenchhyphenation{% + \ifFH\else\FHtrue% + \edef\@uchORI{\the\uchyph}% + \def\@Hif{\ifFH}\let\@Hfi\fi% + \lccode `\'=`\'% + \ifx\flowercase\undefined\else\def\lowercase{\flowercase}\fi% + \@ifundefined{allowhyphens}{% + \def\allowhyphens{\ifhmode\nobreak\hskip\z@skip\fi}}{}% + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% + \@whatUCH% + \def\@tempa####1{{\accenthyphcodes\h@yphenation{####1}}}% + \ifx\@tempa\hyphenation\f@issue% + \@fw{-41- \@txt@msg{your format is out of date, }% + \@txt@msg{please run initex again!}% + }\stop% + \fi% + \def\accenthyphcodes{% + \let\@typeset@protect\protect% + \ifx\protect\noexpand\else% + \ifECM\else\fontencoding{T1}% + \let\pickup@font\@gobble% + \let\size@update\relax\selectfont% + \fi\fi}% + \let\hyphenation\f@hyphenation% + \def\showhyphens####1{\bgroup% + \csname accenthyphcodes\endcsname% + \protected@edef\@tempa{####1}% + \s@owhyphens{\@tempa}\egroup}% + \fi}% +\def\nofrenchhyphenation{% + \ifFH\FHfalse% + \lccode`\'=0% + \let\hyphenation\h@yphenation% + \let\showhyphens\s@owhyphens% + \ifx\lowercaseORI\undefined\else\let\lowercase\lowercaseORI\fi% + \@ifundefined{lefthyphenmin}{}% + {\lefthyphenmin=2\righthyphenmin=3}% + \uchyph=\@uchORI% + \fi}% +\@tempcnta=\the\mathcode`,\@tempcntb=\the\mathcode`,% +\divide\@tempcnta by 4096\relax% +\multiply\@tempcnta by -4096\relax% +\advance\@tempcntb by \@tempcnta% +\edef\@tempb{\noexpand\mathcode`,=\the\@tempcntb}% +\advance\@tempcntb by 24576\relax% +\edef\@tempa{\noexpand\mathcode`,=\the\@tempcntb}% +\edef\regularmathcomma{% + \noexpand\def\noexpand\@mathcomma{\@tempa}% + \noexpand\@mathcomma}% +\def\@tempa{\if\space\next\else\mathord\fi\mathcomma}% +\let\ifFTY\iftrue% +\ifx\@tempa\sm@rtcomma% + \def\frenchmathcomma{% + \def\@mathcomma{\ifFTY\mathcode`\,="8000\fi}% + \@mathcomma}% +\else% +\edef\frenchmathcomma{% + \noexpand\def\noexpand\@mathcomma% + {\noexpand\ifFTY\@tempb\noexpand\fi}% + \noexpand\@mathcomma}% +\fi% +\frenchmathcomma% +\def\ifFTY{\ErrFrench}% +\def\nofrenchtypography{% + \let\ifFTY\iffalse\let\if@Back\ifFTY% +\expandafter\let\csname OT1\string\textbackslash \endcsname\undefined% + \nofrenchguillemets% + \nofrenchbguillemets% + \sloppy% + \nonfrenchspacing% + \regularmathcomma% + }% +\def\frenchtypography{% + \let\ifFTY\iftrue\let\if@Back\ifFTY% +\expandafter\let\csname OT1\string\textbackslash \endcsname\@boiORI% + \let\ifLPA\iffalse% + \typedspaces% + \frenchbguillemets% + \edef\@tempa{\the\vfuzz}% + \fussy% + \vfuzz=\@tempa% + \frenchspacing% + \frenchmathcomma% + }% +\def\nofrenchtranslation{% + \let\ifFTR\iffalse\@cORI}% +\def\frenchtranslation{% + \let\ifFTR\iftrue\captionsfrench}% +\let\frenchguillemets\relax\let\nofrenchguillemets\relax% +\let\frenchbguillemets\bbl@frenchguillemets% +\let\nofrenchbguillemets\bbl@nonfrenchguillemets% +\def\@tempa{\global\let\ifCLA\iffalse}% +\ifx\ifCLA\undefined\expandafter\@tempa\fi% +\def\ConstantLayout{\global\let\ifCLA\iftrue% + \expandafter\let\csname ifCLA\languagename\endcsname\iftrue% + \def\@tempa{\let\ifbbbbfixlanguage\iftrue}% + \ifx\ifbbbbfixlanguage\undefined\@tempa\fi% + \def\@tempa{\ifbbbbfixlanguage\else% + \f@issue% + \@fw{-85- \@txt@msg{Attention \string: l'option fixlanguage }% + \@txt@msg{n'a pas ete fournie a l'appel de babelbib}% + }\fi% + }% + \ifx\@nodocument\relax\@tempa% + \else\ifx\btxselectlanguage\undefined% + \PassOptionsToPackage{fixlanguage}{babelbib}% + \else\@tempa% + \fi% + \fi% + \let\ConstantLayout\relax}% +\def\nofrenchlayout{\nofrenchtrivsep% + \let\ifFLA\iffalse\@EIM}% +\def\frenchlayout{% + \let\ifFLA\iftrue\everyparguillemets% + \@FIM\@FL\let\@FL\empty\noautomaticlettrine% + \frenchtrivsep}% +\def\frenchwarnings{\let\ifFW\iftrue% + \frenchtrivsepwarnings}% +\def\nofrenchwarnings{\let\ifFW\iffalse% + }% +}% +\ifx\@ufo\undefined% + \let\@ufo\empty% +\fi% + \def\prim@s{\prime\futurelet\@let@token\pr@m@s}% + \def\pr@m@s{\ifx\@cilq\@let@token\expandafter\pr@@@s% + \else\ifx^\@let@token\expandafter\expandafter\expandafter\pr@@@t% + \else\egroup\fi% + \fi}% +\let\@fsORI\frenchspacing% +\def\frenchspacing{\@fsORI\ifECM\sfcode`\(=0\sfcode`\)=1000\fi}% +\catcode`<=\active\catcode`>=\active\catcode`'=\active% +\catcode`:=\active\catcode``=\active% +\let<=\inferieura\let>=\superieura% +\def\@Fstr{\def<{\@LSG}\def>{\@RSG}\def`{\@SLQ}\def'{\@SRQ}% + \def:{\deuxpoints}% + \let\dGs\empty}% +\def\@LiN{\let\@sogORI<\let\@sfgORI>\let\@lqORI`\let\@rqORI'% + \let\@dpORI:\@Fstr\@ifFTYfalse}% +\def\@LiB{\let<\@sogORI\let>\@sfgORI\let`\@lqORI\let'\@rqORI% + \let:\@dpORI\@ifFTYback}% +\catcode\lq:=12% +\let\@s@ORI\special% +\def\newcount{\alloc@0\count\countdef\insc@unt}% +\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}% +\def\newbox{\alloc@4\box\chardef\insc@unt}% +\let\ifFTY\iffalse% +\ifx\vref\undefined\else% +\@ifpackageloaded{varioref}{\def\@vrfCode{% + \@gG{vr}{vref}{/}{1}% + \@gG{vpr}{vpageref}{1}{1}% + \@gG{vprr}{vpagerefrange}{1}{2}% + \def\reftextpagerange##1##2{% + pages~\pageref{##1}\ifFTY -\else --\fi\pageref{##2}}% + }% + }{}% +\fi% +\def\ifFTY{\ErrFrench}% +\@ifclassloaded{beamer}{\let\l@chapter\empty% + \def\beamer@captiontemplate{\small\structure% + {\insertcaptionname\captionseparator\space}% + \insertcaption} + }{}% +\def\GOfrench{% + \def\special##1{\@ifFTYfalse\bgroup\@Fstr\@s@ORI{##1}% + \egroup\@ifFTYback}% + \let\@noBDfr\relax% + {\catcode\lq\<=\active\ifx<\undefined\else\global% + \let\@mLSG<\global% + \def\@LSG{\ifmmode\@mLSG\else\inferieura\fi}\fi}% + {\catcode\lq\>=\active\ifx>\undefined\else\global% + \let\@mRSG>\global% + \def\@RSG{\ifmmode\@mRSG\else\superieura\fi}\fi}% +\if@PMF\def\pmfrench{}\def\noeveryparguillemets{}\def\@stared{}% + \def\@desarm{}\def\@qquotes{}\def\@staring{}\def\@fniv2{}\fi% +\def\sm@llerthree{\protect\sm@ller\protect\sm@ller\protect\sm@ller} +\@ifundefined{smaller}{\def\sm@ller{\small}% + \let\sm@llerthree\scriptsize% + \def\l@rger{\large}}% + {\def\RSsmallest{4pt}% + \ifx\undefined\sm@ller% + \let\sm@ller\smaller\fi}% +\@ifundefined{footnotesize}{% + \def\footnotesize{\sm@ller\sm@ller}}{}% +\@ifundefined{Huge}{% + \def\Huge{\l@rger\l@rger\l@rger\l@rger\l@rger}}{}% +\def\noresetatpart{\ifFLA\let\cl@part\empty\fi}% +\def\noresetatchapter{\ifFLA\let\cl@chapter\empty\fi}% +\@ifundefined{chapter}{}{}% +\@ifundefined{c@chapter}{\newcounter{chapter}}{\@addtoreset{chapter}{part}}% +\@ifundefined{quotation}{\def\quotation{}}{}% +\ifx\tableofcontents\undefined% + \else\let\@tocORI\tableofcontents\fi% +\ifx\pdfstringdef\undefined% + \else\let\contentslineORI\contentsline\fi% +\@ifundefined{l@chapter}{% +\def\@tempa{% + \def\l@chapter####1####2{\addpenalty{-\@highpenalty}% + \vskip 1.0em plus\p@\@tempdima 1.5em% + \begingroup% + \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth% + \bfseries \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip% + ####1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss ####2}\par% + \penalty\@highpenalty% + \endgroup}}% +\ifx\RIfM@\undefined\@tempa% + \else% + \ifx\fr@RIfM@cls\undefined\@tempa +\fi% +\fi}{}% +\@ifundefined{theHchapter}{}% + {\renewcommand{\theHchapter}{\arabic{part}.\arabic{chapter}}}% + \def\@gG##1##2##3##4{% + \def\@temp@{\expandafter\let\csname @##1@ORI\endcsname=}% + \expandafter\@temp@\csname ##2\endcsname% + \if##3\empty% + \if2##4% + \expandafter\def\csname ##2\endcsname####1####2% + {\protect\atgG{##1}{{####1}{####2}}}% + \else% + \if3##4% + \expandafter\def\csname ##2\endcsname####1####2####3% + {\protect\atgG{##1}{{####1}{####2}{####3}}}% + \else% + \expandafter\def\csname ##2\endcsname####1% + {\protect\atgG{##1}{{####1}}}% + \fi% + \fi% + \else% + \if/##3\expandafter\def\csname ##2\endcsname{\protect\atgH{##1}}% + \else% + \if2##4\expandafter\def\csname ##2\endcsname{\protect\atgN{##1}}% + \else\expandafter\def\csname ##2\endcsname{\protect\atgM{##1}}% + \fi% + \fi% + \fi}% + \def\atgG##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname##2\egroup}% + \def\atgH##1##2{\bgroup\@ifFTYfalse\@Fstr% + \expandafter\csname @##1@ORI\endcsname{##2}\egroup}% + \def\atgM##1{\@ifNextNB[{\@gM@@{##1}}{\@gM@@{##1}[\empty]}% + }% + \def\atgN##1{\@ifNextNB[{\@gM@@@{##1}}{\@gM@@@{##1}[\empty]}% + }% + \def\@gM@@##1[##2]##3{\@gM@@@{##1}[##2]{##3}{}}% + \def\@gM@@@##1[##2]##3##4{\bgroup\@ifFTYfalse\@Fstr% + \xdef\@temp@{\noexpand\@gG@{##3}{##4}}\egroup% + \ifx\empty##2\let\@gG@=\empty% + \else\protected@edef\@gG@{[##2]}\fi% + \let\@typeset@protect\protect% + \protected@edef\@temp@{\noexpand\expandafter% + \noexpand\expandafter% + \noexpand\csname @##1@ORI\noexpand\endcsname% + \@temp@}\@temp@}% +\ifx\babel@sanitize@arg\undefined\else% +\def\babel@sanitize@arg##1{##1}% +\wlog{\frenchname.sty\string: use of the babel package force me to nullify % + \noexpand\babel@sanitize@arg.}% +\fi% +\ifx\ifthenelse\undefined\else\let\@iTeORI\ifthenelse% + \long\def\ifthenelse##1##2##3{\@ifFTYfalse\@iTeORI{##1}% + {\@ifFTYback##2}{\@ifFTYback##3}}% +\fi% +\ifx\texttt\undefined\else\@gG{xt}{texttt}{/}{1}% + \MakeRobustCommand{texttt}\fi% +\ifx\hyperbaseurl\undefined\else\@gG{hl}{hyperbaseurl}{/}{1}\fi% +\ifx\Ginclude@graphics\undefined\else\@gG{ig}% + {Ginclude@graphics}{/}{1}\fi% +\ifx\NAT@citex\undefined% + \ifx\cite\undefined\else\@gG{c}{cite}{1}{1}\fi% + \ifx\citeyear\undefined\else\@gG{cy}{citeyear}{/}{1}\fi% +\else% + \let\@cxORI\@citex% + \def\@citex[##1][##2]##3{\@ifFTYfalse% + \let\mbox\mboxORI% + \@cxORI[##1][##2]{##3}\aftergroup\@ifFTYback}% +\@gG{cin}{citation}{/}{1}% + \ifx\ifjb@index@bib\undefined\let\ifjb@index@bib\iffalse\fi% + \ifx\jb@lbibitem\undefined\else% + % + % + \def\jb@lbibitem[##1]##2{% + \gdef\jb@tempb{##1}% + \protected@xdef\jb@key{##2}% + \ifjb@index@bib% + \jb@call@index{aut}{##2}% + \jb@call@index{ed}{##2}% + \jb@call@index{org}{##2}% + \fi% + \endgroup}% + \@gG{fc}{fullcite}{1}{1}% + \fi% +\fi% +\ifx\nocite\undefined\else\@gG{nc}{nocite}{/}{1}\fi% +\ifx\backcite\undefined\else\@gG{bkc}{backcite}{//}{2}\fi% +\ifx\bibitem\undefined\else\let\@biORI\bibitem% + \def\bibitem{\@LiN\@ifNextNB[{\@bi@cb}{\@bi@ca}% + }% + \def\@bi@ca##1{\@biORI{##1}\@LiB}% + \def\@bi@cb[##1]##2{\@biORI[##1]{##2}\@LiB}% +\fi% +\expandafter\ifx\string\bt@@item\undefined% + \else\@gG{bti}{\string\bt@@item}{1}{1}% + \fi% +\ifx\vref\undefined\else% + \ifx\reftextvario\undefined\let\@vrfCode\undefined% +\fi\fi% +\ifx\ref\undefined\else\@gG{r}{ref}{/}{1}\fi% +\ifx\tag\undefined\else\@gG{tG}{tag}{/}{1}\fi% +\ifx\pageref\undefined\else\let\pageref@ORI\pageref% + \let\f@pageref\pageref\@gG{fpr}{f@pageref}{/}{1}% + \def\pageref{\ifFTY\expandafter\f@pageref\else% + \expandafter\pageref@ORI\fi}% +\fi% +\csname @vrfCode\endcsname% +\xdef\@lim{}\let\ifMOVING\iffalse% +\ifx\sf@@sub@label\undefined\else\@gG{ss}{sf@@sub@label}{/}{1}\fi% +\def\@temp@{% + \def\label{\protect\@LabeL}% +\def\r@LabeL{\ifx\@lim\empty% + \else\marginpar{\@lim@}\xdef\@lim{}% + \fi}% +\def\m@LabeL{\def\@setMGtrue{\let\ifMOVING\iftrue}% + \ifmmode\@setMGtrue% + \aftergroup\r@LabeL% + \fi% + \expandafter\t@LabeL}% +\def\@LabeL{\ifMOVING\expandafter\t@LabeL% + \else\m@LabeL% + \fi}% + \def\t@LabeL####1{\@ifFTYfalse\if@labelsinmargin\ifMOVING% + \xdef\@lim{\ifx\@lim\empty\else\@lim\@@par\relax\fi[####1]}% + \gdef\@lim@{\@ifFTYfalse\hbadness=\@M\tt\@lim\@ifFTYback}% + \else\marginpar{% + \@ifFTYfalse\hbadness=\@M\tt[####1]\@ifFTYback}\fi\fi% + % + \bgroup\@Fstr\@lORI{####1}\egroup\@ifFTYback}% + }% +\ifx\fr@RIfM@cls\undefined\else% +\let\@mtORI\maketitle% +\def\maketitle{{\@mtORI}}% +\fi% +\ifx\label\undefined\else\let\@lORI\label% + \@temp@% + \let\ltx@label\label% +\fi% +\ifx\@newl@bel\undefined\else\@gG{nl}{@newl@bel}{//}{3}\fi% +\def\@temp@{% + \let\@aclORI\addcontentsline% + \global\let\ifCG\iftrue% + \def\addcontentsline####1####2####3{\@ifFTYfalse\bgroup\@Fstr% + \@aclORI{####1}{####2}{####3}\egroup\@ifFTYback}% + }% +\@ifundefined{addcontentsline}{\gdef\addcontentsline##1##2##3{}}% + {\@temp@}% +\let\ifFrench\iffalse% +\def\@temp@{% + \def\index{\bgroup\ifFrench\@DFP\fi% + \expandafter\egroup\@iORI}% + }% +\ifx\index\undefined\else\let\@iORI\index% + \@temp@% +\fi% +\ifx\list\undefined\else% + \let\@liORI\list% +\fi% + \let\@topsepORI\topsep% + \let\@partopsepORI\partopsep% + \let\@itemsepORI\itemsep% + \let\@parsepORI\parsep% +\def\warn@seps{\def\topsep{\@w@s{\string\topsep}\@topsepORI}% + \def\partopsep{\@w@s{\string\partopsep}\@partopsepORI}% + \def\itemsep{\@w@s{\string\itemsep}\@itemsepORI}% + \def\parsep{\@w@s{\string\parsep}\@parsepORI}% + \def\@tempa{verse}\def\@tempb{quotation}% + \ifx\@tempa\@currenvir\let\@w@s\@gobble\else% + \ifx\@tempb\@currenvir\let\@w@s\@gobble\fi% + \fi% + }% +\def\@w@s##1{\ifFTSW\f@issue% + \@fw{-58- \@txt@msg{valeur de ##1 ignor\'ee}% + }[##1]\fi}% +\def\org@seps{\let\topsep\@topsepORI% + \let\partopsep\@partopsepORI% + \let\itemsep\@itemsepORI% + \let\parsep\@parsepORI% + }% +\def\list##1##2{\def\@inAlist{}\@liORI{##1}{% + \ifx\@trivlist\@tlORI\else\warn@seps\fi% + ##2\org@seps}}% +\ifx\@makecaption\undefined\else\let\@mcORI\@makecaption\fi% +\ifx\captionseparator\undefined% + \def\captionseparator{~--}% +\fi% +\let\ifFTY\iffalse% +\ifx\@contdelim\undefined\else% + \ifx\@memerror\undefined% + \let\@cdORI\@contdelim% + \def\@contdelim{\ifFTY\space\else\@cdORI\fi}% + \else% + \let\captionseparator\empty% + \let\captionfont\@conttfont% + \fi% +\fi% +\def\ifFTY{\ErrFrench}% +\ifx\captionfont\undefined% + \let\captionfont\emph% + \else\let\@cfORI\captionfont% + \def\captionlabelfont{\upshape}% + \def\captionfont{\itshape\@cfORI}% + \ifx\captionlabeldelim\undefined\else% + \let\captionlabeldelim\captionseparator% + \let\captionseparator\empty% + \fi% +\fi% +\def\@makecaption##1##2{\ifFTY% + \def\@secondofmany####1####2\void{####2}% + \def\@tempa{\@secondofmany##2\void}% + \ifx\@tempa\empty% + \let\captionseparator\empty% + \fi% + \@mcORI{##1}{\relax% + \captionfont{##2}}% + \else\@mcORI{##1}{##2}\fi}% +\def\@temp@{% + \def\thanks####1{\global\let\@makefntext\fr@makefntext% + \bgroup% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi\nobreak\fi% + \def\@footnotemark{\hbox{\@textsuperscript{\normalfont\,\@thefnmark}}}% + \fi\let\ifFTY\iffalse\@thORI{####1}% + \egroup}% + }% +\ifx\thanks\undefined\else\let\@thORI\thanks\@temp@\fi% +\let\ifFTY\iffalse% +\ifx\@makefnmark\undefined\else\let\@mfnmORI\@makefnmark% +\def\@makefnmark{\ifFTY\hbox{\@textsuperscript{\normalfont% + \ifx\thefootnote\relax\else\,\fi% + \@thefnmark}}% + \else\@mfnmORI\fi}% +\fi% +\def\@temp@{\long\def\fr@makefntext####1{% + \bgroup% + \ifFTY\def\@tempa{footnote}\let\@tfnORI\@thefnmark% + \ifx\@tempa\@mpfn% + \def\@thefnmark{% + % + \egroup\egroup% + \long\def\@tempa{\fnsymbol{footnote}}% + \ifx\@tempa\thefootnote% + \expandafter\raise+0.55ex% + \fi% + \hbox\bgroup\textnormal\bgroup% + \def\@temp@{% +\ifx\fr@RIfM@cls\undefined% +\ifx\thanks\relax\else\kern-1.1\parindent\fi% +\else \kern-\parindent% +\fi% + \@ifnextchar\relax{\def\@temp@{\hphantom{.}\kern+0.25em}}% + {\def\@temp@{.\kern+0.25em}}% + }% + \expandafter\@temp@\@tfnORI\@temp@% + }% + \leavevmode\kern+0.5em% + \else\def\@thefnmark{\@tfnORI\,}\fi% + \fi\@mfntORI{####1}\egroup}% + }% + \let\@mfntORI\@makefntext\@temp@% + \let\@makefntext\fr@makefntext% +\def\ifFTY{\ErrFrench}% +\let\@fntORI\@footnotetext% +\long\def\@footnotetext##1{\bgroup\let\if@labelsinmargin\iffalse% + \@fntORI{##1}\egroup}% +\let\@fnORI\footnote% +\def\footnote{\bgroup% + \def\index{\@ifnextchar[{\f@index}% + {\f@index@}% + }% + \def\f@index[####1]####2{\@ifFTYfalse\@iORI[####1]{####2}% + \@ifFTYback}% + \def\f@index@####1{\@ifFTYfalse\@iORI{####1}\@ifFTYback}% + \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi% + \nobreak\fi\fi% + \ifmmode\let\@fnORI\fr@footnote\fi% + \@ifNextNB[% + \@Footnote\@Fntnorm}% +\long\def\@Footnote[##1]##2{\@fnORI[##1]{##2}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\long\def\@Fntnorm##1{\@fnORI{##1}% + \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}% +\def\@Fntcoma{\ifFLA\@textsuperscript{,}\nobreak\fi}% +\def\@Fxloat##1[##2]{\@xfORI{##1}[##2]\csname @Fend\@currenvir\endcsname}% +\let\@fgeORI\figure\let\@efgeORI\endfigure% +\def\@temp@{\let\@fgeORI\figure% + \def\figure{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \@set@fr@fn@% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@fgeORI}}% +\ifx\figure\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendfigure{\let\@efgeORI\endfigure% + \def\endfigure{\@efgeORI% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}}% +\ifx\endfigure\undefined\let\@Fendfigure\relax\fi% +\let\@cnORI\caption% +\def\@tablescaption{\@dblarg\@t@blescaption}% +\let\mboxORI\mbox% +\def\mbox##1{\leavevmode\hbox{\protect\@set@fr@fn@##1}}% +\def\@set@fr@fn@{\ifFrench\let\footnote\fr@footnote\fi}% +\def\fr@footnote{\@ifNextNB[\fr@fn@{\fr@fn@[]}% + }% +\def\fr@fn@[##1]##2{\footnotemark% + \f@issue% + \@fw{-8- \@txt@msg{\string\footnotetext{##2} perdu.} + \@txt@msg{Coder \'event. \string\protect\string\footnote}% + }[##2]% + }% +\def\@t@blescaption[##1]##2{\let\cur@fn\footnote% + \let\footnote\fr@footnote% + \@cnORI[##1]{##2}\let\footnote\cur@fn}% +\def\@temp@{% + \let\@tbeORI\table% + \def\table{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% + \let\caption\@tablescaption% + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@tbeORI}% + \expandafter\let% + \expandafter\@dbtbeORI\csname table*\endcsname% + \expandafter\def\csname table*\endcsname{\let\ifMOVING\iftrue% + \let\if@minipage\iftrue% + \ifFLA\begingroup% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}\c@mpfootnote\z@% + \ifx\@captype\undefined\def\@captype{table}\fi% + \let\caption\@tablescaption% + \let\@footnotetext\@mpfootnotetext\fi% + \ifx\@xfORI\undefined% + \let\@xfORI\@xfloat\let\@xfloat\@Fxloat% + \fi% + \@dbtbeORI}% + }% +\ifx\table\undefined\let\@temp@\relax\fi\@temp@% +\def\@Fendtable{% + \let\@etORI\endtable% + \def\endtable{\ifFLA\par% + \vskip-\lastskip% + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@etORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\ifx\endtable\undefined\let\@Fendtable\relax\fi% +\def\@temp@{\def\endtable{\ifFLA\endgroup% + \expandafter\let\csname endtable*\endcsname\endtable% + \fi}% + }% +\ifx\endtable\relax\@temp@% +\fi% +\expandafter\def\csname @Fendtable*\endcsname{% + \expandafter\let% + \expandafter\@dbetORI\csname endtable*\endcsname% + \expandafter\def% + \csname endtable*\endcsname{\ifFLA\par% + \vskip-\lastskip% + \ifvoid\@mpfootins\else\vskip\skip\@mpfootins% + \footnoterule\unvbox\@mpfootins\fi% + \fi\@dbetORI\ifFLA\endgroup\fi% + \ifx\@lim\empty\else\marginpar{\@lim@}% + \xdef\@lim{}\fi\let\ifMOVING\iffalse}% + }% +\expandafter\ifx\csname endtable*\endcsname\relax% + \expandafter\let\csname endtable*\endcsname\endtable% +\fi% +\expandafter\ifx\csname\string\table\endcsname\undefined\else% + \expandafter\let\expandafter\BfigureORI\csname\string\figure\endcsname% + \expandafter\def\csname\string\figure\endcsname{\@Fendfigure\BfigureORI}% + \expandafter\let\expandafter\BtableORI\csname\string\table\endcsname% + \expandafter\def\csname\string\table\endcsname{\@Fendtable\BtableORI}% +\fi% +\ifx\undefined\Hy@PDFDef\let\Hy@PDFDef\pdfstringdef\fi% +\ifx\undefined\Hy@PDFDef\else% + \let\@hpdORI\Hy@PDFDef% + \def\Hy@PDFDef##1##2{\@ifFTYfalse\afterassignment% + \@Fstr\@hpdORI{##1}{##2}\@ifFTYback}% +\fi% +\ifx\pdfstringdef\undefined\else% + \let\pdfstringdef\Hy@PDFDef% +\fi% + \let\@lti\labelitemi\let\@ltii\labelitemii% + \let\@ltiii\labelitemiii\let\@ltiv\labelitemiv% + \@ifo% + \let\@ifo\undefined% + \@doFh% + \let\@doFh\undefined% + \let\hyphex\undefined\let\frhyphex\undefined% + \let\@temp@\undefined% + \let\ifFTY\iffalse\let\ifFTR\iffalse% + \let\ifFLA\iffalse\let\ifFMA\iffalse\let\ifFH\iffalse% +\def\@tempa##1{\o@everypar{\rl@everypar##1}}% +\ifx\@tempa\everypar\let\TeXeverypar\o@everypar% +\else\let\TeXeverypar=\everypar% +\fi% + \ifx \TeXXeTstate \undefined% + \edef \next {\ifx \beginL \undefined 00\else 01\fi}% + \else% + \edef \next {\ifnum \TeXXeTstate = 0 00\else 01\fi}% + \fi% + \if \next\let\beginL\relax\let\beginR\relax% + \else% + \edef\@fepORI{{\the\TeXeverypar}}% + \def\@SetBFWdirection{\csname begin% + \beginFWdirection\endcsname}% + \TeXeverypar={\@SetBFWdirection% + \let\@SetBFWdirection\relax% + {\let\@nodocument\relax% + \@fepORI}}% + \fi% + \let\ErrFrench\@Ffnt\def\@Ffnt##1{}% +\ifx\undefined\babel@core@loaded% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- this file and other auxiliary files require to % + use the following}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- LaTeX packages: \frenchpack!}}}% +\protected@write\@auxout{}{\protect% +\csname auxWARNINGi\protect\endcsname{\protect\typeout% + {-34- check \protect\protect\protect\usepackage% + \protect\space or remove these files. % + Typesetting is aborted!}% + \protect\stop}}% +\fi% +\@finput{frlpatch.sty}% + \ifx\FSfd@patch\FSfd\else + \f@issue% + \@fw{-42- % + \@txt@msg{The French patch file (frlpatch.sty) is not suitable^^J}% + \@txt@msg{for this version of the "\frenchpack" package dated \FSfd}% + }% + \batchmode\@@end% + \fi% + \let\@Ffnt\ErrFrench\let\ErrFrench\undefined% + \IfFileExists{\frenchname.cfg}{% + \f@issue% + \@fw{-48- \@txt@msg{Lecture du fichier de }% + \@txt@msg{configuration de \frenchpack}% + }% + \@finput{\frenchname.cfg}}{}% + \beginlanguage}% + \let\@dORI\document% + \def\document{% + \ifx\noxcomment\undefined\else% + \global\let\@x@hk\xcomment@hook\global\noxcomment\fi% + \ifx\btxselectlanguage\undefined% + \else\ifx\babel@savevariable\undefined% + \f@issue\@fw{-87- % + \@txt@msg{ERREUR \string: }% + \@txt@msg{babelbib s'utilise uniquement avec babel}% + }% + \stop% + \fi% + \fi% + \ifx\@bglngpk\babel@savevariable% + \else% + \f@issue\@fw{-71- % + \@txt@msg{ATTENTION : }% + \@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}% + }% + \fi\let\@bglngpk\undefined% + \@dORI% + \GOfrench% + \let\GOfrench\undefined% + \ifx\noxcomment\undefined\else\let\xcomment@hook\@x@hk% + \expandafter\xcomment@hook\fi}% +\@makeother`\@makeother<\@makeother>\@makeother'% +\let\enddocumentasusual\enddocument% + \def\enddocument{\def\@tempa{\AtEndDocument{\french\f@clearpage% + \global\let\ifCLA\iffalse% + \let\ifCLAfrench\iffalse% + \endfrench}}% + \csname f@lastpage\endcsname% + \@CGroup% + \ifFLA% + \@tempa% + \def\@tempa{empty}\ifx\@specialstyle\@tempa% + \else\gdef\@specialstyle{french}\fi% + \fi% + \let\GOfrench\relax% + \switchtolanguage\englishTeXmods% + \let\f@clearpage\clearpage% +\ifx\lastpage@putlabel\undefined% +\else\let\clearpage\relax% + \let\lastpage@putlabelORI\lastpage@putlabel% + \def\lastpage@putlabel{\addtocounter{page}{+1}\lastpage@putlabelORI% + \addtocounter{page}{-1}}% +\fi% + % + \ifx\undefined\babel@core@loaded\else% + \ifx\@testdef\undefined\else% + \@gG{@td}{@testdef}{//}{3}\fi% + \fi% + % +\ifx\ConfigureToc\undefined\else% + \let\@ifFTYfalse\relax\let\@ifFTYback\relax% + \@Fstr\let\@Fstr\relax% +\fi% + \enddocumentasusual% + }% +\let\@whatUCH\relax% +\def\@eatDP{\@ifNextNB:{\@gobble}{}}% +\def\f@ffrench{\ifx\listoffigures\relax\else% + \figurename~\thefigure\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\f@tfrench{\ifx\listoftables\relax\else% + \tablename~\thetable\ifFTY\captionseparator\fi\fi% + \ifFTY\expandafter\@eatDP\fi}% +\def\unnumberedcaptions#1{\@noBDfr% + % + \expandafter\let\csname listof#1s\endcsname\relax% + \ifx\listoffigures\relax\ifx\listoftables\relax% + \let\unnumberedcaptions\undefined% + \fi\fi% + }% +%===== traitement de l'anglais =====% +\def\beginlanguage{% might be used at \begin{document} time + \ifx\selectlanguage\undefined\english% + \else\selectlanguage{english}\fi}% +\edef\beginFWdirection{L}% write Left to right +\ifx\undefined\babel@core@loaded% + \DeclareOption{english}{\def\beginlanguage{% language to start + \ifx\selectlanguage\undefined\english% + \else\selectlanguage{english}\fi}% + }% + \ProcessOptions% English option need, at least, to be processed. +\fi% +\expandafter\ifx\csname englishTeXmods\endcsname\relax%.\ifundefined +\else \endinput \fi%........ \then go ahead \else do nothing \fi +\ifx\@ifundefined\undefined% +\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname%.......... \@ifundefined + #1\endcsname\relax#2\else#3\fi}% +\fi% +\let\ifCLAenglish\iffalse% +\def\@tempa{\global\let\ifCLA\iffalse% + }% +\ifx\ifCLA\undefined\expandafter\@tempa\fi% + +\global\let\ifnonenglishheadings\iffalse%english style allows english headings! +\gdef\captionsenglish{%...................................... \captionsenglish + \ifx\captionsnames\captionsenglish\else + \def\pagename{page}% + \def\refname{References}% + \def\abstractname{Abstract}% +\ifx\bibname\undefined\else% + \def\bibname{Bibliography}% +\fi% +\ifx\btxselectlanguage\undefined% Don't call \bibsenglish if babelbib loaded. + \csname bibsenglish\endcsname% +\fi% + \def\contentsname{Table of Contents}% + \def\listfigurename{List of Figures}% + \def\listtablename{List of Tables}% +\ifx\listalgorithmname\undefined\else% + \def\ALG@name{algorithm}% + \def\listalgorithmname{List of \ALG@name s}% +\fi% + \def\indexname{Index}% + \def\seename{\emph{see}}% used normally in makeidx.sty + \def\seealsoname{\emph{see also}}% added macro \seealso + \def\figurename{Figure}% + \def\tablename{Table}% + \def\partname{Part}% + \def\glossaryname{Glossary}% + \def\kwname{\textbf{Keywords}: }% + \def\draftname{DRAFT}% + \def\prefacename{Preface}% +\ifx\proofname\undefined\else% + \def\proofname{Proof}% +\fi% +\ifx\opening\undefined\else% + \def\headtoname{To}% + \def\ccname{cc}% + \def\enclname{Encl}% + \def\PSname{PS:}% Post-Scriptum + \def\Objectname{Subject:}% Subject of the letter + \def\YourRefname{Your Ref:}% Your reference number + \def\OurRefname{Our Ref:}% Our reference number + \def\emailname{email:}% Email address +\fi% +\ifx\slidename\undefined\else% + \def\slidename{Slide}% +\fi% +\ifx\notesname\undefined\else% + \def\notesname{Notes}% +\fi% +\ifnonenglishheadings% Bypass to a LaTeX slight bug... +\else% + \def\chaptername{Chapter}% +\fi% + \def\appendixname{Appendix}% + \fi% +\let\captionsnames\captionsenglish% +}% +\@ifundefined{englishTeXmods}{%................................ \englishTeXmods + \gdef\englishTeXmods{%\captionsnames are normally restored by prev. langua. + \ifCLA + \ifCLAenglish% + \ifx\captionsnames\captionsenglish% + \else\captionsenglish\dateenglish% + \fi% + \fi% + \else% + \ifx\captionsnames\captionsenglish% + \else\captionsenglish\dateenglish% + \fi% + \fi% + \csname @xtrasenglish\endcsname% + \def\languagename{english}% set it for mlp. + \let\switchtolanguage\endenglish% + }% + }{}% +\ifx\dateenglish\undefined%...................................... \dateenglish +\def\dateenglish{\def\today{\ifcase\day\or 1st\or 2nd\or 3rd\or 4th\or 5th\or + 6th\or 7th\or 8th\or 9th\or 10th\or 11th\or 12th\or 13th\or 14th\or 15th\or + 16th\or 17th\or 18th\or 19th\or 20th\or 21st\or 22nd\or 23rd\or 24th\or + 25th\or 26th\or 27th\or 28th\or 29th\or 30th\or 31st\fi~\ifcase\month\or + January\or February\or March\or April\or May\or June\or July\or August\or + September\or October\or November\or December\fi\space \number\year}}% +\fi% +\ifx\undefined\babel@core@loaded% + \edef\extrasenglish{}\def\@xtrasenglish{\extrasenglish}% for other packages. +\else% the date mechanism + \let\extrasenglish\englishTeXmods% +\fi% +\@ifundefined{english}{\gdef\english{\relax}}{}% Default............ \english +\@ifundefined{switchtolanguage}{%............................ \switchtolanguage + \gdef\switchtolanguage#1{#1}}{}% +\let\@enstORI\switchtolanguage% save original switchtolanguage if any. +\let\englishORI\english% assuming \language=x was set here +\def\endenglish{\let\switchtolanguage\@enstORI% + \ignorespaces}% but they are not after \end{english} ! +\let\noextrasenglish\endenglish% +\def\english{\switchtolanguage\englishTeXmods\englishORI%...... Final \english + \ignorespaces}% but they are not after \begin{english} ! +\english% Ready now to activate the mechanism [english is the default language] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%===================================% +\def\languagename{french}% +\let\ifnonenglishheadings\iftrue% +\def\datefrench{% +\def\todayfrench{\ifx\ier\undefined\def\ier{er}\fi% + \ifnum\day=1\relax 1\ier% + \else \number\day\fi% + \space\ifcase\month\or janvier\or f\'evrier\or mars\or % + avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or % + octobre\or novembre\or d\'ecembre\fi \space\number\year}% +}\datefrench% +\if@filesw + \def\ordinalSecondNam{{s}econd}% + \def\ordinalSecondName{{s}econde}% +\else% + \def\ordinalSecondNam{{d}euxi\`eme}% + \let\ordinalSecondName\ordinalSecondNam% +\fi% + \def\@osn#1#2{\expandafter\ifx\csname#1osn\endcsname% + \relax#2\else\csname#1osn\endcsname\fi}% + \def\ordinal#1{\ifcase\value{#1}\or {p}remier% + \or\@osn{#1}{\ordinalSecondNam}\else\ordin@l{#1}\fi}% + \def\ordin@l#1{\ifcase\value{#1}\or\or\or % + {t}roisi\`eme\if@filesw{\protected@write\@auxout{}{% + \protect\expandafter% + \protect\gdef\protect\csname#1osn% + \protect\endcsname% + {{d}euxi\`eme}}}% + \fi% + \or {q}uatri\`eme\or {c}inqui\`eme\or {s}ixi\`eme\or % + {s}epti\`eme\or {h}uiti\`eme\or {n}euvi\`eme\or {d}ixi\`eme\or % + {o}nzi\`eme\or {d}ouzi\`eme\or {t}reizi\`eme\or {q}uatorzi\`eme\or % + {q}uinzi\`eme\or {s}eizi\`eme\or {d}ix-septi\`eme\or {d}ix-huiti\`eme\or % + {d}ix-neuvi\`eme\or {v}ingti\`eme\fi}% + \def\ordinale#1{\ifcase\value{#1}\or {p}remi\`ere% + \or\@osn{#1}{\ordinalSecondName}\else\ordin@l{#1}\fi}% + \def\Ordinal{\expandafter\uppercase\ordinal}% + \def\Ordinale{\expandafter\uppercase\ordinale}% +\def\captionsfrench{% + \ifFTR% + \ifx\captionsnames\captionsfrench\else% + \let\@tdORI\today% + \let\f@fORI\fnum@figure% + \let\f@tORI\fnum@table% + \let\@cnsORI\captionsnames% + \def\pagename{page}% + \def\refname{R\'ef\'erences}% + \def\abstractname{R\'esum\'e}% +\ifx\bibname\undefined\else% + \def\bibname{Bibliographie}% +\fi% +\ifx\btxselectlanguage\undefined% + \csname bibsfrench\endcsname% +\fi% + \def\contentsname{Table des mati\`eres}% + \def\listfigurename{Table des figures}% + \def\listtablename{Liste des tableaux}% +\ifx\listalgorithmname\undefined\else% + \def\ALG@name{algorithme}% + \def\listalgorithmname{Liste des \ALG@name s}% +\fi% + \def\indexname{Index}% + \def\seename{\emph{voir}}% + \def\seealsoname{\emph{voir aussi}}% + \def\figurename{\textsc{Fig.}}% + \def\tablename{\textsc{Tab.}}% + \def\sommairename{Sommaire}% + \def\partname{% + \ignorespaces\Ordinale{part}\space partie% + \@RPtNoInDoc\noexpand\@RPtNoInToc}% + \def\glossaryname{Glossaire}% + \def\kwname{\textbf{Mots-cl\'e} : }% + \def\draftname{- \noexpand\351preuve -}% + \def\prefacename{Pr\'eface}% +\ifx\proofname\undefined\else\def\proofname{D\'emonstration}\fi% +\ifx\fr@RIfM@cls\undefined% + \let\fnum@figure\f@ffrench% + \let\fnum@table\f@tfrench% + \def\@RPtNoInToc{}% + \def\@RPtNoInDoc{\def\thepart{}}% + \else\def\@RPtNoInToc##1.{.}% + \def\@RPtNoInDoc##1\thepart{}% +\fi% +\ifx\opening\undefined\else% + \def\headtoname{}% + \def\ccname{c.c. }% + \def\enclname{P.j. }% + \def\PSname{P.-S. :}% + \def\Objectname{Objet :}% + \def\YourRefname{v/r\'ef. :}% + \def\OurRefname{n/r\'ef. :}% + \def\emailname{m.\'el. :}% +\fi% +\ifx\slidename\undefined\else% + \def\slidename{Transparent}% + \def\listslidename{Liste des transparents}% +\fi% +\ifx\notesname\undefined\else% + \def\notesname{Notes}% +\fi% + \def\chaptername{Chapitre}% + \def\appendixname{Annexe}% + \let\captionsnames\captionsfrench% + \fi% + \let\today\todayfrench% +\def\@cORI{\@cnsORI% + \let\today\@tdORI% + \let\fnum@figure\f@fORI% + \let\fnum@table\f@tORI}% +\fi% +}% +\let\@tlORI\@trivlist% +\def\frenchtrivsepwarnings{\let\ifFTSW\iftrue}% +\def\nofrenchtrivsepwarnings{\let\ifFTSW\iffalse}% +\long\def\frtrivseplengths#1{% + \nofrenchtrivsepwarnings% + \long\def\fr@tsl{#1}% + }% +\def\fr@tsl{\setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\topsep}{0.4ex plus 0.2ex minus 0.2ex}% + \setlength{\partopsep}{1.6ex plus 0.8ex minus 0.8ex}% + }% +\def\frenchtrivsep{\ifFLA\def\@trivlist{% + \fr@tsl\@tlORI}% + \fi} +\def\nofrenchtrivsep{\let\@trivlist\@tlORI}% +\@ifundefined{@afterindenttrue}{\let\@afterindenttrue\relax% + \let\@afterindentfalse\relax}{}% +\let\@aifORI\@afterindentfalse% +\edef\@piORI{\the\parindent}% +\begingroup \catcode `| =0 \catcode `[ = 1 \catcode`] =2% + \catcode `\{=12 \catcode `\}=12 \catcode`\\=12% + |gdef|@xversatim#1\end{versatim}[#1|end[versatim]]% + |endgroup% +\let\@FIM@\relax% +\def\fr@idf{\let\@afterindentfalse\@afterindenttrue\@afterindenttrue}% +\def\fr@nidf{\let\@afterindentfalse\@aifORI\@afterindentfalse}% +\ifx\titlespacing\undefined% + \let\which@indent\fr@idf% +\else\let\which@indent\fr@nidf% +\fi% +\def\fr@lbi{\def\labelitemi{\@FIM@--}\def\labelitemii{\@FIM@--}% + \def\labelitemiii{\@FIM@--}\def\labelitemiv{\@FIM@--}% + }% +\long\def\frlabelitems#1{\ifFLA\long\def\fr@lbi{#1}% + \fr@lbi\fi}% +\def\@FIM{% + \fr@lbi% + \def\indentfirst{\ifFLA\fr@idf\fi}% + \def\nonindentfirst{\ifFLA\fr@nidf\fi}% + \which@indent% +}% +\def\@temp@{% +\let\@ps@fp\ps@firstpage% +\def\@opening{% +\let\@wideletter\relax% +\let\emailadd\@empty\let\@yourref\@empty\let\@ourref\@empty% +\let\@object\@empty% + \def\ps@firstpage{\ifFLA% + \advance\topmargin by -20\p@% + % + \def\@oddhead{\ifx\undefined\formhead\else% + \bgroup\hss\formhead\hss\egroup\fi}% + \def\@oddfoot{\raisebox{-45\p@}[\z@]% + {\hbox to \textwidth{% + \ifcase \@ptsize\relax% + \normalsize% + \or \sm@ller% + \or \footnotesize% + \fi% + % + \ifx\undefined\formfoot\hfill\else% + \bgroup\hss\formfoot\hss\egroup\fi% + }}\hss}% + \def\@evenhead{}\def\@evenfoot{}% + \else\@ps@fp\fi}% + \long\def\opening####1{% + \ifFLA% + \advance\indentedwidth by -0.25\longindentation% + \advance\longindentation by 0.22\textwidth% + \advance\parindent by 1.5em% + % + \let\nopagenumbers\relax% + \thispagestyle{firstpage}% + % + \raggedbottom% + \ifx\@empty\fromlocation\location{Le}\fi% + \ifx\@empty\fromaddress\let\fromaddress\space\fi% + {\raggedright\hspace*{-0.25\indentedwidth}% + \parbox[t]{0.5\textwidth}{\ignorespaces% + \vbox to 0\p@{\fromaddress\vss}}% + \\*[1.75\baselineskip]% + \par}% + \ifx\@empty\toname% + % + {\raggedleft\bgroup\fromlocation\space\@date\egroup\par}% + \else% + {\raggedleft\begin{tabular}{l}\ignorespaces% + \toname\\ \toaddress\\*[6\parskip]% + \fromlocation\space\@date\end{tabular}\par}% + \fi% + \ifx\@empty\@ourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \OurRefname\space\@ourref \par}% + \fi% + \ifx\@empty\@yourref\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \YourRefname\space\@yourref \par}% + \fi% + \ifx\@empty\@object\else% + {\raggedright \hspace*{-0.25\indentedwidth}% + \textbf{\Objectname}\space\@object \par}% + \fi% + \par\vspace*{3\parskip}% + \noindent####1\hfill\vspace*{3\parskip}% + \@wideletter% + \else\@oORI{####1}% + \fi}}% +\def\@closing{% + \def\closing{\fclosing@[9]}% + \def\fclosing{\@ifNextNB[{\fclosing@}{\fclosing@[9]}% + }% + \long\def\fclosing@[####1]####2{% + \ifFLA% + \par% + \vspace{\parskip}\stopbreaks% + \ignorespaces ####2\\[####1\medskipamount]% + \ifx\@empty\fromaddress\else% + \hspace*{-0.25\indentedwidth}% + \hspace*{\longindentation}\fi% + {\raggedright\begin{tabular}{l}\ignorespaces% + \ifx\@empty\fromsig% + \fromname% + \else \fromsig \fi% + \ifx\@empty\emailadd\else\\{\footnotesize% + \emph{\emailname} \emailadd}\fi% + \strut\end{tabular}}\par% + \vskip 0pt plus 1fil% + \else\@cloORI{####2}% + \fi}% + \def\endletter{\ifFLA\vskip 0pt plus 3fil\fi% + \@elORI}}% +\@ifundefined{opening}{\def\@opening{}\def\@closing{}}% + {\let\@oORI\opening\let\@cloORI\closing% + \let\@elORI\endletter% + \@opening\@closing}% +}% +\ifx\opening\undefined\let\@temp@\relax\fi% +\@temp@% +\def\@tempa{\let\fr@RIfM@cls\undefined}% +\let\fr@RIfM@cls\RIfM@% + \ifx\RIfM@\undefined\else% + \expandafter\ifx\csname @classname\endcsname\relax\@tempa% + \else\def\@tempb#1#2#3#4\@nil{% + \if#1a\if#2m\if#3s\else\@tempa\fi% + \else\@tempa\fi\else\@tempa\fi}% + \expandafter\@tempb\@classname\@nil% + \fi% + \fi% +\def\@temp@{\def\ps@french{\if@fancyplain\ps@plain@fancy\else\ps@plain\fi}}% +\ifx\ps@fancyplain\undefined% + \ifx\fr@RIfM@cls\undefined\def\ps@french{}% + \else\def\ps@french{\global\topskip\normaltopskip}% + \fi% +\else\@temp@% +\fi% +\let\ps@frenchORI\ps@french% +\let\@sdORI\secdef% +\def\nofrenchpagestyle{\let\secdef\@sdORI}% +\def\frenchpagestyle{% + \def\secdef{\ifFLA\thispagestyle{french}\fi\@sdORI}% + }% +\frenchpagestyle% +\ifx\aliaspagestyle\undefined% +\def\nobeginingfolio{\let\ps@french\ps@empty}% +\else% +\def\nobeginingfolio{\let\ps@french\ps@empty% + \aliaspagestyle{chapter}{empty}% + }% +\fi% +\def\beginingfolio{\let\ps@french\ps@frenchORI% + \frenchpagestyle}% +\def\@EIM{\def\labelitemi{\@lti}\def\labelitemii{\@ltii}% + \def\labelitemiii{\@ltiii}\def\labelitemiv{\@ltiv}% + \let\@afterindentfalse\@aifORI\@afterindentfalse% + \parindent\@piORI}% +\let\@FL\relax% +\def\nonfrench{\ifFrench\@DFP% + \def\@temp@{\@AFP}% + \else\@NoFr\def\@temp@{\relax}\fi% + \def\endnonfrench{\@temp@\ignorespaces}% + \ignorespaces}% +\def\@dospecialsfrench{\do\`\do'\@dsversa}% +\def\@dsversa{% + \do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\|\do\^^K\do\_\do\^^A\do\%\do\~%$emacs + \do\!\do\?\do\;\do\:\do\<\do\>\do\^\do\"}% +\def\@sanitizefrench{% + \@saORI% + \@makeother\!\@makeother\?\@makeother\;\@makeother\:% + \@makeother\`\@makeother'\@makeother\<\@makeother\>% + \@makeother\^\@makeother\"}% +\def\@ifNextNB#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\futurelet% + \@tempc\@Fifnch}% + \def\@Fifnch{\ifx \@tempc \@tempe\let\@tempd\@tempa% + \else\let\@tempd\@tempb\fi\@tempd}% +\def\@ifNextNBc#1#2#3#4{\let\@tempe=#1\let\@tempf=#2% + \def\@tempa{#3}\def\@tempb{#4}\futurelet% + \@tempc\@Fifnchc}% + \def\@Fifnchc{\ifx\@tempc\@tempf\@tempa\else\@Fifnch\fi}% +\def\@skiplastspace{\ifdim\lastskip>\z@\unskip\penalty\@M\fi}% +\let\ifFrench\iftrue% +\def\@AFP{% + \let\dospecials\@dospecialsfrench% + \let\@sanitize\@sanitizefrench% + \AFPdp\AFPinfsup}% +\def\AFPdp{\ifFrench\catcode`\!=\active\catcode`\?=\active% + \catcode`\;=\active\catcode`\:=\active\fi}% +\let\AFPinfsup\relax% +\def\AFPq{\ifFrench\catcode`'=\active\catcode``=\active\fi}% +\def\AFPdq{\catcode`"=\active}% +\def\@DFP{% + \DFPq\DFPinfsup\ifLPA\else\DFPdp% + \let\dospecials\@dsORI% + \let\@sanitize\@saORI\fi}% +\def\DFPq{\ifFrench\catcode``=12\catcode`'=12\fi}% +\let\DFPinfsup\relax% +\def\DFPdp{\ifFrench\catcode`;=12\catcode`:=12% + \catcode`!=12\catcode`?=12\fi}% +\def\DFPdq{\catcode`"=12}% +\let\ifLPA\iffalse% +\let\ifFG\iffalse% +\def\@tempa#1{\f@issue% + \@fw{-13- \@txt@msg{le caract\`ere "#1" est d\'ej\`a actif}% + }[#1]% + \let\@tempb\next\let\@tempc\empty}% +\let\@tempb\empty% +\AFPdp% +\let\ifWTS\iffalse% +\def\@WTS{\relax\ifmmode\else\ifhmode% + \ifdim\lastskip>\z@\unskip\fi% + \fi\fi}% +\def\@tempc{% +\def;{\ifFTY\protect\@PV% + \else\ifWTS\@WTS\fi\string;\fi}% + }% +\def\@tempd{\@tempa{\string;}}% +\ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PV{\relax\ifmmode\string;\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi\string;\fi}% +\def\@tempc{% +\def:{\ifFTY\protect\@DP% + \else\ifWTS\@WTS\fi\string:\fi}% + }% +\def\@tempd{\@tempa{\string:}}% +\ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc% +\@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}% +\def\@DP{\relax\ifmmode\string:\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string:% + \@beginparpenalty=\@M\relax% + \fi}% +\def\@wu#1{\@@wu#1,\void}% +\def\@@wu#1,#2{\ifx#1\empty\else\@@@wu #1\fi% + \def\@tempa{\@@wu#2}% + \ifx#2\void\else\expandafter\@tempa\fi% + }% +\def\@@@wu#1=#2{\expandafter\edef\csname #1\endcsname:{#2\string:}}% +\ifx\hhline\undefined\else\let\@hhlORI\hhline% + \def\hhline{\omit\ifFrench\let:\@cidp\fi% + \expandafter\@gobble\@hhlORI}% +\fi% +\def\@tempc{% +\def!{\ifFTY\protect\@PE% + \else\ifWTS\@WTS\fi\string!\fi}% + }% +\def\@tempd{\@tempa{\string!}}% +\ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PE{\ifmmode\string!\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi% + \fi% + \string!\fi}% +\def\@tempc{% +\def?{\ifFTY\protect\@PI% + \else\ifWTS\@WTS\fi\string?\fi}% + }% +\def\@tempd{\@tempa{\string?}}% +\ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc% +\def\@PI{\relax\ifmmode\string?\else% + \ifhmode\ifUSP\unskip\space\fi% + \ifdim\lastskip>\z@\unskip\penalty\@M% + \hskip +0.09em plus 0.07667em% + \fi% + \fi% + \string?\fi}% +\ifx\@tempb\next\let\AFPdp\empty\f@issue% + \@fw{-13b- % + \@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi% +\let\ifLPA\ErrFrench% +\let\ifFG\ErrFrench% +\let\@aORI\@array% +\def\@array{}% +\DFPdp\AFPdp% +\ifx\AFPdp\empty\else% +\def\@array{\let\noexpand\@tempa=\noexpand!% + \def\noexpand!{\noexpand\string\noexpand!}% + \edef\noexpand\@tempb{##1}% + \let\noexpand!=\noexpand\@tempa}% +\fi% +\catcode`<=13\catcode`>=13% +\let\ifArG\iftrue% +\edef\@array[#1]{\edef\noexpand\@tempb{#1}% + \noexpand\ifArG\noexpand\else% + \noexpand\ifnum\catcode`\noexpand<=\active% + \noexpand\ifmmode\let\noexpand<\noexpand\inferieura% + \let\noexpand>\noexpand\superieura% + \noexpand\fi\noexpand\fi\@array% + \noexpand\fi% + \noexpand\@aORI[{\noexpand\@tempb}]}% +\let\@eaORI\eqnarray% +\def\eqnarray{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@eaORI}% +\ifx\@@array\undefined\else% + \let\@@aORI\@@array% +\def\@@array{\ifArG\else\ifnum\catcode`<=\active% + \let<\inferieura\let>\superieura% + \fi\fi\@@aORI}% +\fi% +\catcode`<=12\catcode`>=12% +\DFPdp% +\let\@CGroup\relax\let\@@FG\relax% +\let\@LG\relax% +\def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}% +\def\@frq{{\catcode`'=12{\ifNEQ\ifECM\char\rq001% + \else\char\rq023\hbox{}\fi% + \else\string'\fi}}}% +\AFPq% +\def`{\protect\@PLQ}% + \let\@PLQ@\lq% + \def\@PLQ{\ifmmode\string`\let\@PLQ@\relax% + \else\ifNED\let\@PLQ@\@PLQn\fi% + \ifhmode\let\@PLQ@\@PLQn\fi% + \fi\@PLQ@}% + \def\@PLQn{\@ifNextNB`{\protect\@OQ}% + {\ifNEQ\ifECM\char\rq000\hbox{}% + \else\char\rq022\hbox{}\fi% + \else\string`\fi}% + }% + \def\@OQ`{\ifNED\protect\@LG\else\string``\fi}% +\def'{\protect\@PRQ}% + \let\@PRQ@\rq% + \def\@PRQ{\ifmmode\let\@PRQ@\@SRQ@% + \else\ifhmode\let\@PRQ@\@PRQn\fi% + \fi\@PRQ@}% + \def\@@FGp'{\@@FG}% + \def\@PRQn{\let\@PRQ@\rq% + \@ifNextNB'{\ifNED\let\@PRQn@\@@FGp% + \else\let\@PRQn@\relax\string'\fi\@PRQn@}% + {\protect\@normalrq}}% +\let\ifNED\iffalse% +\let\ifNEQ\iffalse% +\DFPq% +\def\untypedspaces{\@noBDfr% + \let\ifUSP\iftrue}% +\def\typedspaces{\@noBDfr% + \let\ifUSP\iffalse}% +\let\if@labelsinmargin\iffalse% +\let\ifFG\iffalse% +\let\ifFrench\iffalse% +{\def\@genMLhyph{\@ifundefined{french}{}{\gdef\fhyph{\french}}% + \@ifundefined{english}{}{\gdef\ehyph{\english}}}% +\@ifundefined{fhyph}{\@genMLhyph}{}% +}% +\gdef\frenchTeXmods{% + \global\let\ifFrench\iftrue% +\ifCLA% + \ifCLAfrench% + \@AFP% + \frenchtypography\frenchtranslation\frenchlayout% + \fi% +\else% + \@AFP% + \frenchtypography\frenchtranslation\frenchlayout% +\fi% + \frenchmacros\frenchwarnings% + \let\@HifORI\@Hif\let\@HfiORI\@Hfi% + \frenchhyphenation% + \csname @xtrasfrench\endcsname% + \ifx\GOfrench\undefined% + \csname beginL\endcsname% + \fi% + \def\languagename{french}% + \@ufo% + \let\switchtolanguage\endfrench% + \ignorespaces% + }% +\ifx\undefined\babel@core@loaded% + \edef\extrasfrench{}\def\@xtrasfrench{\extrasfrench}% + \DeclareOption{french}{\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\french% + \else\endenglish\selectlanguage{french}\fi}% + }% + \DeclareOption{english}{\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\english% + \else\selectlanguage{english}\fi}% + }% +\else\let\extrasfrench\frenchTeXmods% + \AtBeginDocument{% + \def\@tempa{\protect\@LabeL}% + \ifx\@tempa\label\else% + \let\@lORI\label\let\label\@tempa\fi% + \def\@tempa{\protect\atgH{r}}% + \ifx\@tempa\ref\else\@gG{r}{ref}{/}{1}\fi% + }% +\fi% +\@ifundefined{switchtolanguage}{% + \def\switchtolanguage#1{#1}}{}% +\let\@stlORI\switchtolanguage +\def\@DFPtestANDset{% + \ifx\ifFrench\iffalse% + \f@issue\@fw{-71- % + \@txt@msg{ATTENTION : }% + \@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}% + }% + \fi% + \let\@DFPtestANDset\@DFP% + \@DFP}% +\def\endfrench{% +\ifCLAfrench\else% + \@DFPtestANDset% + \nofrenchtypography\nofrenchtranslation\nofrenchlayout% +\fi% + \nofrenchmacros% + \nofrenchhyphenation% + \let\@Hif\@HifORI\let\@Hfi\@HfiORI% + \let\switchtolanguage\@stlORI% + \let\ifFrench\iffalse\@stlORI% + \ignorespaces}% +\let\noextrasfrench\endfrench% +\@ifundefined{englishTeXmods}{\gdef\englishTeXmods{}}{}% +\global\let\@Hif\empty\global\let\@Hfi\empty% +\global\let\if@FE\iffalse% +\newif\if@more\@moretrue% +\def\@doFh{% +\def\f@ERRdat{\f@issue% + \errmessage{-9- \@txt@msg{Corrupted/absent language.dat file.}% + }\global\let\french\@@end% + }% + \bgroup% + \let\ORIGfrench\french% + \newcount\@FrCount% +\def\tl@ng##1{}% +\def\@rhef##1/##2 /{\def\@tempa{##2}% + \def\@tempb{##1}% + \def\@tempc{\ifx\space\@tempa\else% + \expandafter\gdef\csname ##1@hefn\endcsname{##2\relax}% + \if@FE\expandafter\@@input##2\relax\fi\fi}% + \ifx\undefined\@excn\@tempc% + \else\ifx\@tempb\@excn\@tempc\fi\fi}% +\gdef\NouveauLangage[##1]##2{% + \expandafter\@ifundefined{l@##2}{}% + {% + \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% + \edef\l@no{##1}\expandafter% + % + \ifx\csname l@##2\endcsname\l@no% + \else\f@issue\typeout{^^J \frenchname.sty \string: -27- % + \@txt@msg{language \l@no\space (##2) was initially }% + \@txt@msg{(at initex) numbered \csname l@##2\endcsname\space(ERROR!)}% + }[##2]\f@ERRdat% + \fi\fi}% + \expandafter\tl@ng\csname##2TeXmods\endcsname% + \expandafter\gdef\csname##2 \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2\endcsname% + {\protect\csname##2 \endcsname}% + }% +\def\Nouveau@Langage[##1]##2{% > def nouveau langage 1 +%arabic as a language should not change the definition of \arabic +% the same is valid for future similar cases + \expandafter\@ifundefined{##2}{\lang@defifalse}% + {\lang@defitrue}% + \expandafter\@ifundefined{l@##2}{}% + {% + \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else% + \edef\l@no{##1}\expandafter% + % + \ifx\csname l@##2\endcsname\l@no% + \else\f@issue\typeout{^^J \frenchname.sty \string: -27- % + \@txt@msg{language \l@no\space (##2) was initially }% + \@txt@msg{(at initex) numbered \csname l@##2\endcsname\space(ERROR!)}% + }[##2]\f@ERRdat% + \fi\fi}% + \expandafter\tl@ng\csname##2TeXmods\endcsname% + \iflang@defi% + \expandafter\gdef\csname##2Lang \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2Lang\endcsname% + {\protect\csname##2Lang \endcsname}% + \typeout{eFrench Info : % + \\##2Lang commute sur langue ##2 }% + \typeout{eFrench Info : % + et \\##2TeXmods pour ses extensions }% + \typeout{eFrench Info : % + avec \\ = une seule barre oblique inverse ===}% + \else% + \expandafter\gdef\csname##2 \endcsname% + {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname% + \@Hif\language=##1\@Hfi\relax}% + \expandafter\gdef\csname##2\endcsname% + {\protect\csname##2 \endcsname}% + \fi% + }% < def nouveau langage 1 +\edef\@temp@{=}% +\def\@langue##1##2 ##3 ##4/##5{\def\@tempa{=}\def\@tempb{##1}% + \ifx\@tempa\@tempb% + \ifnum\@FrCount > 0 \advance\@FrCount by -1\fi% + \relax% + \expandafter\Nouveau@Langage\expandafter[\the\@FrCount]{##2}% + \ifnum\@FrCount \@temp@ 0 \@FrCount= -1\fi% + \else\edef\@temp@{<}\@l@ngue##1##2 ##3 ##4/{##5}% + \fi}% +\def\@l@ngue##1 ##2 ##3/##4{\Nouveau@Langage[##4]{##1}% + % + \@rhef##1/##3/% + }% +\let\hyphenation\f@hyphenation% +\openin\@inputcheck = language.dat \def\@tempb{}% > language.dat +\ifeof\@inputcheck\@Ffnt{language.dat}% + \ifx\undefined\french % + \else\xdef\@PrevF{\french}% + \gdef\french{\switchtolanguage\frenchTeXmods\@PrevF}% + {\@PrevF\f@issue\@fw{-15- % + \@txt@msg{le langage \frenchname\space porte le }% + \@txt@msg{num\'ero \the\language}% + }}% + \fi% + \ifx\undefined\l@english % + \def\l@english{0}% + \fi% + \ifx\undefined\english % + \else\xdef\@PrevE{\language=\l@english}% + \gdef\english{\switchtolanguage\englishTeXmods\@PrevE}% + {\@PrevE\f@issue\@fw{-16 % + \@txt@msg{the English language\space is numbered }% + \@txt@msg{\the\language}% + }}% + \fi +\else\@FrCount=-1% +\newif\iflang@defi% +\let\englishORI\english% +\let\english\undefined% +\loop \endlinechar=-1 \read\@inputcheck to \@lineD \endlinechar`\^^M% + \ifx\@lineD\empty \else \advance\@FrCount by 1% + \edef\@lineD{\@lineD\space\space/{\the\@FrCount}}% + \expandafter\@langue\@lineD% + \fi% + \ifeof\@inputcheck \@morefalse \fi% + \if@more\repeat% +\fi\closein\@inputcheck% < language.dat +\ifx\undefined\english\let\english\englishORI\fi% ! +\let\hyphenation\@hyphenation% +\def\@MLtst{\@ifundefined{fhyph}% + {\if@PMF\gdef\french{\switchtolanguage\frenchTeXmods}% + \f@issue% + \@fw{-19- % + \@txt@msg{utilisation du langage interne num\'ero \the\language}% + }% + \else\f@issue% + \typeout{^^J \frenchname.sty: -20b- + \@txt@msg{the French language is undefined (ERROR!)}% + }\f@ERRdat\fi}% + {\gdef\french{\switchtolanguage\frenchTeXmods\fhyph}% + \gdef\english{\switchtolanguage\englishTeXmods\ehyph}% + }% + }% +\@ifundefined{french}{\@MLtst}{}% +\@ifundefined{endenglish}{\global\let\endenglish\french}{}% +\gdef\tl@ng##1{\ifx ##1\relax\f@issue% + \@fw{-21- \@txt@msg{##1 n'est pas d\'efini}% + }[##1]\fi}% +\ifx\ORIGfrench\french\f@ERRdat\fi% + \egroup% + }% +\ifx\vert\undefined\else\let\@bvORI\vert\fi% +\def\@fwVIIIII{\f@issue% + \kbtypeout{^^J -73- \@txt@msg{ERREUR avec AmSTeX : }% + \@txt@msg{\frenchname.sty a \'et\'e charg\'e trop t\^ot !}% + }\stop}% +\ifx\RIfM@\undefined% +\def\vert{\ifx\RIfM@\undefined\expandafter\@bvORI\else\expandafter% + \@fwVIIIII\fi}% +\else% +\def\vert{\@bvORI}% +\fi% +\let\@currname\@currnameORI% +\def\languagename{english}% +\def\beginlanguage{% + \ifx\babel@savevariable% + \undefined\french% + \else\endenglish\selectlanguage{french}\fi% + }% +\let\@bglngpk\babel@savevariable% +\ifx\pg@add@to\undefined\else% +\def\pg@begin{\begingroup}% +\def\pg@end{\endgroup}% +\fi% +\edef\beginFWdirection{L}% +\ifx\undefined\babel@core@loaded\ProcessOptions*% + \else% + \PackageInfo{\frenchname}% + {Initialisation de l'option \frenchname\space pour Babel}% + \GOfrench\let\GOfrench\relax% +\fi% +\let\@FW\undefined% +\resetat% +\PassOptionsToPackage{french}{varioref}% +\PassOptionsToPackage{french}{pdfscreen}% +\endinput% diff --git a/Master/texmf-dist/tex/generic/e-french/frenchpro.ldf b/Master/texmf-dist/tex/generic/e-french/frenchpro.ldf new file mode 100644 index 00000000000..20aaeeceb7f --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frenchpro.ldf @@ -0,0 +1,59 @@ +%% This is french.ldf (frenchpro option for Babel) under LaTeX --bg 2006/09/28 +%% to be used like this: \usepackage[frenchpro]{babel} +%% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% +\ProvidesFile{frenchpro.ldf}% originally: +% [2003/11/17 v3.0 % +% [2003/11/19 v3.1 % french loaded before babel frenchpro. +% [2005/03/21 v3.2 % pb francais/frenchb loaded before babel FrenchPro. + [2006/09/28 v3.3 % \main@language added before \selectlanguage. + frenchpro option of babel loading the FrenchPro package] +\ifx\undefined\captionsfrench +\else\main@language{french}\selectlanguage{french}% Select again French +\expandafter\ifx\csname endfrench\endcsname\relax +\PackageError{frenchle}{-93- You are using two French options for Babel, % + please choose only one.} +\let\endfrench\stop\fi + \endfrench% but stop it until \begin{document}. +\expandafter\endinput +\fi +\chardef\atcatcode=\catcode`\@\catcode`\@=11\relax +\ifx\undefined\babel@core@loaded% still undefined (>3.5)? + \let\babel@core@loaded\main@language\fi% +\ifx\undefined\originalTeX \let\originalTeX\empty \fi +\originalTeX +\ifx\undefined\l@french\@nopatterns{French}\adddialect\l@french0\fi + +\protected@write\@auxout{}{\protect% insure files integrity +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- this file and other auxiliary files require to + use the following}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- LaTeX packages: FrenchPro and babel!}}} +\protected@write\@auxout{}{\protect% +\csname auxWARNINGii\protect\endcsname{\protect\typeout + {-34- check \protect\protect\protect\usepackage + \protect\space or remove these files. + Typesetting is aborted!} + \protect\stop}}% +\let\auxWARNINGi=\@gobble% accept aux files produces by french +\let\auxWARNINGii=\@gobble% and those produces by babel+french + +\InputIfFileExists{french.sty}{}% load our FrenchPro package + {\PackageError{frenchpro}% but not via frenchpro.sty. + {-63- FrenchPro style file not found}% + {-63- Check if file exist somewhere in your system.}% + \let\endfrench\stop% + }% +\endfrench% and stop it immediately until \begin{document} +\let\noextrasfrancais\endfrench% bug in babel.sty version 3.5e +\let\extrasfrancais\frenchTeXmods% ditto +\let\captionsfrancais\captionsfrench% +\main@language{french}% the \begin{document}. +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/frenchpro.sty b/Master/texmf-dist/tex/generic/e-french/frenchpro.sty new file mode 100644 index 00000000000..45b16553e96 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frenchpro.sty @@ -0,0 +1,11 @@ +%% This is frenchpro.sty --bg 2002/01/29 +%% updated --bg 2003/11/17 +%% to be used like this: \usepackage{frenchpro} +%% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% +\RequirePackage{french}% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/frhyphex.tex b/Master/texmf-dist/tex/generic/e-french/frhyphex.tex new file mode 100644 index 00000000000..2fda16522a4 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/frhyphex.tex @@ -0,0 +1,75 @@ +% frhyphex.tex % French hyphenation exceptions provided with accent macros. +% last mods: 2005/03/21 +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% Usually \hyphenation doesn't allow accent macros in its argument, just +% only characters, but french.sty and hyconfig.tex allows this. Thus this +% file can be reloaded each time you change your input encoding. The keyboard +% package do it via kbconfig.tex (and \kbencoding macro). +% +\ifx\undefined\@uclclist% is it initex? yes probably +\expandafter\message\else\expandafter\wlog\fi{frhyphex.tex french exceptions (% +% Do NOT make any alterations to this french hyphenation exceptions list! --bg +% This is my official one. + V3.3) % <========= VERSION + }% +% But you can have your private one via language.dat and \frhyphex +% look at the documentation... +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Comme Babel n'accepte pas les lignes blanches et que Braams n'a pas repondu +% a mon message (1999/12) j'elimine le chargement des exceptions si babel +\ifx\adddialect\undefined% a ete charge dans le format. + +\hyphenation{% La liste est volontairement reduite. Les exceptions qui ont + % ete reconnues sont mises sous forme de motif dans frhyph.tex + +% noms propres de renomee mondiale (!) : +% ============ +% + +GUTenberg % Groupe francophone des Utilisateurs de TeX, association loi 1901. + +% +% noms communs dont la division par TeX est << actuellement >> impropre : +% ============ (les noms suivants on fait l'objet d'une etude GUTenberg et +% n'ont pas ete retenus dans les fichier des motifs de cesure) +% + +extra-conju-gal % proposition de Etienne Riga 1999/12/23 +extra-conju-gale extra-conju-gales % Riga 1999/12/23 +extra-conju-gaux % Riga 1999/12/23 +extra-cor-po-rel extra-cor-po-rels % Riga 1999/12/23 +extra-cor-po-relle extra-cor-po-relles % Riga 1999/12/23 +fichier fichiers %proposition de Michel Bovani 1999/08/09 +manu-scrit manu-scrits % Denis Roegel 2002/12/06 +% Je n'ai pas reussi a ajouter "Grand' " pour Grand'place par exemple, +% alors que \hyphenation{Grand'} fonctionne bien dans le corps d'un +% document avec FrenchPro. B.G. 2005/03/21 + +% +%%% +% (Les noms suivants feront l'objet - ulterieurement - d'une etude GUTenberg et +% - eventuellement - d'une modification du fichier des motifs de cesure) +% +% noms techniques d'usage assez courant +% =============== +% + + } % end of exceptions + +% Second list of exceptions: +\ifx\undefined\@uclclist\else% The following not used at initex: +\hyphenation{% + + } % end of exceptions +\fi + +\else% +\ifx\undefined\@uclclist% is it initex? yes probably +\expandafter\message\else\expandafter\wlog\fi% +{NOT LOADED when BABEL is active.}% +\fi% +%\endinput%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/fxabbrev.tex b/Master/texmf-dist/tex/generic/e-french/fxabbrev.tex new file mode 100644 index 00000000000..42504de3502 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/fxabbrev.tex @@ -0,0 +1,297 @@ +% frabbrev.tex file (French typographic abbreviations) +% should always be used in 8bit format (generated from +% fxabbrev.tex which is full ASCII 7bit) +% +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% Don't change this to a 7bits coding except if you are using 7bits input +% +% History of mods: +% =============== +% - Change \^i into \^{\i}_ --bg 01/16/92 +% - Added shorten "cad" (remark coming from Jacques Andre) --bg 02/07/92 +% - paragraph sign (\S) followed by a tilde --bg 05/15/92 +% - recoded to 8bits --bg 08/24/92 +% - add second, seconds, premiers, premi\`{e}res, troisi\`{e}mes... +% num\'{e}ros, Num\'{e}ros and pages. +% --bg 01/12/93 +% - strings containing a space must be within a group. --bg 98/05/15 +% - THE FIRST LETTER IS NO MORE TESTED except if the string is +% within braces. Thus, any string beginning whith an uppercase +% letter should be enclosed within braces. --bg 1999/11/08 +% - f8abbrev.tex and frabbrev.850 definitely removed. +% f7abbrev.tex rename fxabbrev.tex --bg 2000/06/14 +% - few adds coming from Yves Perrousseaux' book on typo. --bg 2001/08/03 +% - corrections for second(s) and seconde(s). --bg 2001/09/20 +% - * facility added for plurals ==> 6 changes. +% - legal units added and few other names. +% HAPPY 10 YEARS ANNIVERSARY! --bg 2001/01/21 +% - abbrev. from Louis Gu\'{e}ry from CFPJ. --bg 2002/02/21 +%% +%% checksum = "10121 297 1013 10878" +%% + +% Checked name Replacement +% ============ =========== +% +% Notice that when the checked name is inside braces all that name +% should be equal to "name" otherwise the first letter is not checked. +% If checked name begins with "*" then "_name_" and "_name_s" will +% be checked, the replacement name is the same in the two cases. +% +% NB: All macros have to be not expanded. + +premier 1\noexpand\ier% +premiers 1\noexpand\iers% +premi\`{e}re 1\noexpand\iere% +premi\`{e}res 1\noexpand\ieres% +deuxi\`{e}me 2\noexpand\ieme% +deuxi\`{e}mes 2\noexpand\iemes% +second 2\noexpand\fup{d}% +seconds 2\noexpand\fup{ds}% +seconde 2\noexpand\fup{de}% +secondes 2\noexpand\fup{des}% +troisi\`{e}me 3\noexpand\ieme% +troisi\`{e}mes 3\noexpand\iemes% +quatri\`{e}me 4\noexpand\ieme% +quatri\`{e}mes 4\noexpand\iemes% + +primo \noexpand\quando{1}% +secundo \noexpand\quando{2}% +tertio \noexpand\quando{3}% +quarto \noexpand\quando{4}% +quinto \noexpand\quando{5}% +sexto \noexpand\quando{6}% +septuno \noexpand\quando{7}% +octavo \noexpand\quando{8}% +nono \noexpand\quando{9}% +decimo \noexpand\quando{10}% + +{Num\'{e}ro} \noexpand\Numero% +{Num\'{e}ros} \noexpand\Numeros% +num\'{e}ro \noexpand\numero% +num\'{e}ros \noexpand\numeros% + +monsieur M.% +messieurs MM.% +mademoiselle M\noexpand\fup{lle}% +mesdemoiselles M\noexpand\fup{lles}% +madame M\noexpand\fup{me}% +mesdames M\noexpand\fup{mes}% +ma\^{\i}tre M\noexpand\fup{e}% +ma\^{\i}tres M\noexpand\fup{es}% + +{Compagnie} c\noexpand\fup{ie}% +canton C\noexpand\fup{on}% +docteur D\noexpand\fup{r}% +folio f\noexpand\fup{o}% +folios f\noexpand\fup{os}% +monseigneur M\noexpand\fup{gr}% +paragraphe \noexpand\S~% doit \^{e}tre suivi d'un num\'{e}ro. +recto r\noexpand\fup{o}% +verso v\noexpand\fup{o}% + +{Acad\'{e}mie} Acad.% +adjectif adj.% +{Administration} Admin.% +ancien anc.% +annexe ann.% from LG 2002/02/21 +{Antiquit\'{e}} Antiq.% +appendice append.% +apr\`{e}s apr.% +archives arch.% +arch\'{e}ologie arch\'{e}ol.% +arithm\'{e}tique arithm.% +arrondissement arr.% +article art.% +astronomie astron.% +avant av.% +avenue av.% from LG 2002/02/21 +bibliographie bibliogr.% +biblioth\`{e}que bibl.% from LG 2002/02/21 +biologie biol.% +botanique bot.% +boulevard bd% +bulletin bull.% +cad \noexpand\hbox{c.-\`{a}-d.}% +chapitre chap.% +chef-lieu ch.-l.% +chronologie chronol.% +circulaire circ.% +circonscription circonscr.% +{Code civil} C.civ.% +{Code p\'{e}nal} C.p\'{e}n.% +*collaborateur coll.% +collection coll.% +colonne col.% from LG 2002/02/21 +commandeur C.% from LG 2002/02/21 +d\'{e}partement d\'{e}p.% +dictionnaire dict.% +document doc.% +{Est} E% +*\'{e}diteur \'{e}d.% * from LG 2002/02/21 +*\'{e}dition \'{e}d.% * from LG 2002/02/21 +environ env.% +\'{e}pitre \'{e}p.% +\'{e}pilogue \'{e}pil.% +\'{e}tablissements \'{E}ts% +\'{e}tymologie \'{e}tym.% +exemple ex.% +exp\'{e}diteur exp.% from LG 2002/02/21 +fascicule fasc.% +faubourg fg% +f\'{e}minin f\'{e}m.% +feuillet f.% +figure fig.% +Fr\`{e}re F.% from LG 2002/02/21 +g\'{e}ographie g\'{e}ogr.% +g\'{e}ologie g\'{e}ol.% +g\'{e}om\'{e}trie g\'{e}om.% +graphique graph.% +gravure grav.% +habitants hab.% +hauteur haut.% +iconographie iconogr.% +*illustrations illustr.% 21/01/2002 +inf\'{e}rieur inf.% +introduction introd.% +invariable invar.% +italique ital.% +juridique jur.% +jurisprudence jur.% +*ligne l.% 21/01/2002 +largeur larg.% +latitude lat.% +librairie libr.% +livre liv.% +locution loc.% +longitude long.% +longueur long.% +manuscrit ms.% +manuscrits mss.% +masculin masc.% +math\'{e}matiques math.% +maximum max.% from LG 2002/02/21 +m\'{e}canique m\'{e}can.% +m\'{e}moire m\'{e}m.% +musique mus.% +mythologie myth.% +{Nord} N% +nouveau nouv.% +nouvelle nouv.% +numismatique numism.% +officier O.% from LG 2002/02/21 +{Ouest} O% from LG 2002/02/21 +ouvrage ouvr.% +*page p.% 21/01/2002 +partie part.% +P\`{e}re P.% from LG 2002/02/21 +photographie phot.% +physique phys.% +*planche pl.% 21/01/2002 +reli\'{e} rel.% from LG 2002/02/21 +reliure rel.% +r\'{e}daction r\'{e}d. +route rte% from LG 2002/02/21 +{Sud} S.% +science sc.% +sc\`{e}ne sc.% +section sect.% +{Saint} St% +{Saints} Sts% +{Sainte} Ste% +{Saintes} Stes% +section sect.% from LG 2002/02/21 +si\`{e}cle s.% from LG 2002/02/21 +{soci\'{e}t\'{e}} st\'{e}% 21/01/2002 +{Soci\'{e}t\'{e}} St\'{e}% Yves Perrousseaux 2001/08/03 +substantif subst.% +*suivant suiv.% 21/01/2002 +*suivante suiv.% 21/01/2002 +sup\`{e}rieur sup.% from LG 2002/02/21 +suppl\'{e}ment suppl.% +t\'{e}l\'{e}phone t\'{e}l.% Yves Perrousseaux 2001/08/03 +tome t.% from LG 2002/02/21 +traducteur trad.% +traduction trad.% +variante var% from LG 2002/02/21 +vers v.% from LG 2002/02/21 +voir V% from LG 2002/02/21 +volume vol.% + +% Unit\'{e}s l\'{e}gales : + +*amp\`{e}re A% +*are a% +*bel B% from LG 2002/02/21 +*candela cd% from LG 2002/02/21 +centi c% from LG 2002/02/21 +*centiare ca% +*centigramme cg% +*centilitre cl% +*centim\`{e}tre cm% +d\'{e}ca da% from LG 2002/02/21 +*d\'{e}calitre dal% +d\`{e}cam\`{e}tre dam% +d\'{e}ci d% from LG 2002/02/21 +d\'{e}cibel dB% +d\'{e}cigramme dg% from LG 2002/02/21 +d\'{e}cilitre dl% from LG 2002/02/21 +*franc F% +giga G% from LG 2002/02/21 +*grade gr% +*gramme g% +*hectare ha% +hect h% from LG 2002/02/21 +*hectogramme hg% +*hectolitre hl% +*hectom\`{e}tre hm% +*hertz Hz% from LG 2002/02/21 +*heure h% +*jour j% +*kelvin K% from LG 2002/02/21 +kilo k% from LG 2002/02/21 +*kilogramme kg% +*kilohertz kHz% from LG 2002/02/21 +*kilom\`{e}tre km% +*kilovoltamp\`{e}re kVA% from LG 2002/02/21 +*kilowatt kW% +kilowatt-heure kWh% +kilowatts-heure kWh% +*litre l% +lux lx% from LG 2002/02/21 +m\'{e}ga M% from LG 2002/02/21 +*m\'{e}gahertz MHz% from LG 2002/02/21 +*m\`{e}tre m% +% micro est a introduire qd on aura \mu en romain droit. +milli m% from LG 2002/02/21 +*millibar mbar% +*milligramme mg% from LG 2002/02/21 +*millilitre ml% +*millim\`{e}tre mm% +*milliseconde ms% from LG 2002/02/21 +*minute min% +*mole mol% from LG 2002/02/21 +nano n% from LG 2002/02/21 +*nanoseconde nc% from LG 2002/02/21 +*newton N% from LG 2002/02/21 +*pascal Pa% from LG 2002/02/21 +pico p% from LG 2002/02/21 +*picoseconde ps% from LG 2002/02/21 +quintal q% from LG 2002/02/21 +quintaux q% from LG 2002/02/21 +*radian rad% from LG 2002/02/21 +*seconde s% +*st\`{e}re st% +t\'{e}ra T% from LG 2002/02/21 +*thermie th% from LG 2002/02/21 +*tonne t% +*volt V% +*watt W% +*wattheure Wh% from LG 2002/02/21 + +% Excerpt from ``Lexique des r\`{e}gles typographiques en usage a l'Imprimerie +% nationale'', Abr\'{e}viations, p7-11 and few additions. +% plus other usual (referenced) names. diff --git a/Master/texmf-dist/tex/generic/e-french/german_french-msg.tex b/Master/texmf-dist/tex/generic/e-french/german_french-msg.tex new file mode 100644 index 00000000000..247ca39f95f --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/german_french-msg.tex @@ -0,0 +1,205 @@ +% File french-msg.tex (messages issued by the FrenchPro package) +\msgencoding{ansinew}\msgheader{-\msgid-\space} +%%%%%%% translated by Werner Struckmann, THANKS! %%%%%%%%%%%%%%% +\msg{1}{Der Befehl #1 existiert schon.}{} +\msg{2}{Die Datei #1 wurde nicht gefunden.}{} +\msg{3}{\frenchpack\space ist hier nicht aktiviert\string!}{} +\msg{4}{Der "Poor-Man-French-Style" wurde aktiviert.}{} +\msg{5}{Fehler in der Lettrine-Definition}{} +\msg{6}{Bitte überprüfen Sie den Lettrine-Code.}{} +\msg{7}{Die Lettrine besteht nur aus einem Buchstaben.}{} +\msg{8}{\string\footnotetext{#1} ging verloren. % + \MessageBreak % + Code-Ereignis. \string\protect\string\footnote}{} +\msg{9}{Die Datei language.dat fehlt bzw. ist defekt.}{} +\msg{10}{french package wurde nicht geladen.}{} +\msg{11}{Der \string<\string< frpatch \string>\string> #1 wird angewendet.}{} +\msg{12}{frpatch.sty ist veraltet, bite löschen Sie die Datei.}{} +\msg{13}{Das Zeichen "#1" wurde bereits aktiviert.}{} +\msgheader{-13-\space} +\msg{13b}{Hier können nicht zwei Satzzeichen aufeinanderfolgen.}{} +\msgheader{-\msgid-\space} +\msg{14}{schließende, keine öffnende Guillemets}{} +\msg{15}{Die Sprache \frenchname\space hat die Nummer \the\language}{} +\msg{16}{Die englische Sprache \frenchname\space hat die Nummer \the\language}{} +\msg{17}{\string\wrongtypedspaces\space ist an % + dieser Stelle nicht aktiviert.}{} +\msg*{18}{\frenchname.sty verlangt die Option \string\nofrenchguillemets\space % + für AmSLaTeX.}{} +\msg{19}{Die interne Sprache mit der Nummer \the\language~wird verwendet.}{} +\msg*{20}{WARNUNG\string: Französisch ist in dieser Format-Datei nicht definiert worden.}{} +\msg*{20b}{\frenchname.sty\string: Die Sprache Französisch ist undefiniert. % + (FEHLER\string!)}{} +\msg{21}{#1 ist nicht definiert.}{} +\msg{22}{Die Abkürzung \string"#1\string" wurde nicht gefunden.}{} +\msg*{23}{Package\string: \frenchpack\space\frenchstyleid% + \space(B.Gaulle)}{} +\msg{24}{\frenchname.sty verwendet in diesem Dokument die Font-Encoding % + \f@encoding.}{}% +\msg{25}{\frenchname.sty gibt Meldungen im% + \ifEightBitOutput8-Bit-Mode\else7-Bit-Mode % + "a la TeX"\fi aus.% + ^^J}{} +\msg{26}{In \frenchname.sty\string! % + wurde ein Fehler gefunden % + \MessageBreak % + (s. zum Beispiel die Datei language.dat).}{} +\msg*{27}{\frenchname.sty\string: Die Sprache \l@no\space (#1) hatte ursprünglich % + (beim initex-Lauf) die Nummer \csname l@#1\endcsname\space(FEHLER\string!)}{} +\msg{28}{WARNUNG\string: TeX Version 2 gestattet nicht die Verwendung % + von 8-Bit-Zeichen mit Umlauten.}{} +\msg*{29}{***Warning***\string: TeX mit CM-Fonts % + \MessageBreak % + (wie im aktuellen TeX-Format) kann keine Wörter trennen,% + \MessageBreak % + die Umlaute enthalten.}{} +\msg{30}{FEHLER\string! % + TeX kann im aktuellen Font bzw. in der + \MessageBreak % + aktuellen Codierung, keine Wörter trennen, % + die Umlaute enthalten.}{} +\msg{31}{Fehlerhafte Trennung:\string! % + Bitte überprüfen Sie, ob französische *********** % + \MessageBreak % + Trenntabellen (initex) installiert wurden.\string ***********}{} +\msg{32}{Falls ja, versuchen Sie bitte, T1-kodierte Fonts zu verwenden.% + (\string\usepackage[T1]{fontenc})***}{} +\msg{33}{Überprüfen Sie bitte die Liste auf hexadezimale Codes,% + \MessageBreak % + die nicht dargestellt werden können und entfernen Sie diese ggf. + \MessageBreak % + aus \@kbencoding.kbc.}{} +\msg{34}{Diese und andere Dateien benötigen das % + \MessageBreak % + LaTeX package\string: \frenchpack\string! % + \MessageBreak % + Die weitere Verarbeitung wird abgebrochen.\string!}{} +\msg{35}{kbconfig\string: Neudefinition \string ^\string ^\string Y uccode. % + \MessageBreak % + kbconfig\string: Neudefinition \string ^\string ^\string Z uccode.}{} +\msg{36}{FEHLER\string: Ungültiger Name des LaTeX-Formats % + (\string\fmtname). % + \MessageBreak % + Bitte korrigieren\string: \string\fmtname=LaTeX2e\space.}{} +\msg{36b}{FEHLER\string: non standard LaTeX format % + (\string\fmtname)}{} +\msg{37a}{FEHLER\string: Das French-Package ist schon aktiviert.}{} +\msg{37b}{FEHLER\string: Das French-Package ist noch nicht aktiviert.}{} +\msg{38}{Die Sprache #1 ird als Sprache Nummer \the\workl@ verwendet.}{} +\msg{39}{Error\string: Die Datei language.dat wurde nicht gefunden, versuchen Sie % + die US-englischen Trenntabellen.}{} +\msg*{40}{Die Dateien kb8to7.lex und kb7to8.lex werden erzeugt.}{} +\msg{41}{Die Formatdatei ist veraltet, bitte starten Sie initex zur Erzeugung einer neuen Formatdatei\string!}{} +\msg{42}{Die \frenchname\space Patch-Datei (frpatch.sty) ist für % + \MessageBreak % + diese Version von "\frenchpack" ungeeignet \FSfd}{} +\msg{43}{french.all wird geladen^^J}{} +\msg{44}{FEHLER: der Befehl \LaMacro\space wurde nicht definiert\string!}{} +\msg{45}{\LaMacro wird ausgeführt}{} +\msg{46}{Dieser Befehl wurde bereits in \frenchname.sty definiert.% + \MessageBreak % + Möglicherweise handelt es sich um ein Problem mit \frenchpack\space (\Aboi #1 Befehl)}{} +\msg*{47}{Die Verarbeitung muss leider abgebrochen werden, da diese TeX-Version nicht % + in der Lage ist, 8-Bit-Ausgaben zu erzeugen.\string!}{} +\msg{48}{Die Konfigurationsdatei von \frenchpack wird gelesen.}{} +\msg{49}{Die Guillemets werden zu früh geschlossen.}{} +\msg{50}{FEHLER\string: Die Sprache Französisch wurde in der Datei % + language.dat nicht definiert.}{} +\msg{51}{FEHLER\string: Dieses Dokument wurde nicht in 8-Bit-Code umgewandelt.}{} +\msg*{52}{FEHLER\string: \frenchpack\space arbeitet leider nicht in % + in dieser Minimalumgebung.\string!}{} +\msg{53}{Die Guillemets-Umgebung kann nicht zusammen mit der % + \MessageBreak % + \string\noeveryparguillemets\space Option genutzt werden.}{} +\msg{54}{FEHLER\string: \string\unusedslot\space (\unusedslot) ist ungültig.}{} +\msg{55}{FEHLER \string\unusedslot\space character % + (\@unusedslot) wurde nicht aktiviert.}{} +\msg*{56}{Folgende 8-Bit-Zeichen wurden verarbeitet\string:}{} +\msg{57}{Das Keyboard-Paket #1 wurde für die Font-Kodierung % + \f@encoding geladen.^^J}{} +\msg{58}{Der Wert von #1 wurde ignoriert.}{} +\msg*{59}{Fataler FEHLER\string: Ungewöhnlicher Text wurde erzeugt.}{} +\msg{60}{Hinter \string\etc fehlt ein Punkt.}{} +\msg{61}{Die Datei hyph\hyphchar.tex konnte nicht gefunden werden.}{} +\msg{62}{Es wird eine zusätzliche Trennmusterdatei für Fonts % + mit speziellen Trennzeichen geladen.}{} +\msg{63}{Eine der Dateien french.sty oder frenchle.sty konnte nicht % + gefunden werden. % + \MessageBreak % + Überprüfen Sie, ob die Dateien vorhanden sind.}{} +\msg{64}{FEHLER\string: Ungültige Zeichenkette % + \string\fmtname\space in lplain.tex.}{} +\msg{65}{\frenchname.sty lädt die Übersetzungen für das % + Literaturverzeichnis \string:}{} +\msg*{66}{FEHLER\string! Diese Datei verlangt für die Bearbeitung die % + Deklaration einer Eingabekodierung.}{} +\msg*{67}{WARNUNG: Sie verwenden vermutlich inputenc und keyboard, % + bitte wählen Sie \string!}{} +\msg*{68}{FEHLER\string: \frenchpack\space läuft leider nicht mehr unter % + der LaTeX 2.09 Emulation!}{} +\msg{69}{kbconfig\string: Die Kontrollsequenz zum Löschen einiger Zeichen % + wird unterbrochen.}{} +\msg{70}{kbconfig\string: \string\@tabacckludge\space wird für die % + Mathematikbearbeitung verändert.}{} +\msg{71}{WARNUNG\string: Falls Sie babel verwenden, spezifizieren Sie bitte % + eine der Optionen \frenchname(pro/le).}{} +\msg{72}{kbconfig\string: Die utf8-Kodierung kann nicht mit plain\string % + vervollständigt werden. % + \MessageBreak % + kbconfig\string: Es wird mit Unicode-Zeichen fortgefahren.}{} +\msg*{73}{\frenchname.sty wurde zu früh geladen.}{} +\msg*{74}{FEHLER, die keyboard-Datei wurde nach \frenchpack geladen!}{} +\msg{75}{kbconfig\string: Die utf8-Kodierung konnte durch % + die inputenc-Datei\string nicht gefunden werden. + \MessageBreak % + kbconfig\string: Es wird mit Unicode-Zeichen fortgefahren.}{} +\msg{76}{kbconfig\string: Leider sind keine Sprachabhängigkeiten in % + Plain TeX\string verfügbar.}{} +\msg{77}{Die No #1\space Zeichen sind für Englisch definiert.}{} +\msg*{78}{FEHLER\string: Die Option noutf8 wurde mit unterschiedlichen % + Argumenten gewählt.}{} +\msg*{79}{keyboard.sty\string: Es wurden weder eine lokale Option noch % + die utf8-Kodierung angegeben.}{} +\msg{80}{Babel versucht, die \CurrentOption\space Option zu laden, % + \MessageBreak aber das mlp-Pakest wurde bereits geladen. % + \MessageBreak Bitte wählen Sie entweder mlp mit der % + \MessageBreak \CurrentOption\space Option alleine oder % + \MessageBreak babel mit der \CurrentOption\space option.}% + {\help{LÖschen Sie das überflüssige Paket oder die % + überflüssige Option.}} +\msg*{81}{WARNUNG\string: "Das "msg"-Paket konnte nicht gefunden % + werden.\string; % + \MessageBreak Es wird ohne Fehlermeldungen fortgefahren.}{} +\msg{82}{Der Befehl \LaMacro\space ist nicht definiert.}{} +\msg{83}{Es stehen Test-Makros vor \string\begin{document}^^J}{} +\msg{84}{Diesmal wird NACH \string\begin{document} getestet^^J}{} +\msg{85}{WARNUNG\string: Die Option fixlanguage wurde beim Aufruf von % + babelbib nicht benutzt.}{} +\msg{86}{keyboard.sty\string: Aufgrund der #1\space Option wurde mltex % + nicht verwendet.}{} +\msg{87}{WARNUNG\string: babelbib sollte nur zusammen mit babel % + verwendet werden.}{} +\msg{88}{Durch einen Wechsel der Keyboard Codierung zu `utf8' % + \MessageBreak % + sind keine Zeichen definiert.\MessageBreak}{} +\msg{89}{Das verwendete Zeichen ist\MessageBreak % + in der Keyboard Codierung `utf8' undefiniert.}% + {Sie müssen eine Definition durch % + \noexpand\DeclareInputText\MessageBreak oder % + \noexpand\DeclareInputMath angeben, bevor Sie dieses Zeichen benutzen.} +\msg{90}{Ungültiges Unicode-Zeichen \string < 00A0}{\@eha} +\msg{91}{Das Unicode-Zeichen #1 wurde\space % + für die Verwendung mit LaTeX nicht eingerichtet.}{\@eha} +\msg{92}{Sie sollten entweder \string:\MessageBreak % + - TeX mit der Option MlTeX verwenden oder\MessageBreak % + - per Default zur Kodierung T1 wechseln.}{} +\msg*{93}{Sie verwenden zwei French-Optionen für Babel, % + \MessageBreak % + entscheiden Sie sich bitte für eine.}{} +\msgheader{-**-\space} +\msg*{**a}{Die Serienummer von \frenchpack\space ist *\@FrVal*.}{} +\msg*{**b}{\@FrVal\space von \frenchpack.}{} +\msgheader{} +\msg{*}{Diese Meldung \msgid\space ist im \frenchname\space % + Paket unbekannt.}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/internat.mlp b/Master/texmf-dist/tex/generic/e-french/internat.mlp new file mode 100644 index 00000000000..0e96eead8ac --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/internat.mlp @@ -0,0 +1,54 @@ +% internat.mlp Usual configuration of international options for mlp. +% last mods: 2004/12/14 +% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the international TeX users group +% accepts the modifications. +% +% Group to get in touch for internat.mlp is: ... +% Person to send a message is: ... (defaultly: gaulle@idris.fr) +% +\ProvidesFile{internat.mlp}% + [2004/12/14 international configuration file for mlp package] +\DeclareOption{austrian}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{german}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{english}{\@requirepackage{mlp-01}% original US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{french}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{acadien}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{acadian}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{canadianf}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{canadien}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{frenchle}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{frenchle}{mlp-33}% + }% +\DeclareOption{frenchpro}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{frenchpro}{mlp-33}% + }% +\DeclareOption{dutch}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\DeclareOption{naustrian}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49}% + }% +\DeclareOption{ngerman}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-01.sty b/Master/texmf-dist/tex/generic/e-french/mlp-01.sty new file mode 100644 index 00000000000..342a0946153 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-01.sty @@ -0,0 +1,13 @@ +% mlp-01.sty (the english interface for the mlp package) last mods 2000/09/06 +% +%% +%% checksum = "63302 137 659 7109" +%% +% Notice we load fenglish.sty from the French dist. +\ProvidesFile{mlp-01.sty}% + [2000/09/06 english interface for the mlp package] +\DeclareOption{english}{\PassOptionsToPackage{english}{fenglish}} +\ProcessOptions% Process that option definitely for mlp-01 +\RequirePackage{fenglish}% Load the english package. +\def\@lastoption{english}% The language to start typesetting with. +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-31.sty b/Master/texmf-dist/tex/generic/e-french/mlp-31.sty new file mode 100644 index 00000000000..b72fd25dbd4 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-31.sty @@ -0,0 +1,16 @@ +% mlp-31.sty (the dutch interface for the mlp package) last mods 2000/09/06 +% +%% +%% checksum = "63302 137 659 7109" +%% +% TO DO... +\DeclareOption{dutch}{%\PassOptionsToPackage{dutch}{dutch} +\typeout{^^J*** Dutch Option is still Unprocessed ***} + \typeout{*** MLP don't know which package use! ***} + } +\ProvidesFile{mlp-31.sty}% + [2000/09/06 dutch interface for the mlp package] +\ProcessOptions% Process that option definitely for mlp-31 +%\RequirePackage{dutch}% Load the dutch package. +\def\@lastoption{dutch}% The language to start typesetting with. +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-33.sty b/Master/texmf-dist/tex/generic/e-french/mlp-33.sty new file mode 100644 index 00000000000..a7b4860e10c --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-33.sty @@ -0,0 +1,19 @@ +% mlp-33.sty (the french interface for the mlp package) last mods 2005/03/21 +% +%% +%% checksum = "63302 137 659 7109" +%% +\ProvidesFile{mlp-33.sty}% + [2005/03/21 French interface for the mlp package] +\DeclareOption{french}{\PassOptionsToPackage{french}{french} + \IfFileExists{french.sty}{\def\PackageName{french}} + {\def\PackageName{frenchle}} + } +\DeclareOption{frenchle}{\PassOptionsToPackage{french}{frenchle} + \def\PackageName{frenchle}} +\DeclareOption{frenchpro}{\PassOptionsToPackage{french}{french} + \def\PackageName{frenchpro}} +\ProcessOptions% Process that option definitely for mlp-33. +\RequirePackage{\PackageName}% Load french package. +\def\@lastoption{french}% The language to start typesetting with. +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-49.sty b/Master/texmf-dist/tex/generic/e-french/mlp-49.sty new file mode 100644 index 00000000000..b3b7c274626 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-49.sty @@ -0,0 +1,59 @@ +% mlp-49.sty (the german interface for the mlp package) last mods 2000/09/06 +% +%% +%% checksum = "63302 137 659 7109" +%% +\ProvidesFile{mlp-49.sty}% + [2000/09/06 german interface for the mlp package] +\expandafter% If this coding is not alreadly loaded +\ifx\csname germanTeXmods\endcsname\relax% define the basic cs, + \def\beginlanguage{\german}% the language name cs and + \edef\beginFWdirection{L}% the direction of writing (write Left to right). +\else% + \endinput% else do nothing at all. +\fi% +% A bypass required for other languages because +\let\@SavedCF\captionsfrench% 1) german.sty destroys french captions coding +\let\@SavedCE\captionsenglish% 2) german.sty destroys english captions coding. +\RequirePackage{german}% Load german package. +% The command to initialize all german tools except hyphenation: +\@ifundefined{germanTeXmods}{%................................ \germanTeXmods + \gdef\germanTeXmods{\germanTeX% this is the cs for german.sty + \ifx\captionsnames\captionsgerman\else% + \let\captionsnames\captionsgerman% + \let\date\dategerman% + \let\bibsnames\bibssgerman% + \fi% + \let\switchtolanguage\endgerman% + }% + }{}% +\DeclareOption{german}{\def\beginlanguage{german}}% First language to start. +\ProcessOptions% Process that option (german) defintely. +% The command to set german hyphenation: +% (normally set at INITeX) it should equal to \language=x and nothing else +\@ifundefined{german}{\gdef\german{\relax}}{}% Default............... \german +% The command to do extra things and switch to another language: +\@ifundefined{switchtolanguage}{%............................ \switchtolanguage + \gdef\switchtolanguage#1{#1}}{}% +\let\@enstGORI\switchtolanguage% save original switchtolanguage if any. +\let\germanORI\german% assuming \language=x was set here +\def\endgerman{\no@xtrasgerman% + \let\switchtolanguage\@enstGORI% +% \csname endL\endcsname%stop TeX--XeT 1st direction of writing + \ignorespaces}% but they are not after \end{english} ! +\let\no@xtrasgerman\noextrasgerman% +% The final command to initialize german stuff: +\def\german{\switchtolanguage\germanTeXmods\germanORI%...... Final \german + \ignorespaces}% but they are not after \begin{german} ! +%\german% Don't activate language now, postpone until \begin{document}. +\originalTeX% go back to original stuff +\let\captionsfrench\@SavedCF% restore original \captionsfrench +\let\captionsenglish\@SavedCE% restore original \captionsenglish +\def\@lastoption{german}% The option to start typesetting with. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Let few other packages know that german is loaded. +% +\PassOptionsToPackage{german}{varioref}% +% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-49n.sty b/Master/texmf-dist/tex/generic/e-french/mlp-49n.sty new file mode 100644 index 00000000000..d04f55d8da5 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-49n.sty @@ -0,0 +1,59 @@ +% mlp-49n.sty (the "ngerman" interface for the mlp package) +% last mods 2000/09/06 +%% +%% checksum = "63302 137 659 7109" +%% +\ProvidesFile{mlp-49n.sty}% + [2000/09/06 new-german interface for the mlp package] +\expandafter% If this coding is not alreadly loaded +\ifx\csname ngermanTeXmods\endcsname\relax% define the basic cs, + \def\beginlanguage{\ngerman}% the language name cs and + \edef\beginFWdirection{L}% the direction of writing (write Left to right). +\else% + \endinput% else do nothing at all. +\fi% +% A bypass required for other languages because +\let\@SavedCF\captionsfrench% 1) ngerman.sty destroys french captions coding +\let\@SavedCE\captionsenglish% 2) ngerman.sty destroys english captions coding. +\RequirePackage{ngerman}% Load ngerman package. +% The command to initialize all german tools except hyphenation: +\@ifundefined{ngermanTeXmods}{%................................ \ngermanTeXmods + \gdef\ngermanTeXmods{\ngermanTeX% this is the cs for ngerman.sty + \ifx\captionsnames\captionsngerman\else% + \let\captionsnames\captionsngerman% + \let\date\datengerman% + \let\bibsnames\bibssngerman% + \fi% + \let\switchtolanguage\endngerman% + }% + }{}% +\DeclareOption{ngerman}{\def\beginlanguage{ngerman}}% First language to start. +\ProcessOptions% Process that option (ngerman) defintely. +% The command to set ngerman hyphenation: +% (normally set at INITeX) it should equal to \language=x and nothing else +\@ifundefined{ngerman}{\gdef\ngerman{\relax}}{}% Default............ \ngerman +% The command to do extra things and switch to another language: +\@ifundefined{switchtolanguage}{%............................ \switchtolanguage + \gdef\switchtolanguage#1{#1}}{}% +\let\@enstGORI\switchtolanguage% save original switchtolanguage if any. +\let\ngermanORI\ngerman% assuming \language=x was set here +\def\endngerman{\no@xtrasngerman% + \let\switchtolanguage\@enstGORI% +% \csname endL\endcsname%stop TeX--XeT 1st direction of writing + \ignorespaces}% but they are not after \end{english} ! +\let\no@xtrasngerman\noextrasngerman% +% The final command to initialize ngerman stuff: +\def\ngerman{\switchtolanguage\ngermanTeXmods\ngermanORI%...... Final \ngerman + \ignorespaces}% but they are not after \begin{ngerman} ! +%\ngerman% Don't activate language now, postpone until \begin{document}. +\originalTeX% go back to original stuff +\let\captionsfrench\@SavedCF% restore original \captionsfrench +\let\captionsenglish\@SavedCE% restore original \captionsenglish +\def\@lastoption{ngerman}% The option to start typesetting with. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Let few other packages know that ngerman is loaded. +% +\PassOptionsToPackage{german}{varioref}% +% +\endinput%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp-opts.sty b/Master/texmf-dist/tex/generic/e-french/mlp-opts.sty new file mode 100644 index 00000000000..b260ac2963d --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp-opts.sty @@ -0,0 +1,14 @@ +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% mlp-opts_doc.txt original file name. An idea of Bernard Gaulle 97/10/31 +%% checksum = "55633 14 72 713" +\ProvidesPackage{mlp-opts}[1997/10/31 mlp processing options by --bg /V0.01/]% +\def\@tempa#1#2#3#4#5#6#7#8#9/{\def\@tempa{#1#2#3#4#5#6#7#8.mlp}}% + \expandafter\@tempa\@lastoption xxxxxxxx/% + \expandafter\InputIfFileExists{\@tempa}{}% + {% + \input{internat.mlp}% + }% + \ProcessOptions*% +\endinput% diff --git a/Master/texmf-dist/tex/generic/e-french/mlp.sty b/Master/texmf-dist/tex/generic/e-french/mlp.sty new file mode 100644 index 00000000000..39cc28ddc37 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/mlp.sty @@ -0,0 +1,29 @@ +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% mlp_doc.txt original file name. An idea of Bernard Gaulle 97/10/31 +\ifnum\catcode`\@=11\else\expandafter\catcode`\@=11\fi% +\ifx\@mlp@loaded\undefined\let\@mlp@loaded\relax% +\else\expandafter\endinput\fi% +\ProvidesPackage{mlp}[2004/06/25 The Multi-Lingual Package by --bg /V0.03/]% +\def\@lastoption{}% +\DeclareOption*{\edef\@lastoption{\CurrentOption}% + \PassOptionsToPackage{\CurrentOption}{mlp-opts}% + }% +\ProcessOptions*% +\edef\@required{}% +\def\@requirepackage#1{\protected@edef\@required{\@required% + \protect\RequirePackage{#1}}}% +\def\addcaptionnames#1{\@nodocument#1\expandafter\g@addto@macro% + \csname captions\languagename\endcsname{#1}}% +\def\@tempa{}% +\ifx\@lastoption\empty\input internat.mlp % + \def\@tempa{\ProcessOptions}% + \else% + \def\@tempa{\RequirePackage{mlp-opts}}% +\fi% +\@tempa% +\@required% +\let\@required\undefined\let\@requirepackage\undefined% +\edef\beginlanguage{\expandafter\noexpand\csname \@lastoption\endcsname}% +\endinput% diff --git a/Master/texmf-dist/tex/generic/e-french/ndeutsch.mlp b/Master/texmf-dist/tex/generic/e-french/ndeutsch.mlp new file mode 100644 index 00000000000..b393a01e367 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/ndeutsch.mlp @@ -0,0 +1,40 @@ +% ndeutsch.mlp New german configuration for the mlp package. +% last mods: 2000/09/06 +% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the local or linguistic TeX users group +% accepts the modifications. +% +% Group to get in touch for ndeutschx.mlp is: ... +% Person to send a message is: ... (defaultly: gaulle@idris.fr) +% +% +\ProvidesFile{ndeutsch.mlp}% + [2000/09/06 new german configuration file for mlp package] +\DeclareOption{deutsch}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{englisch}{\@requirepackage{mlp-01}% original US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{franzosisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{franzoesisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{hollandisch}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\DeclareOption{ndeutsch}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +\DeclareOption{noesterreich}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49}% + }% +\DeclareOption{oesterreich}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/noesterr.mlp b/Master/texmf-dist/tex/generic/e-french/noesterr.mlp new file mode 100644 index 00000000000..01e3e48cd2c --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/noesterr.mlp @@ -0,0 +1,40 @@ +% noesterr.mlp New austrian configuration for the mlp package. +% last mods: 2000/09/06 +% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the local or linguistic TeX users group +% accepts the modifications. +% +% Group to get in touch for ndeutschx.mlp is: ... +% Person to send a message is: ... (defaultly: gaulle@idris.fr) +% +% +\ProvidesFile{noesterr.mlp}% + [2000/09/06 new austrian configuration file for mlp package] +\DeclareOption{deutsch}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{englisch}{\@requirepackage{mlp-01}% original US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{franzosisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{franzoesisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{hollandisch}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\DeclareOption{ndeutsch}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +\DeclareOption{noesterreich}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49}% + }% +\DeclareOption{oesterreich}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/oesterre.mlp b/Master/texmf-dist/tex/generic/e-french/oesterre.mlp new file mode 100644 index 00000000000..f9d18b97fbe --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/oesterre.mlp @@ -0,0 +1,40 @@ +% oesterre.mlp Usual austrian configuration for the mlp package. +% last mods: 2000/09/06 +% +% mlp means The Multi-Lingual Package, an idea from --bg 97/11/03 +% +% This file can be modified if the local or linguistic TeX users group +% accepts the modifications. +% +% Group to get in touch for ndeutschx.mlp is: ... +% Person to send a message is: ... (defaultly: gaulle@idris.fr) +% +% +\ProvidesFile{oesterre.mlp}% + [2000/09/06 autrian configuration file for mlp package] +\DeclareOption{deutsch}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\DeclareOption{englisch}{\@requirepackage{mlp-01}% original US english + \PassOptionsToPackage{english}{mlp-01}% + }% +\DeclareOption{franzosisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{franzoesisch}{\@requirepackage{mlp-33}% + \PassOptionsToPackage{french}{mlp-33}% + }% +\DeclareOption{hollandisch}{\@requirepackage{mlp-31}% + \PassOptionsToPackage{dutch}{mlp-31}% + }% +\DeclareOption{ndeutsch}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49n}% + }% +\DeclareOption{noesterreich}{\@requirepackage{mlp-49n}% + \PassOptionsToPackage{ngerman}{mlp-49}% + }% +\DeclareOption{oesterreich}{\@requirepackage{mlp-49}% + \PassOptionsToPackage{german}{mlp-49}% + }% +\AtBeginDocument{\beginlanguage}% +%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/e-french/pmfrench.sty b/Master/texmf-dist/tex/generic/e-french/pmfrench.sty new file mode 100644 index 00000000000..907c9ecce15 --- /dev/null +++ b/Master/texmf-dist/tex/generic/e-french/pmfrench.sty @@ -0,0 +1,12 @@ +% This is pmfrench.sty (informations en francais dans frenchfr.doc) +% After Bernard Gaulle's decease this work is now maintained as +% the e-French project by a group of enthusiast users +% under LPPL copyright as declared in http://www.efrench.org/ +% +% (the "Poor-Man-French" style) --bg 03/01/93 +% last mods: 2000/03/03 +% It can be called via \usepackage{pmfrench} with LaTeX +% +\input french.sty % +\pmfrench % here we tell french to be a lot tolerant! +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 7c569ebdbc7..693311dd909 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -200,7 +200,7 @@ my @TLP_working = qw( dtxtut duerer duerer-latex duotenzor dutchcal dvdcoll dvgloss dviasm dviincl dvipdfmx-def dvipsconfig dynblocks dyntree - ean ean13isbn easy easy-todo easyfig easylist + e-french ean ean13isbn easy easy-todo easyfig easylist ebezier ebgaramond ebgaramond-maths ebong ebook ebproof ebsthesis ec ecc ecclesiastic ecltree eco economic ecv ed edfnotes edmac edmargin ednotes eemeir eepic efbox egameps diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 8cd85ac55b4..e79db74b2d0 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -349,7 +349,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'dtxtut', "&setup", # straight copy 'duplicat', "die 'skipping, use piff'", 'dutchcal', "&MAKEcopy", - 'e-french', "&MAKEflatten", 'easy', "&MAKEeasy", 'easylatex', "die 'skipping, complicated perl modules, sorry'", 'ean13isbn', "&MAKEcopy", @@ -1211,6 +1210,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'dehyph-exptl' => '&POSTdehyph_exptl', 'doipubmed' => '&POSTlatex2html', 'download' => '&POST_savepdf', + 'e-french' => '&POSTe_french', 'encxvlna' => '&POSTencxvlna', 'enigma' => '&POSTenigma', 'eplain' => '&POSTeplain', @@ -1305,6 +1305,7 @@ $standarddest = "texmf-dist"; 'dad', 'lualatex', 'dehyph-exptl','generic', 'dratex', 'generic', + 'e-french', 'generic', 'edmac', 'generic', 'eijkhout', 'generic', 'enctex', 'generic', @@ -1809,6 +1810,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|fontspec|cmap|4ht)$'; 'doc-pictex', 'generic', 'dozenal', 'fonts', 'dratex', 'generic', + 'e-french', 'generic', 'eco', 'fonts', 'economic', 'bibtex', 'edmac', 'generic', @@ -5448,6 +5450,13 @@ sub POSTdehyph_exptl { print "POST$package - *YOU* must update tlpsrc directives, right now!\n"; } +sub POSTe_french { + print "POST$package - move directories around\n"; + &mv_with_mkdir ("french/*.ist", "$DEST/makeindex/$package"); + &SYSTEM ("$MV french $DEST/tex/$whichformat/$package"); + &SYSTEM ("$MV doc/* ."); +} + sub POSTencxvlna { print "POST$package - .tex name conflict\n"; &SYSTEM ("$MV doc/* ."); diff --git a/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc b/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc index 2278b3ca2be..251f16a008b 100644 --- a/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-langfrench.tlpsrc @@ -14,6 +14,7 @@ depend bib-fr depend bibleref-french depend booktabs-fr depend droit-fr +depend e-french depend epslatex-fr depend facture depend frenchle diff --git a/Master/tlpkg/tlpsrc/e-french.tlpsrc b/Master/tlpkg/tlpsrc/e-french.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3