In una delle tue precedenti risposte a questo topic hai detto:
…chi ha scritto quella macro \BackgroundPicture non ha la minima idea di come funzioni eso-pic e \AddToShipoutPicture né di come scrivere le macro correttamente.
…quel comando “\AddToShipoutPicture” rientra nel pacchetto “eso-pic”? Non mi è infatti molto ben chiaro nel suo utilizzo…lo trovo discusso nella documentazione del pacchetto “eso-pic” da prelevare da un CTAN? Come imparare inoltre a scrivere correttamente una macro? Non mi sono ben chiari ad esempio l’uso e il significato di quei cancelletti (#) insieme ai numeri…l’ho visto usare spesso, anche per dare indicazioni sull’angolo in quella macro \BackgroundPicture…come vanno interpretati?…..A pagina 152 di ArteLaTeX.pdf, ad esempio, si parla di “come definire un comando che accetta
argomenti…”…non ho ben capito che cosa s’intende per “argomenti”, e la guida si esprime introducendo quei cancelletti… come definire un comando che accetta
argomenti. Il parametro #1 viene sostituito dal primo argomento spe-
cificato; nel caso di più argomenti, questi diventano #2, #3, . . . e così
via.”)Grazie per le tue spiegazioni!!
Difficile scrivere qui una veloce spiegazione di come si definisce un comando. Prova a pensare a una macro di TeX (chiamo così quelle che vengono definite e non i comandi primitivi) come a una funzione che può avere zero, una, due o più variabili.
La funzione f(x,y)= 3x + 2y è una funzione di due variabili, quando a x e a y sostituisci valori numerici ottieni un certo altro numero. Questa funzione è espressa in termini delle due variabili e di operazioni primitive, nel caso specifico moltiplicazione e addizione. Una volta definita f, potresti anche usarla per definire una funzione più complicata, per esempio g(x,y,z) = zf(x,y) + xf(y,z) + yf(z,x).
Per le macro è simile; le variabili naturalmente non assumono valori numerici, ma non cambia l’idea; il dominio delle variabili è “codice TeX” e il valore assunto dati valori alle variabili è ancora “codice TeX”. Le variabili nella definizione si indicano sempre con i simboli #1, #2:
`\newcommand{\pippo}[2]{Ecco \textit{#1} e \textsf{#2}}`
è analogo alla definizione di una funzione in termini di altre “operazioni”, che possono a loro volta essere macro oppure comandi primitivi.
L’analogo di scrivere f(4,7) (che indica il numero 26) nel caso della macro \pippo è
`\pippo{Caio}{Sempronio}`
che ha come “valore” il codice TeX “Ecco \textit{Caio} e \textsf{Sempronio}”.
Nella definizione #1 e #2 si chiamano “parametri”, nella chiamata la macro \pippo deve essere seguita da due “argomenti” che vengono sostituiti ai parametri.
Adesso, però, non cercare di saltare a piè pari tutta la teoria: comincia con il poco, vedrai che un po’ alla volta comincerai a capire anche definizioni più complesse.
Ciao
Enrico