Re: [CBLX] LaTeX et lecture pdf

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Bonjour Matthieu, et autant (au temps ??) pour moi. Je viens de vérifier, et avec ce que je t'ai donné, les effets produits sont bien ce que tu décris ; le problème vient des options LaTeX que je t'ai fournies, c'est manifestement insuffisant, mais moi j'utilise une usine à gaz de macros qui s'est faite toute seule au fil des ans, et il faut que je me replonge dedans pour trouver ce qui cloche ; j'essaierai de faire ça ce week-end, car chez moi, cela fonctionne vraiment, mais avec mes macros (en remplaçant ton en-tête par le mien, ça marche, mais le mien n'est pas transportable, je ne peux te le donner brut, quoique... si tu te sens de fouiller dedans, je joins les fichiers. Mais toutes mes excuses pour les horreurs qui sont dedans). Pour s'en servir, enlever tous les \usepackage et remplacer par \usepackage{enonces} ; il faut que mes fichiers soient accessibles par la variable TEXINPUTS.

Je cherche donc,
Gilles.

Le 03/06/2015 11:00, Mathieu Barbe a écrit :
Merci pour tour vos messages,
donc, c'est pas forcement con, c'était pas vraiment juste de dire cela
sans l'historique et l'ensemble des éléments.

J'ai donc essayé avec la config suivante :
Debian 8.0
texlive 2014.20141024-2, récupéré avec apt-get
pdftotext 0.26.5

J'ai compilé le fichier tex très simple en PJ avec pdflatex.
J'ai repris les ligne de Gilles, pour la configuration de
fontenc, inputenc et babel

puis j'ai fait un
pdftotext test.pdf
J'ai tous mis en PJ.
Avez-vous encore une idée qui pourrait ne pas générer d'erreur à la sortie?
Merci d'avance.
Mathieu

Le 30/05/2015 17:13, Gilles Touzé a écrit :

C'est trop con de regrouper des caractères pour l'accessibilité ainsi
que pour le référencement web.
Mathieu

Ben oui, on peut dire que c'est trop con, mais un petit historique de
LaTeX premettra de comprendre pourquoi c'est ainsi : LaTeX utilise
comme moteur de composition de page le langage TeX créé par Donald
Knuth dans les années 70 ; à l'époque, il n'existait aucun programme
capable de faire de l'édition de qualité professionnelle, et Knuth
voulait composer lui-même le livre qu'il venait d'écrire, "The art of
programming" (de mémoire). Il voulait la même qualité que les
typographes manuels obtenaient depuis des siècles à la main. Or les
ligatures, en typographie, existent bel et bien, donc Knuth les a
incorporées à son programme TeX.
Depuis, la situation a beaucoup évolué, mais on a conservé les
ligatures, car il ne faut pas oublié que TeX ou LaTeX ne sont pas des
traitements de textes, mais bien des logiciels de composition
professionnels, aucun compromis n'est donc admis. Cet aspect rend un
peu ardu l'utilisation de LaTeX par moment, mais quel bonheur de
produire des documents irréprochables !

Pour ce qui est de l'accessibilité, il n'y a en fait pas de problème :
si tu tapes par exemple "ffi" dans ton texte source, tu accède au
contenu. Tu compile et obtient soir un dvi, soit un pdf : tu n'accède
plus directement au contenu, le pdf n'est pas lisible de toute façon
(sauf par un voyant, qui verra de belles ligatures) ; pour accéder au
contenu de ton pdf, tu est obligé d'utiliser un moyen quelconque qui
le transforme en texte ; j'ai fait l'essai avec pdftotext, et j'ai
bien récupéré les chaînes de caractère originales ("ffi" dans mon
exemple). Il faut seulement bien mettre les lignes d'en-tête que j'ai
indiquées dans un autre mail.

Gilles



%%%%%%%%%%%%%%%%%%%%%%%%Intégration des macros mathématiques%%%%%%%%%%%%%%%%%
%\RequirePackage{epic}
%\RequirePackage{pictex}
%\RequirePackage{graphicx}

\input{maths.tex}

%%%%%%%%%%%%%%%%%%%%%% Redéfinition des marges %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Latex ne reconnait qu'une marge par page, elle n'existe que
%% pour y inscrire des notes de marges.
%% La marge est à gauche pour les pages impaires, à droite, pour les
%% pages paires.
%% Ici elles sont redéfinies pour mettre le texte à 2cm du bord gauche
%% de la feuille, une largeur de texte de 18 cm, et donc une marge à droite
%% de 1 cm.
\if @twoside
 \oddsidemargin -0.54cm
 \evensidemargin -1.54cm
 \marginparsep 0cm
 \textwidth 17cm
\else
 \oddsidemargin -0.54cm
 \evensidemargin -1.54cm
 \marginparsep 0cm
 \textwidth 17 cm
\fi
%\if @twoside
% \oddsidemargin 2.46cm
% \evensidemargin 2.46cm
% \marginparsep 0cm
% \textwidth 13cm
%\else
% \oddsidemargin 2.46cm
% \evensidemargin 2.46cm
% \marginparsep 0cm
% \textwidth 13 cm
%\fi

\setlength{\parindent}{0cm}
\setlength{\parskip}{.5ex}
%\setlength{\baselineskip}{1ex}
%\setlength{\marginparsep}{0cm}

% On ajuste la ligne du haut de page avec le bord supérieur de la feuille
% en mettant à -2.54cm la variable topmargin

\setlength{\topmargin}{-2.54cm}

% Pas de séparation supplémentaire entre le haut de page et le haut de la zone
% de texte.

\headsep 0cm

% On ajuste la hauteur du haut de page (au-dessus du texte) à 1cm

%\setlength{\headheight}{8mm}

% On ajuste la hauteur du texte à 27,9cm
%\textheight 250mm

\setlength{\textheight}{270mm}

%%%%%%%%%%%%%%%%%% Définition des couleurs du document %%%%%%%%%%%%%%%%%%%%%%

\definecolor{titlecolor}{rgb}{1,1,1}
\definecolor{titletextcolor}{rgb}{0,0,0}
\definecolor{normaltextcolor}{rgb}{0,0,0}
\definecolor{pagecolor}{rgb}{1,1,1}
%\pagecolor{pagecolor}
%\color{normaltextcolor}

%%%%%%%%%%%%%%%%%%% Macros de traitement de texte %%%%%%%%%%%%%%%%%%%%%%%%%%%
%La commande \entete demande en premier argument le titre du contrôle
% et en deuxième la date du contrôle

\newcommand{\entete}[2]
  {
%{colorbox{blue}{
  \begin{tabular}{|p{5cm}|p{12cm}|}
    \hline
    \textsf{Nom :}& \\
    \textsf{Pr\'enom :}&{\sf\Large #1}\\
    \textsf{Classe :}&\sf #2\\
    \hline
  \end{tabular}
\vspace{2ex}
}


% Une boîte \makebox[0cm]{...} permet d'insérer un élément fixe
% quelque part dans la ligne sans perturber la gestion des
% espacements du reste de la ligne.

\newcommand{\titre}[2]
  {%\makebox[0cm][l]
    \colorbox{titlecolor}
    {\textcolor{titletextcolor}
    {\textsf{\Large{#1}}\hspace{2cm}\textbf{\Huge{#2}}}}
  }

\newcommand{\corr}[1]{\textcolor{red}{#1}}
\newcounter{gpara}
\setcounter{gpara}{1}
\newcommand{\gpara}[1]
  {\vspace{2em}\Large{\colorbox{titlecolor}{\textcolor{titletextcolor}{\Roman{gpara}] #1}}}\stepcounter{gpara}
  \stepcounter{ppara}}

\newcounter{ppara}[gpara]
\setcounter{ppara}{1}
\newcommand{\ppara}[1]
  {\colorbox{titlecolor}{\textcolor{titletextcolor}{\arabic{ppara}) \bf #1}}\stepcounter{ppara}}


\newlength{\lnum}
\setlength{\lnum}{3em}
\newcounter{cexo}[subsection]
\renewcommand\thecexo{\makebox[\lnum][r]{\arabic{cexo}.--~}}
\newcommand{\exo}{\stepcounter{cexo}
\par
\makebox[2cm][r]{\hspace*{-1.5cm}
\mbox{\textbf {Exercice~\thecexo}}}
}
\newcounter{cq}[subsection]
\renewcommand\thecq{\makebox[\lnum][r]{\arabic{cq}.--~}}
\newcommand{\qu}{
\stepcounter{cq}
\par
\makebox[2cm][r]{\hspace{-2.5cm}
\mbox{\textbf{Question~\thecq}}}
}


%%%%%%%%%%%%%%%%%%%%%Environnements de texte%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newenvironment{PetitsCaracteres}{\footnotesize\begin{it}}{\end{it}}

%%%%%%%%%%%%%%%%%%%%%Environnements du type THEOREME%%%%%%%%%%%%%%%%%%%%%%%%%

\newtheorem{defi}{Définition }[section]
\newtheorem{theo}{Théorème }[section]
\newtheorem{prop}{Propriété }[section]
\newtheorem{exem}{Exemple }[gpara]
\newtheorem{rema}{Remarque }
\newtheorem{propo}{Proposition}
\newtheorem{lem}{Lemme}
\newtheorem{coro}{Corollaire}
%\newtheorem{regl}{Règle }
%\newenvironment{regl}{\colorbox{titlecolor}{\textcolor{titletextcolor}Règle :}{}

\renewcommand\thedefi{\arabic{section}.\arabic{defi}\ :\ }
\renewcommand\thetheo{\arabic{section}.\arabic{theo}\ :\ }
\renewcommand\theprop{\arabic{section}.\arabic{prop}\ :\ }
\renewcommand\theexem{\arabic{gpara}.\arabic{exem}\ :\ }
\renewcommand\therema{}
\renewcommand\thepropo{}
\renewcommand\thelem{}
\renewcommand\thecoro{}

%%%%%%%%%%%%%%%%%%%%%%%%%Compteurs divers%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\renewcommand\thesection{\Roman{section}}
\renewcommand\thesection{}
\renewcommand\thesubsection{\Roman{subsection}}
\renewcommand\theenumi{\arabic{enumi}}
\renewcommand\theenumii{\alph{enumii}}
\renewcommand\theenumiii{\roman{enumiii}}
\renewcommand\labelenumi{\it\theenumi)\ }
\renewcommand\labelenumii{\it\theenumii)\ }
\renewcommand\labelenumiii{\it\theenumiii)\ }

\usepackage[utf8]{inputenc}        %CODAGE UTF8 DES CARACTERES
\usepackage[T1]{fontenc}           %CESURE DES MOTS EN FRANCAIS
\usepackage[francais]{babel}       %STYLE FRANCAIS
\usepackage{palatino}              %Police palatino, contient les ligatures françaises
\usepackage{mathptmx}              %Police Times pour les paths (jolie calligraphique)
\usepackage{fancyhdr}              %HAUTS ET BAS DE PAGES
\usepackage{array}                 %TABLEAUX AMELIORES
\usepackage{color}                 %COULEURS ET NIVEAUX DE GRIS
\usepackage[right]{eurosym}        %ACCES AUX EUROS ET AUX CENTIMES
%\usepackage{epic}
%\usepackage{eepic}
\usepackage{graphicx}
\usepackage{amssymb}               %Fonts ams (frak, bb)
\usepackage{amsmath}               %Congruence
\usepackage{epsfig}                %Inclusion de EPS
\usepackage{setspace}              %commande \doublespacing
\usepackage{cancel}                %commande \cancel (simplification de fractions}
\usepackage{alltt} 

%%%%%%%%%%%%%%%%%%%Polices particulières%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Pour utilisee Helvetica comme police par défaut, décommenter la ligne suivante :
% \renewcommand{\familydefault}{\sfdefault}  %Sans serif  est famlille par défaut
\newcommand{\CalDix}{\mathcal}


%%%%%%%%%%%%%%%%%SECTION I : symboles mathématiques %%%%%%%%%%%%%%%%%%%%%%%%%
% Quelques symboles mathématiques supplémentaires. Les noms choisis peuvent
% être changés à volonté.
%\usepackage{fr}

\newcommand\numero{ n$^\circ$ }                  %NUMERO
% \newcommand\degre{^{\circ}}                      %DEGRE
\newcommand\cqfd{~\hfill\rule{1ex}{1ex}}          %SYMBOLE POUR QED
\newcommand\etc{{\rm\ etc \dots}}                %ETC
\newcommand\cad{{ c'est-\`a-dire }}              %C'EST A DIRE
\newcommand\afor{{\emph{\ a fortiori\ }}}        %A FORTIORI
\newcommand\resp{{\emph{resp.}\ }}               %RESPECTIVEMENT
\newcommand\ie{{\emph\ i.e.\ }}                  %ID EST
\newcommand\cf{{\emph\ c.f.\ }}                  %CONFERE
\newcommand\mm{{\emph\ mutatis mutandis\ }}      %MUTATIS MUTANDIS
\newcommand\ssi{\ si et seulement si\ }          %SI ET SEULEMENT SI
\newcommand\tq{{\ tel que\ }}                    %TEL QUE
\newcommand\tqe{{\ telle que\ }}                 %TELLLE QUE
\newcommand\tqs{{\ tels que\ }}                  %TELS QUE
\newcommand\tqes{{\ telles que\ }}               %TELLES QUE
\newcommand\cns{{ condition nécessaire et %
suffisante }}                                    %CNS
\newcommand\cnss{{ conditions nécessaires et %
suffisantes }}                                   %CNS (pluriel)
\newcommand\proba{ probabilité}                 %PROBABILITE
\newcommand\probas{ probabilités }               %PROBABILITES
\newcommand\val{ variable aléatoire }            %VARIABLE ALEATOIRE
\newcommand\vals{ variables aléatoires }         %VARIABLES ALEATOIRES
\newcommand\var{ variable aléatoire réelle }     %V. A. REELLE
\newcommand\vars{ variables aléatoires réelles } %V. A. REELLES
\newcommand\Fig[3]{%                             %INSERE FIGURE {FICHIER}
\begin{figure}[htbp]%                            %{LABEL}{LEGENDE}
\center{\includegraphics[width=10cm]{#1}}%
\caption{#3}%
\label{#2}%
\end{figure}}
\newcommand\fig[1]{{\it c.f.} figure\ \ref{#1}\ }%VOIR FIGURE REF
\newcommand\ev{espace vectoriel }               %ESPACE VECTORIEL
\newcommand\evs{espaces vectoriels }             %ESPACES VECTORIELS 
\newcommand\sev{\ sous-espace vectoriel }       %SOUS-ESPACE VECTORIEL
\newcommand\sevs{\ sous-espaces vectoriels }     %SOUS-ESPACES VECTORIELS
\newcommand\evn{espace vectoriel normé}         %ESPACE VECTORIEL NORME
\newcommand\evns{espaces vectoriels normés }     %ESPACES VECTORIELS NORMES
\newcommand\apl{application linéaire }           %APPLICATION LINEAIRE
\newcommand\apls{applications linéaires }        %APPLICATIONS LINEAIRES
\newcommand\vide\emptyset                        %ENSEMBLE VIDE
\newcommand\card{\mathop{\rm Card}\nolimits}     %CARDINAL
\newcommand\equipot{{\ \simeq\ }}                %EQUIPOTENT
\newcommand\environ{{\ \simeq\ }}                %ENVIRON
\newcommand\isom{{\ \sim\ }}                     %ISOMORPHE
\newcommand\injec{\hookrightarrow}               %FLECHE POUR INJECTION
\newcommand\classe[1]{\overline{#1}}             %CLASSE D'UN ELEMENT
\newcommand\cl\classe
\newcommand\textm[1]{\mbox{\textnormal\ #1}}      %TEXTE DANS MATHS
%pour beamer
\newcommand\er{$1^{\mbox{\footnotesize \textit{er}}}$}   %PREMIER
\newcommand\ere{$1^{\mbox{\footnotesize \textit{ère}}}$} %PREMIERE
\newcommand\eme{^{\mbox{\footnotesize  \ ème}}}  %QUANTIEME
\newcommand\emes{^{\mbox{\footnotesize%
  \textit{èmes}}}}                               %QUANTIEMES
\renewcommand\geq{\geqslant}                     %SUPERIEUR
\renewcommand\leq{\leqslant}                     %INFERIEUR
\newcommand\eq{\Leftrightarrow}                  %EQUIVALENCE LOGIQUE
\newcommand\imp{\Rightarrow}                     %IMPLICATION
\newcommand\vien{\Leftarrow}                     %VIENT DE
\newcommand\qqs{\forall}                         %QUEL QUE SOIT
\newcommand\nin{\not\in}                         %NON APPARTIENT
\newcommand\appl[1]{\,:\,#1\rightarrow}          %APPLICATION: DE
\newcommand\applc[5]{\begin{array}[t]{cccl}#1\   %APPLICATION COMPLETE...: DE
:\ &#2&\longrightarrow&#3\\&#4&\mapsto&#5        %...VERS... QUI A ... FAIT 
\end{array}}                                     %CORRESPONDRE...(scolaire)
\newcommand\enum[4]{#1{_{#3}}#2\dots#2#1_{#4}}   %ENUMERATION PARAMETREE
\newcommand\rond{\circ}                          %COMPOSITION D'APPLICATIONS
\newcommand\compl{\complement}                   %COMPLEMENTAIRE
\newcommand\priv{\setminus}                      %MOINS ENSEMBLISTE
\newcommand\croix{\times}                        %PRODUIT CARTESIEN
\newcommand\pg{\left(}                           %PARENTHESE GAUCHE
\newcommand\pdr{\right)}                         %PARENTHESE DROITE
\newcommand\cg{\left[}                           %CROCHET GAUCHE
\newcommand\cd{\right]}                          %CROCHET DROITE
\newcommand\vg{\left.}                           %VIDE GAUCHE
\newcommand\vd{\right.}                          %VIDE DROITE 
\newcommand\ag{\left\{}                          %ACCOLADE GAUCHE
\newcommand\ad{\right\}}                         %ACCOLADE DROITE

\newcommand\dis[1]{$\displaystyle #1$}           %DISPLAYSTYLE
\newcommand\disc[1]{\begin{center}$\displaystyle #1$
 \end{center}}                                   %DISPLAYSTYLE CENTRE
% commande encadre ne centre plus
\newcommand\encadreequation[1]
 {\fbox{\ensuremath{\displaystyle{#1}}}}                    %EQUATION ENCADREE
\newcommand{\encadre}{\encadreequation}
% commande \enchaine prend maintenant 3 colonnes
\newcommand\enchaine[1]                          %RELATIONS ENCHAINEES
{\begin{array}{rcl}#1\end{array}}
% \newcommand\calcul[1]                          %EGALITES ENCHAINEES
% commande \calcul renomm� \egalite
%\newcommand\egalite[1]                           %EGALITES ENCHAINEES
%{\begin{array}{r@{\ =\ }l}#1\end{array}}
\newcommand\sys[1]                               %SYSTEME D'EQUATIONS
{\ \left\{\!\begin{array}{r@{\ =\ }l}#1\end{array}\right.\ }
\newcommand\sysg[1]                              %SYSTEME 
{\left\{\begin{array}{rcl}#1\end{array}\right.}
\newcommand\sysgcomm[1]                          %SYSTEME COMMENTE
{\left\{\begin{array}{rcll}#1\end{array}\right.}

\newcommand\Calc[1]                              %RELATIONS ENCHAINEES EN
% {\begin{align*}#1\end{align*}}
{\begin{eqnarray*}#1\end{eqnarray*}}             %DISPLAYMATH 

\newcommand\perm{\mathfrak{S}}                   %GROUPE DE PERMUTATION
\newcommand\A{\mathbb A}
\newcommand\C{\mathbb C}                         %ENSEMBLE C
\newcommand\D{\mathbb D}                         %ENSEMBLE D
\newcommand\K{\mathbb K}                         %CORPS K
\newcommand\bbL{\mathbb L}                       %CORPS L
\newcommand\N{\mathbb N}                         %ENSEMBLE N
\newcommand\Q{\mathbb Q}                         %ENSEMBLE Q
\newcommand\R{\mathbb R}                         %ENSEMBLE R
\newcommand\Z{\mathbb Z}                         %ENSEMBLE Z
\newcommand\congru\equiv                         %CONGRU A
\newcommand\modulo[1]{~\mbox{\rm(mod $#1$)}}        %MODULO
\newcommand\congr[3]{#1\equiv#2\ (
 \mbox{\rm~mod~}#3)}                            %CONGRUENCE
\newcommand\comb[2]{\mbox{\textbf{C}}_{#1}^{#2}} %COMBINAISONS 
\newcommand\valabs[1]{\left |#1\right |}         %VALEUR ABSOLUE
\newcommand\va\valabs
\newcommand\vaa\valabs
\newcommand\rad{\sqrt}                           %RADICAL
\newcommand\E{\mathop{\rm E}\nolimits}           %PARTIE ENTIERE
\newcommand\re[1]{\mbox{\CalDix R}e\left(#1\right)}      %PARTIE REELLE
\newcommand\im[1]{\mbox{\CalDix I}m\left(#1\right)}      %PARTIE IMAGINAIRE
\newcommand\barre{\overline}                     %CONJUGUE
\newcommand\intg{\hbox{[\hskip -1.5pt [}}        %INTERVALLE ENTIER G
\newcommand\intd{\hbox{]\hskip -1.5pt ]}}        %INTERVALLE ENTIER D
\newcommand\intent[2]{\intg\,#1;\,#2\,\intd\ }   %INTERVALLE ENTIER
\newcommand\chapeau{\hat}                        %CHAPEAU
\newcommand\bon{ base orthonormée }              %B.O.N.
\newcommand\bons{ bases orthonormées }           %B.O.N. (pluriel)
\newcommand\orth\perp                            %ORTHOGONAL
\newcommand\paral{/\!/}                          %PARALLELLE
\newcommand\nparal{\paral\hskip-7pt\backslash}   %NON PARALLELE
\newcommand\vect{\overrightarrow}                %VECTEUR (FLECHE)
\newcommand\vc{\overrightarrow}
\newcommand\Vect{{\CalDix V}\!{\textit{ect}}}    %ESPACE ENGENDRE (VECT)
\newcommand\ps\pscal
\newcommand\Ker{\mathop{\rm Ker}\nolimits}       %NOYAU
\renewcommand\ker{\mathop{\rm Ker}\nolimits}     %
\newcommand\Ima{\mathop{\rm Im}\nolimits}        %IMAGE
\newcommand\ima{\mathop{\rm Im}\nolimits}        %
\newcommand\Mat{\mathop{\rm Mat}\nolimits}       %MAT (RICE D'1 APPL LIN)
\newcommand\mat{\mathop{\rm Mat}\nolimits}       %MAT (RICE D'1 APPL LIN)
\newcommand\Mn{\mathop{\CalDix M}\nolimits}      %ENSEMBLE DES MATRICES
\newcommand\Gl{\mathop{\rm GL}\nolimits}         %GROUPE LINEAIRE
\newcommand\Id{\mathop{\rm Id}\nolimits}         %ID (ENTITE)
\newcommand\Det{\mathop{\rm Det}\nolimits}       %DET (ERMINANT)
\newcommand\Com{\mathop{\rm Com}\nolimits}       %COMATRICE 
\newcommand\Diag{\mathop{\rm Diag}\nolimits}     %MATRICE DIAGONALE
\newcommand\Dia{\Diag}                      
\newcommand\rang{\mathop{\rm rg}\nolimits}       %RANG
\newcommand\rg{\rang}
\newcommand\tr{\mathop{\rm tr}\nolimits}         %TR (ACE D'1 MATRICE)
\newcommand\Tr{\tr}
\newcommand\tran{\,^t\!\!\,}                     %TRANSPOSEE
\newcommand\Sp{\mathop{\rm Sp}\nolimits}         %SPECTRE
\newcommand\Pc{\mathop{\rm P_c}\nolimits}        %POLYNOME CARACTERISTIQUE
\newcommand\Pm{\mathop{\Pi_m}\nolimits}          %POLYNOME MINIMAL
\newcommand\pscal[2]{\left\langle\left.#1\right|
\kern-.446em\left|#2\right.\right\rangle}        %PRODUIT SCALAIRE
\newcommand{\matu}[1]                            %MATRICE 1 COLONNE
{\left(\begin{array}{c}#1\end{array}\right)}    
\newcommand{\matd}[1]                            %MATRICE 2 COLONNES
{\left(\begin{array}{cc}#1\end{array}\right)}
\newcommand{\matt}[1]                            %MATRICE 3 COLONNES
{\left(\begin{array}{ccc}#1\end{array}\right)}
\newcommand{\matq}[1]                            %MATRICE 4 COLONNES
{\left( \begin{array}{cccc}#1\end{array}\right)}
\newcommand{\matc}[1]                            %MATRICE 5 COLONNES
{\left( \begin{array}{ccccc}#1\end{array}\right)}
\newcommand{\mats}[1]                            %MATRICE 6 COLONNES
{\left( \begin{array}{cccccc}#1\end{array}\right)}
\newcommand{\matS}[1]                            %MATRICE 7 COLONNES
{\left( \begin{array}{ccccccc}#1\end{array}\right)}
\newcommand\blocu[1]                             %BLOC 1 COLONNE
{\encadre{\begin{array}{c}#1\end{array}}}
\newcommand\blocd[1]                             %BLOC 2 COLONNES
{\encadre{\begin{array}{cc}#1\end{array}}}
\newcommand{\bloct}[1]                           %BLOC 3 COLONNES
{\encadre{\begin{array}{ccc}#1\end{array}}}
\newcommand{\blocq}[1]                           %BLOC 4 COLONNES
{\encadre{\begin{array}{cccc}#1\end{array}}}
\newcommand{\blocc}[1]                           %BLOC 5 COLONNES
{\encadre{\begin{array}{ccccc}#1\end{array}}}
\newcommand{\blocs}[1]                           %BLOC 6 COLONNES
{\encadre{\begin{array}{cccccc}#1\end{array}}}
\newcommand{\blocS}[1]                           %BLOC 7 COLONNES
{\encadre{\begin{array}{ccccccc}#1\end{array}}}
\newcommand{\detd}[1]                            %DET 2 COLONNES
{\left|\begin{array}{cc}#1\end{array}\right|}
\newcommand{\dett}[1]                            %DET 3 COLONNES
{\left|\begin{array}{ccc}#1\end{array}\right|}
\newcommand{\detq}[1]                            %DET 4 COLONNES
{\left| \begin{array}{cccc}#1\end{array}\right|}
\newcommand{\detc}[1]                            %DET 5 COLONNES
{\left| \begin{array}{ccccc}#1\end{array}\right|}
\newcommand{\dets}[1]                            %DET 6 COLONNES
{\left| \begin{array}{cccccc}#1\end{array}\right|}
\newcommand{\detS}[1]                            %DET 7 COLONNES
{\left| \begin{array}{ccccccc}#1\end{array}\right|}
\newcommand\al\alpha                             %RACCOURCIS GRECS
\newcommand\be\beta
\newcommand\ga\gamma
\newcommand\de\delta
\newcommand\ep\varepsilon
\newcommand\dz\zeta
\newcommand\he\eta
\newcommand\gth\theta
\newcommand\io\iota
\newcommand\la\lambda
\newcommand\rh\rho
\newcommand\si\sigma
\renewcommand\phi\varphi
\newcommand\om\omega
\newcommand\De\Delta
\newcommand\Ga\Gamma
\newcommand\Si\Sigma
\newcommand\Om\Omega
\newcommand\Ca{\mbox{$\CalDix A$}\; }             %RACCOURCIS LETTRES CALLIG.
\newcommand\Cb{\mbox{$\CalDix B$}\; }
\newcommand\Cc{\mbox{$\CalDix C$}\; }
\newcommand\Cd{\mbox{$\CalDix D$}\; }
\newcommand\Ce{\mbox{$\CalDix E$}\; }
\newcommand\Cf{\mbox{$\CalDix F$}\; }
\newcommand\Ch{\mbox{$\CalDix H$}\; }
\newcommand\Ci{\mbox{$\CalDix I$}\; }
\newcommand\Cj{\mbox{$\CalDix J$}\; }
\newcommand\Cl{\mbox{$\CalDix L$}\;}
\newcommand\Cm{\mbox{$\CalDix M$}\; }
\newcommand\Cn{\mbox{$\CalDix N$}\; }
\newcommand\Co{\mbox{$\CalDix O$}\; }
\newcommand\Cp{\mbox{$\CalDix P$}\; }
\newcommand\Cr{\mbox{$\CalDix R$}\; }
\newcommand\Cs{\mbox{$\CalDix S$}\; }
\newcommand\Ct{\mbox{$\CalDix T$}\; }
\newcommand\Cv{\mbox{$\CalDix V$}\; }

\newcommand\cm{\mathop{\rm cm}\nolimits}         %CENTIMETRE

\newcommand{\demi}{\frac{1}{2}}                  %FRACTION UN DEMI
\newcommand{\ddemi}{\frac{2}{2}}                 %FRACTION DEUX DEMIS
\newcommand{\tdemi}{\frac{3}{2}}                 %FRACTION TROIS DEMIS
\newcommand{\tiers}{\frac{1}{3}}                 %FRACTION UN TIERS
\newcommand{\dtiers}{\frac{2}{3}}                %FRACTION DEUX TIERS
\newcommand{\quart}{\frac{1}{4}}                 %FRACTION UN QUART
\newcommand{\dquart}{\frac{2}{4}}                %FRACTION DEUX QUART
\newcommand{\tquart}{\frac{3}{4}}                %FRACTION TROIS QUART
\newcommand{\qquart}{\frac{4}{4}}                %FRACTION QUATRE QUART
\newcommand{\cquart}{\frac{5}{4}}                %FRACTION CINQ QUART
\newcommand{\ucinq}{\frac{1}{5}}                 %FRACTION 1 CINQUIEME
\newcommand{\dcinq}{\frac{2}{5}}                 %FRACTION 2 CINQUIEME
\newcommand{\tcinq}{\frac{3}{5}}                 %FRACTION 3 CINQUIEME
\newcommand{\qcinq}{\frac{4}{5}}                 %FRACTION 4 CINQUIEME
\newcommand{\ccinq}{\frac{5}{5}}                 %FRACTION 5 CINQUIEME
\newcommand{\scinq}{\frac{6}{5}}                 %FRACTION 6 CINQUIEME
\newcommand{\usix}{\frac{1}{6}}                  %FRACTION 1 SIXIEME
\newcommand{\dsix}{\frac{2}{6}}                  %FRACTION 2 SIXIEME
\newcommand{\tsix}{\frac{3}{6}}                  %FRACTION 3 SIXIEME
\newcommand{\qsix}{\frac{4}{6}}                  %FRACTION 4 SIXIEME
\newcommand{\csix}{\frac{5}{6}}                  %FRACTION 5 SIXIEME
\newcommand{\ssix}{\frac{6}{6}}                  %FRACTION 6 SIXIEME
\newcommand{\sept}{\frac{1}{7}}                  %FRACTION 1 SEPTIEME
\newcommand{\uhuit}{\frac{1}{8}}                 %FRACTION 1 HUITIEME
\newcommand{\dhuit}{\frac{2}{8}}                 %FRACTION 2 HUITIEME
\newcommand{\thuit}{\frac{3}{8}}                 %FRACTION 3 HUITIEME
\newcommand{\qhuit}{\frac{4}{8}}                 %FRACTION 4 HUITIEME
\newcommand{\chuit}{\frac{5}{8}}                 %FRACTION 5 HUITIEME
\newcommand{\shuit}{\frac{6}{8}}                 %FRACTION 6 HUITIEME
\newcommand{\sehuit}{\frac{7}{8}}                %FRACTION 7 HUITIEME
\newcommand{\hhuit}{\frac{8}{8}}                 %FRACTION 8 HUITIEME
\newcommand{\dpi}{{2\pi}}                        %DEUX PI
\newcommand{\psd}{\frac{\pi}{2}}                 %PI SUR DEUX
\newcommand{\tpsd}{\frac{3\pi}{2}}               %TROIS PI SUR DEUX
\newcommand{\pst}{\frac{\pi}{3}}                 %PI SUR TROIS
\newcommand{\dpst}{\frac{2\pi}{3}}               %DEUX PI SUR TROIS
\newcommand{\qpst}{\frac{4\pi}{3}}               %QUATRE PI SUR TROIS
\newcommand{\psq}{\frac{\pi}{4}}                 %PI SUR QUATRE
\newcommand{\dpsq}{\frac{2\pi}{4}}               %2 PI SUR QUATRE
\newcommand{\tpsq}{\frac{3\pi}{4}}               %3 PI SUR QUATRE
\newcommand{\qpsq}{\frac{4\pi}{4}}               %4 PI SUR QUATRE
\newcommand{\cpsq}{\frac{5\pi}{4}}               %5 PI SUR QUATRE
\newcommand{\pss}{\frac{\pi}{6}}                 %PI SUR SIX
\newcommand{\dpss}{\frac{2\pi}{6}}               %2 PI SUR SIX
\newcommand{\tpss}{\frac{3\pi}{6}}               %3 PI SUR SIX
\newcommand{\qpss}{\frac{4\pi}{6}}               %4 PI SUR SIX
\newcommand{\cpss}{\frac{5\pi}{6}}               %5 PI SUR SIX
\newcommand{\spss}{\frac{6\pi}{6}}               %6 PI SUR SIX
\newcommand{\pfrac}[2]
  {\left(\frac{#1}{#2}\right)}                   %FRACTION ENTRE PARENTHESES
\newcommand{\inv}[1]{\frac{1}{#1}}               %INVERSE D'UN NOMBRE
\newcommand\so[3]{\sum_{#1=#2}^{#3}}             %SOMME
\newcommand{\tv}{\mathop
  {\rightarrow}\nolimits}                       %TEND VERS
\newcommand{\tvq}{\mathop
{\displaystyle\longrightarrow}\limits}           %TEND VERS QUAND
\newcommand{\tvsq}{\mathop
{\displaystyle\stackrel{CS}
{\longrightarrow}}\limits}                       %CONVERGE SIMPLEMENT VERS
\newcommand{\tvuq}{\mathop
{\displaystyle\stackrel{CU}
{\longrightarrow}}\limits}                       %CONVERGE UNIFORMEMENT
\newcommand{\tvnq}{\mathop
{\displaystyle\stackrel{CN}
{\longrightarrow}}\limits}                       %CONVERGE NORMALEMENT
\newcommand{\DSE}{\rm DSE}                       %DEV EN SERIE ENTIERE
\newcommand{\ntvq}{\mathop
{\displaystyle\nrightarrow}\limits}              %NE TEND PAS VERS QUAND
\newcommand\decv{\downarrow}                     %DECROIT VERS
\newcommand\croiv{\uparrow}                      %CROIT VERS
\newcommand{\infi}{\infty}                       %INFINI
\newcommand\equivois{\mathop
  {\displaystyle\hbox{$\sim$}}\limits}          %EQUIVALENCE AU VOISINAGE DE
\newcommand\Leib[1]{\frac{d}{d#1}}               %DERIVEE : d/dx
\newcommand\derpar[2]{\frac{\partial}{\partial#1}
\left(#2\right)}                                 %DERIVEE PARTIELLE
\newcommand\derparc[2]{\frac{\partial#2}
{\partial#1}}                                    %DERIVEE PARTIELLE COURTE
\newcommand\derparsec[2]{\frac{\partial^2}{\partial
#1^2}\left(#2\right)}                            %DERIVEE PARTIELLE SECONDE
\newcommand\derparsecc[2]{\frac{\partial^2 #2}
{\partial #1^2}}                                 %DER PAR SECONDE COURTE
\newcommand\derparsecm[3]{\frac{\partial^2}
{\partial #1\partial #2}\left(#3\right)}         %DER PAR SECONDE MIXTE
\newcommand\derparsecmc[3]{\frac{\partial ^2 #3}
{\partial #1\partial#2}}                         %DER PAR SEC MIXTE COURTE
\newcommand\pe{\wedge}                           %PRODUIT EXETERIEUR
\newcommand\grad{\mathop{\rm grad}\nolimits}     %GRADIENT
\newcommand\divergence{\mathop{\rm div}\nolimits}%DIVERGENCE
\newcommand\rot{\mathop{\rm rot}\nolimits}       %ROTATIONNEL
\newcommand\ipp[1]{$$\begin{array}{ll}
#1\end{array}$$}                                 %TABLEAU POUR IPP
\newcommand\ippg[1]{$$\begin{array}{l|l@{=}ll@{=}l}
#1\end{array}$$}                                 %IPP GENERALISEE
\newcommand\intdb{\int\!\!\!\int}            %INTEGRALE DOUBLE
\newcommand\intt{\int\!\!\!\int\!\!\!\int}%INTEGRALE TRIPLE
\newcommand\interieur[1]{\stackrel{\scriptstyle 
\ o}{#1}}                                        %INTERIEUR TOPOLOGIQUE
\newcommand\norme[1]{\left\|{#1}\right\|}        %NORME
\newcommand\normes[1]{\left\|#1\right\|_\infty}  %NORME SUP
\newcommand\normet[1]{\left|\!\left|\!\left|#1
\right|\!\right|\!\right|}                       %NORME TRIPLE
\newcommand\ang{\widehat}                        %ANGLE
\newcommand\sh{\mathop{\rm sh}\nolimits}         %SINUS HYPERBOLIQUE
\newcommand\ch{\mathop{\rm ch}\nolimits}         %COSINUS HYPERBOLIQUE
%\newcommand\th{\mathop{\rm th}\nolimits}        %TANGENTE HYPERBOLIQUE
\newcommand\tnh{\mathop{\rm th}\nolimits}        %TANGENTE HYPERBOLIQUE
\newcommand\arcsh{\mathop{\rm arcsh}\nolimits}   %ARCSH
\newcommand\arcch{\mathop{\rm arcch}\nolimits}   %ARCCH
\newcommand\arcth{\mathop{\rm arcth}\nolimits}   %ARCTH


%%%%%%%%%%%%%%%Section II: Tableaux de variation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Voici maintenant un ensemble de commandes destinés à réaliser des
% tableaux de variation. On peut naturellement changer les noms choisis.
%
% Tout d'abord, les définitions des niveaux utilisés. On peut changer les
% valeurs. Quatre niveaux pour le texte, et trois  intermédiaires pour les 
% flêches.

\newcommand\bas[1]{\raisebox{-1.2 ex}{$#1$}}   %Texte plus bas
\newcommand\bbas[1]{\raisebox{-3.6 ex}{$#1$}}  %Texte encore plus bas
\newcommand\fb[1]{\raisebox{-2.4 ex}{$#1$}}    %Niveau pour flêche basse
\newcommand\haut[1]{\raisebox{1.2 ex}{$#1$}}   %Texte plus haut
\newcommand\hhaut[1]{\raisebox{3.6 ex}{$#1$}}  %Texte encore plus haut
\newcommand\fh[1]{\raisebox{2.4 ex}{$#1$}}     %Niveau pour flêche haute

% Maintenant, le texte barré et les barres verticales.

\newcommand\bav{\vline}                        %Barre verticale
\newcommand\tb[1]                              %Texte barré   
{\hfill\hskip .5pt\makebox[0in][c]{$#1$}\hskip
-.5pt\vline\hfill}

\newcommand\dbv{\hskip -.5\doublerulesep\vline %Double barre verticale
\hskip\doublerulesep
\vline\hskip -.5\doublerulesep}               
\newcommand\tdb[2]                             %Texte double-barré utiliser 
{\hfill\makebox{$#1$}                         %avec précaution. Les barres
 \hskip 1pt\dbv \hskip 1pt                    %sont entre les deux textes. 
 \makebox{$#2$}\hfill}

% Au tour des flêches diverses.
\newcommand\croit                              %Flêche croissante niv. normal
 {\begin{picture}(10,5)(0,0)
   \put(0,0){\vector(2,1){10}}
  \end{picture}}
\newcommand\bcroit{\fb{\croit}}                %Flêche croissante basse
\newcommand\hcroit{\fh{\croit}}                %Flêche croissante haute
\newcommand\tcroit{                            %Flêche très croissante basse
 {\begin{picture}(10,15)(0,0)
   \put(0,0){\vector(2,3){7}}
  \end{picture}}}
\newcommand\htcroit{\fb{\tcroit}}              %Flêche très croissante haute
\newcommand\ttcroit{\fb                        %Flêche très très croissante 
 {\begin{picture}(10,25)(0,0)
   \put(0,0){\vector(2,5){5}}
  \end{picture}}}
\newcommand\decroit                            %Flêche décroissante
 {\begin{picture}(10,5)(0,0)
   \put(0,5){\vector(2,-1){10}}
  \end{picture}}
\newcommand\bdecroit{\fb{\decroit}}            %Flêche décroissante basse
\newcommand\hdecroit{\fh{\decroit}}            %Flêche décroissante haute
\newcommand\tdecroit                           %Flêche très décroissante basse
 {\begin{picture}(10,15)(0,0)
   \put(0,0){\vector(2,-3){7}}
  \end{picture}}
\newcommand\htdecroit{\fh{\tdecroit}}          %Flêche très décroissante haute
\newcommand\ttdecroit{\fh                      %Flêche très très décroissante 
 {\begin{picture}(13,25)(0,0)
   \put(0,0){\vector(1,-2){10}}
  \end{picture}}}

 
%%%%%%%%%%%%%%%Section III: Tables%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Macro définissant une table pour une opération quelconque à $n$ éléments

\newcommand\tableop[2]{\\\medskip%
\begin{array}{ |c|| *{#1}{c|} }%
#2%
\end{array}\medskip}

%Ensemble de macros permettant la division de polynômes (ou autres
%objets)
%\divp demande 5 paramètres : le nombre de taquets du dividende (degré +1), celui
%du diviseur (degré +1), le dividende, chaque terme séparé du suivant par &, puis 
%le diviseur , puis le reste suivi du quotient, sous la même forme. 
%La macro \donne trace le trait de soustraction.
%Des compteurs gèrent automatiquement les longueurs des lignes.

\newlength\arraycolseptemp
\newcounter{nbcola}
\newcounter{nbcolb}
\newcommand\divp[5]{%
 \setlength{\arraycolseptemp}{\arraycolsep}%
 \setlength{\arraycolsep}{.05cm}%
 \setcounter{nbcola}{#1}%
 \setcounter{nbcolb}{#2}%
 %\addtocounter{nbcola}{1}%
 %\addtocounter{nbcolb}{1}%
%
 \begin{array}%
  {*{\thenbcola}{r}@{\hspace{1ex} }|*{\thenbcolb}{r}}%
  \addtocounter{nbcolb}{\thenbcola}%
  \addtocounter{nbcola}{1}%
  #3 & #4 \\%
  \cline{\thenbcola-\thenbcolb}%
  \setcounter{nbcola}{1}%
  \setcounter{nbcolb}{#1}%
  #5%
    \setlength{\arraycolsep}{\arraycolseptemp}%
\end{array}%
}%

\newcommand{\donne}{%
  \cline{\thenbcola - \thenbcolb}%
  \addtocounter{nbcola}{1}%
  }%


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/