Newsgroup: it.comp.software.tex
Titolo: Nuovo ambiente con argomento opzionale

Salve a tutti ho preparato, attraverso Tikz, un ambiente personalizzato 
per gestire delle parti di testo che rappresentino degli "esempi" operativi.
Con l'aiuto del pacchetto "tocloft" ho introdotto la numerazione e un 
nuovo indice degli esempi che raccolga la lista degli stessi, presenti 
nel testo, con etichetta, titolo e numero di pagina.
Vorrei, in ceri casi, che si possa inserire un esempio senza titolo, nè 
numerazione (in modo che non finisca nell'elenco). Questa esigenza nasce 
dal fatto che l'ambiente non prevede il salto pagina e nel caso in cui 
sia necessario potrei simulare una continuazione dell'esempio precedente 
attraverso uno seguente "nudo".
Probabilmente non è il miglior modo...
Come dovrei discriminare l'assenza dell'argomento?
Grazie in anticipo.
-jospic
Ecco il codice:
%--------------------------------------------
% Creazione nuovo elenco
%--------------------------------------------
\newcommand{\listofexamplename}{Elenco degli esempi}
\newlistof[chapter]{example}{exp}{\listofexamplename}
%--------------------------------------------
% Box temporaneo del contenuto
%--------------------------------------------
\newsavebox{\Examplebox}
%--------------------------------------------
% Nuovo ambiente \begin{example}{Titolo esempio}...\end{example}
%--------------------------------------------
\newenvironment{example}[1]%
   {\refstepcounter{example}% increase example number
    \addcontentsline{exp}{example}{\protect\numberline{\theexample}#1}%
    \newcommand\Exampletitle{#1}%
    \begin{lrbox}{\Examplebox}
    \begin{minipage}{.95\textwidth}
   \small}
   {\end{minipage}\end{lrbox}%
    \noindent
    \begin{tikzpicture}
      \node [draw=gray, fill=gray!10, thick, rectangle,
        rounded corners, inner sep=10pt, inner ysep=20pt] (box){%
        \usebox{\Examplebox}};
      \node[fill=gray, text=white, rectangle, rounded corners,
        right=10pt] at (box.north west) {%
        $\blacktriangleright$ \bfseries\small Esempio \theexample:
        \color{white}\Exampletitle};  %\normalsize}; %example title
    \end{tikzpicture}%
   }

 Probabilmente non č il miglior modo...

Il modo migliore č di definirsi un nuovo ambiente example*:
\newenvironment{example*}
  {\begin{lrbox}{\Examplebox}
   \begin{minipage}{.95\textwidth}\small}
  {\end{minipage}\end{lrbox}%
   \par\addvspace{\medskipamount}
   \begin{tikzpicture}
   <codice in cui non usi \Exampletitle>
   \end{tikzpicture}\par\addvspace{\medskipamount}}
Non metterei mai righe vuote nella definizione di un ambiente:
\newenvironment{example}[1]%
  {...quello che c'č va bene...}
  {\end{minipage}\end{lrbox}%
   \par\addvspace{\medskipamount}
   \noindent
   \begin{tikzpicture}
     \node [draw=gray, fill=gray!10, thick, rectangle,
       rounded corners, inner sep=10pt, inner ysep=20pt] (box){%
     \usebox{\Examplebox}};
     \node[fill=gray, text=white, rectangle, rounded corners,
       right=10pt] at (box.north west) {%
       $\blacktriangleright$ \bfseries\small Esempio \theexample:
       \color{white}\Exampletitle};  %\normalsize}; %example title
    \end{tikzpicture}\par\addvspace{\medskipamount}}
Ciao
Enrico

 Enrico
Grazie, ciao.
-jospic

 potrebbe generare degli spazi spuri...
Invece di lasciare una riga completamente vuota, puoi aggiungere un % ad 
inizio riga. :-)
Stefano