Domanda sulla numerazione automatica dei teoremi

  • Creatore
    Topic
  • #17247
    Up
    0
    Down
    ::


    Salve. Ho definito un ambiente PROB, cioè Problema, in questo modo:

    `\newtheorem{PROB}{Problema}[section]`

    Adesso però vorrei generare dei Problemi consecutivi con questa numerazione:

    Problema capitolo.sezionea …

    Problema capitolo.sezioneb …

    Problema capitolo.sezionec …

    Insomma, per spiegarmi meglio, vorrei fare quello che con le equazione si può ottenere molto facilmente con

    `\begin{subequations} … \end{subequations}`

    Si può fare? Se si, come?

    S.B.

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #17248
      Up
      0
      Down
      ::

      Salve. Ho definito un ambiente PROB, cioè Problema, in questo modo:
      `\newtheorem{PROB}{Problema}[section]`
      Adesso però vorrei generare dei Problemi consecutivi con questa numerazione:

      Problema capitolo.sezionea …

      Problema capitolo.sezioneb …

      Problema capitolo.sezionec …

      Insomma, per spiegarmi meglio, vorrei fare quello che con le equazione si può ottenere molto facilmente con

      `\begin{subequations} … \end{subequations}`

      Si può fare? Se si, come?

      `\newtheorem{problema}{Problema}[section]
      \renewcommand{\theproblema}{\thesection.\alph{problema}}`
      Ciao
      Enrico

    • #17249
      Up
      0
      Down
      ::


      Un attimo, forse non mi sono spiegato bene…

      Partendo dal newtheorem sovradefinito, se chiamerò:

      `\begin{PROB} … \end{PROB}`

      avrò come risultato:

      Problema 1.1.1 …

      Per altre due chiamate avrò un incremento dell’ULTIMO numero, cioè una successione:

      Problema 1.1.2 …, Problema 1.1.3 …

      A questo punto vorrei dare due formulazioni diverse delle stesso problema, quindi non vorrei un Problema 1.1.4 e un Problema 1.1.5, ma un Problema 1.1.4a e un Problema 1.1.4b. Ora, se io volessi fare questa cosa con due equazioni, sarebbe sufficiente racchiuderle dentro un sovraenvironment `\begin{subequations} … \end{subequations}` Che cosa bisogna fare invece per ottenere questo risultato con i newtheorem? Chiaramente, per le chiamate successive, vorrei si ripristinasse la numerazione di default, cioè:

      Problema 1.1.5 …, Problema 1.1.6 …, etc.

      Saluti,
      S.B.

    • #17250
      Up
      0
      Down
      ::

      Un attimo, forse non mi sono spiegato bene…

      Partendo dal newtheorem sovradefinito, se chiamerò:

      `\begin{PROB} … \end{PROB}`

      avrò come risultato:

      Problema 1.1.1 …

      Per altre due chiamate avrò un incremento dell’ULTIMO numero, cioè una successione:

      Problema 1.1.2 …, Problema 1.1.3 …

      A questo punto vorrei dare due formulazioni diverse delle stesso problema, quindi non vorrei un Problema 1.1.4 e un Problema 1.1.5, ma un Problema 1.1.4a e un Problema 1.1.4b. Ora, se io volessi fare questa cosa con due equazioni, sarebbe sufficiente racchiuderle dentro un sovraenvironment `\begin{subequations} … \end{subequations}` Che cosa bisogna fare invece per ottenere questo risultato con i newtheorem? Chiaramente, per le chiamate successive, vorrei si ripristinasse la numerazione di default, cioè:

      Problema 1.1.5 …, Problema 1.1.6 …, etc.

      Imitiamo la definizione di subequations
      `\makeatletter
      \newcounter{parentenv}
      \newenvironment{subnumber}[1]
      {\refstepcounter{#1}%
      \protected@edef\theparentenv{\csname the#1\endcsname}%
      \setcounter{parentenv}{\value{#1}}%
      \setcounter{#1}{0}%
      \expandafter\def\csname the#1\endcsname{\theparentenv\alph{#1}}%
      \def\keep@argument{#1}%
      \ignorespaces
      }{%
      \setcounter{\keep@argument}{\value{parentenv}}%
      \ignorespacesafterend
      }
      \makeatother`
      Come si usa?
      `\begin{subnumber}{PROB}
      \begin{PROB}
      Sottoproblema a
      \end{PROB}
      \begin{PROB}
      Sottoproblema b
      \end{PROB}
      \end{subnumber}`
      Ciao
      Enrico

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

Go to top