[RISOLTO] Label a coppia di equazioni

  • Creatore
    Topic
  • #55013
    Up
    0
    Down
    ::


    Buonasera.
    Tempo fa ho richiesto (e ottenuto con successo) un consiglio per creare coppie di equazioni riquadrate ed allineate. Utilizzo la sintassi:
    `
    \begin{subequations}\label{eq:etichetta}
    \begin{empheq}[box=\fbox]{align}
    subequazione 1\label{subeq:1}\\
    subequazione 2 \label{subeq:2}
    \end{empheq}
    \end{subequations}
    `
    e fin qui tutto funzionante.
    Ora ho deciso (non a ragion veduta, data la mia niubbaggine) di definire un ambiente da richiamare ogni volta che avrò bisogno di tale sintassi.
    Il mio problema è che vorrei poter mettere come argomento obbligatorio del nuovo ambiente l’etichetta da dare al sistema intero. Vi riporto il codice che non va,
    `
    \newenvironment{sistemaeq}[1]{\begin{subequations}\label{eq:#1}\begin{empheq}[box=\fbox]{align}}{\end{empheq}\end{subequations}}
    `
    comprendo che, probabilmente, l’errore è dato dal mio metodo “brutale” di inserire l’argomento nella label.
    Prima di fare ulteriori danni, c’è qualcuno che può aiutarmi?
    Grazie mille,
    saluti

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #55014
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        A me funziona togliendo i \begin e \end dagli ambienti interni:
        `
        \newenvironment{sistemaeq}[1]{%
        \subequations\label{eq:#1}\empheq[box=\fbox]{align}
        }{%
        \endempheq\endsubequations}
        `

        Ti giuro che non so perché succeda così, ma almeno funziona.

      • #55015
        Up
        0
        Down
        ::

        A me funziona togliendo i \begin e \end dagli ambienti interni:
        `
        \newenvironment{sistemaeq}[1]{%
        \subequations\label{eq:#1}\empheq[box=\fbox]{align}
        }{%
        \endempheq\endsubequations}
        `

        Ti giuro che non so perché succeda così, ma almeno funziona.

        grazie, funziona! Non metto risolto perché spero che qualcuno possa spiegare il perché di questo comportamento, ed imparare un po’ di più 😉
        grazie
        ps: ma come t’è venuto in mente di rendere il codice così?

      • #55016
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Scrivo un mucchio di macro per i miei usi e consumi, e spesso evito i \begin e \end negli ambienti che creo io, perché accelero un pochino l’esecuzione; la ratio sta nele fatto che \begin e \end creano delle sequenze di controllo che permetto a LaTex di eseguire la diagnostica; inoltre creano dei gruppi con \begingroup e \endgroup. Probabilmente sono questi gruppi che danno fastidio al codice e talvolta è pericoloso toglierli. Inoltre il comando \newenvironment{pippo}{apertura}{chiusura} in realtà crea due comandi \pippo ed \endpippo che vengono attivati dai comandi \begin ed \end quando gli ambienti vengono usati in modo normale.

          Quindi il mio modo di procedere, in questo caso, è stato quello del bricoleur, non propriamente ortodosso. Non invito nessuno a seguire questo modo di procedere a meno che non sappia esattamente che cosa ci sta dietro.

        • #55017
          Up
          0
          Down
          ::

          A me funziona togliendo i \begin e \end dagli ambienti interni:
          `
          \newenvironment{sistemaeq}[1]{%
          \subequations\label{eq:#1}\empheq[box=\fbox]{align}
          }{%
          \endempheq\endsubequations}
          `

          Ti giuro che non so perché succeda così, ma almeno funziona.

          È sicuramente un problema di delimitazione di argomenti. Non ho mai studiato come funziona empheq, ma quasi certamente fa giochini piuttosto complessi che possono assomigliare a quello che fa il pacchetto verbatim.

          Ciao
          Enrico

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

      Go to top