====== Différences ====== Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
sylcha:macros [2008/03/05 11:17] sylcha créée |
sylcha:macros [2009/06/01 23:35] (Version actuelle) sylcha |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Sylvain Chambon ====== | ||
- | |||
===== Macros ===== | ===== Macros ===== | ||
- | Un fichier de macros persos, quelque fois créées de toutes pièces mais le plus souvent glanées sur le net et adaptées. | + | Un fichier de macros perso, quelques fois créées de toutes pièces mais le plus souvent glanées sur le net et adaptées. |
<code latex> | <code latex> | ||
Ligne 9: | Ligne 7: | ||
% | % | ||
% M A C R O S | % M A C R O S | ||
+ | % | ||
+ | % version du 01/06/2009 | ||
% | % | ||
%######################################################################### | %######################################################################### | ||
Ligne 14: | Ligne 14: | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
- | % Barème : | + | % Texte dans un cercle |
- | % Exercices -> \EXO{nb_de_points} | + | |
- | % Questions -> \QUEST{nb_de_points}{commentaire} | + | |
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
- | \newcommand{\EXO}[1]{\marginpar{\footnotesize \textbf {\sffamily #1 pts}}} | + | \newcommand{\txtcercle}[1]{% |
- | \newcommand{\QUEST}[2]{\marginpar{\scriptsize \textsf{#1 #2}}} | + | \tikz[baseline=(X.base)] \filldraw[fill=black!20, draw=none]% |
+ | (0,0) node (X) {#1} circle (8pt); | ||
+ | } | ||
+ | %------------------------------------------------------------------------- | ||
+ | % Macro bareme | ||
+ | %------------------------------------------------------------------------- | ||
+ | \newcommand{\bareme}[1]{% | ||
+ | \marginpar{\small \textbf{#1}} | ||
+ | } | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
Ligne 27: | Ligne 33: | ||
\newcounter{num} | \newcounter{num} | ||
\newcommand{\exo}[1]{\addtocounter{num}{1}% | \newcommand{\exo}[1]{\addtocounter{num}{1}% | ||
- | \subsection*{{\sffamily Exercice~\thenum~{\itshape #1}}}% | + | \subsection*{ \textsc{Exercice~\thenum~{\itshape \textsf{#1}}}}% |
} | } | ||
Ligne 39: | Ligne 45: | ||
\addtocounter{numf}{1}% | \addtocounter{numf}{1}% | ||
\subsection*{% | \subsection*{% | ||
- | \begin{tabular}{p{0.98\columnwidth}} | + | \begin{tabular}{p{0.97\columnwidth}} |
\rowcolor{gris} | \rowcolor{gris} | ||
$\blacktriangleright$~Exercice~\thenumf~ { \itshape #1} | $\blacktriangleright$~Exercice~\thenumf~ { \itshape #1} | ||
Ligne 64: | Ligne 70: | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
\newcounter{exobrevet} | \newcounter{exobrevet} | ||
- | \newcommand{\exob}[1]{\addtocounter{exobrevet}{1}% | + | \newcommand{\exob}[1]{% |
- | \vspace{10pt}% | + | \tablarg{1}% |
- | \etoile~{\large \sffamily \textbf{Exercice~\theexobrevet~}} -- \textit{#1}% | + | \addtocounter{exobrevet}{1}% |
+ | \subsection*{% | ||
+ | \begin{tabular}{p{0.97\columnwidth}} | ||
+ | \rowcolor{gris} | ||
+ | $\blacktriangleright$~Exercice~\theexobrevet~ -- \textit{#1}% | ||
%\hrulefill | %\hrulefill | ||
- | \\% | + | \end{tabular} |
- | } | + | }} |
Ligne 140: | Ligne 150: | ||
\newcommand{\into}[2]% intervalle ouvert ]#1;#2[ | \newcommand{\into}[2]% intervalle ouvert ]#1;#2[ | ||
{\ensuremath{\left]\,#1\,;\,#2\,\right[}} | {\ensuremath{\left]\,#1\,;\,#2\,\right[}} | ||
- | \newcommand{\intof}[2]% intervalle ouvert-ferm�]#1;#2] | + | \newcommand{\intof}[2]% intervalle ouvert-fermᅵ]#1;#2] |
{\ensuremath{\left]\,#1\,;\,#2\,\right]}} | {\ensuremath{\left]\,#1\,;\,#2\,\right]}} | ||
- | \newcommand{\intfo}[2]% intervalle ferm�ouvert [#1;#2[ | + | \newcommand{\intfo}[2]% intervalle fermᅵouvert [#1;#2[ |
{\ensuremath{\left[\,#1\,;\,#2\,\right[}} | {\ensuremath{\left[\,#1\,;\,#2\,\right[}} | ||
- | \newcommand{\intf}[2]% intervalle ferm�[#1,#2] | + | \newcommand{\intf}[2]% intervalle fermᅵ[#1,#2] |
{\ensuremath{\left[\,#1\,;\,#2\,\right]}} | {\ensuremath{\left[\,#1\,;\,#2\,\right]}} | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
- | % Vecteurs, Rep�res, Coordonn�es, Bases..... | + | % Vecteurs, Repères, Coordonnées, Bases..... |
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
\newcommand{\vect}[1]{% | \newcommand{\vect}[1]{% | ||
Ligne 207: | Ligne 217: | ||
\newsavebox{\boite} | \newsavebox{\boite} | ||
\newlength{\haut} | \newlength{\haut} | ||
+ | \newlength{\marge}\setlength{\marge}{5mm} | ||
\newenvironment{barreagauche}{% | \newenvironment{barreagauche}{% | ||
\vspace{5pt} | \vspace{5pt} | ||
Ligne 214: | Ligne 225: | ||
\end{lrbox} | \end{lrbox} | ||
\settoheight{\haut}{\usebox{\boite}} | \settoheight{\haut}{\usebox{\boite}} | ||
+ | %} | ||
\addtolength{\haut}{3pt} | \addtolength{\haut}{3pt} | ||
\rule{1mm}{\haut}\hfill | \rule{1mm}{\haut}\hfill | ||
- | \usebox{\boite}} | + | \usebox{\boite} |
+ | } | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
Ligne 333: | Ligne 346: | ||
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
- | % Environnement pour les r�gles | + | % Environnement pour les règles |
%------------------------------------------------------------------------- | %------------------------------------------------------------------------- | ||
\newcounter{comptregle} | \newcounter{comptregle} | ||
Ligne 414: | Ligne 427: | ||
%#################################################################### | %#################################################################### | ||
- | %-------------------------------------------------------------------- | ||
- | % Environnement type 'enumerate' personnalisé | ||
- | % --> nécessite les packages 'enumitem' et 'setspace' | ||
- | %-------------------------------------------------------------------- | ||
- | % | ||
- | % On sauvegarde les enumerate normaux un peu modifiés | ||
- | \newcommand*{\setenumeratedefaut}{ | ||
- | \setenumerate{itemsep=2ptplus2ptminus2pt,topsep=\the\itemsep,partopsep=0cm, | ||
- | parsep=0pt}} | ||
- | \setenumeratedefaut | ||
- | \let\oldenumerate=\enumerate | ||
- | \let\oldendenumerate=\endenumerate | ||
- | % | ||
- | %%%%% Num�rotation des questions %%%%%%%%%% | ||
- | \newenvironment{Questions}{% | ||
- | \setenumerate{% | ||
- | itemsep=6ptplus6ptminus4pt,% séparation entre items | ||
- | topsep=6ptplus6ptminus4pt,% séparation entre l'environnement et le texte | ||
- | au dessus | ||
- | partopsep=0cm,% | ||
- | parsep=0pt,% | ||
- | leftmargin=*,% pas de marge gauche | ||
- | align=left,% alignement des numéros à gauche | ||
- | labelindent=0pt,% indentation du numéro | ||
- | widest=8),% largeur du numéro | ||
- | labelsep=0.5em,% séparation entre le numéro et le texte | ||
- | itemindent=0em% indentation du texte | ||
- | \setenumerate[1]{label=\textbf{\arabic*)}}% numéro du type 1) en gras | ||
- | \setenumerate[2]{label=\textbf{\alph*)}}% lettre de type a) en gras | ||
- | }\oldenumerate}{\oldendenumerate\setenumeratedefaut} | ||
- | % | ||
%-------------------------------------------------------------------- | %-------------------------------------------------------------------- | ||
Ligne 501: | Ligne 483: | ||
\end{tabular} | \end{tabular} | ||
} | } | ||
+ | |||
+ | %------------------------------------------------------------------------- | ||
+ | % Mise en page | ||
+ | % | ||
+ | % liste numérotée personnalisé | ||
+ | %------------------------------------------------------------------------- | ||
+ | \newenvironment{myenumerate}{ | ||
+ | \renewcommand{\theenumi}{\arabic{enumi}} | ||
+ | \def\labelenumi{{\bf \theenumi .}} | ||
+ | \begin{enumerate}}{\end{enumerate}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | %------------------------------------------------------------------------- | ||
+ | % Calcul de pgcd (utilise xlop) | ||
+ | % | ||
+ | % liste des divisions successives de l'algorithme d'euclide | ||
+ | % SANS LA DERNIÈRE !!! | ||
+ | %------------------------------------------------------------------------- | ||
+ | |||
+ | \newcommand\euclide[2]{% | ||
+ | \opcopy{#1}{r0} | ||
+ | \opcopy{#2}{r1} | ||
+ | \loop | ||
+ | \opidiv*{r0}{r1}{q}{r}% | ||
+ | \opcmp{r}{0} | ||
+ | \ifopneq | ||
+ | \opidiv[style=text]{r0}{r1}\endgraf | ||
+ | \opcmp{r}{0}% | ||
+ | \endgraf | ||
+ | \opcopy{r1}{r0} | ||
+ | \opcopy{r}{r1} | ||
+ | \repeat | ||
+ | \opidiv[style=text]{r0}{r1}\endgraf | ||
+ | } | ||
+ | |||
+ | \newcommand\Pgcd[2]{% | ||
+ | \ensuremath{% | ||
+ | \opgcd{#1}{#2}{p} | ||
+ | \opprint{p} | ||
+ | } | ||
+ | } | ||
+ | |||
+ | \newcommand\PGCD[2]{% | ||
+ | \opgcd{#1}{#2}{pp} | ||
+ | \ensuremath{% | ||
+ | \mathrm{pgcd}(#1\;;\;#2)=\opprint{pp} | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | %------------------------------------------------------------------------- | ||
+ | % | ||
+ | % Disposition texte <--> image | ||
+ | % | ||
+ | %------------------------------------------------------------------------- | ||
+ | |||
+ | |||
+ | \newlength{\ltxt} | ||
+ | \newcommand{\compo}[4]{ | ||
+ | \setlength{\ltxt}{\linewidth} | ||
+ | \setbox#1=\hbox{\includegraphics[scale=#3]{#2.#1}} | ||
+ | \addtolength{\ltxt}{-\wd#1} | ||
+ | \addtolength{\ltxt}{-10pt} | ||
+ | \addtolength{\ltxt}{-2em} | ||
+ | \begin{minipage}{\wd#1} | ||
+ | \includegraphics[scale=#3]{#2.#1} | ||
+ | \end{minipage} | ||
+ | \hfill\hspace{2em}\hfill | ||
+ | \begin{minipage}{\ltxt} | ||
+ | #4 | ||
+ | \end{minipage} | ||
+ | } | ||
+ | |||
+ | \newlength{\lntxt} | ||
+ | \newcommand{\Compo}[4]{ | ||
+ | \setlength{\lntxt}{\linewidth} | ||
+ | \setbox#1=\hbox{\includegraphics[scale=#3]{#2}} | ||
+ | \addtolength{\lntxt}{-\wd#1} | ||
+ | \addtolength{\lntxt}{-10pt} | ||
+ | \addtolength{\ltxt}{-2em} | ||
+ | \begin{minipage}{\wd#1} | ||
+ | \includegraphics[scale=#3]{#2} | ||
+ | \end{minipage} | ||
+ | \hfill\hspace{2em}\hfill | ||
+ | \begin{minipage}{\lntxt} | ||
+ | #4 | ||
+ | \end{minipage} | ||
+ | } | ||
+ | |||
+ | \newlength{\lnttxt} | ||
+ | \newcommand{\dispo}[3]{ | ||
+ | \setlength{\lnttxt}{\linewidth} | ||
+ | \setbox#1=\hbox{#2} | ||
+ | \addtolength{\lnttxt}{-\wd#1} | ||
+ | \addtolength{\lnttxt}{-20pt} | ||
+ | \addtolength{\ltxt}{-2em} | ||
+ | \begin{minipage}{\wd#1} | ||
+ | #2 | ||
+ | \end{minipage} | ||
+ | \hfill\hspace{2em}\hfill | ||
+ | \begin{minipage}{\lnttxt} | ||
+ | #3 | ||
+ | \end{minipage} | ||
+ | } | ||
+ | |||
</code> | </code> | ||