Amedeo” post=84938Ringrazio tutti per i preziosi consigli e rimbrotti 😀 . Ho installato texlive 2012 ed ora funziona tutto. Per chiudere il topic, con riferimento al codice suggerito da Enrico, i nomi delle diverse variabili utilizzate seguono una certa convenzione che richiama quella utilizzata dal package xparse (e più in generale, credo, da expl3). Ho però notato che questo non è necessario, ovvero posso utilizzare qualunque nome, purchè sintatticamente accettabile (es. \tl_new:N \McsTabFiveCanvas al posto di \tl_new:N \l_amedeo_tab_contents_tl). Vi sono ragioni filologiche per mantenere le convenzioni di expl3 nella nomenclatura di nuove funzioni e variabili?
Puoi usare i nomi che vuoi, ma poi non lamentarti che le cose non funzionano. 🙂
Nell’ambiente di programmazione è raccomandato di seguire le convenzioni. Il seguito non è tutta la verità, ma una sua buona approssimazione.
• Le funzioni (i comandi, detto in altro modo) hanno un prefisso e un nome separati da [tt]_[/tt]; il nome può essere diviso in più parti, sempre separate da [tt]_[/tt]; segue [tt]:[/tt] e la segnatura, cioè una successione di lettere che dicono il genere di argomenti che la funzione si attende.
• Le variabili cominciano con [tt]l_[/tt] o con [tt]g_[/tt], seguiti da prefisso e nome e, per finire, il tipo di variabile ([tt]_tl[/tt] per le “token list”, [tt]_bool[/tt] per le variabili booleane, …)
• Le costanti hanno la stessa convenzione delle variabili, ma cominciano con [tt]c_[/tt].
Le variabili del tipo [tt]l_[/tt] vanno sempre maneggiate con assegnazioni locali, quelle con [tt]g_[/tt] con assegnazioni globali.
Segui queste convenzioni.
Ciao
Enrico