Deutsch   English   Français   Italiano  
<ufs001$2dann$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Texboy <tex.boy@teaser.fr>
Newsgroups: fr.comp.text.tex
Subject: Re: \advance\toks 41{...}
Date: Sat, 7 Oct 2023 18:11:45 +0200
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <ufs001$2dann$1@dont-email.me>
References: <564ae975-a378-42f5-8048-691605fdeea5n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 7 Oct 2023 16:11:45 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9308589fd1e5b08d2141743018cfc880";
	logging-data="2534135"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18Zav2T+ehj0WHyZu5l7eGI9dTBmEeZHrQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:K0ow2RvDmyHHlmqWeE6mRiPYZwI=
Content-Language: fr
In-Reply-To: <564ae975-a378-42f5-8048-691605fdeea5n@googlegroups.com>
Bytes: 2263

Le 07/10/2023 à 17:45, Gérard Lemenn a écrit :
> Bonjour,
> 
> Quelqu'un a une référence ou une idée de pourquoi on ne peut pas écrire :
> 
> \advance\toks 41{<general text>}
> ou
> \advance\toks 41\toks 10
> 
> Ce qui évidemment serait une concaténation de chaînes de symboles.
> 
> Bien sûr on peut créer une macro \toks@advance qui permette cette syntaxe, mais l'idée serait de surtout de rendre plus rapide la concaténation de chaînes.
> 
> Bonne journée.

La primitive \advance s'emploie avec la syntaxe suivante

\advance<registre de compteur><[by]><nombre>
\advance<registre de dimension><[by]><dimension>
\advance<registre de ressort><[by]><ressort>
\advance<registre de muressort><[by]><muressort>

Pour la première, elle agit sur un compteur et l'incrémente de l'entier 
signé <nombre>. Le fonctionnement est identique pour les autres syntaxes.

Elle ne peut pas agir sur un registre de tokens.

Si vous souhaitez une macro qui ajoute un <texte général> à un registre 
de tokens, vous pouvez définir une macro comme par exemple :

\def\addtotoks#1#2{#1\expandafter{\the#1#2}}

Notez que l'argument #2 n'est pas développé et donc

\addtotoks{\toks41 }{\toks10 }

pourra ne pas fonctionner comme attendu.