Outils d'utilisateurs

Outils du Site


Sidebar

====== Navigation dans le wiki ====== * [[accueil|Accueil]] * [[http://melusine.eu.org/syracuse/contrib/|Syracuse]] //(contributions)// ===== Espaces dédiés ===== * [[pstricks:index|PSTricks]] * [[Pgf/Tikz:index|Pgf/Tikz]] * [[gnuplot:index|Gnuplot]] * [[octave::index|Octave]] ===== Contributeurs ===== * [[mc:index|Maxime Chupin]] * [[cp:index|Christophe Poulain]] * [[jms:index|Jean-Michel Sarlat]] * [[sylcha:index|Sylvain Chambon]] * [[rouxn:index|Nicolas Roux]] * [[tj:index|Thierry Joffredo]] * [[tg:index|Thierry Gauvin]]

sylcha:macros

===== Macros ===== 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> %######################################################################### % % M A C R O S % % version du 01/06/2009 % %######################################################################### %------------------------------------------------------------------------- % Texte dans un cercle %------------------------------------------------------------------------- \newcommand{\txtcercle}[1]{% \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}} } %------------------------------------------------------------------------- % Macro Titre Exercice avec compteur %------------------------------------------------------------------------- \newcounter{num} \newcommand{\exo}[1]{\addtocounter{num}{1}% \subsection*{ \textsc{Exercice~\thenum~{\itshape \textsf{#1}}}}% } %------------------------------------------------------------------------- % Autre Macro Titre Exercice avec compteur (fourier) %------------------------------------------------------------------------- \newcounter{numf} \newcommand{\exof}[1]{% \tablarg{1}% \addtocounter{numf}{1}% \subsection*{% \begin{tabular}{p{0.97\columnwidth}} \rowcolor{gris} $\blacktriangleright$~Exercice~\thenumf~ { \itshape #1} \end{tabular} }} %------------------------------------------------------------------------- % Macro Annexe avec compteur %------------------------------------------------------------------------- \newcounter{numannexe} \newcommand{\annexe}[1]{\addtocounter{numannexe}{1}% \subsection*{{\sffamily Annexe~\thenumannexe~{\itshape #1}}}% } \newcounter{numannexef} \newcommand{\annexef}[1]{\addtocounter{numannexef}{1}% \subsection*{Annexe~\thenumannexef~{\itshape #1}}% } %------------------------------------------------------------------------- % Macro Titre Exercice Brevet avec compteur %------------------------------------------------------------------------- \newcounter{exobrevet} \newcommand{\exob}[1]{% \tablarg{1}% \addtocounter{exobrevet}{1}% \subsection*{% \begin{tabular}{p{0.97\columnwidth}} \rowcolor{gris} $\blacktriangleright$~Exercice~\theexobrevet~ -- \textit{#1}% %\hrulefill \end{tabular} }} %------------------------------------------------------------------------- % Ensembles de nombres %------------------------------------------------------------------------- \newcommand{\RR}{\ensuremath{\mathbb{R}}} \newcommand{\QQ}{\ensuremath{\mathbb{Q}}} \newcommand{\DD}{\ensuremath{\mathbb{D}}} \newcommand{\ZZ}{\ensuremath{\mathbb{Z}}} \newcommand{\NN}{\ensuremath{\mathbb{N}}} %------------------------------------------------------------------------- % Abréviations %------------------------------------------------------------------------- \newcommand{\cad}{c'est-à-dire~} \newcommand{\dps}[1]{{\displaystyle #1}} \newcommand{\ms}[1]{\mathsf{#1}} \newcommand{\md}[1]{\mathsf{\displaystyle #1}} \newcommand{\etoile}{\Pisymbol{pzd}{72}} \newcommand{\equi}{\ensuremath{\Leftrightarrow}} %------------------------------------------------------------------------- % Ligne pour le Nom et le Prénom en devoir %------------------------------------------------------------------------- \newcommand{\nomprenom}{ \setlength\arrayrulewidth{0.5pt} %\renewcommand{\arraystretch}{2} {\large \noindent \begin{tabular}{p{0.42\textwidth}p{0.08\textwidth}p{0.42\textwidth}} \textbf{Nom}~:~\dotfill & & \textbf{Prénom}~:~\dotfill \end{tabular} } } %------------------------------------------------------------------------- % Centrage cellule dans tableau %------------------------------------------------------------------------- \newcommand{\cc}[1]{\multicolumn{1}{|c|}{#1}} %------------------------------------------------------------------------- % Arc orienté %------------------------------------------------------------------------- \newcommand{\ArcOr}[1]{\ensuremath{\overset{\curvearrowright}{#1}}} %------------------------------------------------------------------------- % Arc de cercle %------------------------------------------------------------------------- \newlength{\longarc} \newcommand{\arc}[1]{\settowidth{\longarc}{$#1$}% \addtolength{\longarc}{-0.3em}% \unitlength \longarc% \ensuremath{% \stackrel{\begin{picture}(1,0.4) \qbezier(0,0)(0.5,0.4)(1,0) \end{picture}} {#1} }} % ------------------------------------------------------------ % Ecriture des intervalles %------------------------------------------------------------------------- \newcommand{\into}[2]% intervalle ouvert ]#1;#2[ {\ensuremath{\left]\,#1\,;\,#2\,\right[}} \newcommand{\intof}[2]% intervalle ouvert-fermï¿œ]#1;#2] {\ensuremath{\left]\,#1\,;\,#2\,\right]}} \newcommand{\intfo}[2]% intervalle fermï¿œouvert [#1;#2[ {\ensuremath{\left[\,#1\,;\,#2\,\right[}} \newcommand{\intf}[2]% intervalle fermï¿œ[#1,#2] {\ensuremath{\left[\,#1\,;\,#2\,\right]}} %------------------------------------------------------------------------- % Vecteurs, Repères, Coordonnées, Bases..... %------------------------------------------------------------------------- \newcommand{\vect}[1]{% \ensuremath{% \overrightarrow{\kern-2pt\mathstrut #1\kern2pt} } } \newcommand{\repr}[3]{% \ensuremath{% \left( #1\,;\,\vect{#2},\,\vect{#3} \right)}% } \newcommand{\ora}[1]{% \overrightarrow{#1}% } \newcommand{\Repr}[3]{% \ensuremath{% \left( #1\,;\,\ora{#2},\,\ora{#3} \right)}% } \newcommand{\Oij}{% \Repr{O}{i}{j}} \newcommand{\coord}[3]{% \ensuremath{% #1\,\left(#2\,;\,#3\right) } } \newcommand{\Coord}[3]{% \ensuremath{% \vect{#1}\,\left( \begin{array}{c} #2\\ #3 \end{array} \right) } } \newcommand{\base}[2]{% \ensuremath{% \left(\ora{#1}\,;\,\ora{#2}\right)} } \newcommand{\norme}[1]{% \ensuremath{% \left\| \ora{#1} \right\|}} %------------------------------------------------------------------------- % Mise en page : barre à gauche %------------------------------------------------------------------------- \newsavebox{\boite} \newlength{\haut} \newlength{\marge}\setlength{\marge}{5mm} \newenvironment{barreagauche}{% \vspace{5pt} \begin{lrbox}{\boite} \begin{minipage}[b]{.97\textwidth}}{% \end{minipage} \end{lrbox} \settoheight{\haut}{\usebox{\boite}} %} \addtolength{\haut}{3pt} \rule{1mm}{\haut}\hfill \usebox{\boite} } %------------------------------------------------------------------------- % Mise en page : titrage exos %------------------------------------------------------------------------- \newcommand{\titre}[1]{% \etoile{}~\textit{#1} } %------------------------------------------------------------------------- % Points sur une largeur fixée (pour champs à compléter) %------------------------------------------------------------------------- \newcommand{\points}[1]{% \renewcommand{\arraystretch}{1} \begin{tabular}{p{#1}} \dotfill \end{tabular} } %------------------------------------------------------------------------- % Pour fixer la largeur texte-ligne dans un tableau %------------------------------------------------------------------------- \newcommand{\tablarg}[1]{% \renewcommand{\arraystretch}{#1} } %------------------------------------------------------------------------- % Mise en page : boites %------------------------------------------------------------------------- \newcommand{\Boite}[1]{ \setlength{\fboxsep}{3mm} \shadowbox{ \begin{minipage}{0.97\textwidth} #1 \end{minipage} } \setlength{\fboxsep}{1mm} } %------------------------------------------------------------------------- % Commandes pour les propriétés %------------------------------------------------------------------------- % Dans un environnement 'book' avec chapitrage % --> commande 'Prop' \newcounter{comptprop} \newcommand{\Prop}[2][]{ \addtocounter{comptprop}{1}% \vspace{10pt} \setlength{\fboxsep}{3mm} \shadowbox{ \begin{minipage}{0.94\textwidth} \textbf{Propriété\thechapter-\thecomptprop}~:#1 #2 \end{minipage} } \setlength{\fboxsep}{1mm} } % Dans un environnement 'article' sans chapitrage % --> commande 'Propriete' \newcounter{comptpropriete} \newcommand{\Propriete}[1]{ \addtocounter{comptpropriete}{1}% %\vspace{15pt} \setlength{\fboxsep}{3mm} \shadowbox{ \begin{minipage}{0.97\textwidth} \textbf{Propriété~\thecomptpropriete}~: #1 \end{minipage} } \setlength{\fboxsep}{1mm} } % Environnement "SI ... ALORS ... " % --> lié compteur que la commande 'Propriete' %\newcounter{comptsialors} \newcommand{\sialors}[2]{ \addtocounter{comptpropriete}{1}% %\vspace{15pt} \setlength{\fboxsep}{1.5mm} \shadowbox{ \begin{minipage}{0.97\textwidth} \textbf{Propriété~\thecomptpropriete}~: \ovalbox{Si}~#1\\ \ovalbox{alors}~#2 \end{minipage} } \setlength{\fboxsep}{1mm} } %------------------------------------------------------------------------- % Environnement pour les règles %------------------------------------------------------------------------- \newcounter{comptregle} \newcommand{\Regle}[1]{ \addtocounter{comptregle}{1}% %\vspace{15pt} \setlength{\fboxsep}{3mm} \shadowbox{ \begin{minipage}[b]{0.97\textwidth} \textbf{Règle~\thecomptregle}~: #1 \end{minipage} } \setlength{\fboxsep}{1mm} } %------------------------------------------------------------------------- % Commandes pour les définitions ********************* %------------------------------------------------------------------------- %--------- dans une classe 'book' \newcounter{comptdef} \newcommand{\Def}[2][]{ \addtocounter{comptdef}{1} \vspace{10pt} \setlength{\fboxsep}{3mm} \Ovalbox{ \begin{minipage}{0.95\textwidth} \textbf{Définition~\thechapter-\thecomptdef#1:} #2 \end{minipage} } } % ----------- dans une classe 'article' \newcommand{\Definition}[1]{ \addtocounter{comptdef}{1} %\vspace{15pt} \setlength{\fboxsep}{3mm} \ovalbox{ \begin{minipage}{0.97\textwidth} \textbf{Définition~\thecomptdef:} #1 \end{minipage} } %\vspace{10pt} } %------------------------------------------------------------------------- % Cadres %------------------------------------------------------------------------- \newcommand{\Cadre}[3]{ \boxput*(#1,1){\colorbox{white}{#2}} {\setlength{\fboxsep}{12pt} \fbox{\begin{Bflushleft} #3\end{Bflushleft}}}} %#################################################################### % % Pris sur le net..... % %#################################################################### %-------------------------------------------------------------------- % La fameuse \trou de Olivier K qui remplace un mot % par un trou de la meme taille %-------------------------------------------------------------------- \def\m@th{\mathsurround=0pt} \def\trou#1{ \setbox0=\hbox{\textbf{#1}} \dp0=0pt \m@th \underline{\hbox{\hskip\wd0}} } \newcommand*{\makepbox}[2]{% \makebox[0pt][l]{\parbox[t]{\linewidth}{#1#2}} } %-------------------------------------------------------------------- % Titrage pour devoir % USAGE : \lcr{Tes\\ commentaires}{Mathématiques no}{nom:\\ prénom:} %-------------------------------------------------------------------- \newcommand{\lcr}[3]{% \par \noindent \makepbox{\raggedright}{#1}% \makepbox{\centering}{#2}% \makepbox{\raggedleft}{#3}% \par } %------------------------------------------------------------------------- % Mise en page % % \textefigure{largeur_figure}{largeur_texte}{figure}{echelle}{texte} %------------------------------------------------------------------------- \newcommand{\textefigure}[5]{% \begin{tabular}{lp{0.5cm}l} \begin{minipage}{#2} #5 \end{minipage} & & \begin{minipage}{#1} \includegraphics[scale=#4]{#3} \end{minipage} \end{tabular} } \newcommand{\figuretexte}[5]{% \begin{tabular}{lp{0.5cm}l} \begin{minipage}{#1} \includegraphics[scale=#4]{#3} \end{minipage} & & \begin{minipage}{#2} #5 \end{minipage} \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>

sylcha/macros.txt · Dernière modification: 2009/06/01 23:35 par sylcha