salve a tutti ^_^ anche io, come molti altri, mi sono finalmente avvicinato a questo meraviglioso strumento, e da bravo programmatore mi ci sto trovando molto bene ^_^
ma veniamo al problema:
io sto scrivendo un documento che contiene molte tabelle e grafici tutti molto simili, volevo quindi crearmi un nuovo ambiente per non star sempre a riscrivere le solite 10 righe per ogni tipo di tabella che di solito scrivo cosi:`\begin{table}[!ht]
\newcommand{\opLine}[4]{(#1) & \{#2\} & \{#3\} & #4\\}
\centering
\begin{tabular}{ l l l l }
\hline
\multicolumn{4}{c}{\textbf{titoloTabella}} \\
\hline
\hline
\opLine{robba}{robba}{altrarobba}{ancorarobba}
…..
\opLine{robba}{robba}{altrarobba}{ancorarobba}
\hline
\end{tabular}
\end{table}`mentre mi piacerebbe scrivere cosi:`\begin{tabellaMia}
\opLine{robba}{robba}{altrarobba}{ancorarobba}
…..
\opLine{robba}{robba}{altrarobba}{ancorarobba}
\end{tabellaMia}`per fare cio mi sono creato un nuovo ambiente fatto cosi:`\newenvironment{tabellaRollfoward}
{
\begin{table}[!ht]
\centering
\begin{tabular}{ l l l }
\hline
\multicolumn{3}{c}{\textbf{titolotabella}} \\
\hline
\hline
}
{
\hline
\end{tabular}
\end{table}
}`e questo compila e funziona perfettamente, ma non mi mette a disposizione il comando opLine che mi fa fatica ridefinirmi tutte le volte localmente, se provo ad inserire la riga:`\newcommand{\opLine}[3]{(#1) & \{#2\} & #3\\}`al suo posto mi da un errore nei parametri, probabilmente riconosce i vari #n come parametri dell’ambiente, che non ha, e quindi implode, mentre in realta sono parametri della opLine. c’e’ un modo per dirgli che sono parametri della opLine e non dell’ambiente? e’ possibile creare un comando che funziona soltanto in un particolare ambiente?
`
\newenvironment{tabellaRollfoward}[3]
{
\begin{table}[!ht]
\newcommand{\OpLine}[#2]{#3}
\centering
\begin{tabular}{ l l l }
\hline
\multicolumn{3}{c}{\textbf{#1}} \\
\hline
\hline
}
{
\hline
\end{tabular}
\end{table}
}`Puoi usarlo così:`\begin{tabellaRollfoward}{Titolo tabella}{3}{$#1$ & $#2$ & #3\\}
\OpLine{a}{b}{c}
\end{tabellaRollfoward}`Il parametro numero uno è il titolo della tabella, il numero due è il numero di argomenti, il tre è ciò che devi fare ai vari elementi. In realtà, se tutto ciò che vuoi è di trattare alcune colonne come composte in modo matematico, c’è molto meglio a disposizione: il pacchetto array.`\usepackage{array}
\newcolumntype{L}{>{$}l<{$}}` In questo modo`\begin{tabular}{LLl}`produce una tabella con le prime due colonne in modo matematico e allineate a sinistra.
Ciao
Enrico