2 % This is frenchle.sty (informations en francais ci-dessous.tex)
3 % This is the light version of THE multilingual "FrenchPro" package for LaTeX.
4 % Copyright Bernard Gaulle, 2000-2005, Copyright notice is LPLL.
5 %% checksum = "44374 1961 3022 79243"
6 % If you want to have informations about the professional version
7 % ask Bernard GAULLE <frenchprobg -At- free.fr>, otherwise <frenchlebg -AT- free.fr>.
9 % Cette extension << french allegee >> a pour objectif de resoudre un maximum
10 % de problemes de francisation de LaTeX sans avoir a connaitre la moindre
11 % commande complementaire ; la seule chose a faire est de saisir :
12 % \usepackage{frenchle} si vous travaillez sans babel ;
13 % \usepackage[frenchle]{babel} sinon ; dans ce cas il faut
14 % avoir installe frenchle.ldf en plus de frenchle.sty
15 % OU \usepackage[french]{babel} et dans ce dernier cas il faut avoir
16 % installe french.ldf en plus de frenchle.sty.
17 % mais le mieux avec babel est de coder : \documentclass[french]{classe}
18 % puis : \usepackage{babel}
19 % car ainsi l'option french est passée a toutes les extensions.
20 % L'extension frenchle fait plein de choses pour vous au niveau typographique
21 % (espacement de la ponctuation, composition des notes, etc.) ainsi que
22 % pour la mise en page (figures, tableaux, listes, etc.), la traduction des
23 % libelles usuels de LaTeX ou enfin la francisation des classes de documents
24 % dont la classe << letter >>.
25 % La documentation a propos de frenchle est disponible sur le serveur
26 % a l'url http://frenche.free.fr/frenchle.pdf ou sur ctan.
28 % Concernant la cesure des mots il est necessaire que votre format LaTeX
29 % contienne les motifs de cesure du francais. Consultez a ce sujet la
30 % FAQ de francisation a http://www.frenchpro6.com/screen.pdf/FAQscreen.pdf
33 % La version professionnelle peut vous apporter encore plein d'autres
34 % facilites. Si vous ne trouvez pas la documentation a ce sujet, demandez-la
35 % a Bernard Gaulle <frenchprobg -CHEZ- free.fr>.
37 \expandafter\ifx\csname frenchTeXmods\endcsname\relax%
39 \def\frenchname{frenchle}%
40 \def\frenchpack{frenchle}%
42 \def\ds@pmfrench{\pmfrench}%
44 \ifx\@unexpandable@protect\undefined\let\protect\empty%
45 \else\let\protect\@unexpandable@protect%
47 \xdef\FSfd{18 f\'evrier 2005}%
49 \xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}%
51 \edef\FSfd{2005/02/18 }%
52 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
53 \let\auxWARNINGi=\@gobble%
55 \def\@gobbleopt[#1]{}%
56 \def\f@issue#1#2{#1{#2}\@ifnextchar[{\@gobbleopt}{}%
59 \def\ErrFrench{\f@issue\@fW{-26- %
60 \@txt@msg{Erreur d\'etect\'ee dans \frenchname.sty !}%
61 \@txt@msg{(voir p.ex. le fichier language.dat)}%
63 \def\ifFTY{\ErrFrench}\def\ifFTR{\ErrFrench}\def\ifFG{\ErrFrench}%
64 \def\ifFLA{\ErrFrench}\def\ifFMA{\ErrFrench}\def\ifFH{\ErrFrench}%
65 \def\ifArG{\ErrFrench}\def\ifFTSW{\ErrFrench}\def\ifFW{\ErrFrench}%
66 \edef\GOfrench{`\string @}%
67 \ifnum\catcode\GOfrench=11%
69 \else\edef\resetat{\noexpand\catcode\GOfrench=\the\catcode\GOfrench}%
71 \let\@currnameORI\@currname%
72 \xdef\@currname{\frenchname}%
74 \ProvidesPackage{\frenchname}%
75 [\FSfd\space The \frenchpack\space package /\FSfv/]%
77 \def\GOfrench{babel}\ifx\@currnameORI\GOfrench%
78 \ifx\undefined\babel@core@loaded\input babel.def\relax\fi%
79 \ifx\undefined\babel@core@loaded%
80 \let\babel@core@loaded\main@language\fi%
83 \IfFileExists{frlpatch.sty}{\def\FSfd@patch{unknown}}{\let\FSfd@patch\FSfd}%
85 \f@issue\typeout{^^J -68-
86 \@txt@msg{ERROR: \frenchpack\space is no more running }%
87 \@txt@msg{with 2.09 emulation, sorry!}%
90 \ifx\l@french\undefined\f@issue\typeout{^^J -20-
92 \@txt@msg{the French language is undefined in your format.}%
95 \fontencoding{\encodingdefault}\selectfont%
96 \def\@temp@{OT1}\ifx\@temp@\f@encoding%
97 \def\@temp@{\global\ECMfalse}%
98 \else\def\@temp@{LO1}\ifx\@temp@\f@encoding%
99 \def\@temp@{\global\ECMfalse}%
101 \def\@temp@{\global\ECMtrue}%
105 \def\@tempa{\let\ifEightBitOutput\iffalse}%
106 \ifx\EightBitOutputfalse\undefined\expandafter\@tempa\fi%
107 \ifECM\else\ifx\charsubdef\undefined%
108 \def\@tempa{\noexpand\dGs}%
109 \ifx\@tempa\dGs\else%
110 \ifx\@kb@msgIIIX\relax\else%
111 \f@issue\typeout{^^J -29- %
112 \@txt@msg{***Warning***\string: TeX engine in use along with CM fonts}%
113 \@txt@msg{(as in current TeX format) isn't sufficient to hyphenate}%
114 \@txt@msg{words containing diacritics (like in French).}%
119 \ifx\undefined\@dblarg%
120 \long\def\@dblarg#1{\@ifnextchar[{#1}{\@xdblarg{#1}}}}%
121 \long\def\@xdblarg#1#2{#1[{#2}]{#2}}%
124 \def\usualmessages{\let\ifEightBitOutput\iftrue}%
125 \ifnum\inputlineno=-1\def\@o@l{.}%
126 \else\def\@o@l{ (\`a la ligne \the\inputlineno).}\fi%
127 \expandafter\let\expandafter\@aiguORI\expandafter=%
128 \csname OT\string1\string\'\endcsname%
129 \expandafter\let\expandafter\@gravORI\expandafter=%
130 \csname OT\string1\string\`\endcsname%
131 \expandafter\let\expandafter\@acchORI\expandafter=%
132 \csname OT\string1\string\^\endcsname%
133 \expandafter\let\expandafter\@tremORI\expandafter=%
134 \csname OT\string1\string\"\endcsname%
135 \expandafter\let\expandafter\@cediORI\expandafter=%
136 \csname OT\string1\string\c\endcsname%
138 \ifx\today\undefined\let\today\cejour\fi%
139 \ifx\today\undefined\f@issue\typeout{^^J -52- %
140 \@txt@msg{Error: the \frenchpack\space package doesn't run in }%
141 \@txt@msg{such minimal document class, sorry!}%
144 {\def\GOfrench{\global\let\ifEightBitOutput\iffalse}%
145 \let\add@accent\@gobble\edef\@tempa{\`{}}%
146 \def\@tempb{{\setbox \@tempboxa \hbox {}\accent 18 }}%
152 \def\@fW#1{{\let\@nobraces\@firstofone%
154 \setbox\@tempboxa\hbox{\`\space}%
155 \ifx\charsubdef\undefined\else%
156 \let\add@accent\@gobble%
157 \def\'##1{\expandafter\@nobraces\@aiguORI##1}%
158 \def\`##1{\expandafter\@nobraces\@gravORI##1}%
159 \def\^##1{\expandafter\@nobraces\@acchORI##1}%
162 \let\protect\string\let\add@accent\@gobble%
164 \edef\@tempa{#1}\typeout{\@tempa}}}%
167 \@fW{^^J -23- \@txt@msg{Extension \string : \frenchpack\space}%
168 \@txt@msg{\frenchstyleid\space(B.Gaulle)}%
172 \def\@fw#1{{\let\@NoFr\relax%
174 {^^J \frenchname.sty \string : #1\@o@l}%
178 \ifx\kbtypeout\undefined%
179 \def\@kbtypeout[#1]#2{\ifEightBitOutput\let\@typeset@protect\protect\fi%
180 \let\@inpenc@undefined@\@gobble%
181 \edef\f@tempa{#2\empty}%
182 #1{\f@tempa}\egroup}%
183 \def\kbtypeout{\kbIO[\typeout]}%
185 \ifECM\fontencoding{OT1}\selectfont\fi%
187 \let\@nobraces\@firstofone%
190 \def\'##1{\expandafter\@nobraces\@aiguORI##1}%
191 \def\`##1{\expandafter\@nobraces\@gravORI##1}%
192 \def\^##1{\expandafter\@nobraces\@acchORI##1}%
193 \def\"##1{\expandafter\@nobraces\@tremORI##1}%
194 \def\c##1{\expandafter\@nobraces\@cediORI##1}%
195 \csname @kbspecials\endcsname%
197 \let\add@accent\@gobble%
198 \def\set@display@protect{\let\protect\noexpand}%
202 \ifx\@kbtypeout\undefined%
203 \def\@kbtypeout[#1]#2{#1{#2}\egroup}%
205 \def\@tempb{\let\ifEightBitOutput\iffalse}%
206 \ifx\kbtypeout\typeout%
207 \long\def\@tempa{\add@accent{19}}%
208 \ifx\@tempa\@aiguORI\expandafter\@tempb\fi%
209 \def\@fw#1{\ifFW\bgroup\let\@nobraces\@firstofone%
211 \ifx\charsubdef\undefined\else%
212 \def\'##1{\expandafter\@nobraces\@aiguORI##1}%
213 \def\`##1{\expandafter\@nobraces\@gravORI##1}%
216 \let\protect\string\let\add@accent\@gobble%
218 \@kbtypeout[\typeout]{^^J \frenchname.sty \string : #1\@o@l}%
222 \def\@Ffnt#1{\f@issue\@fw{-2- \@txt@msg{fichier #1 non trouv\'e}%
224 \def\@finput#1{\InputIfFileExists{#1}{}{\@Ffnt{#1}}}%
225 \def\@NoFr{\f@issue\@fw{-3- %
226 \@txt@msg{\frenchpack\space n'est pas actif ici !}%
228 \let\ifFrench\iffalse%
229 \ifx\addto\undefined%
230 \def\addto#1#2{\ifx#1\@undefined\def#1{#2}%
231 \else\ifx#1\relax\def #1{#2}%
232 \else{\toks@\expandafter{#1#2}%
233 \xdef#1{\the\toks@}}%
238 \def\fraddto#1#2{\addto{#1}{#2}%
239 \ifFrench\french\else\english\fi}%
240 \ifx\MakeRobustCommand\undefined%
241 \def\MakeRobustCommand#1{\expandafter\expandafter\expandafter%
242 \let\expandafter\expandafter\csname #1 \endcsname%
243 \csname #1\endcsname%
245 \edef\csname #1\endcsname{\expandafter\protect%
246 \expandafter\noexpand\csname #1 \endcsname}
249 \ifx\DocInput\undefined\else%
250 \let\fr@di\DocInput\def\DocInput#1{%
251 \ifFrench\english\fr@di{#1}\french%
255 \ifx\url\undefined\else%
256 \let\fr@ul\url\def\url#1{%
257 \ifFrench\english\fr@ul{#1}\french%
261 \ifx\xy\undefined\else%
262 \let\fr@xy\xy\def\xy{%
263 \ifFrench\nofrenchguillemets\DFPdp\fi\fr@xy}%
265 \ifx\hyper@n@rmalise\undefined\else%
266 \let\fr@hne\hyper@n@rmalise\def\fr@hnr#1#2{\fr@hne{#1}{#2}}%
267 \def\hyper@n@rmalise{\ifFrench\english\expandafter\fr@hnr%
268 \else\expandafter\fr@hne\fi}%
270 \ifx\PDFSCR@Info\undefined\else%
271 \def\@seccntformat#1{\protect\textcolor{section\thesection@level}%
272 {\expandafter\upshape\csname the#1\endcsname}\quad}%
274 \ifx\listing\undefined\else%
276 \edef\listing{\noexpand\@protected@testopt\noexpand\listing%
277 \expandafter\noexpand\csname\string\listing\endcsname {1}}%
280 \ifFrench\expandafter\english\expandafter\fr@li%
281 \else\expandafter\fr@li%
285 \ifFrench\expandafter\english\expandafter\fr@li%
286 \else\expandafter\fr@li%
290 \ifx\inputlisting\undefined\else%
291 \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{%
292 \ifFrench\english\fr@PL[#1]\french%
296 \ifx\lstlisting\undefined\else%
297 \let\fr@lsi\lstlisting\long\def\lstlisting{%
298 \ifFrench\expandafter\english\expandafter\fr@lsi%
299 \else\expandafter\fr@lsi%
302 \ifx\lstinputlisting\undefined\else%
303 \let\fr@PL\lst@ProcessListing\def\lst@ProcessListing[#1]{%
304 \ifFrench\english\fr@PL[#1]\french%
308 \def\@ifFTYfalse{\let\ifFTY\iffalse}%
309 \def\@ifFTYback{\let\ifFTY\if@Back}%
313 \@txt@msg{\frenchname.sty utilise dans ce document le codage de fonte }%
314 \@txt@msg{\f@encoding.^^J}%
317 \@fW{ -25- \@txt@msg{\frenchname.sty affiche ici ses messages en }%
318 \@txt@msg{\ifEightBitOutput8-bits.\else7-bits << \string\`a la TeX >>.\fi}%
321 \def\CheckSevenBits/#1{\def\@tempa##1##2/##3{\ifx##2\empty\else%
324 \@txt@msg{ERREUR : ce document n'a pas \'et\'e converti en 8-bits...}%
326 \expandafter ##3\fi}\expandafter\@tempa\noexpand#1}%
327 \@ifundefined{tt}{\def\tt{\fontfamily{\ttdefault}\selectfont}}{}%
328 \edef\lq{\string`}\edef\rq{\string'}%
330 \edef\lqq{\string`\string`}\edef\rqq{\string'\string'}%
331 \edef\pointvirgule{\string;}%
332 \edef\deuxpoints{\string:}%
334 \edef\pointexclamation{\string!}%
335 \edef\pointinterrogation{\string?}%
336 \edef\inferieura{\string<}%
337 \edef\superieura{\string>}%
338 \edef\dittomark{\string"}%
341 \def\@SRQ@{^\bgroup\prim@s}%
342 \def\@SRQ{\ifmmode\expandafter\@SRQ@\else\rq\fi}%
344 \let\@noBDfr\@nodocument%
345 \def\frenchhyphenation{\@noBDfr}%
346 \def\nofrenchhyphenation{\@noBDfr}%
347 \def\frenchtypography{\@noBDfr}%
348 \def\regularmathcomma{\@noBDfr}%
349 \def\frenchmathcomma{\@noBDfr}%
350 \def\frenchwarnings{\@noBDfr}%
351 \def\nofrenchwarnings{\@noBDfr}%
352 \def\nofrenchtypography{\@noBDfr}%
353 \def\nofrenchtranslation{\@noBDfr}%
354 \def\frenchtranslation{\@noBDfr}%
355 \ifx\RIfM@\undefined%
356 \def\nofrenchguillemets{\@noBDfr}%
357 \def\frenchguillemets{\@noBDfr}%
359 \global\let\ifCLAfrench\iffalse%
360 \def\ConstantLayout{\@noBDfr}%
361 \def\nofrenchmacros{\@noBDfr}%
362 \def\frenchmacros{\@noBDfr}%
363 \def\automaticlettrine{\@noBDfr}%
364 \def\noautomaticlettrine{\@noBDfr}%
365 \def\noeveryparguillemets{\@noBDfr}%
366 \def\everyparguillemets{\@noBDfr}%
367 \def\nofrenchlayout{\@noBDfr}%
368 \def\frenchlayout{\@noBDfr}%
369 \def\indentfirst{\@noBDfr}%
370 \def\nonindentfirst{\@noBDfr}%
371 \def\NouveauLangage{\@noBDfr}%
372 \def\letpunctutionactivefor{\@noBDfr}%
373 \def\@tempa{\let\ifarticle\iffalse}%
374 \ifx\ifarticle\undefined\expandafter\@tempa\fi%
375 \ifx\@seminarerr\undefined\else\ifarticle\else%
377 \def\shipout#1#2{\def\@tempa{slide}\def\@tempb{slide*}%
378 {\ifx\@tempa\@currenvir\let\protect\noexpand%
379 \else\ifx\@tempb\@currenvir\let\protect\noexpand\fi%
382 \global\let\shipout\@soORI%
385 \let\h@yphenation\hyphenation%
386 \long\def\f@hyphenation#1{\bgroup%
389 \let\allowhyphens\undefined%
390 \csname accenthyphcodes\endcsname%
391 \lowercase{\edef\@tempa{#1}}%
392 \h@yphenation{\@tempa}\egroup}%
393 \def\@tempa{\let\iffrenchbibliography\iftrue}%
394 \ifx\iffrenchbibliography\undefined\expandafter\@tempa\fi%
395 \ifx\nombre\undefined\else\let\@nomORI\nombre\fi%
396 \begingroup\obeyspaces%
397 \gdef\@@nombre{\ifFTY\@mathcomma\obeyspaces\let =\,\fi}%
399 \def\@nombre#1{\bgroup\let\ifFTY\iftrue\def\@tempa{#1}%
400 \def\,{\ifmmode\mskip\thinmuskip\fi}%
401 \if@filesw{\immediate\openout\@inputcheck=\jobname.tmp%
402 \let\protect\noexpand%
404 \immediate\write\@inputcheck{\protect\makeatletter%
406 \@tempa\ignorespaces}%
408 \immediate\write\@inputcheck{\protect\makeatletter%
410 $\@tempa$\ignorespaces}%
412 \immediate\closeout\@inputcheck%
414 \immediate\openin\@inputcheck=\jobname.tmp%
415 \immediate\read\@inputcheck to\@tempa%
416 \immediate\closein\@inputcheck%
417 \def\@tempa{{\input{\jobname.tmp}}}%
421 \ifx\nombre\undefined\DeclareRobustCommand*{\nombre}{\@nombre}\fi%
422 \ifx\WindowsUnits\undefined%
423 \def\WindowsUnits{\@wu}\fi%
424 \def\FileName{\bgroup%
425 \def\@FNenc@loop##1##2{\@tempcnta`##1\relax%
426 \loop\catcode\@tempcnta=11%
427 \ifnum\@tempcnta<`##2\relax%
428 \advance\@tempcnta\@ne%
430 \@FNenc@loop\^^A\^^H%
431 \@FNenc@loop\^^K\^^K%
432 \@FNenc@loop\^^N\^^_%
433 \@FNenc@loop\^^?\^^ff%
435 \def\@FileName#1{\gdef\theFileName{#1}\egroup}%
438 \ifECM\fontencoding{OT1}\selectfont\fi%
439 \ifFTY\expandafter\nofrenchtypography\fi%
440 \let\@nobraces\@firstofone%
443 \def\'####1{\expandafter\@nobraces\@aiguORI####1}%
444 \def\`####1{\expandafter\@nobraces\@gravORI####1}%
445 \def\^####1{\expandafter\@nobraces\@acchORI####1}%
446 \def\"####1{\expandafter\@nobraces\@tremORI####1}%
447 \def\c####1{\expandafter\@nobraces\@cediORI####1}%
448 \csname @kbspecials\endcsname%
450 \let\add@accent\@gobble%
451 \def\set@display@protect{\let\protect\noexpand}%
454 \let\s@owhyphens\showhyphens%
455 \let\@dsORI\dospecials%
456 \@ifundefined{@sanitize}{\def\@sanitize{\relax}}{}%
457 \let\@saORI\@sanitize%
458 \def\frenchhyphenation{%
460 \edef\@uchORI{\the\uchyph}%
461 \def\@Hif{\ifFH}\let\@Hfi\fi%
463 \ifx\flowercase\undefined\else\def\lowercase{\flowercase}\fi%
464 \@ifundefined{allowhyphens}{%
465 \def\allowhyphens{\ifhmode\nobreak\hskip\z@skip\fi}}{}%
466 \@ifundefined{lefthyphenmin}{}%
467 {\lefthyphenmin=2\righthyphenmin=3}%
469 \def\@tempa####1{{\accenthyphcodes\h@yphenation{####1}}}%
470 \ifx\@tempa\hyphenation\f@issue%
471 \@fw{-41- \@txt@msg{your format is out of date, }%
472 \@txt@msg{please run initex again!}%
475 \def\accenthyphcodes{%
476 \let\@typeset@protect\protect%
477 \ifx\protect\noexpand\else%
478 \ifECM\else\fontencoding{T1}%
479 \let\pickup@font\@gobble%
480 \let\size@update\relax\selectfont%
482 \let\hyphenation\f@hyphenation%
483 \def\showhyphens####1{\bgroup%
484 \csname accenthyphcodes\endcsname%
485 \protected@edef\@tempa{####1}%
486 \s@owhyphens{\@tempa}\egroup}%
488 \def\nofrenchhyphenation{%
491 \let\hyphenation\h@yphenation%
492 \let\showhyphens\s@owhyphens%
493 \ifx\lowercaseORI\undefined\else\let\lowercase\lowercaseORI\fi%
494 \@ifundefined{lefthyphenmin}{}%
495 {\lefthyphenmin=2\righthyphenmin=3}%
498 \@tempcnta=\the\mathcode`,\@tempcntb=\the\mathcode`,%
499 \divide\@tempcnta by 4096\relax%
500 \multiply\@tempcnta by -4096\relax%
501 \advance\@tempcntb by \@tempcnta%
502 \edef\@tempb{\noexpand\mathcode`,=\the\@tempcntb}%
503 \advance\@tempcntb by 24576\relax%
504 \edef\@tempa{\noexpand\mathcode`,=\the\@tempcntb}%
505 \edef\regularmathcomma{%
506 \noexpand\def\noexpand\@mathcomma{\@tempa}%
507 \noexpand\@mathcomma}%
508 \def\@tempa{\if\space\next\else\mathord\fi\mathcomma}%
510 \ifx\@tempa\sm@rtcomma%
511 \def\frenchmathcomma{%
512 \def\@mathcomma{\ifFTY\mathcode`\,="8000\fi}%
515 \edef\frenchmathcomma{%
516 \noexpand\def\noexpand\@mathcomma%
517 {\noexpand\ifFTY\@tempb\noexpand\fi}%
518 \noexpand\@mathcomma}%
521 \def\ifFTY{\ErrFrench}%
522 \def\nofrenchtypography{%
523 \let\ifFTY\iffalse\let\if@Back\ifFTY%
524 \expandafter\let\csname OT1\string\textbackslash \endcsname\undefined%
530 \def\frenchtypography{%
531 \let\ifFTY\iftrue\let\if@Back\ifFTY%
532 \expandafter\let\csname OT1\string\textbackslash \endcsname\@boiORI%
535 \edef\@tempa{\the\vfuzz}%
541 \def\nofrenchtranslation{%
542 \let\ifFTR\iffalse\@cORI}%
543 \def\frenchtranslation{%
544 \let\ifFTR\iftrue\captionsfrench}%
545 \let\nofrenchguillemets\relax%
546 \def\@tempa{\global\let\ifCLA\iffalse}%
547 \ifx\ifCLA\undefined\expandafter\@tempa\fi%
548 \def\ConstantLayout{\global\let\ifCLA\iftrue%
549 \expandafter\let\csname ifCLA\languagename\endcsname\iftrue%
550 \def\@tempa{\let\ifbbbbfixlanguage\iftrue}%
551 \ifx\ifbbbbfixlanguage\undefined\@tempa\fi%
552 \def\@tempa{\ifbbbbfixlanguage\else%
554 \@fw{-85- \@txt@msg{Attention \string: l'option fixlanguage }%
555 \@txt@msg{n'a pas ete fournie a l'appel de babelbib}%
558 \ifx\@nodocument\relax\@tempa%
559 \else\ifx\btxselectlanguage\undefined%
560 \PassOptionsToPackage{fixlanguage}{babelbib}%
564 \let\ConstantLayout\relax}%
565 \def\nofrenchlayout{\nofrenchtrivsep%
566 \let\ifFLA\iffalse\@EIM}%
568 \let\ifFLA\iftrue\everyparguillemets%
569 \@FIM\@FL\let\@FL\empty\noautomaticlettrine%
571 \def\frenchwarnings{\let\ifFW\iftrue%
572 \frenchtrivsepwarnings}%
573 \def\nofrenchwarnings{\let\ifFW\iffalse%
579 \def\prim@s{\prime\futurelet\@let@token\pr@m@s}%
580 \def\pr@m@s{\ifx\@cilq\@let@token\expandafter\pr@@@s%
581 \else\ifx^\@let@token\expandafter\expandafter\expandafter\pr@@@t%
584 \let\@fsORI\frenchspacing%
585 \def\frenchspacing{\@fsORI\ifECM\sfcode`\(=0\sfcode`\)=1000\fi}%
586 \catcode`<=\active\catcode`>=\active\catcode`'=\active%
587 \catcode`:=\active\catcode``=\active%
588 \let<=\inferieura\let>=\superieura%
589 \def\@Fstr{\def<{\@LSG}\def>{\@RSG}\def`{\@SLQ}\def'{\@SRQ}%
592 \def\@LiN{\let\@sogORI<\let\@sfgORI>\let\@lqORI`\let\@rqORI'%
593 \let\@dpORI:\@Fstr\@ifFTYfalse}%
594 \def\@LiB{\let<\@sogORI\let>\@sfgORI\let`\@lqORI\let'\@rqORI%
595 \let:\@dpORI\@ifFTYback}%
598 \def\newcount{\alloc@0\count\countdef\insc@unt}%
599 \def\newdimen{\alloc@1\dimen\dimendef\insc@unt}%
600 \def\newbox{\alloc@4\box\chardef\insc@unt}%
602 \ifx\vref\undefined\else%
603 \@ifpackageloaded{varioref}{\def\@vrfCode{%
604 \@gG{vr}{vref}{/}{1}%
605 \@gG{vpr}{vpageref}{1}{1}%
606 \@gG{vprr}{vpagerefrange}{1}{2}%
607 \def\reftextpagerange##1##2{%
608 pages~\pageref{##1}\ifFTY -\else --\fi\pageref{##2}}%
612 \def\ifFTY{\ErrFrench}%
613 \@ifclassloaded{beamer}{\let\l@chapter\empty%
614 \def\beamer@captiontemplate{\small\structure%
615 {\insertcaptionname\captionseparator\space}%
619 \def\special##1{\@ifFTYfalse\bgroup\@Fstr\@s@ORI{##1}%
622 {\catcode\lq\<=\active\ifx<\undefined\else\global%
624 \def\@LSG{\ifmmode\@mLSG\else\inferieura\fi}\fi}%
625 {\catcode\lq\>=\active\ifx>\undefined\else\global%
627 \def\@RSG{\ifmmode\@mRSG\else\superieura\fi}\fi}%
628 \if@PMF\def\pmfrench{}\def\noeveryparguillemets{}\def\@stared{}%
629 \def\@desarm{}\def\@qquotes{}\def\@staring{}\def\@fniv2{}\fi%
630 \def\sm@llerthree{\protect\sm@ller\protect\sm@ller\protect\sm@ller}
631 \@ifundefined{smaller}{\def\sm@ller{\small}%
632 \let\sm@llerthree\scriptsize%
633 \def\l@rger{\large}}%
634 {\ifx\undefined\sm@ller%
635 \let\sm@ller\smaller\fi}%
636 \@ifundefined{footnotesize}{%
637 \def\footnotesize{\sm@ller\sm@ller}}{}%
638 \@ifundefined{Huge}{%
639 \def\Huge{\l@rger\l@rger\l@rger\l@rger\l@rger}}{}%
640 \def\noresetatpart{\ifFLA\let\cl@part\empty\fi}%
641 \def\noresetatchapter{\ifFLA\let\cl@chapter\empty\fi}%
642 \@ifundefined{chapter}{}{}%
643 \@ifundefined{c@chapter}{\newcounter{chapter}}{\@addtoreset{chapter}{part}}%
644 \@ifundefined{quotation}{\def\quotation{}}{}%
645 \ifx\tableofcontents\undefined%
646 \else\let\@tocORI\tableofcontents\fi%
647 \ifx\pdfstringdef\undefined%
648 \else\let\contentslineORI\contentsline\fi%
649 \@ifundefined{l@chapter}{%
651 \def\l@chapter####1####2{\addpenalty{-\@highpenalty}%
652 \vskip 1.0em plus\p@\@tempdima 1.5em%
654 \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth%
655 \bfseries \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip%
656 ####1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss ####2}\par%
657 \penalty\@highpenalty%
659 \ifx\RIfM@\undefined\@tempa%
661 \ifx\fr@RIfM@cls\undefined\@tempa
664 \@ifundefined{theHchapter}{}%
665 {\renewcommand{\theHchapter}{\arabic{part}.\arabic{chapter}}}%
666 \def\@gG##1##2##3##4{%
667 \def\@temp@{\expandafter\let\csname @##1@ORI\endcsname=}%
668 \expandafter\@temp@\csname ##2\endcsname%
671 \expandafter\def\csname ##2\endcsname####1####2%
672 {\protect\atgG{##1}{{####1}{####2}}}%
675 \expandafter\def\csname ##2\endcsname####1####2####3%
676 {\protect\atgG{##1}{{####1}{####2}{####3}}}%
678 \expandafter\def\csname ##2\endcsname####1%
679 {\protect\atgG{##1}{{####1}}}%
683 \if/##3\expandafter\def\csname ##2\endcsname{\protect\atgH{##1}}%
685 \if2##4\expandafter\def\csname ##2\endcsname{\protect\atgN{##1}}%
686 \else\expandafter\def\csname ##2\endcsname{\protect\atgM{##1}}%
690 \def\atgG##1##2{\bgroup\@ifFTYfalse\@Fstr%
691 \expandafter\csname @##1@ORI\endcsname##2\egroup}%
692 \def\atgH##1##2{\bgroup\@ifFTYfalse\@Fstr%
693 \expandafter\csname @##1@ORI\endcsname{##2}\egroup}%
694 \def\atgM##1{\@ifNextNB[{\@gM@@{##1}}{\@gM@@{##1}[\empty]}%
696 \def\atgN##1{\@ifNextNB[{\@gM@@@{##1}}{\@gM@@@{##1}[\empty]}%
698 \def\@gM@@##1[##2]##3{\@gM@@@{##1}[##2]{##3}{}}%
699 \def\@gM@@@##1[##2]##3##4{\bgroup\@ifFTYfalse\@Fstr%
700 \xdef\@temp@{\noexpand\@gG@{##3}{##4}}\egroup%
701 \ifx\empty##2\let\@gG@=\empty%
702 \else\protected@edef\@gG@{[##2]}\fi%
703 \let\@typeset@protect\protect%
704 \protected@edef\@temp@{\noexpand\expandafter%
705 \noexpand\expandafter%
706 \noexpand\csname @##1@ORI\noexpand\endcsname%
708 \ifx\babel@sanitize@arg\undefined\else%
709 \def\babel@sanitize@arg##1{##1}%
710 \wlog{\frenchname.sty\string: use of the babel package force me to nullify %
711 \noexpand\babel@sanitize@arg.}%
713 \ifx\ifthenelse\undefined\else\let\@iTeORI\ifthenelse%
714 \long\def\ifthenelse##1##2##3{\@ifFTYfalse\@iTeORI{##1}%
715 {\@ifFTYback##2}{\@ifFTYback##3}}%
717 \ifx\texttt\undefined\else\@gG{xt}{texttt}{/}{1}\fi%
718 \ifx\hyperbaseurl\undefined\else\@gG{hl}{hyperbaseurl}{/}{1}\fi%
719 \ifx\Ginclude@graphics\undefined\else\@gG{ig}%
720 {Ginclude@graphics}{/}{1}\fi%
721 \ifx\NAT@citex\undefined%
722 \ifx\cite\undefined\else\@gG{c}{cite}{1}{1}\fi%
723 \ifx\citeyear\undefined\else\@gG{cy}{citeyear}{/}{1}\fi%
726 \def\@citex[##1][##2]##3{\@ifFTYfalse%
728 \@cxORI[##1][##2]{##3}\aftergroup\@ifFTYback}%
729 \@gG{fc}{fullcite}{1}{1}%
730 \@gG{cin}{citation}{/}{1}%
731 \def\@lbibitem[##1]##2{\protected@edef\jb@key{##2}\def\jb@tempb{##1}}%
733 \ifx\nocite\undefined\else\@gG{nc}{nocite}{/}{1}\fi%
734 \ifx\backcite\undefined\else\@gG{bkc}{backcite}{//}{2}\fi%
735 \ifx\bibitem\undefined\else\let\@biORI\bibitem%
736 \def\bibitem{\@LiN\@ifNextNB[{\@bi@cb}{\@bi@ca}%
738 \def\@bi@ca##1{\@biORI{##1}\@LiB}%
739 \def\@bi@cb[##1]##2{\@biORI[##1]{##2}\@LiB}%
741 \expandafter\ifx\string\bt@@item\undefined%
742 \else\@gG{bti}{\string\bt@@item}{1}{1}%
744 \ifx\vref\undefined\else%
745 \ifx\reftextvario\undefined\let\@vrfCode\undefined%
747 \ifx\ref\undefined\else\@gG{r}{ref}{/}{1}\fi%
748 \ifx\tag\undefined\else\@gG{tG}{tag}{/}{1}\fi%
749 \ifx\pageref\undefined\else\let\pageref@ORI\pageref%
750 \let\f@pageref\pageref\@gG{fpr}{f@pageref}{/}{1}%
751 \def\pageref{\ifFTY\expandafter\f@pageref\else%
752 \expandafter\pageref@ORI\fi}%
754 \csname @vrfCode\endcsname%
755 \xdef\@lim{}\let\ifMOVING\iffalse%
756 \ifx\sf@@sub@label\undefined\else\@gG{ss}{sf@@sub@label}{/}{1}\fi%
758 \def\label{\protect\@LabeL}%
759 \def\@LabeL####1{\@ifFTYfalse\if@labelsinmargin\ifMOVING%
760 \xdef\@lim{\ifx\@lim\empty\else\@lim\@@par\relax\fi[####1]}%
761 \gdef\@lim@{\@ifFTYfalse\hbadness=\@M\tt\@lim\@ifFTYback}%
763 \@ifFTYfalse\hbadness=\@M\tt[####1]\@ifFTYback}\fi\fi%
765 \bgroup\@Fstr\@lORI{####1}\egroup\@ifFTYback}%
767 \ifx\fr@RIfM@cls\undefined\else%
768 \let\@mtORI\maketitle%
769 \def\maketitle{{\@mtORI}}%
771 \ifx\label\undefined\else\let\@lORI\label%
773 \let\ltx@label\label%
775 \ifx\@newl@bel\undefined\else\@gG{nl}{@newl@bel}{//}{3}\fi%
777 \let\@aclORI\addcontentsline%
778 \global\let\ifCG\iftrue%
779 \def\addcontentsline####1####2####3{\@ifFTYfalse\bgroup\@Fstr%
780 \@aclORI{####1}{####2}{####3}\egroup\@ifFTYback}%
782 \@ifundefined{addcontentsline}{\gdef\addcontentsline##1##2##3{}}%
784 \let\ifFrench\iffalse%
786 \def\index{\bgroup\ifFrench\@DFP\fi%
787 \expandafter\egroup\@iORI}%
789 \ifx\index\undefined\else\let\@iORI\index%
792 \ifx\list\undefined\else%
795 \let\@topsepORI\topsep%
796 \let\@partopsepORI\partopsep%
797 \let\@itemsepORI\itemsep%
798 \let\@parsepORI\parsep%
799 \def\warn@seps{\def\topsep{\@w@s{\string\topsep}\@topsepORI}%
800 \def\partopsep{\@w@s{\string\partopsep}\@partopsepORI}%
801 \def\itemsep{\@w@s{\string\itemsep}\@itemsepORI}%
802 \def\parsep{\@w@s{\string\parsep}\@parsepORI}%
803 \def\@tempa{verse}\def\@tempb{quotation}%
804 \ifx\@tempa\@currenvir\let\@w@s\@gobble\else%
805 \ifx\@tempb\@currenvir\let\@w@s\@gobble\fi%
808 \def\@w@s##1{\ifFTSW\f@issue%
809 \@fw{-58- \@txt@msg{valeur de \string##1 ignor\'ee}%
811 \def\org@seps{\let\topsep\@topsepORI%
812 \let\partopsep\@partopsepORI%
813 \let\itemsep\@itemsepORI%
814 \let\parsep\@parsepORI%
816 \def\list##1##2{\def\@inAlist{}\@liORI{##1}{%
817 \ifx\@trivlist\@tlORI\else\warn@seps\fi%
819 \ifx\@makecaption\undefined\else\let\@mcORI\@makecaption\fi%
820 \ifx\captionseparator\undefined%
821 \def\captionseparator{~--}%
824 \ifx\@contdelim\undefined\else%
825 \let\@cdORI\@contdelim%
826 \def\@contdelim{\ifFTY\space\else\@cdORI\fi}%
828 \def\ifFTY{\ErrFrench}%
829 \ifx\captionfont\undefined%
830 \let\captionfont\emph%
831 \else\let\@cfORI\captionfont%
832 \def\captionlabelfont{\upshape}%
833 \def\captionfont{\itshape\@cfORI}%
834 \ifx\captionlabeldelim\undefined\else%
835 \let\captionlabeldelim\captionseparator%
836 \let\captionseparator\empty%
839 \def\@makecaption##1##2{\ifFTY%
840 \def\@secondofmany####1####2\void{####2}%
841 \def\@tempa{\@secondofmany##2\void}%
843 \let\captionseparator\empty%
847 \else\@mcORI{##1}{##2}\fi}%
849 \def\thanks####1{\global\let\@makefntext\fr@makefntext%
851 \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi\nobreak\fi%
852 \def\@footnotemark{\hbox{\@textsuperscript{\normalfont\,\@thefnmark}}}%
853 \fi\let\ifFTY\iffalse\@thORI{####1}%
856 \ifx\thanks\undefined\else\let\@thORI\thanks\@temp@\fi%
858 \ifx\@makefnmark\undefined\else\let\@mfnmORI\@makefnmark%
859 \def\@makefnmark{\ifFTY\hbox{\@textsuperscript{\normalfont%
860 \ifx\thefootnote\relax\else\,\fi%
864 \def\@temp@{\long\def\fr@makefntext####1{%
866 \ifFTY\def\@tempa{footnote}\let\@tfnORI\@thefnmark%
871 \long\def\@tempa{\fnsymbol{footnote}}%
872 \ifx\@tempa\thefootnote%
873 \expandafter\raise+0.55ex%
875 \hbox\bgroup\textnormal\bgroup%
877 \ifx\fr@RIfM@cls\undefined%
878 \ifx\thanks\relax\else\kern-1.1\parindent\fi%
879 \else \kern-\parindent%
881 \@ifnextchar\relax{\def\@temp@{\hphantom{.}\kern+0.25em}}%
882 {\def\@temp@{.\kern+0.25em}}%
884 \expandafter\@temp@\@tfnORI\@temp@%
886 \leavevmode\kern+0.5em%
887 \else\def\@thefnmark{\@tfnORI\,}\fi%
888 \fi\@mfntORI{####1}\egroup}%
890 \let\@mfntORI\@makefntext\@temp@%
891 \let\@makefntext\fr@makefntext%
892 \def\ifFTY{\ErrFrench}%
893 \let\@fntORI\@footnotetext%
894 \long\def\@footnotetext##1{\bgroup\let\if@labelsinmargin\iffalse%
895 \@fntORI{##1}\egroup}%
896 \let\@fnORI\footnote%
897 \def\footnote{\bgroup%
898 \def\index{\@ifnextchar[{\f@index}%
901 \def\f@index[####1]####2{\@ifFTYfalse\@iORI[####1]{####2}%
903 \def\f@index@####1{\@ifFTYfalse\@iORI{####1}\@ifFTYback}%
904 \ifFTY\ifhmode\ifdim\lastskip>\z@\unskip\fi%
906 \ifmmode\let\@fnORI\fr@footnote\fi%
908 \@Footnote\@Fntnorm}%
909 \long\def\@Footnote[##1]##2{\@fnORI[##1]{##2}%
910 \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}%
911 \long\def\@Fntnorm##1{\@fnORI{##1}%
912 \egroup\@ifNextNBc\footnote\refmark\@Fntcoma{}}%
913 \def\@Fntcoma{\ifFLA\@textsuperscript{,}\nobreak\fi}%
914 \def\@Fxloat##1[##2]{\@xfORI{##1}[##2]\csname @Fend\@currenvir\endcsname}%
915 \let\@fgeORI\figure\let\@efgeORI\endfigure%
916 \def\@temp@{\let\@fgeORI\figure%
917 \def\figure{\let\ifMOVING\iftrue%
918 \let\if@minipage\iftrue%
920 \ifx\@xfORI\undefined%
921 \let\@xfORI\@xfloat\let\@xfloat\@Fxloat%
924 \ifx\figure\undefined\let\@temp@\relax\fi\@temp@%
925 \def\@Fendfigure{\let\@efgeORI\endfigure%
926 \def\endfigure{\@efgeORI%
927 \ifx\@lim\empty\else\marginpar{\@lim@}%
928 \xdef\@lim{}\fi\let\ifMOVING\iffalse}}%
929 \ifx\endfigure\undefined\let\@Fendfigure\relax\fi%
931 \def\@tablescaption{\@dblarg\@t@blescaption}%
933 \def\mbox##1{\leavevmode\hbox{\protect\@set@fr@fn@##1}}%
934 \def\@set@fr@fn@{\ifFrench\let\footnote\fr@footnote\fi}%
935 \def\fr@footnote{\@ifNextNB[\fr@fn@{\fr@fn@[]}%
937 \def\fr@fn@[##1]##2{\footnotemark%
939 \@fw{-8- \@txt@msg{\string\footnotetext{##2} perdu.}
940 \@txt@msg{Coder \'event. \string\protect\string\footnote}%
943 \def\@t@blescaption[##1]##2{\let\cur@fn\footnote%
944 \let\footnote\fr@footnote%
945 \@cnORI[##1]{##2}\let\footnote\cur@fn}%
948 \def\table{\let\ifMOVING\iftrue%
949 \let\if@minipage\iftrue%
951 \def\@mpfn{mpfootnote}%
952 \def\thempfn{\thempfootnote}\c@mpfootnote\z@%
953 \ifx\@captype\undefined\def\@captype{table}\fi%
954 \let\caption\@tablescaption%
955 \let\@footnotetext\@mpfootnotetext\fi%
956 \ifx\@xfORI\undefined%
957 \let\@xfORI\@xfloat\let\@xfloat\@Fxloat%
961 \expandafter\@dbtbeORI\csname table*\endcsname%
962 \expandafter\def\csname table*\endcsname{\let\ifMOVING\iftrue%
963 \let\if@minipage\iftrue%
965 \def\@mpfn{mpfootnote}%
966 \def\thempfn{\thempfootnote}\c@mpfootnote\z@%
967 \ifx\@captype\undefined\def\@captype{table}\fi%
968 \let\caption\@tablescaption%
969 \let\@footnotetext\@mpfootnotetext\fi%
970 \ifx\@xfORI\undefined%
971 \let\@xfORI\@xfloat\let\@xfloat\@Fxloat%
975 \ifx\table\undefined\let\@temp@\relax\fi\@temp@%
977 \let\@etORI\endtable%
978 \def\endtable{\ifFLA\par%
980 \ifvoid\@mpfootins\else\vskip\skip\@mpfootins%
981 \footnoterule\unvbox\@mpfootins\fi%
982 \fi\@etORI\ifFLA\endgroup\fi%
983 \ifx\@lim\empty\else\marginpar{\@lim@}%
984 \xdef\@lim{}\fi\let\ifMOVING\iffalse}%
986 \ifx\endtable\undefined\let\@Fendtable\relax\fi%
987 \def\@temp@{\def\endtable{\ifFLA\endgroup%
988 \expandafter\let\csname endtable*\endcsname\endtable%
991 \ifx\endtable\relax\@temp@%
993 \expandafter\def\csname @Fendtable*\endcsname{%
995 \expandafter\@dbetORI\csname endtable*\endcsname%
997 \csname endtable*\endcsname{\ifFLA\par%
999 \ifvoid\@mpfootins\else\vskip\skip\@mpfootins%
1000 \footnoterule\unvbox\@mpfootins\fi%
1001 \fi\@dbetORI\ifFLA\endgroup\fi%
1002 \ifx\@lim\empty\else\marginpar{\@lim@}%
1003 \xdef\@lim{}\fi\let\ifMOVING\iffalse}%
1005 \expandafter\ifx\csname endtable*\endcsname\relax%
1006 \expandafter\let\csname endtable*\endcsname\endtable%
1008 \expandafter\ifx\csname\string\table\endcsname\undefined\else%
1009 \expandafter\let\expandafter\BfigureORI\csname\string\figure\endcsname%
1010 \expandafter\def\csname\string\figure\endcsname{\@Fendfigure\BfigureORI}%
1011 \expandafter\let\expandafter\BtableORI\csname\string\table\endcsname%
1012 \expandafter\def\csname\string\table\endcsname{\@Fendtable\BtableORI}%
1014 \ifx\undefined\Hy@PDFDef\let\Hy@PDFDef\pdfstringdef\fi%
1015 \ifx\undefined\Hy@PDFDef\else%
1016 \let\@hpdORI\Hy@PDFDef%
1017 \def\Hy@PDFDef##1##2{\@ifFTYfalse\afterassignment%
1018 \@Fstr\@hpdORI{##1}{##2}\@ifFTYback}%
1020 \ifx\pdfstringdef\undefined\else%
1021 \let\pdfstringdef\Hy@PDFDef%
1023 \let\@lti\labelitemi\let\@ltii\labelitemii%
1024 \let\@ltiii\labelitemiii\let\@ltiv\labelitemiv%
1026 \let\@ifo\undefined%
1028 \let\@doFh\undefined%
1029 \let\hyphex\undefined\let\frhyphex\undefined%
1030 \let\@temp@\undefined%
1031 \let\ifFTY\iffalse\let\ifFTR\iffalse%
1032 \let\ifFLA\iffalse\let\ifFMA\iffalse\let\ifFH\iffalse%
1033 \def\@tempa##1{\o@everypar{\rl@everypar##1}}%
1034 \ifx\@tempa\everypar\let\TeXeverypar\o@everypar%
1035 \else\let\TeXeverypar=\everypar%
1037 \ifx \TeXXeTstate \undefined%
1038 \edef \next {\ifx \beginL \undefined 00\else 01\fi}%
1040 \edef \next {\ifnum \TeXXeTstate = 0 00\else 01\fi}%
1042 \if \next\let\beginL\relax\let\beginR\relax%
1044 \edef\@fepORI{{\the\TeXeverypar}}%
1045 \def\@SetBFWdirection{\csname begin%
1046 \beginFWdirection\endcsname}%
1047 \TeXeverypar={\@SetBFWdirection%
1048 \let\@SetBFWdirection\relax%
1049 {\let\@nodocument\relax%
1052 \let\ErrFrench\@Ffnt\def\@Ffnt##1{}%
1053 \ifx\undefined\babel@core@loaded%
1054 \protected@write\@auxout{}{\protect%
1055 \csname auxWARNINGi\protect\endcsname{\protect\typeout%
1056 {-34- this file and other auxiliary files require to %
1057 use the following}}}%
1058 \protected@write\@auxout{}{\protect%
1059 \csname auxWARNINGi\protect\endcsname{\protect\typeout%
1060 {-34- LaTeX packages: \frenchname!}}}%
1061 \protected@write\@auxout{}{\protect%
1062 \csname auxWARNINGi\protect\endcsname{\protect\typeout%
1063 {-34- check \protect\protect\protect\usepackage%
1064 \protect\space or remove these files.%
1065 Typesetting is aborted!}%
1068 \@finput{frlpatch.sty}%
1069 \ifx\FSfd@patch\FSfd\else
1072 \@txt@msg{The French patch file (frlpatch.sty) is not suitable^^J}%
1073 \@txt@msg{for this version of the "\frenchpack" package dated \FSfd}%
1077 \let\@Ffnt\ErrFrench\let\ErrFrench\undefined%
1078 \IfFileExists{\frenchname.cfg}{%
1080 \@fw{-48- \@txt@msg{Lecture du fichier de }%
1081 \@txt@msg{configuration de \frenchpack}%
1083 \@finput{\frenchname.cfg}}{}%
1085 \let\@dORI\document%
1087 \ifx\noxcomment\undefined\else%
1088 \global\let\@x@hk\xcomment@hook\global\noxcomment\fi%
1089 \ifx\btxselectlanguage\undefined%
1090 \else\ifx\babel@savevariable\undefined%
1092 \@txt@msg{ERREUR \string: }%
1093 \@txt@msg{babelbib s'utilise uniquement avec babel}%
1098 \ifx\@bglngpk\babel@savevariable%
1101 \@txt@msg{ATTENTION : }%
1102 \@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}%
1104 \fi\let\@bglngpk\undefined%
1107 \let\GOfrench\undefined%
1108 \ifx\noxcomment\undefined\else\let\xcomment@hook\@x@hk%
1109 \expandafter\xcomment@hook\fi}%
1110 \@makeother`\@makeother<\@makeother>\@makeother'%
1111 \let\enddocumentasusual\enddocument%
1112 \def\enddocument{\def\@tempa{\AtEndDocument{\french\clearpage%
1113 \global\let\ifCLA\iffalse%
1114 \let\ifCLAfrench\iffalse%
1116 \csname f@lastpage\endcsname%
1120 \def\@tempa{empty}\ifx\@specialstyle\@tempa%
1121 \else\gdef\@specialstyle{french}\fi%
1123 \let\GOfrench\relax%
1124 \switchtolanguage\englishTeXmods%
1126 \ifx\undefined\babel@core@loaded\else%
1127 \ifx\@testdef\undefined\else%
1128 \@gG{@td}{@testdef}{//}{3}\fi%
1131 \ifx\ConfigureToc\undefined\else%
1132 \let\@ifFTYfalse\relax\let\@ifFTYback\relax%
1133 \@Fstr\let\@Fstr\relax%
1135 \enddocumentasusual%
1137 \let\@whatUCH\relax%
1138 \def\@eatDP{\@ifNextNB:{\@gobble}{}}%
1139 \def\f@ffrench{\ifx\listoffigures\relax\else%
1140 \figurename~\thefigure\ifFTY\captionseparator\fi\fi%
1141 \ifFTY\expandafter\@eatDP\fi}%
1142 \def\f@tfrench{\ifx\listoftables\relax\else%
1143 \tablename~\thetable\ifFTY\captionseparator\fi\fi%
1144 \ifFTY\expandafter\@eatDP\fi}%
1145 \def\unnumberedcaptions#1{\@noBDfr%
1147 \expandafter\let\csname listof#1s\endcsname\relax%
1148 \ifx\listoffigures\relax\ifx\listoftables\relax%
1149 \let\unnumberedcaptions\undefined%
1152 %===== traitement de l'anglais =====%
1153 \def\beginlanguage{% might be used at \begin{document} time
1154 \ifx\selectlanguage\undefined\english%
1155 \else\selectlanguage{english}\fi}%
1156 \edef\beginFWdirection{L}% write Left to right
1157 \ifx\undefined\babel@core@loaded%
1158 \DeclareOption{english}{\def\beginlanguage{% language to start
1159 \ifx\selectlanguage\undefined\english%
1160 \else\selectlanguage{english}\fi}%
1162 \ProcessOptions% English option need, at least, to be processed.
1164 \expandafter\ifx\csname englishTeXmods\endcsname\relax%.\ifundefined
1165 \else \endinput \fi%........ \then go ahead \else do nothing \fi
1166 \ifx\@ifundefined\undefined%
1167 \long\def\@ifundefined#1#2#3{\expandafter\ifx\csname%.......... \@ifundefined
1168 #1\endcsname\relax#2\else#3\fi}%
1170 \let\ifCLAenglish\iffalse%
1171 \def\@tempa{\global\let\ifCLA\iffalse%
1173 \ifx\ifCLA\undefined\expandafter\@tempa\fi%
1175 \global\let\ifnonenglishheadings\iffalse%english style allows english headings!
1176 \gdef\captionsenglish{%...................................... \captionsenglish
1177 \ifx\captionsnames\captionsenglish\else
1178 \def\pagename{page}%
1179 \def\refname{References}%
1180 \def\abstractname{Abstract}%
1181 \ifx\bibname\undefined\else%
1182 \def\bibname{Bibliography}%
1184 \ifx\btxselectlanguage\undefined% Don't call \bibsenglish if babelbib loaded.
1185 \csname bibsenglish\endcsname%
1187 \def\contentsname{Table of Contents}%
1188 \def\listfigurename{List of Figures}%
1189 \def\listtablename{List of Tables}%
1190 \ifx\listalgorithmname\undefined\else%
1191 \def\ALG@name{algorithm}%
1192 \def\listalgorithmname{List of \ALG@name s}%
1194 \def\indexname{Index}%
1195 \def\seename{\emph{see}}% used normally in makeidx.sty
1196 \def\seealsoname{\emph{see also}}% added macro \seealso
1197 \def\figurename{Figure}%
1198 \def\tablename{Table}%
1199 \def\partname{Part}%
1200 \def\glossaryname{Glossary}%
1201 \def\kwname{\textbf{Keywords}: }%
1202 \def\draftname{DRAFT}%
1203 \def\prefacename{Preface}%
1204 \ifx\proofname\undefined\else%
1205 \def\proofname{Proof}%
1207 \ifx\opening\undefined\else%
1208 \def\headtoname{To}%
1210 \def\enclname{Encl}%
1211 \def\PSname{PS:}% Post-Scriptum
1212 \def\Objectname{Subject:}% Subject of the letter
1213 \def\YourRefname{Your Ref:}% Your reference number
1214 \def\OurRefname{Our Ref:}% Our reference number
1215 \def\emailname{email:}% Email address
1217 \ifx\slidename\undefined\else%
1218 \def\slidename{Slide}%
1220 \ifx\notesname\undefined\else%
1221 \def\notesname{Notes}%
1223 \ifnonenglishheadings% Bypass to a LaTeX slight bug...
1225 \def\chaptername{Chapter}%
1227 \def\appendixname{Appendix}%
1229 \let\captionsnames\captionsenglish%
1231 \@ifundefined{englishTeXmods}{%................................ \englishTeXmods
1232 \gdef\englishTeXmods{%\captionsnames are normally restored by prev. langua.
1235 \ifx\captionsnames\captionsenglish%
1236 \else\captionsenglish\dateenglish%
1240 \ifx\captionsnames\captionsenglish%
1241 \else\captionsenglish\dateenglish%
1244 \csname @xtrasenglish\endcsname%
1245 \def\languagename{english}% set it for mlp.
1246 \let\switchtolanguage\endenglish%
1249 \ifx\dateenglish\undefined%...................................... \dateenglish
1250 \def\dateenglish{\def\today{\ifcase\day\or 1st\or 2nd\or 3rd\or 4th\or 5th\or
1251 6th\or 7th\or 8th\or 9th\or 10th\or 11th\or 12th\or 13th\or 14th\or 15th\or
1252 16th\or 17th\or 18th\or 19th\or 20th\or 21st\or 22nd\or 23rd\or 24th\or
1253 25th\or 26th\or 27th\or 28th\or 29th\or 30th\or 31st\fi~\ifcase\month\or
1254 January\or February\or March\or April\or May\or June\or July\or August\or
1255 September\or October\or November\or December\fi\space \number\year}}%
1257 \ifx\undefined\babel@core@loaded%
1258 \edef\extrasenglish{}\def\@xtrasenglish{\extrasenglish}% for other packages.
1259 \else% the date mechanism
1260 \let\extrasenglish\englishTeXmods%
1262 \@ifundefined{english}{\gdef\english{\relax}}{}% Default............ \english
1263 \@ifundefined{switchtolanguage}{%............................ \switchtolanguage
1264 \gdef\switchtolanguage#1{#1}}{}%
1265 \let\@enstORI\switchtolanguage% save original switchtolanguage if any.
1266 \let\englishORI\english% assuming \language=x was set here
1267 \def\endenglish{\let\switchtolanguage\@enstORI%
1268 \ignorespaces}% but they are not after \end{english} !
1269 \let\noextrasenglish\endenglish%
1270 \def\english{\switchtolanguage\englishTeXmods\englishORI%...... Final \english
1271 \ignorespaces}% but they are not after \begin{english} !
1272 \english% Ready now to activate the mechanism [english is the default language]
1273 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1274 %===================================%
1275 \def\languagename{french}%
1276 \let\ifnonenglishheadings\iftrue%
1278 \def\todayfrench{\ifx\ier\undefined\def\ier{er}\fi%
1279 \ifnum\day=1\relax 1\ier%
1280 \else \number\day\fi%
1281 \space\ifcase\month\or janvier\or f\'evrier\or mars\or %
1282 avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or %
1283 octobre\or novembre\or d\'ecembre\fi \space\number\year}%
1286 \def\ordinalSecondNam{{s}econd}%
1287 \def\ordinalSecondName{{s}econde}%
1289 \def\ordinalSecondNam{{d}euxi\`eme}%
1290 \let\ordinalSecondName\ordinalSecondNam%
1292 \def\@osn#1#2{\expandafter\ifx\csname#1osn\endcsname%
1293 \relax#2\else\csname#1osn\endcsname\fi}%
1294 \def\ordinal#1{\ifcase\value{#1}\or {p}remier%
1295 \or\@osn{#1}{\ordinalSecondNam}\else\ordin@l{#1}\fi}%
1296 \def\ordin@l#1{\ifcase\value{#1}\or\or\or %
1297 {t}roisi\`eme\if@filesw{\protected@write\@auxout{}{%
1298 \protect\expandafter%
1299 \protect\gdef\protect\csname#1osn%
1303 \or {q}uatri\`eme\or {c}inqui\`eme\or {s}ixi\`eme\or %
1304 {s}epti\`eme\or {h}uiti\`eme\or {n}euvi\`eme\or {d}ixi\`eme\or %
1305 {o}nzi\`eme\or {d}ouzi\`eme\or {t}reizi\`eme\or {q}uatorzi\`eme\or %
1306 {q}uinzi\`eme\or {s}eizi\`eme\or {d}ix-septi\`eme\or {d}ix-huiti\`eme\or %
1307 {d}ix-neuvi\`eme\or {v}ingti\`eme\fi}%
1308 \def\ordinale#1{\ifcase\value{#1}\or {p}remi\`ere%
1309 \or\@osn{#1}{\ordinalSecondName}\else\ordin@l{#1}\fi}%
1310 \def\Ordinal{\expandafter\uppercase\ordinal}%
1311 \def\Ordinale{\expandafter\uppercase\ordinale}%
1312 \def\captionsfrench{%
1314 \ifx\captionsnames\captionsfrench\else%
1316 \let\f@fORI\fnum@figure%
1317 \let\f@tORI\fnum@table%
1318 \let\@cnsORI\captionsnames%
1319 \def\pagename{page}%
1320 \def\refname{R\'ef\'erences}%
1321 \def\abstractname{R\'esum\'e}%
1322 \ifx\bibname\undefined\else%
1323 \def\bibname{Bibliographie}%
1325 \ifx\btxselectlanguage\undefined%
1326 \csname bibsfrench\endcsname%
1328 \def\contentsname{Table des mati\`eres}%
1329 \def\listfigurename{Table des figures}%
1330 \def\listtablename{Liste des tableaux}%
1331 \ifx\listalgorithmname\undefined\else%
1332 \def\ALG@name{algorithme}%
1333 \def\listalgorithmname{Liste des \ALG@name s}%
1335 \def\indexname{Index}%
1336 \def\seename{\emph{voir}}%
1337 \def\seealsoname{\emph{voir aussi}}%
1338 \def\figurename{\textsc{Fig.}}%
1339 \def\tablename{\textsc{Tab.}}%
1340 \def\sommairename{Sommaire}%
1342 \ignorespaces\Ordinale{part}\space partie%
1343 \@RPtNoInDoc\noexpand\@RPtNoInToc}%
1344 \def\glossaryname{Glossaire}%
1345 \def\kwname{\textbf{Mots-cl\'e} : }%
1346 \def\draftname{- \noexpand\351preuve -}%
1347 \def\prefacename{Pr\'eface}%
1348 \ifx\proofname\undefined\else\def\proofname{D\'emonstration}\fi%
1349 \ifx\fr@RIfM@cls\undefined%
1350 \let\fnum@figure\f@ffrench%
1351 \let\fnum@table\f@tfrench%
1353 \def\@RPtNoInDoc{\def\thepart{}}%
1354 \else\def\@RPtNoInToc##1.{.}%
1355 \def\@RPtNoInDoc##1\thepart{}%
1357 \ifx\opening\undefined\else%
1360 \def\enclname{P.j. }%
1361 \def\PSname{P.-S. :}%
1362 \def\Objectname{Objet :}%
1363 \def\YourRefname{v/r\'ef. :}%
1364 \def\OurRefname{n/r\'ef. :}%
1365 \def\emailname{m.\'el. :}%
1367 \ifx\slidename\undefined\else%
1368 \def\slidename{Transparent}%
1369 \def\listslidename{Liste des transparents}%
1371 \ifx\notesname\undefined\else%
1372 \def\notesname{Notes}%
1374 \def\chaptername{Chapitre}%
1375 \def\appendixname{Annexe}%
1376 \let\captionsnames\captionsfrench%
1378 \let\today\todayfrench%
1379 \def\@cORI{\@cnsORI%
1381 \let\fnum@figure\f@fORI%
1382 \let\fnum@table\f@tORI}%
1385 \let\@tlORI\@trivlist%
1386 \def\frenchtrivsepwarnings{\let\ifFTSW\iftrue}%
1387 \def\nofrenchtrivsepwarnings{\let\ifFTSW\iffalse}%
1388 \long\def\frtrivseplengths#1{%
1389 \nofrenchtrivsepwarnings%
1390 \long\def\fr@tsl{#1}%
1392 \def\fr@tsl{\setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}%
1393 \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}%
1394 \setlength{\topsep}{0.4ex plus 0.2ex minus 0.2ex}%
1395 \setlength{\partopsep}{1.6ex plus 0.8ex minus 0.8ex}%
1397 \def\frenchtrivsep{\ifFLA\def\@trivlist{%
1400 \def\nofrenchtrivsep{\let\@trivlist\@tlORI}%
1401 \@ifundefined{@afterindenttrue}{\let\@afterindenttrue\relax%
1402 \let\@afterindentfalse\relax}{}%
1403 \let\@aifORI\@afterindentfalse%
1404 \edef\@piORI{\the\parindent}%
1405 \begingroup \catcode `| =0 \catcode `[ = 1 \catcode`] =2%
1406 \catcode `\{=12 \catcode `\}=12 \catcode`\\=12%
1407 |gdef|@xversatim#1\end{versatim}[#1|end[versatim]]%
1410 \def\fr@idf{\let\@afterindentfalse\@afterindenttrue\@afterindenttrue}%
1411 \def\fr@nidf{\let\@afterindentfalse\@aifORI\@afterindentfalse}%
1412 \ifx\titlespacing\undefined%
1413 \let\which@indent\fr@idf%
1414 \else\let\which@indent\fr@nidf%
1416 \def\fr@lbi{\def\labelitemi{\@FIM@--}\def\labelitemii{\@FIM@--}%
1417 \def\labelitemiii{\@FIM@--}\def\labelitemiv{\@FIM@--}%
1419 \long\def\frlabelitems#1{\ifFLA\long\def\fr@lbi{#1}%
1423 \def\indentfirst{\ifFLA\fr@idf\fi}%
1424 \def\nonindentfirst{\ifFLA\fr@nidf\fi}%
1428 \let\@ps@fp\ps@firstpage%
1430 \let\@wideletter\relax%
1431 \let\emailadd\@empty\let\@yourref\@empty\let\@ourref\@empty%
1432 \let\@object\@empty%
1433 \def\ps@firstpage{\ifFLA%
1434 \advance\topmargin by -20\p@%
1436 \def\@oddhead{\ifx\undefined\formhead\else%
1437 \bgroup\hss\formhead\hss\egroup\fi}%
1438 \def\@oddfoot{\raisebox{-45\p@}[\z@]%
1439 {\hbox to \textwidth{%
1440 \ifcase \@ptsize\relax%
1446 \ifx\undefined\formfoot\hfill\else%
1447 \bgroup\hss\formfoot\hss\egroup\fi%
1449 \def\@evenhead{}\def\@evenfoot{}%
1451 \long\def\opening####1{%
1453 \advance\indentedwidth by -0.25\longindentation%
1454 \advance\longindentation by 0.22\textwidth%
1455 \advance\parindent by 1.5em%
1457 \let\nopagenumbers\relax%
1458 \thispagestyle{firstpage}%
1461 \ifx\@empty\fromlocation\location{Le}\fi%
1462 \ifx\@empty\fromaddress\let\fromaddress\space\fi%
1463 {\raggedright\hspace*{-0.25\indentedwidth}%
1464 \parbox[t]{0.5\textwidth}{\ignorespaces%
1465 \vbox to 0\p@{\fromaddress\vss}}%
1466 \\*[1.75\baselineskip]%
1470 {\raggedleft\bgroup\fromlocation\space\@date\egroup\par}%
1472 {\raggedleft\begin{tabular}{l}\ignorespaces%
1473 \toname\\ \toaddress\\*[6\parskip]%
1474 \fromlocation\space\@date\end{tabular}\par}%
1476 \ifx\@empty\@ourref\else%
1477 {\raggedright \hspace*{-0.25\indentedwidth}%
1478 \OurRefname\space\@ourref \par}%
1480 \ifx\@empty\@yourref\else%
1481 {\raggedright \hspace*{-0.25\indentedwidth}%
1482 \YourRefname\space\@yourref \par}%
1484 \ifx\@empty\@object\else%
1485 {\raggedright \hspace*{-0.25\indentedwidth}%
1486 \textbf{\Objectname}\space\@object \par}%
1488 \par\vspace*{3\parskip}%
1489 \noindent####1\hfill\vspace*{3\parskip}%
1494 \def\closing{\fclosing@[9]}%
1495 \def\fclosing{\@ifNextNB[{\fclosing@}{\fclosing@[9]}%
1497 \long\def\fclosing@[####1]####2{%
1500 \vspace{\parskip}\stopbreaks%
1501 \ignorespaces ####2\\[####1\medskipamount]%
1502 \ifx\@empty\fromaddress\else%
1503 \hspace*{-0.25\indentedwidth}%
1504 \hspace*{\longindentation}\fi%
1505 {\raggedright\begin{tabular}{l}\ignorespaces%
1506 \ifx\@empty\fromsig%
1509 \ifx\@empty\emailadd\else\\{\footnotesize%
1510 \emph{\emailname} \emailadd}\fi%
1511 \strut\end{tabular}}\par%
1512 \vskip 0pt plus 1fil%
1513 \else\@cloORI{####2}%
1515 \def\endletter{\ifFLA\vskip 0pt plus 3fil\fi%
1517 \@ifundefined{opening}{\def\@opening{}\def\@closing{}}%
1518 {\let\@oORI\opening\let\@cloORI\closing%
1519 \let\@elORI\endletter%
1520 \@opening\@closing}%
1522 \ifx\opening\undefined\let\@temp@\relax\fi%
1524 \def\@tempa{\let\fr@RIfM@cls\undefined}%
1525 \let\fr@RIfM@cls\RIfM@%
1526 \ifx\RIfM@\undefined\else%
1527 \expandafter\ifx\csname @classname\endcsname\relax\@tempa%
1528 \else\def\@tempb#1#2#3#4\@nil{%
1529 \if#1a\if#2m\if#3s\else\@tempa\fi%
1530 \else\@tempa\fi\else\@tempa\fi}%
1531 \expandafter\@tempb\@classname\@nil%
1534 \def\@temp@{\def\ps@french{\if@fancyplain\ps@plain@fancy\else\ps@plain\fi}}%
1535 \ifx\ps@fancyplain\undefined%
1536 \ifx\fr@RIfM@cls\undefined\def\ps@french{}%
1537 \else\def\ps@french{\global\topskip\normaltopskip}%
1541 \let\ps@frenchORI\ps@french%
1543 \def\nofrenchpagestyle{\let\secdef\@sdORI}%
1544 \def\frenchpagestyle{%
1545 \def\secdef{\ifFLA\thispagestyle{french}\fi\@sdORI}%
1548 \ifx\aliaspagestyle\undefined%
1549 \def\nobeginingfolio{\let\ps@french\ps@empty}%
1551 \def\nobeginingfolio{\let\ps@french\ps@empty%
1552 \aliaspagestyle{chapter}{empty}%
1555 \def\beginingfolio{\let\ps@french\ps@frenchORI%
1557 \def\@EIM{\def\labelitemi{\@lti}\def\labelitemii{\@ltii}%
1558 \def\labelitemiii{\@ltiii}\def\labelitemiv{\@ltiv}%
1559 \let\@afterindentfalse\@aifORI\@afterindentfalse%
1562 \def\nonfrench{\ifFrench\@DFP%
1564 \else\@NoFr\def\@temp@{\relax}\fi%
1565 \def\endnonfrench{\@temp@\ignorespaces}%
1567 \def\@dospecialsfrench{\do\`\do'\@dsversa}%
1569 \do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\|\do\^^K\do\_\do\^^A\do\%\do\~%$emacs
1570 \do\!\do\?\do\;\do\:\do\<\do\>\do\^\do\"}%
1571 \def\@sanitizefrench{%
1573 \@makeother\!\@makeother\?\@makeother\;\@makeother\:%
1574 \@makeother\`\@makeother'\@makeother\<\@makeother\>%
1575 \@makeother\^\@makeother\"}%
1576 \def\@ifNextNB#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\futurelet%
1578 \def\@Fifnch{\ifx \@tempc \@tempe\let\@tempd\@tempa%
1579 \else\let\@tempd\@tempb\fi\@tempd}%
1580 \def\@ifNextNBc#1#2#3#4{\let\@tempe=#1\let\@tempf=#2%
1581 \def\@tempa{#3}\def\@tempb{#4}\futurelet%
1583 \def\@Fifnchc{\ifx\@tempc\@tempf\@tempa\else\@Fifnch\fi}%
1584 \def\@skiplastspace{\ifdim\lastskip>\z@\unskip\penalty\@M\fi}%
1585 \let\ifFrench\iftrue%
1587 \let\dospecials\@dospecialsfrench%
1588 \let\@sanitize\@sanitizefrench%
1590 \def\AFPdp{\ifFrench\catcode`\!=\active\catcode`\?=\active%
1591 \catcode`\;=\active\catcode`\:=\active\fi}%
1592 \let\AFPinfsup\relax%
1593 \def\AFPq{\ifFrench\catcode`'=\active\catcode``=\active\fi}%
1594 \def\AFPdq{\catcode`"=\active}%
1596 \DFPq\DFPinfsup\ifLPA\else\DFPdp%
1597 \let\dospecials\@dsORI%
1598 \let\@sanitize\@saORI\fi}%
1599 \def\DFPq{\ifFrench\catcode``=12\catcode`'=12\fi}%
1600 \let\DFPinfsup\relax%
1601 \def\DFPdp{\ifFrench\catcode`;=12\catcode`:=12%
1602 \catcode`!=12\catcode`?=12\fi}%
1603 \def\DFPdq{\catcode`"=12}%
1606 \def\@tempa#1{\f@issue%
1607 \@fw{-13- \@txt@msg{le caract\`ere "#1" est d\'ej\`a actif}%
1609 \let\@tempb\next\let\@tempc\empty}%
1613 \def\@WTS{\relax\ifmmode\else\ifhmode%
1614 \ifdim\lastskip>\z@\unskip\fi%
1617 \def;{\ifFTY\protect\@PV%
1618 \else\ifWTS\@WTS\fi\string;\fi}%
1620 \def\@tempd{\@tempa{\string;}}%
1621 \ifx;\undefined\def\@tempd{}\fi\@tempd\@tempc%
1622 \def\@PV{\relax\ifmmode\string;\else%
1623 \ifhmode\ifUSP\unskip\space\fi%
1624 \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
1627 \def:{\ifFTY\protect\@DP%
1628 \else\ifWTS\@WTS\fi\string:\fi}%
1630 \def\@tempd{\@tempa{\string:}}%
1631 \ifx:\undefined\def\@tempd{}\fi\@tempd\@tempc%
1632 \@ifundefined{@beginparpenalty}{\def\@beginparpenalty=#1{\penalty#1}}{}%
1633 \def\@DP{\relax\ifmmode\string:\else%
1634 \ifhmode\ifUSP\unskip\space\fi%
1635 \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
1638 \@beginparpenalty=\@M\relax%
1640 \def\@wu#1{\@@wu#1,\void}%
1641 \def\@@wu#1,#2{\ifx#1\empty\else\@@@wu #1\fi%
1642 \def\@tempa{\@@wu#2}%
1643 \ifx#2\void\else\expandafter\@tempa\fi%
1645 \def\@@@wu#1=#2{\expandafter\edef\csname #1\endcsname:{#2\string:}}%
1646 \ifx\hhline\undefined\else\let\@hhlORI\hhline%
1647 \def\hhline{\omit\ifFrench\let:\@cidp\fi%
1648 \expandafter\@gobble\@hhlORI}%
1651 \def!{\ifFTY\protect\@PE%
1652 \else\ifWTS\@WTS\fi\string!\fi}%
1654 \def\@tempd{\@tempa{\string!}}%
1655 \ifx!\undefined\def\@tempd{}\fi\@tempd\@tempc%
1656 \def\@PE{\ifmmode\string!\else%
1657 \ifhmode\ifUSP\unskip\space\fi%
1658 \ifdim\lastskip>\z@\unskip\penalty\@M\,\fi%
1662 \def?{\ifFTY\protect\@PI%
1663 \else\ifWTS\@WTS\fi\string?\fi}%
1665 \def\@tempd{\@tempa{\string?}}%
1666 \ifx?\undefined\def\@tempd{}\fi\@tempd\@tempc%
1667 \def\@PI{\relax\ifmmode\string?\else%
1668 \ifhmode\ifUSP\unskip\space\fi%
1669 \ifdim\lastskip>\z@\unskip\penalty\@M%
1670 \hskip +0.09em plus 0.07667em%
1674 \ifx\@tempb\next\let\AFPdp\empty\f@issue%
1676 \@txt@msg{la double ponctuation est alors d\'esactiv\'ee}}\fi%
1677 \let\ifLPA\ErrFrench%
1678 \let\ifFG\ErrFrench%
1682 \ifx\AFPdp\empty\else%
1683 \def\@array{\let\noexpand\@tempa=\noexpand!%
1684 \def\noexpand!{\noexpand\string\noexpand!}%
1685 \edef\noexpand\@tempb{##1}%
1686 \let\noexpand!=\noexpand\@tempa}%
1688 \catcode`<=13\catcode`>=13%
1690 \edef\@array[#1]{\edef\noexpand\@tempb{#1}%
1691 \noexpand\ifArG\noexpand\else%
1692 \noexpand\ifnum\catcode`\noexpand<=\active%
1693 \noexpand\ifmmode\let\noexpand<\noexpand\inferieura%
1694 \let\noexpand>\noexpand\superieura%
1695 \noexpand\fi\noexpand\fi\@array%
1697 \noexpand\@aORI[{\noexpand\@tempb}]}%
1698 \let\@eaORI\eqnarray%
1699 \def\eqnarray{\ifArG\else\ifnum\catcode`<=\active%
1700 \let<\inferieura\let>\superieura%
1702 \ifx\@@array\undefined\else%
1703 \let\@@aORI\@@array%
1704 \def\@@array{\ifArG\else\ifnum\catcode`<=\active%
1705 \let<\inferieura\let>\superieura%
1708 \catcode`<=12\catcode`>=12%
1710 \let\@CGroup\relax\let\@@FG\relax%
1712 \def\@normalrq{\relax\ifmmode^\prime\else\@frq\fi}%
1713 \def\@frq{{\catcode`'=12{\ifNEQ\ifECM\char\rq001%
1714 \else\char\rq023\hbox{}\fi%
1715 \else\string'\fi}}}%
1717 \def`{\protect\@PLQ}%
1719 \def\@PLQ{\ifmmode\string`\let\@PLQ@\relax%
1720 \else\ifNED\let\@PLQ@\@PLQn\fi%
1721 \ifhmode\let\@PLQ@\@PLQn\fi%
1723 \def\@PLQn{\@ifNextNB`{\protect\@OQ}%
1724 {\ifNEQ\ifECM\char\rq000\hbox{}%
1725 \else\char\rq022\hbox{}\fi%
1728 \def\@OQ`{\ifNED\protect\@LG\else\string``\fi}%
1729 \def'{\protect\@PRQ}%
1731 \def\@PRQ{\ifmmode\let\@PRQ@\@SRQ@%
1732 \else\ifhmode\let\@PRQ@\@PRQn\fi%
1735 \def\@PRQn{\let\@PRQ@\rq%
1736 \@ifNextNB'{\ifNED\let\@PRQn@\@@FGp%
1737 \else\let\@PRQn@\relax\string'\fi\@PRQn@}%
1738 {\protect\@normalrq}}%
1742 \def\untypedspaces{\@noBDfr%
1744 \def\typedspaces{\@noBDfr%
1745 \let\ifUSP\iffalse}%
1746 \let\if@labelsinmargin\iffalse%
1748 \let\ifFrench\iffalse%
1749 {\def\@genMLhyph{\@ifundefined{french}{}{\gdef\fhyph{\french}}%
1750 \@ifundefined{english}{}{\gdef\ehyph{\english}}}%
1751 \@ifundefined{fhyph}{\@genMLhyph}{}%
1753 \gdef\frenchTeXmods{%
1754 \global\let\ifFrench\iftrue%
1758 \frenchtypography\frenchtranslation\frenchlayout%
1762 \frenchtypography\frenchtranslation\frenchlayout%
1764 \frenchmacros\frenchwarnings%
1765 \let\@HifORI\@Hif\let\@HfiORI\@Hfi%
1767 \csname @xtrasfrench\endcsname%
1768 \ifx\GOfrench\undefined%
1769 \csname beginL\endcsname%
1771 \def\languagename{french}%
1773 \let\switchtolanguage\endfrench%
1776 \ifx\undefined\babel@core@loaded%
1777 \edef\extrasfrench{}\def\@xtrasfrench{\extrasfrench}%
1778 \DeclareOption{french}{\def\beginlanguage{%
1779 \ifx\babel@savevariable%
1781 \else\endenglish\selectlanguage{french}\fi}%
1783 \DeclareOption{english}{\def\beginlanguage{%
1784 \ifx\babel@savevariable%
1786 \else\selectlanguage{english}\fi}%
1788 \else\let\extrasfrench\frenchTeXmods%
1790 \def\@tempa{\protect\@LabeL}%
1791 \ifx\@tempa\label\else%
1792 \let\@lORI\label\let\label\@tempa\fi%
1793 \def\@tempa{\protect\atgH{r}}%
1794 \ifx\@tempa\ref\else\@gG{r}{ref}{/}{1}\fi%
1797 \@ifundefined{switchtolanguage}{%
1798 \def\switchtolanguage#1{#1}}{}%
1799 \let\@stlORI\switchtolanguage
1800 \def\@DFPtestANDset{%
1801 \ifx\ifFrench\iffalse%
1803 \@txt@msg{ATTENTION : }%
1804 \@txt@msg{si babel est utilis\'e, mettre \frenchname\space en option}%
1807 \let\@DFPtestANDset\@DFP%
1812 \nofrenchtypography\nofrenchtranslation\nofrenchlayout%
1815 \nofrenchhyphenation%
1816 \let\@Hif\@HifORI\let\@Hfi\@HfiORI%
1817 \let\switchtolanguage\@stlORI%
1818 \let\ifFrench\iffalse\@stlORI%
1820 \let\noextrasfrench\endfrench%
1821 \@ifundefined{englishTeXmods}{\gdef\englishTeXmods{}}{}%
1822 \global\let\@Hif\empty\global\let\@Hfi\empty%
1823 \global\let\if@FE\iffalse%
1824 \newif\if@more\@moretrue%
1826 \def\f@ERRdat{\f@issue%
1827 \errmessage{-9- \@txt@msg{Corrupted/absent language.dat file.}%
1828 }\global\let\french\@@end%
1831 \let\ORIGfrench\french%
1834 \def\@rhef##1/##2 /{\def\@tempa{##2}%
1836 \def\@tempc{\ifx\space\@tempa\else%
1837 \expandafter\gdef\csname ##1@hefn\endcsname{##2\relax}%
1838 \if@FE\expandafter\@@input##2\relax\fi\fi}%
1839 \ifx\undefined\@excn\@tempc%
1840 \else\ifx\@tempb\@excn\@tempc\fi\fi}%
1841 \gdef\NouveauLangage[##1]##2{%
1842 \expandafter\@ifundefined{l@##2}{}%
1844 \chardef\l@no##1\expandafter\if\csname l@##2\endcsname\l@no\else%
1845 \edef\l@no{##1}\expandafter%
1847 \ifx\csname l@##2\endcsname\l@no%
1848 \else\f@issue\typeout{^^J \frenchname.sty \string: -27- %
1849 \@txt@msg{language \l@no\space (##2) was initially }%
1850 \@txt@msg{(at initex) numbered \csname l@##2\endcsname\space(ERROR!)}%
1853 \expandafter\tl@ng\csname##2TeXmods\endcsname%
1854 \expandafter\gdef\csname##2 \endcsname%
1855 {\expandafter\switchtolanguage\csname ##2TeXmods\endcsname%
1856 \@Hif\language=##1\@Hfi\relax}%
1857 \expandafter\gdef\csname##2\endcsname%
1858 {\protect\csname##2 \endcsname}%
1861 \def\@langue##1##2 ##3 ##4/##5{\def\@tempa{=}\def\@tempb{##1}%
1863 \ifnum\@FrCount > 0 \advance\@FrCount by -1\fi%
1865 \expandafter\NouveauLangage\expandafter[\the\@FrCount]{##2}%
1866 \ifnum\@FrCount \@temp@ 0 \@FrCount= -1\fi%
1867 \else\edef\@temp@{<}\@l@ngue##1##2 ##3 ##4/{##5}%
1869 \def\@l@ngue##1 ##2 ##3/##4{\NouveauLangage[##4]{##1}%
1873 \let\hyphenation\f@hyphenation%
1874 \openin\@inputcheck = language.dat \def\@tempb{}%
1875 \ifeof\@inputcheck\@Ffnt{language.dat}%
1876 \ifx\undefined\french %
1877 \else\xdef\@PrevF{\french}%
1878 \gdef\french{\switchtolanguage\frenchTeXmods\@PrevF}%
1879 {\@PrevF\f@issue\@fw{-15- %
1880 \@txt@msg{le langage \frenchname\space porte le }%
1881 \@txt@msg{num\'ero \the\language}%
1884 \ifx\undefined\l@english %
1887 \ifx\undefined\english %
1888 \else\xdef\@PrevE{\language=\l@english}%
1889 \gdef\english{\switchtolanguage\englishTeXmods\@PrevE}%
1890 {\@PrevE\f@issue\@fw{-16 %
1891 \@txt@msg{the English language\space is numbered }%
1892 \@txt@msg{\the\language}%
1896 \loop \endlinechar=-1 \read\@inputcheck to \@lineD \endlinechar`\^^M%
1897 \ifx\@lineD\empty \else \advance\@FrCount by 1%
1898 \edef\@lineD{\@lineD\space\space/{\the\@FrCount}}%
1899 \expandafter\@langue\@lineD%
1901 \ifeof\@inputcheck \@morefalse \fi%
1903 \fi\closein\@inputcheck%
1904 \let\hyphenation\@hyphenation%
1905 \def\@MLtst{\@ifundefined{fhyph}%
1906 {\if@PMF\gdef\french{\switchtolanguage\frenchTeXmods}%
1909 \@txt@msg{utilisation du langage interne num\'ero \the\language}%
1912 \typeout{^^J \frenchname.sty: -20b-
1913 \@txt@msg{the French language is undefined (ERROR!)}%
1915 {\gdef\french{\switchtolanguage\frenchTeXmods\fhyph}%
1916 \gdef\english{\switchtolanguage\englishTeXmods\ehyph}%
1919 \@ifundefined{french}{\@MLtst}{}%
1920 \@ifundefined{endenglish}{\global\let\endenglish\french}{}%
1921 \gdef\tl@ng##1{\ifx ##1\relax\f@issue%
1922 \@fw{-21- \@txt@msg{##1 n'est pas d\'efini}%
1924 \ifx\ORIGfrench\french\f@ERRdat\fi%
1927 \ifx\vert\undefined\else\let\@bvORI\vert\fi%
1928 \def\@fwVIIIII{\f@issue%
1929 \kbtypeout{^^J -73- \@txt@msg{ERREUR avec AmSTeX : }%
1930 \@txt@msg{\frenchname.sty a \'et\'e charg\'e trop t\^ot !}%
1932 \ifx\RIfM@\undefined%
1933 \def\vert{\ifx\RIfM@\undefined\expandafter\@bvORI\else\expandafter%
1938 \let\@currname\@currnameORI%
1939 \def\languagename{english}%
1940 \def\beginlanguage{%
1941 \ifx\babel@savevariable%
1943 \else\endenglish\selectlanguage{french}\fi%
1945 \let\@bglngpk\babel@savevariable%
1946 \ifx\pg@add@to\undefined\else%
1947 \def\pg@begin{\begingroup}%
1948 \def\pg@end{\endgroup}%
1950 \edef\beginFWdirection{L}%
1951 \ifx\undefined\babel@core@loaded\ProcessOptions*%
1953 \PackageInfo{\frenchname}%
1954 {Initialisation de l'option \frenchname\space pour Babel}%
1955 \GOfrench\let\GOfrench\relax%
1959 \PassOptionsToPackage{french}{varioref}%
1960 \PassOptionsToPackage{french}{pdfscreen}%