Teoremi senza numerazione, ma con testo, dopo “Teorema”

  • Creatore
    Topic
  • #71910
    Up
    0
    Down
    ::


    Ciao a tutti.
    Seguo con buoni risultati la guida L’arte di scrivere con LaTeX, ma per questo problema non sono davvero riuscito a venire a capo di una soluzione.
    In pratica, mi urta il fatto che i teoremi siano numerati e vorrei sostituire la numerazione con un nome che io do al teorema.

    Mi spiego.
    Ho scritto nel preambolo il codice:
    `
    \newtheorem{teorema}{Teorema}
    `
    e, quando devo introdurre un teorema, uso la sintassi:
    `
    \begin{teorema}[della ricorrenza – Pólya, 1921]

    \end{teorema}
    `

    Con questo codice, mi viene prodotto nel pdf il testo:

    Teorema 1 (della ricorrenza – Pólya, 1921)

    Io vorrei riuscire a modificare la cosa, per ottenere:

    Teorema della ricorrenza ( Pólya, 1921)

    È possibile?
    Se sì, che (s)vantaggi comporta rispetto all’usuale modo di gestire i teoremi?

    Ciao e grazie in anticipo.

Visualizzazione 18 filoni di risposte
  • Autore
    Risposte
    • #71911
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Con un po’ di acrobazie ci si riuscirebbe, ma poi come ti riferisci ai teoremi? Ogni volta scrivendo “teorema della ricorrenza”?.
        Certo puoi anche fare così ma rischi di creare frasi circonvolute, tipo: “…visto il teorema della ricorrenza e ricordando il primo e il secondo teorema della circonvoluzione, si deduce il corollario della confusione che porta al teorema del capovolgimento globale…” 😉

        Riferendoti ai numeri la frase viene molto più semplice anche se forse richiede una maggiore attenzione. In fondo in numeri usati come identificatori sono usati da molti secoli, non da ieri; e i numeri gerarchici, tipo 5.2.3 (terzo teorema della seconda sezione del capitolo 5) sono abbastanza recenti, e ancora più utili, sia pure nella loro estrema concisione.

        Personalmente preferisco di gran lunga i numeri. Ma certamente ci sarà qualcuno che ti presenterà un po’ di codice magico che risolve il tuo problema.

      • #71912
        Up
        0
        Down
        ::

        l3on4rdo” post=71063Ciao a tutti.
        Seguo con buoni risultati la guida L’arte di scrivere con LaTeX, ma per questo problema non sono davvero riuscito a venire a capo di una soluzione.
        In pratica, mi urta il fatto che i teoremi siano numerati e vorrei sostituire la numerazione con un nome che io do al teorema.

        Mi spiego.
        Ho scritto nel preambolo il codice:
        `
        \newtheorem{teorema}{Teorema}
        `
        e, quando devo introdurre un teorema, uso la sintassi:
        `
        \begin{teorema}[della ricorrenza – Pólya, 1921]

        \end{teorema}
        `

        Con questo codice, mi viene prodotto nel pdf il testo:

        Teorema 1 (della ricorrenza – Pólya, 1921)

        Io vorrei riuscire a modificare la cosa, per ottenere:

        Teorema della ricorrenza ( Pólya, 1921)

        È possibile?
        Se sì, che (s)vantaggi comporta rispetto all’usuale modo di gestire i teoremi?

        È possibile, certo. Ma ha il difetto menzionato da OldClaudio. Potresti ovviare al problema lasciando anche il numero e riferirti come preferisci al teorema 1 oppure al teorema della ricorrenza. Certo, se di “teoremi nominati” ce ne sono tanti, i riferimenti diventano convoluti e macchinosi.
        `\newtheorem{thm}{Teorema} % per quelli standard
        \newtheorem{namedthm*}[thm]{\namedthmname}
        \newenvironment{namedthm}[1]
        {\newcommand\namedthmname{#1}\begin{namedthm*}}
        {\end{namedthm*}}`
        Avrai allora
        `\begin{namedthm}{Teorema della ricorrenza}[Pólya, 1921]

        \end{namedthm}`
        Ciao
        Enrico

      • #71913
        Up
        0
        Down
        ::


        Proprio perché immaginavo che, se fosse stata una procedura “indolore”, l’avreste menzionata nella fantastica guida che mi aiuta a risolvere praticamente tutti i problemi di LaTeX, chiedevo lumi, oltre che sul metodo, anche sugli (s)vantaggi.
        Inoltre, volendo fare una presentazione degna del “culo” che mi sono fatto per il lavoro della tesi, devo capire anche se è solo una mia curiosità o se sia utile a presentare il tutto in maniera più “pulita”.
        Cerco di fare qualche prova e vi comunico le mie considerazioni 🙂
        Grazie per la vostra usuale e celere cortesia.

      • #71914
        Up
        0
        Down
        ::

        l3on4rdo” post=71081Proprio perché immaginavo che, se fosse stata una procedura “indolore”, l’avreste menzionata nella fantastica guida che mi aiuta a risolvere praticamente tutti i problemi di LaTeX, chiedevo lumi, oltre che sul metodo, anche sugli (s)vantaggi.
        Inoltre, volendo fare una presentazione degna del “culo” che mi sono fatto per il lavoro della tesi, devo capire anche se è solo una mia curiosità o se sia utile a presentare il tutto in maniera più “pulita”.
        Cerco di fare qualche prova e vi comunico le mie considerazioni 🙂
        Grazie per la vostra usuale e celere cortesia.

        Ah! Una presentazione! Allora cambia tutto! Non avrai molti riferimenti incrociati e il metodo di dare nomi ai pochi teoremi che citi è certamente lecito e forse consigliabile.

        Distinguerei anche fra i “tuoi” e quelli altrui (questi in un [tt]block[/tt], per esempio).

        Ciao
        Enrico

      • #71915
        Up
        0
        Down
        ::


        Mi sono espresso male.
        Per presentazione intendevo il lavoro cartaceo (la tesi insomma) che presenta alla commissione il lavoro di ricerca svolto in questo ultimo anno.
        🙂

      • #71916
        Up
        0
        Down
        ::

        l3on4rdo” post=71137Mi sono espresso male.
        Per presentazione intendevo il lavoro cartaceo (la tesi insomma) che presenta alla commissione il lavoro di ricerca svolto in questo ultimo anno.
        🙂

        Non cambia molto: se non ci sono più di un paio di riferimenti, non c’è bisogno di numerare. Se è il lavoro completo usa i numeri.

        Ciao
        Enrico

      • #71917
        Up
        0
        Down
        ::


        Allora, ho provato il suggerimento proposto e va bene.
        Come faccio per eliminare del tutto il numero?

      • #71918
        Up
        0
        Down
        ::

        l3on4rdo” post=71144Allora, ho provato il suggerimento proposto e va bene.
        Come faccio per eliminare del tutto il numero?

        [tt]\newtheorem*[/tt] invece di [tt]\newtheorem[/tt]

        Ciao
        Enrico

      • #71919
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Proprio perché immaginavo che, se fosse stata una procedura “indolore”, l’avreste menzionata nella fantastica guida che mi aiuta a risolvere praticamente tutti i problemi di LaTeX, chiedevo lumi, oltre che sul metodo, anche sugli (s)vantaggi.

          Cito dall’Arte:

          La variante asterisco \newtheorem* produce enunciati non numerati.

          Che cos’è che non è chiaro?

        • #71920
          Up
          0
          Down
          ::

          lorenzo.pantieri” post=71147

          Proprio perché immaginavo che, se fosse stata una procedura “indolore”, l’avreste menzionata nella fantastica guida che mi aiuta a risolvere praticamente tutti i problemi di LaTeX, chiedevo lumi, oltre che sul metodo, anche sugli (s)vantaggi.

          Cito dall’Arte:

          La variante asterisco \newtheorem* produce enunciati non numerati.

          Che cos’è che non è chiaro?

          [/OT]

          Eh 🙂

          [OT]

          Ciao
          Tommaso

        • #71921
          Up
          0
          Down
          ::



          @lorenzo
          .pantieri

          Singolarmente le varie istruzioni non mi danno problemi, nel senso che avevo letto, e constato con una prova, che la variante:
          `
          \newtheorem*
          `
          leva la numerazione dei teoremi, ma non riesco a mettere questa informazione insieme al codice da scrivere nel preambolo:
          `
          \newtheorem{thm}{Teorema} % per quelli standard
          \newtheorem{namedthm*}[thm]{\namedthmname}
          \newenvironment{namedthm}[1]
          {\newcommand\namedthmname{#1}\begin{namedthm*}}
          {\end{namedthm*}}
          `
          suggerito da egreg9

          Vorrei in sostanza ottenere una cosa del genere:

          Teorema della ricorrenza (Polya – 1921)

          Senza numerazione, con il nome del teorema al posto del numero e con autore ed anno tra parentesi.

          Ogni modifica che faccio a quanto suggerito da egreg9 mi produce qualche errore quando vado a compilare il codice per ottenere il pdf. E l’errore evidenziato è sempre relativo a tali modifiche errate che apporto.

          Scusatemi ma in LaTeX (nonostante l’ottima guida) ho molte carenze 🙂

        • #71922
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::


            Fossi al tuo posto, farei così:

            1. se i teoremi sono uno o due, userei \newtheorem* e se necessario mi riferirei agli enunciati con i giri di parole di cui parla OldClaudio (e magari con \pageref: “per il teorema della convoluzione dimostrato a pagina…”);
            2. negli altri casi, userei \newtheorem (e \ref e \vref), e non ci penserei più.

            The simpler, the better.

          • #71923
            Up
            0
            Down
            ::


            Vi aggiorno, appena porto il capitolo alla relatrice e sento cosa mi dice.
            Probabilmente mi sto facendo solo troppi problemi.

            L’ultima cosa che vi chiedo è se è possibile modificare leggermente il codice proposto da egre9.
            Mettendo questo nel preambolo:
            `
            \newtheorem{thm}{Teorema} % per quelli standard
            \newtheorem{namedthm*}[thm]{\namedthmname}
            \newenvironment{namedthm}[1]
            {\newcommand\namedthmname{#1}\begin{namedthm*}}
            {\end{namedthm*}}
            `
            e scrivendo questo nel corpo del documento:
            `
            \begin{namedthm}{Teorema della ricorrenza}[Pólya, 1921]

            \end{namedthm}
            `
            ottengo:

            Teorema della ricorrenza 1 (Pólya, 1921). …

            È possibile modificare il codice per eliminare quel numero dopo il nome del teorema?
            Io davvero non ci arrivo a capire come fare 🙂

            Grazie per i suggerimenti.

          • #71924
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Prova a mettere l’astrisco anche dentro l’argomento di \begin e di \end; in fondo nel preambolo hai definito il pseudo-ambiente namedthem* mentre quando lo usi invochi il pseudo-ambiente namedthm senza asterisco.

              Non si è risposto varie volte che l’asterisco toglie la numerazione?

            • #71925
              Up
              0
              Down
              ::

              l3on4rdo” post=71221Vi aggiorno, appena porto il capitolo alla relatrice e sento cosa mi dice.
              Probabilmente mi sto facendo solo troppi problemi.

              L’ultima cosa che vi chiedo è se è possibile modificare leggermente il codice proposto da egre9.
              Mettendo questo nel preambolo:
              `
              \newtheorem{thm}{Teorema} % per quelli standard
              \newtheorem{namedthm*}[thm]{\namedthmname}
              \newenvironment{namedthm}[1]
              {\newcommand\namedthmname{#1}\begin{namedthm*}}
              {\end{namedthm*}}
              `
              e scrivendo questo nel corpo del documento:
              `
              \begin{namedthm}{Teorema della ricorrenza}[Pólya, 1921]

              \end{namedthm}
              `
              ottengo:

              Teorema della ricorrenza 1 (Pólya, 1921). …

              È possibile modificare il codice per eliminare quel numero dopo il nome del teorema?
              Io davvero non ci arrivo a capire come fare 🙂

              Grazie per i suggerimenti.

              `
              \newtheorem{thm}{Teorema} % per quelli standard
              \newtheorem*{namedthm*}[thm]{\namedthmname}
              \newenvironment{namedthm}[1]
              {\newcommand\namedthmname{#1}\begin{namedthm*}}
              {\end{namedthm*}}
              `
              Ciao
              Enrico

            • #71926
              Up
              0
              Down
              ::


              Il fatto è che questo che mi suggerisci lo avevo provato, ma non aveva eliminato la numerazione.
              Domani, riprovo e ti faccio sapere. Probabilmente ho toppato qualcosa 🙂

            • #71927
              Up
              0
              Down
              ::


              È possibile modificare il codice per eliminare quel numero dopo il nome del teorema?
              Io davvero non ci arrivo a capire come fare 🙂

              Grazie per i suggerimenti.[/quote]

              `
              \newtheorem{thm}{Teorema} % per quelli standard
              \newtheorem*{namedthm*}[thm]{\namedthmname}
              \newenvironment{namedthm}[1]
              {\newcommand\namedthmname{#1}\begin{namedthm*}}
              {\end{namedthm*}}
              `
              Ciao
              Enrico[/quote]

              Bisogna togliere [thm] dalla definizione di namedthm*
              `
              \newtheorem{thm}{Teorema} % per quelli standard
              \newtheorem*{namedthm*}{\namedthmname}
              \newenvironment{namedthm}[1]
              {\newcommand\namedthmname{#1}\begin{namedthm*}}
              {\end{namedthm*}}
              `

              Andrea

            • #71928
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Perché riscoprire quanto già fatto da altri?
                il pacchetto amsmath (eventualmente anche amsthm, se lo si volesse usare per personalizzare ulteriormente i teoremi) fornisce il comando \tag{…} e il comando \notag per togliere l’etichetta dai teoremi o dalle singole equazioni normalmente numerate) fa esattamente quello che si desidera, cioè individuazione di un teorema con un nome e non con un numero. Basta leggere la documentazione di amsmath (terminale: comando texdoc amsmath: premere il tasto Invio: leggere) per vedere come lo si usa. Tuttavia merita sottolineare che a suo tempo l’ho sperimentato e ho notato che l’equazione successiva non è numerata col numero successivo all’ultima equazione numerata ma con un numero che tiene conto anche dell’equazione etichettata con il nome; questo significa che nonostante l’uso del tag con una stringa specifica per sostituire il numero, il contatore delle equazioni viene incrementato lo stesso, ed è solo il numero che viene sostituito con la stringa specificata. Ci sono molti motivi per questo comportamenti, uno dei quali è che deve continuare a funzionare anche il comando \pageref il quale è collegato ad un numero e non ad una stringa.

                Complicato? non direi, anzi, molto più semplice che non cercare di definire un ambiente “theorem” apposta per i teoremi nominati invece che per i teoremi numerati.

                D’altra parte usando il pacchetto amsthm il comando \newtheorem viene ridefinito con la variante asteriscata che consente di attribuire un nome al teorema/lemma/congettura/ eccetera senza numerarlo ma attribuendogli il nome prescelto; vedi la pagina 3 della documentazione di questo pacchetto (sempre da terminale: texdoc amsthm).

              • #71929
                Up
                0
                Down
                ::



                @Andrea75
                , dopo oltre sei anni, ha meritoriamente corretto una svista sfuggita a @egreg9: come dice egli stesso,

                Andrea75″ post=113705[…]
                Bisogna togliere [thm] dalla definizione di namedthm*
                […]

                Il motivo per il quale scrivo è che volevo suggerire che forse usando [tt]\swapnumbers[/tt] si può felicemente risolvere il dilemma «riferirsi ai teoremi tramite numeri o tramite nomi?», rendendo accettabile l’uso dei numeri anche con teoremi che hanno nome. Per esempio:

                1.1. Teorema. Bla bla bla…

                1.2. Primo teorema del confronto. Blo blo blo…

                1.3. Secondo teorema del confronto. Blu blu blu…

                Ciao.


                Gustavo

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

            Go to top