%% ===================================================================== %% Écriture/ Lecture de fichiers *.xint %% ===================================================================== \begingroup \catcode`_ 11 \makeatletter \catcode13\active% \gdef\ReadXintValues#1#2{% % #1 = préfixe pour nommer les variables % #2 = nom du fichier % LE FICHIER #2 DOIT CONTENIR UNE VARIABLE PAR LIGNE % Il vaut mieux que cette variable soit au format interne "raw" de % xintfrac, à savoir A[N] ou A/B[N]. C'est automatiquement % le cas si le fichier a été créé par \WriteXintValues % cf outarray.tex % % NE RIEN CHANGER AUX LIGNES CI-DESSOUS N'AJOUTER NI ESPACE NI % % NI QUOI QUE CE SOIT \begingroup\xintglobaldefstrue% \endlinechar13\relax% \catcode13\active% \everyeof{\noexpand}% \def\@tempa{0}% \def\ReadXint@one##1 {\edef\@tempa{\the\numexpr\@tempa+1}% % INTERNAL XINT MACRO DO NOT USE AT HOME WITHOUT GUIDANCE \XINT_expr_defvar_one{#1\@tempa}{{##1}} }% \def {\futurelet\@temptoken\ReadXint@chk}% \def\ReadXint@chk{\ifx\@temptoken\noexpand\else% \expandafter\ReadXint@one\fi}% \expandafter \@@input#2\relax% \endgroup}% \endgroup% % Pour xint < 1.4e, décommenter les lignes suivantes.................... % \begingroup % \catcode`_ 11 % \gdef\xintthebarefloateval % {% % \romannumeral0\expandafter\xint_stop_atfirstofone % \romannumeral0\xintbarefloateval % }% % \endgroup \newwrite\out \def\WriteXintValues#1#2{% % #1 = une expression séparée par des virgules % #2 = fichier externe \immediate\openout\out=#2\relax %\pdfresettimer \newlinechar=`\^^J \immediate\write\out{% \xintListWithSep{^^J} {% \xintthebarefloateval #1% \relax }% }% %\message{\the\dimexpr\pdfelapsedtime sp\relax} \immediate\closeout\out }%