Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Utilisation de \def ... #{ ... }

21 views
Skip to first unread message

projetmbc

unread,
Apr 19, 2023, 4:37:02 PM4/19/23
to
"Bonjour".

Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?

Michel

unread,
Apr 20, 2023, 12:20:03 AM4/20/23
to
Le 19 avril 2023 projetmbc a écrit :

> "Bonjour".
>
> Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?

un exemple simple :

\def\innerwidth{63.5mm}

un autre plus long avec paramètres :

\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\scshape\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\Huge \scshape\bfseries #2\par
\vspace{5em}
\runes{#2}\par}%
\@endpart}

projetmbc

unread,
Apr 20, 2023, 4:26:07 AM4/20/23
to
Merci.

En fait, je cherche un usage avec un # seul devant le délimiteur de groupe { . Cela semble s'appeler du "hashquote"...

GL

unread,
Apr 21, 2023, 8:45:17 AM4/21/23
to projetmbc
Le 19/04/2023 à 22:37, projetmbc a écrit :
> "Bonjour".
>
> Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?

C'est très simple :

\def\macro #1\@nil {....}

#1 est un argument délimité par \@nil

Et bien :

\def\macro #1#{....}

#1 est un argument délimité par '{'
=> on capture tout jusqu'à '{' dans #1 et on ajoute
à la fin du texte de remplacement de \macro à nouveau "{"


\def\macro #1#{\macrodeux {#1}}
\def\macrodeux #1#2{\detokenize {1=<#1> et 2=<#2>}}

à utiliser comme suit :

\macro premier{deuxieme} % "premier" est capturé dans #1


Et pour être complet il y a aussi la syntaxe :

\def\macro #{...}

cette fois c'est comme : \def\macro \@nil {....}
autrement dit \macro doit obligatoirement être suivie de :

<espaces-optionnels>{

Voilà. Pas de secrets...

Bon weekend.










projetmbc

unread,
Apr 21, 2023, 11:56:43 AM4/21/23
to
Exemples clairs.

Merci.
0 new messages