Permutazioni in pratica
Le permutazioni mescolano. Le enumerazioni scelgono. La maggior parte della varietà reale di un template scritto bene nasce dalle permutazioni — non dall’impilare sinonimi. Questa guida copre la sintassi, le regole dei separatori e il pattern che quasi tutti si perdono: gli elenchi seriali nei titoli e nelle intestazioni.
Permutazione semplice
[a|b|c]
Comportamento predefinito:
- entrano tutti gli elementi;
- l’ordine viene mescolato a ogni render;
- il separatore è un singolo spazio.
Esempi di output: a b c, c a b, b c a.
Scorciatoia con separatore unico
Per impostare il separatore (e lastsep) in un colpo solo:
[< and >a|b|c]
Output possibili: a and b and c, c and a and b. La scorciatoia assegna la stessa stringa sia a sep sia a lastsep, quindi tutte le giunzioni si somigliano.
Configurazione completa
La forma estesa dà il controllo totale:
[<minsize=2;maxsize=4;sep=", ";lastsep=" and ">a|b|c|d|e]
Regole:
minsize— numero minimo di elementi da emettere;maxsize— numero massimo di elementi da emettere;sep— unisce tutti gli elementi tranne l’ultima coppia;lastsep— unisce gli ultimi due elementi (per un naturale «A, B and C»).
Omettete una delle due dimensioni e l’altra si completa da sé:
- solo
minsizeimpostato →maxsizediventa «tutti quelli disponibili»; - solo
maxsizeimpostato →minsizediventa 1; - entrambi maggiori del numero di elementi → vengono ridotti al totale;
- il motore non può scegliere zero elementi. Per «forse nessun elenco», avvolgete la permutazione in un ramo vuoto (vedi sotto).
Separatori per elemento
Se vi serve più precisione di un sep/lastsep globale, un singolo elemento può portare il proprio separatore:
[<, >Visa|Mastercard < and >|Skrill]
Qui:
- il separatore globale è
", "; - l’elemento dopo
Mastercardporta il proprio separatore locale" and ".
I separatori per elemento sono rari, ma utili quando un punto preciso chiede un connettivo diverso.
Spaziatura automatica dei separatori
I separatori fatti di parole ricevono automaticamente uno spazio su entrambi i lati:
[<and>a|b|c]
si comporta come:
a and b and c
I separatori di punteggiatura non vengono spaziati automaticamente:
[<,>a|b|c]
produce:
a,b,c
Se volete uno spazio dopo la virgola, scrivetelo esplicitamente: [<, >a|b|c].
Elenchi opzionali
Dato che una permutazione non può emettere zero elementi, il modo per rendere un elenco «forse assente» è avvolgere l’intera permutazione in un ramo di enumerazione vuoto:
{|[<minsize=2;maxsize=3;sep=", ";lastsep=" and ">Postgres|Redis|Kafka|MongoDB]}
Output possibili: Postgres and Redis, Kafka, Postgres and Redis, oppure una stringa vuota. Ricordatevi degli spazi attorno — tenete lo spazio dentro il ramo quando l’elenco può sparire.
Elenchi seriali in titoli, descrizioni e intestazioni
Questo è il pattern che quasi tutti si perdono. Titoli e intestazioni H2/H3 spesso promettono più temi paralleli:
Benefits, Integrations, and How to Get Started
Quella non è una stringa congelata — è un elenco di tre blocchi di titolo paralleli. Riconoscete il pattern e scrivetelo come permutazione:
[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]
Bene, dentro una cornice di intestazione con uno spazio per il marchio:
%product_name%: [<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]
Male:
%product_name%: {Benefits, Integrations, and How to Get Started|A Complete Guide for Teams}
Perché la seconda forma è più debole:
- tratta un elenco strutturato come un’unica stringa congelata;
- perde il pattern di separatori che il motore già offre;
- spinge il modello verso l’alternanza di stringhe intere invece che verso una struttura riutilizzabile;
- produce una manciata di varianti dove una permutazione ne produrrebbe decine.
Usate il pattern dell’elenco seriale per:
- titoli che elencano tre o più promesse;
- meta description che nominano più blocchi dell’articolo;
- intestazioni H1/H2/H3 che elencano temi di sezione paralleli.
Non usatelo quando la sequenza è una procedura e deve restare in ordine:
Create an account, verify email, and make a deposit
Quella è una sequenza di passi, non un elenco di titolo liberamente permutabile.
Le maiuscole delle intestazioni sono a mano
La regola abituale per il corpo del testo dice che gli elementi di una permutazione iniziano in minuscolo, perché il post-processing mette la maiuscola a inizio frase.
Quella regola non vale per le intestazioni seriali in stile titolo. Ogni elemento deve già essere scritto nelle maiuscole con cui verrà mostrato:
[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]
e non:
[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">benefits|integrations|how to get started]
Il post-processing non convertirà per voi un elenco di titolo separato da virgole in title case.
Errori frequenti con le permutazioni
| Da evitare | Perché | Da fare invece |
|---|---|---|
| Fissare nel codice un elenco di 4+ elementi | L’ordine fisso diventa un’impronta su tutti i render. | Usare una permutazione, anche con minsize=maxsize se l’insieme è obbligatorio. |
| Congelare un titolo seriale in un’unica stringa | Perde il pattern dei separatori e riduce drasticamente lo spazio delle varianti. | Emetterlo come permutazione con sep e lastsep. |
Usare minsize=0 | Il motore riduce il minimo a 1: vi ritrovate con un’aspettativa rotta in silenzio. | Avvolgere l’elenco in {|[...]} per «forse nessun elenco». |
Chiudere gli elementi con un punto mentre sep=". " | Punteggiatura doppia: "fact. . next fact". | Lasciare la punteggiatura al separatore; gli elementi restano nudi. |
| Aggiungere spazi ai separatori-parola che il motore già spazia | Rende aandb perché avete risolto un problema inesistente. | Fidatevi della spaziatura automatica; aggiungete spazi solo con la punteggiatura. |
| Scrivere gli elementi con maiuscole miste | Il testo reso ha una capitalizzazione dall’aria casuale. | Minuscolo nel corpo, title case nelle intestazioni. Coerente dentro una permutazione. |
| Fare di ogni elemento una frase intera con soggetto proprio | Il flusso seriale si rompe — ogni elemento si legge come un paragrafo nuovo. | Tenere gli elementi a livello di sintagma; legare il soggetto fuori dalla permutazione. |
Checklist delle permutazioni
- Ogni elenco di 3+ elementi è una permutazione, non una stringa congelata.
- Gli elenchi seriali in titoli e intestazioni usano permutazioni con
sep/lastsepespliciti. - Gli elenchi opzionali sono avvolti in
{|[...]}, non tentati conminsize=0. - Gli elementi non finiscono con punteggiatura che il separatore fornisce già.
- Le permutazioni di intestazione sono scritte nelle maiuscole di visualizzazione.
- Le permutazioni del corpo iniziano in minuscolo quando il post-processing capitalizza.
- Tutti gli elementi di una permutazione sono grammaticalmente paralleli tra loro.
Con la struttura a posto, resta un ultimo passaggio: la grammatica, in sinonimizzazione senza rompere la grammaticaEN.