[Résolu] Imbriquer des commandes avec des arguments

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Imbriquer des commandes avec des arguments

Messagepar projetmbc » Jeudi 25 Juin 2009, 08:20

Bonjour,
le code suivant ne marche pas :

Code: Tout sélectionner
\documentclass[10pt,a4paper]{book}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

% Utile pour l'écriture des paramètres.
\usepackage{mathtools}
\usepackage{xargs}

% Utile pour l'écriture des nombres décimaux
\usepackage{icomma}   % utilisation sans encombre des virgules.
\usepackage{xstring}

% Ecriture des paramètres.
%
% Astuces données ici :
%    http://forum.mathematex.net/post80093.html
% et aussi ici :
%    http://forum.mathematex.net/latex-f6/changer-le-placement-vertical-des-exposants-et-des-indices-t9120.html
\newcommandx*\param[5][2,3,4,5]{%
   $
   \xdef\tempdimena{\the\fontdimen16\textfont2}\xdef\tempdimenb{\the\fontdimen17\textfont2}%
   \xdef\tempdimenc{\the\fontdimen16\textfont2}\xdef\tempdimend{\the\fontdimen14\textfont2}%
   \fontdimen16\textfont2=0.35em \fontdimen17\textfont2=0.35em % baisse les indices
   \fontdimen13\textfont2=0.65em\fontdimen14\textfont2=0.65em% élève les exposants
   $%
   $\prescript{#5}{#4}{#1}^{#2}_{#3}$%
   $\fontdimen16\textfont2=\tempdimena \fontdimen17\textfont2=\tempdimenb
   \fontdimen13\textfont2=\tempdimenc \fontdimen14\textfont2=\tempdimend$%
}

% Ecriture des nombres décimaux
%
% Commande donnée ici par le développeur de xstring :
%    http://forum.mathematex.net/latex-f6/faire-apparaitre-des-espaces-dans-des-nombres-decimaux-t9124.html
\newcommand\numb[2][,]{%
   \begingroup
      \expandarg
      \def\commasep{,}\def\dotsep{.}%
      \def\decsep{#1}\def\sepspace{\kern0.3333em}%
      \def\numtoprint{#2}%
      \ifx\decsep\commasep
         \StrSubstitute\numtoprint\commasep\sepspace
      \else
         \ifx\decsep\dotsep
            \StrSubstitute\numtoprint\dotsep\sepspace
         \else
            #2%
         \fi
      \fi
   \endgroup
}

\begin{document}
\param{CENTRE}[\numb[.]{3.456.789,45}][2][3][4]
\end{document}


Pourquoi ?
Je pense que c'est dû aux crochets de la commande \numb. Si c'est le cas comment peut-on contourner le problème ?
Dernière édition par projetmbc le Jeudi 25 Juin 2009, 09:01, édité 1 fois.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Imbriquer des commandes avec des arguments

Messagepar pg » Jeudi 25 Juin 2009, 08:56

Mets ton \numb entre accolades :

Code: Tout sélectionner
\param{CENTRE}[{\numb[.]{3.456.789,45}}][2][3][4]
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Imbriquer des commandes avec des arguments

Messagepar projetmbc » Jeudi 25 Juin 2009, 09:01

Merci.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Grapeshot [Crawler], MSN [Bot], Proximic [Spider] et 20 invités