Matematica dentro \caption

  • Creatore
    Topic
  • #39934
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::


      Bene, rieccomi.
      Ieri sera ho incontrato un problema che vorrei chiarire con voi:
      Uso una classe personalizzata che eredita da article e carica con opzioni il pacchetto caption e amstex.

      Ora se scrivo:`\caption{Tempo di ritorno $T_R$ e parametri sismici}`ottengo il risultato corretto.
      Ma se sostituisco il dollaro con i simboli \( e \) ottengo l’errore:
      ! LaTeX Error: Bad math environment delimiter.

      Le domande sono due:
      1 – Nel sorgente LaTeX si deve usare $matematica$ o \(matematica\)?

      2 – Si può risolvere il problema delle didascalie contenenti matematica in notazione \( e \)?

      Grazie.

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #39935
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Uso una classe personalizzata che eredita da article e carica con opzioni il pacchetto caption e amstex.

          Ora se scrivo:`\caption{Tempo di ritorno $T_R$ e parametri sismici}`ottengo il risultato corretto.
          Ma se sostituisco il dollaro con i simboli \( e \) ottengo l’errore:
          ! LaTeX Error: Bad math environment delimiter.

          Le domande sono due:
          1 – Nel sorgente LaTeX si deve usare $matematica$ o \(matematica\)?

          2 – Si può risolvere il problema delle didascalie contenenti matematica in notazione \( e \)?

          Azzrdo un’ipotesi. Nella classe che usi, il codice $…$ è “robusto” (ovvero può essere usato, per esempio, nei titoli delle sezioni, nelle didascalie, … senza alcun problema), mentre \(…\) non lo è. Prova a mettere \protect prima di \(…\). Altrimenti, usa $…$ che non dà problemi. Non saprei come rendere \(…\) robusto una volta per tutte: aspettiamo Enrico! 😉

          Ciao,
          L.

        • #39936
          Up
          0
          Down
          ::


          Ciao,

          in attesa di Enrico provo a risponderti io.
          $…$ è equivalente a \(…\) però quest’ultimo modo è fragile.
          Il tuo problema dovrebbe risolversi con qualche \protect.

          Credo quindi che la maniera migliore sia quella di usare sempre $…$.

          [edit]Ha fatto prima Lorenzo :)[/edit]

          Ciao ciao.
          Fra

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

            $…$ è equivalente a \(…\) però quest’ultimo modo è fragile.

            In realtà, ricordo che Enrico disse che da qualche anno anche \(…\) è robusto (in origine non lo era). Evidentemente, il fatto che un comando sia o no robusto dipende dalla classe usata e dai pacchetti caricati.

            Ciao,
            L.

          • #39938
            Up
            0
            Down
            ::

            Ciao,

            in attesa di Enrico provo a risponderti io.
            $…$ è equivalente a \(…\) però quest’ultimo modo è fragile.
            Il tuo problema dovrebbero risolversi con qualche \protect.

            Credo quindi che la maniera migliore sia quella di usare sempre $…$.

            [edit]Ha fatto prima Lorenzo :)[/edit]

            La diagnosi è corretta; un modo per usare \(…\) anche in argomenti mobili è di caricare il pacchetto fixltx2e. Ma $…$ è più che sicuro in argomenti mobili.

            Ciao
            Enrico

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


              `\documentclass{report}
              \begin{document}
              \chapter{\(a=b\)}
              \section{\(a=b\)}
              \subsection{\(a=b\)}
              \subsubsection{\(a=b\)}
              \footnote{\(a=b\)}
              \end{document}`
              Questo funziona, però!

              Ciao,
              L.

            • #39940
              Up
              0
              Down
              ::

              `\documentclass{report}
              \begin{document}
              \chapter{\(a=b\)}
              \section{\(a=b\)}
              \subsection{\(a=b\)}
              \subsubsection{\(a=b\)}
              \footnote{\(a=b\)}
              \end{document}`
              Questo funziona, però!

              Ciao,
              L.

              Azzardo: prova a mettere \tableofcontents. Dovrebbe dare errore.
              Credo che il problema dei comandi fragili si presenti quando il codice deve venir riprocessato per fare qualcos’altro. In questo caso l’indice.

              Fra

            • #39941
              Up
              0
              Down
              ::

              `\documentclass{report}
              \begin{document}
              \chapter{\(a=b\)}
              \section{\(a=b\)}
              \subsection{\(a=b\)}
              \subsubsection{\(a=b\)}
              \footnote{\(a=b\)}
              \end{document}`
              Questo funziona, però!

              Ciao,
              L.

              Azzardo: prova a mettere \tableofcontents. Dovrebbe dare errore.
              Credo che il problema dei comandi fragili si presenti quando il codice deve venir riprocessato per fare qualcos’altro. In questo caso l’indice.

              Infatti; il file .toc comincerebbe con
              `\contentsline {chapter}{\numberline {1}\relax $a=b\relax \GenericError { }{LaTeX
              Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for
              explanation.}{Your command was ignored.\MessageBreak Type I
              to replace it with another command,\MessageBreak or
              to continue without it.}}{2}`
              E al momento di leggerlo LaTeX si troverebbe in seri pasticci.

              Ciao
              Enrico

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

          Go to top