Anfosso” post=86150Buonasera!
Mi sto cimentando con la creazione del mio primo – e banale – newenvironment.
L’obiettivo è quello di rendere più semplice la scrittura del codice necessario a produrre: \left \langle S \right \rangle.
Sono pertanto andato a cercare nei manuali la descrizione dell’ambiente, che è la seguente:
`\newenvironment{⟨nome⟩}[⟨numero argomenti⟩][⟨default⟩]%
{⟨comandi di apertura⟩}{⟨comandi di chiusura⟩}`Da qui ho definito il seguente:
`\newenvironment{med}[1]%
{\left \langle}{\right \rangle}`Con cui mi aspettavo di poter produrre il risultato sperato con un comando del tipo `\med{S}` all’interno di un qualsiasi ambiente matematico.
Compilando, mi viene restituito l’errore riferito ad un $ mancante (nelle righe di codice all’interno del documento). Pertanto ho fatto qualche tentativo “a naso”, che non ha però portato a nulla.
Dove sbaglio?
Grazie in anticipo!
Andrea
Quello che vuoi è un comando e non un ambiente:
`\newcommand{\med}[1]{\langle #1\rangle}`
Qual è la differenza? Qui hai un oggetto da mettere tra parentesi: [tt]$0<\med{S}<1$[/tt], un ambiente invece è qualcosa come [tt]quotation[/tt]:
`\begin{quotation}
Un po' di testo che apparirà rientrato a destra e a sinistra, di solito
dovrebbe essere una citazione.
\end{quotation}`
Mi parrebbe alquanto bizzarro scrivere la formula di prima come
`$0<\begin{med}S\end{med}<1`
anche se è certamente possibile. Non come hai scritto tu, però.
Ciao
Enrico