Re: Rimuovere le parentesi dagli argomenti di un comando

#65560
Up
0
Down
::

egreg9″ post=64655

In realtà ho dovuto duplicare la riga con \@firstofone:
`\makeatletter
\def\ordrefm#1{\begingroup\edef\x{\getrefnumber{#1}}%
\edef\x{\expandafter\@firstofone\x}%
\edef\x{\expandafter\@firstofone\x}%
\edef\x{\endgroup\noexpand\printordinalem{\x}}\x}
\makeatother`

Così va, grazie!

A me va anche con uno solo. Se chiedo \show\x dopo la prima \edef ottengo {2} e dopo la seconda 2. In effetti la coppia di graffe da rimuovere è una sola. Ma in effetti vedo che nel tuo .aux sono due coppie. Boh. Versioni diverse di enumitem? La mia è 3.3.

Ciao
Enrico

La mia è 3.5.2, la stessa che c’è su CTAN. (Al momento sono su Windows con MiKTeX.)

egreg9″ post=64658

A me ne servono due 😕

Comunque, è l’approccio giusto mettere tanti \@firstofone a seconda di qual è il massimo numero di parentesi che si prevede di dover rimuovere?
Voglio che quel codice funzioni anche con 0 (classe book standard), una (\setenumerate con label e ref) e due (\setenumerate con label) coppie di parentesi spurie.

Come avrai visto, funziona anche con il primo riferimento che nel file .aux compare come
`\newlabel{cap}{{1}{1}{Numerato\relax }{chapter.1}{}}`
cioè senza graffe in più.

Ciao
Enrico

Sìsì, la mia idea era infatti di metterne due, per farla funzionare con 0, 1 e 2 coppie di parentesi in più. Fisso un massimo di due e sto sulla difensiva (sperando che nelle prossime versioni di enumitem non aumentino ancora di più…:)).

Ciao e grazie ancora,
A.

Go to top