Re: Problema con un comando con numero variabile di argomenti

#84651
Up
0
Down
::


Ciao a tutti, riprendendo il tema in oggetto e volendo definire un con un numero di parametri superiore a 9 e noto a priori (es. 11), quale è la strada migliore? Alcuni esempi che ho trovato sfruttano la definizione di “variabili” di comodo in cui parcheggiare i valori dei primi 9 argomenti, chiamando quindi un comando a cascata che interpreta i rimenenti parametri ed utilizza le variabili di comodo precedentemente definite. Di seguito la prova che ho fatto:
`
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{calc}
\usepackage{tabularx}
\usepackage{booktabs}

\newcommand\McsTcw[1]{#1\textwidth-2\tabcolsep}

\newenvironment{McsTabFive}[9]{%
\def\McsTabFiveA{#1}
\def\McsTabFiveB{#2}
\def\McsTabFiveC{#3}
\def\McsTabFiveD{#4}
\def\McsTabFiveE{#5}
\def\McsTabFiveF{#6}
\def\McsTabFiveG{#7}
\def\McsTabFiveH{#8}
\def\McsTabFiveI{#9}
\begin{McsTabFiveP}
}{
\end{McsTabFiveP}
}
\newenvironment{McsTabFiveP}[1]{%
\begin{small}
\begin{center}
\begin{tabular}{
p{\McsTabFiveB}
p{\McsTabFiveD}
p{\McsTabFiveF}
p{\McsTabFiveH}
p{#1}}
\toprule
{\McsTabFiveA} & {\McsTabFiveC} & {\McsTabFiveE} & {\McsTabFiveG} & {\McsTabFiveI} \\
}{%
\bottomrule
\end{tabular}
\end{center}
\end{small}
}
\newcommand\McsRigaTabFive[5]{%
\midrule
{#1} & {#2} & {#3} & {#4} & {#5} \\
}

\begin{document}
\begin{McsTabFive}{Col1}{\McsTcw{.2}}{Col2}{\McsTcw{.2}}{Col3}{\McsTcw{.2}}{Col4}{\McsTcw{.2}}{Col5}{\McsTcw{.2}}
\McsRigaTabFive {aaa}{bbb}{ccc}{ddd}{eee}
\McsRigaTabFive {aaa}{bbb}{ccc}{ddd}{eee}
\end{McsTabFive}
\end{document}
`
Di funzionare funziona, ma forse vi sono modi più eleganti che non implichino una programmazione spinta.

Grazie come sempre per ogni contributo.

a

Go to top