Re: Ambiente con un numero variabile di elementi

#53725
Up
0
Down
::

Dato questo ambiente
`
\newcommand{\qf}[1]{\quad\fbox{#1}}
\newenvironment{risp}[4]{\par\noindent\begin{quote}\begin{slshape}\footnotesize\fbox a #1;\qf b #2;\qf c #3;\qf d #4.}{\end{slshape}\par\end{quote}}
`

è possibile modificarlo in modo da scegliere di volta in volta il numero dei parametri da passare all’ambiente?

Non è del tutto chiaro quello che vuoi. A parte l’abbondanza di cose del tutto inutili nel tuo codice.

Intanto non ti serve un ambiente, bensì un comando con un argomento. Quello che vuoi, mi pare di capire, è mettere le possibili risposte subito dopo la domanda.
`\documentclass[a4paper]{article}

\makeatletter
\newcommand{\risposte}[1]{\\*
\indent{\slshape\footnotesize\process@answers{#1}\par}}
\def\process@answers#1{\def\ans@list{#1}\count@=\z@
\@for\next:=\ans@list\do{\write@answer}%
\setbox\z@=\lastbox.}
\def\write@answer{\advance\count@\@ne
\unskip\quad\@alph{\count@}\ \next\hbox{;}}
\makeatother

\begin{document}
Ciao
\risposte{Uno,Due,Tre}

Arturo
\risposte{A,B, C, D}

\end{document}`
Se preferisci i riquadri, sostituisci la definizione di \write@answers:
`\def\write@answer{\advance\count@\@ne
\unskip\quad\fbox{\@alph{\count@}\ \next}}`
e togli “\setbox\z@=\lastbox.” nella definizione di \process@answers. Aggiusta a piacere.

Ciao
Enrico

Go to top