Discussion:
Utilisation de \def ... #{ ... }
(trop ancien pour répondre)
projetmbc
2023-04-19 20:37:00 UTC
Permalink
"Bonjour".

Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?
Michel
2023-04-20 04:16:40 UTC
Permalink
Post by projetmbc
"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 \***@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \***@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
2023-04-20 08:26:05 UTC
Permalink
Post by Michel
Post by projetmbc
"Bonjour".
Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?
\def\innerwidth{63.5mm}
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\normalfont
\huge\scshape\bfseries \partname\nobreakspace\thepart
\par
\fi
\Huge \scshape\bfseries #2\par
\vspace{5em}
\runes{#2}\par}%
Merci.

En fait, je cherche un usage avec un # seul devant le délimiteur de groupe { . Cela semble s'appeler du "hashquote"...
GL
2023-04-21 12:45:15 UTC
Permalink
Post by projetmbc
"Bonjour".
Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?
"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
2023-04-21 15:56:42 UTC
Permalink
Post by projetmbc
Post by projetmbc
"Bonjour".
Quelqu'un pourrait-il me proposer un exemple d'utilisation de Utilisation de \def ... #{ ... } ?
"Bonjour".
Quelqu'un pourrait-il me proposer un exemple d'utilisation de
Utilisation de \def ... #{ ... } ?
\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>}}
\macro premier{deuxieme} % "premier" est capturé dans #1
\def\macro #{...}
<espaces-optionnels>{
Voilà. Pas de secrets...
Bon weekend.
Exemples clairs.

Merci.

Loading...