diff options
author | Karl Berry <karl@freefriends.org> | 2015-08-17 22:40:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-08-17 22:40:41 +0000 |
commit | fd197ed645cbd2c9535802a6f33e28b6dfcf3bb3 (patch) | |
tree | b15b7ae3df01aa588e72acfbe4b35092681df685 /Master/texmf-dist/doc/generic/e-french | |
parent | c8f75ec470f047e10ae646187bffc9745d25bcb3 (diff) |
e-french (17aug15)
git-svn-id: svn://tug.org/texlive/trunk@38141 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/e-french')
27 files changed, 14430 insertions, 0 deletions
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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> +<head><title>changements e-French</title> +<meta name="author" content="Raymond Juillerat"> +<meta name="copyright" content="LPPL - e-French"> +<meta name="keywords" content="FrenchPro eFrench LaTeX TeX LPPL"> +<meta name="changements" content="The package e-French is under LPPL copyright"> +<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> +<meta http-equiv="content-type" content="text/html"> +<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> +</head> +<body> +<h2>Historique très résumé</h2> +L'historique svn complet du projet est disponible à l'adresse : +<a href="http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/" title="dépôt"> +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/</a> <BR /> + +Ce fichier en est un résumé lisible pour les utilisateurs, présenté par ordre +chronologique inverse.<BR /> +<table border=0 summary=""> + <tr> + <td> </td> + </tr> + <tr> + <td colspan="3">2012-05-28</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">Le manuel frenchle.pdf pour frenchle dont Bernard Gaulle s'est occupé jusqu'à + fin mai 2007 a été repris et mise à jour.</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td colspan="3">2012-03-07</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">la foire aux questions (FAQ) dont Bernard Gaulle s'est occupé jusqu'à + fin mai 2007 a été reprise et mise à jour.</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td colspan="3">2011-09-26</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">révision due au conflit dû à \arabic aussi utilisé pour la langue + arabe. Il faut utiliser \arabicLang à la place.<br /> + \<langue>Lang corrigerait + tout autre conflit de ce genre, s'il y en a</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td colspan="3">2010-08-07</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">première version sur le CTAN</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">révision de l'installateur</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">suppression du contrôle de licence</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">révision de l'installateur</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td colspan="3">2009-11-11</td> + </tr> + <tr> + <td valign="top"> -</td> + <td colspan="2">naissance officielle du projet, sur + <a href="http://projects.tuxfamily.org/#%3Fdo%3Dgroup%3Bname%3Defrench" title="efrench"> + http://projects.tuxfamily.org/?do=group;name=efrench</a></td> + </tr> +</table> +</body></html> + 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> +<head><title>historique e-French</title> +<meta name="author" content="Raymond Juillerat"> +<meta name="copyright" content="e-French"> +<meta name="keywords" content="FrenchPro eFrench LaTeX TeX LPPL"> +<meta name="description" content="The package e-French is under LPPL copyright"> +<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> +<meta http-equiv="content-type" content="text/html"> +<meta http-equiv="content-type" content="application/xhtml+xml"> +<meta http-equiv="content-style-type" content="text/css"> +<meta http-equiv="expires" content="0"> +</head> +<body> +<h1>e-French succède à FrenchPro</h1> +<ol> + <li><a href="#french" title="">Explications en français</a></li> + <li><a href="#engl" title="">Copyright and short history</a></li> + <li>Les<a href="distributions"> distributions</a> + pour <a href="distributions/eFre4Lnx.tar.gz">unix-linux</a> + et <a href="distributions/eFre4Win.zip">Windows</a> </li> + <li><a href="bases">Les bases </a>des distributions</li> + <li><a href="http://www.efrench.org/Wiki"> Le Wiki </a></li> +</ol> <a name="french"></a> +<h2>Quelques explications</h2> +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. +<p>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.</p> +Le projet e-French est maintenu par <a href="http://www.laurent-bloch.org/spip.php?article166">Laurent Bloch</a> + 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 sous<a href="http://www.latex-project.org/lppl.txt">http://www.latex-project.org/lppl.txt</a> + <div style="text-align: center"> <br> <font size="+2" color="#050000"> + N'oublions pas que<br> nous devons ce grand'œuvre essentiellement à <br> + son premier et principal auteur, Bernard Gaulle </font> <br> + <br></div> +<hr color="00ffff"> + +<a name="engl"> +<h2>About the e-French Package, here «This work»</h2></a> +<p>Copyright 2010 eFrench Group</p> +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 <a href="http://www.latex-project.org/lppl.txt"> +<nobr>http://www.latex-project.org/lppl.txt</nobr></a> +and version 1.3 or later is part of all distributions of LaTeX<br/> +version 2005/12/01 or later.<br/> +<p>This work has the LPPL maintenance status «maintained».</p> +The Current Maintainer of this work is Laurent Bloch. +<p>This work consists of all files of the SVN repository +efrench/efrenchsource, under http://svn.tuxfamily.org/ or +<a href="http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources"> here </a> +and a copy <a href="http://www.efrench.org/bases/">is maintained here.</a></p> +The authors are the committers allowed by the maintainer. +<hr size="3" color="0000ff"> +<h2>History</h2> +<h3>Birth of eFrench</h3> +eFrench is born in order to keep up to date French for (La)Tex + +and maintain it available for future users. +<p>French for (La)Tex, is the result of a fifteen years work of its creator, +<i><font size="1" color="#050000"></font>Bernard Gaulle</i> +<p>Copyrighted by Gaulle-GUTenberg 1992-1998, B. Gaulle 1999-2007.</p> +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.</p> +Since Nov. 11., 2009 maintained as eFrench by Laurent Bloch +(lb -at- laurentbloch.org) +<div style="text-align: center"> + <br> + <font size="+2" color="#050000">The credit for this piece of work remains with <br> + the first and main author, Bernard Gaulle </font> <br> + <br></div> + </body> + </html>
\ 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 Binary files differnew file mode 100644 index 00000000000..f709545b851 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Lnx.pdf 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 Binary files differnew file mode 100644 index 00000000000..fd27e293ea2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/MiniDocEf_Win.pdf 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 <http://www.laurentbloch.org/MySpip3/spip.php?article166> + +(/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 <http://www.laurentbloch.org/MySpip3/spip.php?article166> 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 Binary files differnew file mode 100644 index 00000000000..9948795a453 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/install/Probl_Msg.pdf 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 +<http://mirror.ctan.org/tex-archive/macros/latex/contrib/msg/> +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 +<http://www.efrench.org/distributions/e-fr_msg/> + + + 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>Licence e-French</title> +<meta name="author" content="Raymond Juillerat"> +<meta name="copyright" content="e-French"> +<meta name="keywords" content="FrenchPro eFrench LaTeX TeX LPPL"> +<meta name="description" content="The package e-French is under LPPL copyright"> +<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> +<meta http-equiv="content-type" content="text/html"> +<meta http-equiv="content-type" content="application/xhtml+xml"> +<meta http-equiv="content-style-type" content="text/css"> +<meta http-equiv="expires" content="0"> +</head> +<body> +(French version below.) +<h1>Licence statement for the eFrench bundle</h1> +<table border="0" > + <tr> + <td>Copyright 1992-1998</td> + <td>association GUTenberg & Bernard Gaulle</td> + </tr> + <tr> + <td>Copyright 1999-2007</td> + <td>Bernard Gaulle <i>(shareware)</i></td> + </tr> + <tr> + <td>Copyright 2010-2011</td> + <td>contributors to the eFrench project</td> + </tr> + <tr> + <td></td> + <td>(Laurent Bloch, Raymond Juillerat, + Manuel Pégourié-Gonnard)</td> + </tr> +</table> +<p align="left">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.</p> +<p align="left">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 + <a href="http://www.latex-project.org/lppl.txt" title="lppl">http://www.latex-project.org/lppl.txt</a> +and version 1.3 or later and is part of all distributions of LaTeX +version 2005/12/01 or later.</p> +<p>This work has the LPPL maintenance status `maintained'.</p> +<p>The Current Maintainers of this work are the eFrench project contributors.</p> +<p>This work consists of the files found at +<a href="http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/" title="efrench"> +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/</a> +and derived files.</p> +<h2>Notice de licence pour le project eFrench</h2> +<table border="0"> + <tr> + <td>Copyright 1992-1998</td> + <td>association GUTenberg & Bernard Gaulle</td> + </tr> + <tr> + <td>Copyright 1999-2007</td> + <td>Bernard Gaulle <i>(shareware)</i></td> + </tr> + <tr> + <td>Copyright 2010-2012</td> + <td>contributeurs du projet eFrench</td> + </tr> + <tr> + <td></td> + <td>(Laurent Bloch, Raymond Juillerat, + Manuel Pégourié-Gonnard)</td> + </tr> +</table> +<p>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 <a href="http://www.latex-project.org/lppl.txt" title="lppl"> +http://www.latex-project.org/lppl.txt</a>. +</p> +<p>Ce projet est constitué des fichiers disponibles en +<a href="http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/" title="efrench"> +http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/</a> +et des fichiers dérivés. +</p> +</body> +</html> + 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 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>lisez-moi e-French</title> +<meta name="author" content="rai" > +<meta name="copyright" content="e-French"> +<meta name="keywords" content="FrenchPro eFrench LaTeX TeX LPPL"> +<meta name="description" content="The package e-French is under LPPL copyright"> +<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> +<meta http-equiv="content-type" content="text/html"> +<meta http-equiv="content-type" content="application/xhtml+xml"> +<meta http-equiv="content-style-type" content="text/css"> +<meta http-equiv="expires" content="0"> +</head> +<body> +<h1>eFrench - typographie française pour LaTeX</h1> +<p>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.</p> +<p>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).</p> +<p>Le projet eFrench est maintenu par une petite équipe formée autour de Laurent +Bloch, et hébergé par Tux Family : +<a href="http://projects.tuxfamily.org/#%3Fdo%3Dgroup%3Bname%3Defrench" title="efrench"> +http://projects.tuxfamily.org/?do=group;name=efrench</a> +</p> +<p align="center"><font size="+1">N'oublions pas que nous devons ce grand'œuvre <br /> + essentiellement à son premier et principal auteur,<br /> + Bernard Gaulle. +</font></p> +</body> +</html> + 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> + <title>Passer de FrenchLe à eFrench</title> + </head> + <body bgcolor="#FFD0CC"> + <p style="height: 82px;"><br /> + </p> + <h1 style= "text-align: center;">Comment passer de + FrenchLe à eFrench<br /> + </h1> +<h2>C'est assez simple</h2> + <p><br /> + </p> + <p><br /> + </p> +<h3>L'extension frenchle.sty selon FrenchLe est un extrait de french.sty selon eFrench </h3> + <p>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.<br /> +<table border=0 summary=""> + <tr> + <td>- </td> + <td colspan="2">remplacer "frenchle" par "french" dans l'instruction \usepackage qui l'appelle.</td> + </tr> + <tr> + <td>- </td> + <td colspan="2">s'il est utilisé renommer le fichier frenchle.cfg en french.cfg et l'adapter. </td> + </tr> + <tr> + <td></td><td>- </td> + <td> dans ce fichier, désactiver ce qui concerne '«' ET '»', si cette partie était active </td> + </tr> +</table> + </p> +<h3>Bien du plaisir à eFrench</h3> + </body> +</html> + 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> + <title>Passer de FrenchPro à eFrench</title> + </head> + <body bgcolor="#FFD0CC"> + <p style="height: 82px;"><br /> + </p> + <h1 style= "text-align: center;">Comment passer de + FrenchPro à eFrench<br /> + </h1> +<h2>Rien de plus simple</h2> + <p><br /> + </p> + <p><br /> + </p> +<h3>Les modules french.sty sont compatibles </h3> + <p>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é.<br /> + <h3>Le test de licence Partagiciel a été supprimé</h3> +C'est la grande différence. Cette version tourne sous LPPL. + </p> + <p><br /> +<h3>Le système a été allégé </h3> +<table border=0 summary=""> + <tr> + <td>- </td> + <td>Le fichier language.dat est totalement géré par TeXLive ou MikTeX. + Il suffit de charger la langue française.</td> + </tr> + <tr> + <td>- </td> + <td>Bien d'autres éléments dépassés et devenus inutiles ont été supprimés de la distribution.</td> + </tr> +</table> + </p> +<h3>Bien du plaisir à eFrench</h3> +</body> +</html> diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf Binary files differnew file mode 100644 index 00000000000..089e9942bea --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/efrench.pdf diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf Binary files differnew file mode 100644 index 00000000000..ae277032203 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/faq.pdf 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 Binary files differnew file mode 100644 index 00000000000..2291a6d0eb4 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/french_doc.pdf diff --git a/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf b/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf Binary files differnew file mode 100644 index 00000000000..2e84de1c750 --- /dev/null +++ b/Master/texmf-dist/doc/generic/e-french/manuels/frenchle.pdf 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}{<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}{<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}{<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{<a@\texttt{\inferieura\relax\inferieura}}% +\index{<b@\leftguillemets}% +\end{itemize} +\end{itemize} +\noindent Par ailleurs : +\begin{itemize} +\item les guillemets (<< et >>) 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{\inferieura\relax\inferieura}}% +\index{<b@\leftguillemets}% +\index{>a@\texttt{\superieura\relax\superieura}}% +\index{>b@\rightguillemets}% +\index{guillemets!<<a@\texttt{\inferieura\relax\inferieura}}% +\index{guillemets!<<b@\leftguillemets}% +\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!<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 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{<Laurent Bloch>}}% +%\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{<efrench.org>}}% +\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. <http://frenchpro6.com/frenchpro/french/initex/>. +%25. <http://frenchpro6.com/frenchpro/french/initex/>. +%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. <http://frenchpro6.com/frenchpro/french/inputs/french/>. +%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. <http://frenchpro6.com/frenchpro/french/inputs/>. +%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. <http://frenchpro6.com/frenchpro/french/inputs/keyboard/>. +%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. <http://svn.tuxfamily.org/viewvc.cgi/efrench_efrenchsources/trunk/doc/msg.pdf>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. <http://mirror.ctan.org/tex-archive/language/french/frenchle/frenchle.pdf>. +%32. <http://frenchle.free.fr/>. +%33. <http://mirror.ctan.tug.org/tex-archive/language/french/>. +%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. <http://frenchpro6.com/french.html>.efrench.org +%35. <http://mirror.ctan.tug.org/TeX-archive/language/french/frenchpro/>. +%36. <http://frenchpro6.com/frenchpro/french/ALIRE.pdf>. +%37. <http://frenchpro6.com/frenchpro/french/doc/artET98.pdf>. +%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. <http://frenchpro6.com/frenchpro/french/engines/>. +%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. <http://frenchpro6.com/frenchpro/french/engines/fptex.pdf>.1.3 +%49. <http://frenchpro6.com/frenchpro/french/engines/tetex.pdf>. +%50. <http://frenchpro6.com/frenchpro/french/engines/miktex.pdf>. +%51. <http://frenchpro6.com/frenchpro/french/GNUmakefile>. +%52. <http://frenchpro6.com/frenchpro/french/makefile.gen>. +%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. <http://frenchpro6.com/frenchpro/french/TDSfr.pdf>.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. <http://frenchpro6.com/frenchpro/french/doc/artET98.pdf>. +%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 <language> were \<language> already +% exists and would enter in conflict with. Language switch is made with +% \<language>Lang and the context is defined with \<language>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 \<language>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 + <b.o.i>##2Lang commute sur langue ##2 = = = =}% V5,9995 + \typeout{eFrench Info : % V5,9995 + et <b.o.i>##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 <jbezos@mx3.redestb.es> +\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{<efrench.org>}}% +\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. <http://frenchpro.free.fr/FAQ.pdf>. +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. <http://frenchle.free.fr/>. +%6. <frenchlebg -chez- free.fr> +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}{<l'équipe eFrench>}{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% |