[quote]Come si fa ad aumentare il massimo numero di parametri per \newcommand? Ho la beffa di avere un comando che necessita di 12 variabili…
Comandi del genere sono ingestibili, si possono capire solo in testi che siano generati automaticamente. È il tuo caso?
Non si può aumentare il massimo numero di parametri: nove sono per decreto knuthiano al quale l’obbedienza dev’essere cieca e assoluta. Trucchi di vario tipo ci sono, ma la prima domanda a cui rispondere è: davvero ti serve un comando con 12 argomenti? Che ci devi fare? La soluzione dipende da questo.
Ciao
Enrico
Speravo di poter disegnare in fretta i pullback: ti riporto il codice che avevo scritto.
`\newcommand{\mypull}[12]{%
\xymatrix{
#5 \ar@/_10pt/[ddr]_{#12} \ar@/^10pt/[drr]^{#10} \ar@{.>}[dr]|*+<3pt,3pt>{#11} & & \\
& #1 \ar[d]_(0.4){#7} \ar[r]^(0.4){#6} & #2 \ar[d]^{#8}\\
& #3 \ar[r]_{#9} & #4
}
}`
che mi facesse ottenere qualcosa di simile a quel che esce compilando
` \xymatrix{
Q \ar@/_10pt/[ddr]_{q_1} \ar@/^10pt/[drr]^{q_2} \ar@{.>}[dr]|*+<3pt,3pt>{u} & & \\
& P \ar[d]_(0.4){p_1} \ar[r]^(0.4){p_2} & Y \ar[d]^{g}\\
& X \ar[r]_{f} & Z
}`[/quote]
Pensi poi di ricordarti qual è l’ordine degli argomenti? Io temo di no. Ma ognuno è libero di farsi del male come crede. 🙂
`\newcommand{\mypull}[4]{%
\def\mpul{#1}\def\mpur{#2}\def\mpll{#3}\def\mplr{#4}%
\mypullbis}
\newcommand{\mypullbis}[8]{%
\xymatrix{
#1 \ar@/_10pt/[ddr]_{#8} \ar@/^10pt/[drr]^{#6} \ar@{.>}[dr]|*+<3pt,3pt>{#7} & & \\
& \mpul \ar[d]_(0.4){#3} \ar[r]^(0.4){#3} & \mpur \ar[d]^{#4}\\
& \mpll \ar[r]_{#5} & \mplr
}
}`
Mi tengo in mente i primi quattro argomenti, dandoli come testo di sostituzione di macro temporanee, e chiamo \mypullbis che trova i seguenti otto argomenti:
`\mypull{P}{Y}{X}{Z}{Q}{p_2}{p_1}{g}{f}{q_2}{u}{q_1}`
Ho la netta sensazione che l’ordine che avevi scelto fosse alquanto casuale e poco mnemonico.
Io, sinceramente, mi prenderei lo schema indicato, lo terrei fra gli appunti, e lo sbatterei dentro alla bisogna riempiendo i buchi. Quanti mai dovrai disegnarne?
Ciao
Enrico