Newenvironment (molto breve)

  • Creatore
    Topic
  • #86726
    Up
    0
    Down
    ::


    Buonasera!

    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

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #86727
      mcl1962
      Partecipante
        Up
        0
        Down
        ::


        Prova con:

        `newcommand{\med}[1]{\left \langle #1 \right \rangle}`

        e usa poi `$\med{S}$`.

        Ciao.

        Claudio

      • #86728
        Up
        0
        Down
        ::


        Perfetto!

        Per completezza andrò a studiare le differenze tra \newcommand e \newenvironment, giusto per capire quale scegliere di utilizzare.
        Latex rende ancora di più iniziando a “metterci le mani”!

        Grazie Claudio!

      • #86729
        Up
        0
        Down
        ::

        Anfosso” post=86153Perfetto!

        Per completezza andrò a studiare le differenze tra \newcommand e \newenvironment, giusto per capire quale scegliere di utilizzare.
        Latex rende ancora di più iniziando a “metterci le mani”!

        Grazie Claudio!

        Occhio che le differenze tra i due comandi che hai scritto sono in pratica metà mondo LaTeX!

        Ciao
        Tommaso

      • #86730
        Up
        0
        Down
        ::

        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

      • #86731
        Up
        0
        Down
        ::


        Conciso e illuminante, come sempre! 🙂

        Grazie Enrico!

    Visualizzazione 4 filoni di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top