[RISOLTO]: Elenco puntato di equazioni numeriche e riferimento

  • Creatore
    Topic
  • #114812
    Up
    0
    Down
    ::


    Salve a tutti,
    sono principiante nell’uso di LaTeX (quindi siate clementi), sto cercando di utilizzarlo per la scrittura della mia tesi. Finora sono riuscita a risolvere le difficoltà tramite guide o ricerche nel forum e online.
    Purtroppo ho riscontrato un problema che non riesco a risolvere, spero mi riusciate ad aiutare.

    Il mio scopo è realizzare
    1. un elenco puntato di equazioni numerate (senza che vadano a capo e proseguano la numerazione);
    2. riuscire ad inserire i riferimenti a tali equazioni nel testo.

    Sono riuscita a realizzare l’elenco tramite aggiunta di un nuovo comando:
    `
    \newcommand{\listequationnumber}{\refstepcounter{equation}(\theequation)}
    \newcommand{\listequation}[1]{$#1$\hfill\listequationnumber}
    `
    e nel testo inserisco semplicemente
    `
    \begin{itemize}
    \item \listequation{ A + B = C }

    \end{itemize}
    `
    ed il risultante è soddisfacente.

    Tuttavia se all’interno di \listequation aggiungo il \label, il rispettivo \eqref non è corretto. Mi spiego meglio tramite l’esempio:

    \listequation{ A + B = C \label{eq:ABC} }
    ….
    \eqref{eq:ABC} –> diviene (1.1.2) invece il numero dell’equazione dovrebbe essere (1.7)

    Spero di essermi spiegata, in caso contrario riproverò.

    Grazi mille in anticipo

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #114813
      Up
      0
      Down
      ::


      Innanzitutto, benvenuta nel forum! 🙂

      Se ci rifletti un attimo, vedrai che ti renderai conto che, dato il modo in cui definisci il comando [tt]\listequation[/tt], se metti il comando [tt]\label[/tt] dentro all’argomento di [tt]\listequation[/tt], esso viene eseguito prima che il contatore delle equazioni venga incrementato: è evidente che così non può funzionare, difatti ti viene fuori un «1.1.2» che, con ogni probabilità, è il numero del sottoparagrafo in cui ti trovi. Questo succederà per la prima equazione (esercizio: perché? 😉 ); mi aspetto che un [tt]\eqref[/tt] relativo alla seconda equazione generi invece un riferimento alla prima, uno relativo alla terza un riferimento alla seconda, e così via.

      Prova a spostare [tt]\label[/tt] fuori dell’argomento di [tt]\listequation[/tt]:
      `
      \listequation{ A + B = C }\label{eq:ABC}
      `

      Però, vorrei chiederti: perché vuoi realizzare un elenco puntato di formule? È davvero così importante che ciascuna formula sia preceduta da un pallino? Non pensi che ciò potrebbe confondere il lettore? Non è che, per caso, quello che ti interessa veramente è che le formule siano allineate a sinistra anziché centrate?

      Insomma, ti consiglio di riflettere bene, perché, secondo me, quel che vuoi fare ha poco, o nessun, senso tipografico. Se ci spieghi qual è il contesto e che cosa intendi comunicare con questo bizzarro accorgimento, forse potremo suggerirti un metodo migliore di esprimere tipograficamente la tua idea.

      Ciao.


      Gustavo

    • #114814
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Prova a ridefinire il comando \listequation così:
        `\newcommand{\listequation}[2]{$#1$\hfill\listequationnumber\label{#2}}`
        da usarsi così`\listequation{ A + B = C }{eq:ABC}`

      • #114815
        Up
        0
        Down
        ::


        Grazie letteracdp! 🙂 Effettivamente capivo che c’era qualcosa che non andava a livello di contatore, ed è effettivamente giusto il tuo ragionamento.

        Avevo provato a spostare \label al di fuori del comando, tuttavia mi generava un disallineamento tra le etichette (dato che avevo dato il \label solo ad una di esse) non so per quale motivo.

        Ti ringrazio dell’osservazione, ora valuto come comportarmi. Stavo definendo delle proprietà di una funzione e mi sembrava più chiaro in questo modo, ma magari ora provo senza i puntini con semplice allineamento a sinistra.

      • #114816
        Up
        0
        Down
        ::

        letteracdp” post=115202Innanzitutto, benvenuta nel forum! 🙂

        Se ci rifletti un attimo, vedrai che ti renderai conto che, dato il modo in cui definisci il comando [tt]\listequation[/tt], se metti il comando [tt]\label[/tt] dentro all’argomento di [tt]\listequation[/tt], esso viene eseguito prima che il contatore delle equazioni venga incrementato: è evidente che così non può funzionare, difatti ti viene fuori un «1.1.2» che, con ogni probabilità, è il numero del sottoparagrafo in cui ti trovi. Questo succederà per la prima equazione (esercizio: perché? 😉 ); mi aspetto che un [tt]\eqref[/tt] relativo alla seconda equazione generi invece un riferimento alla prima, uno relativo alla terza un riferimento alla seconda, e così via.

        Prova a spostare [tt]\label[/tt] fuori dell’argomento di [tt]\listequation[/tt]:
        `
        \listequation{ A + B = C }\label{eq:ABC}
        `

        Però, vorrei chiederti: perché vuoi realizzare un elenco puntato di formule? È davvero così importante che ciascuna formula sia preceduta da un pallino? Non pensi che ciò potrebbe confondere il lettore? Non è che, per caso, quello che ti interessa veramente è che le formule siano allineate a sinistra anziché centrate?

        Insomma, ti consiglio di riflettere bene, perché, secondo me, quel che vuoi fare ha poco, o nessun, senso tipografico. Se ci spieghi qual è il contesto e che cosa intendi comunicare con questo bizzarro accorgimento, forse potremo suggerirti un metodo migliore di esprimere tipograficamente la tua idea.

        Ciao.


        Gustavo

        Grazie 🙂 ! Effettivamente capivo che ci fosse qualcosa che non andava coi contatori, il tuo ragionamento mi ha delucidato il problema.

        Avevo provato a posizionare il \label all’esterno, tuttavia mi generava un leggero disallineamento delle etichette, non so per quale ragione.

        Ti ringrazio dell’osservazione, valuterò come comportarmi. Stavo definendo delle proprietà di una funzione e mi pareva il modo più chiaro, tuttavia al seguito delle tue osservazioni proverò anche un semplice allineamento a sinistra.

        Un saluto,
        Monica

      • #114817
        Up
        0
        Down
        ::

        OldClaudio” post=115203Prova a ridefinire il comando \listequation così:
        `\newcommand{\listequation}[2]{$#1$\hfill\listequationnumber\label{#2}}`
        da usarsi così`\listequation{ A + B = C }{eq:ABC}`

        Grazie molte con i tuoi accorgimenti ho risolto il problema! 😉

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

    Go to top