- Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 7 mesi fa da .
-
Topic
-
Un saluto a tutti,dopo averci provato per tutto il pomeriggio senza risultato, sono a chiedervi aiuto.
Ho definito un comando per formattare il terzo campo di una riga di una tabella in funzione dei valori dei primi due campi.
Funziona come voluto, tranne per il fatto che, a quel che vedo, la clausola else, anche se è {} restituisce uno spazio che viene concatenato al risultato if della condizione soddisfatta, con il risultato che ottengo uno scivolamento a sinistra del primo campo di ogni riga.Ecco il documento di test:
`
\documentclass[a4paper,10pt]{article}
\usepackage{ifthen}
\usepackage{color}\newcommand{\printValori}[2]
{
\ifthenelse{\equal{#1}{Bassa} \AND \equal{#2}{Bassa}} {#1 & #2 & \colorbox{green}{\textcolor{white}{Basso}}}{}
\ifthenelse{\equal{#1}{Bassa} \AND \equal{#2}{Media}} {#1 & #2 & \colorbox{green}{\textcolor{white}{Basso}}}{}
\ifthenelse{\equal{#1}{Bassa} \AND \equal{#2}{Elevata}}{#1 & #2 & \colorbox{yellow}{\textcolor{black}{Medio}}}{}
\ifthenelse{\equal{#1}{Media} \AND \equal{#2}{Bassa}} {#1 & #2 & \colorbox{green}{\textcolor{white}{Basso}}}{}
\ifthenelse{\equal{#1}{Media} \AND \equal{#2}{Media}} {#1 & #2 & \colorbox{yellow}{\textcolor{black}{Medio}}}{}
\ifthenelse{\equal{#1}{Media} \AND \equal{#2}{Elevata}}{#1 & #2 & \colorbox{red}{\textcolor{white}{Elevato}}}{}
\ifthenelse{\equal{#1}{Elevata} \AND \equal{#2}{Bassa}} {#1 & #2 & \colorbox{yellow}{\textcolor{black}{Medio}}}{}
\ifthenelse{\equal{#1}{Elevata} \AND \equal{#2}{Media}} {#1 & #2 & \colorbox{red}{\textcolor{white}{Elevato}}}{}
\ifthenelse{\equal{#1}{Elevata} \AND \equal{#2}{Elevata}}{#1 & #2 & \colorbox{red}{\textcolor{white}{Elevato}}}{}
}%opening
\title{}
\author{}\begin{document}
\maketitle
\begin{abstract}
\end{abstract}
\section{test}
\begin{tabular}{|l|l|l|}
\hline
\printValori{Elevata}{Elevata}\\
\hline
\printValori{Bassa}{Bassa}\\
\hline
\printValori{Bassa}{Media}\\
\hline
\printValori{Bassa}{Elevata}\\
\hline
\printValori{Media}{Bassa}\\
\hline
\printValori{Media}{Media}\\
\hline
\printValori{Media}{Elevata}\\
\hline
\printValori{Elevata}{Bassa}\\
\hline
\printValori{Elevata}{Media}\\
\hline
\printValori{Elevata}{Elevata}\\
\hline
\end{tabular}\end{document}
`Che si tratti del risultato della clausola else è evidenziabile trasformandola da {} a {.}, si vede chiaramente il carattere . prendere il posto degli spazi bianchi ricreando la scalettatura dei primi campi.
Mi sapete suggerire quale direzione prendere per risolvere il problema?
stefano
- Devi essere connesso per rispondere a questo topic.