renewcommand sum e int

  • Creatore
    Topic
  • #18452
    MFH
      Up
      0
      Down
      ::


      salve a tutti. sto scrivendo un documento in cui parecchie volte ho bisogno di utilizzare i comandi
      `\sum \limits_{i=0}^{n}`
      oppure
      `\int \limits_{a}^{b}`

      così ho pensato di abbreviare rinominando i comandi sum e int:
      `\renewcommand{\sum}[2]{\sum \limits_{#1}^{#2}}
      \renewcommand{\int}[2]{\int \limits_{#1}^{#2}}`

      il problema è che non riesce a compilare, mi dice
      `! TeX capacity exceeded, sorry [input stack size=5000]
      \int #1#2->\int \limits _
      {#1}^{#2}
      1.185 …\xi \in \lrq a,b \rrq$ con \\ $\int{a}{b}
      f \( x \) dx = f \( \xi \…`

      e quindi non mi compila il file
      qualcuno sa dirmi dov’è il problema?

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


        Il problema sinceramente non so a cosa sia dovuto, però ti dico il modo con cui io lo risolverei, definisci due nuovi comandi:
        `
        \newcommand{\somlim}[2]{\sum\limits_{#1}^{#2}}
        \newcommand{\intlim}[2]{\int\limits_{#1}^{#2}}
        `
        e poi all’interno del documento metti:
        `
        \somlim{i=o}{n}
        \intlim{a}{b}
        `
        e non ti da più nessun problema di compilazione.

        Ciao Alberto

      • #18454
        DMW
          Up
          0
          Down
          ::


          Prova così
          `
          \let\oldint\int
          \renewcommand{\int}[2]{\oldint\limits_{#1}^{#2}}
          \let\oldsum\sum
          \renewcommand{\sum}[2]{\oldsum\limits_{#1}^{#2}}`

          Però se hai delle cose tipo \sum_a^b in altre parti, dà errore e conviene creare due nuovi comandi come ti ha detto neptune.

          Ciao

          Andrea

        • #18455
          MFH
            Up
            0
            Down
            ::


            se non ho capito male il problema è che uso i comandi sum e int per ridefinire se stessi e quindi creo un ciclo infinito.

            grazie mille per l’aiuto

          • #18456
            Up
            0
            Down
            ::

            salve a tutti. sto scrivendo un documento in cui parecchie volte ho bisogno di utilizzare i comandi
            `\sum \limits_{i=0}^{n}`
            oppure
            `\int \limits_{a}^{b}`

            così ho pensato di abbreviare rinominando i comandi sum e int:
            `\renewcommand{\sum}[2]{\sum \limits_{#1}^{#2}}
            \renewcommand{\int}[2]{\int \limits_{#1}^{#2}}`

            A parte la definizione che crea un ciclo infinito, se devi usare spesso \limits, vuol dire che stai facendo cose tipograficamente discutibili. In una formula in corpo, cioè quelle fra $ o fra \( e \), i limiti di una somma vanno a fianco, per non distruggere irreparabilmente l’equilibrio della pagina. In generale, poi, i limiti di un integrale non vanno sopra e sotto, ma a fianco, anche nelle formule fuori corpo (display). Si adotta \int\limits solo per integrali estesi a domini, di solito doppi o tripli.

            Se proprio vuoi insistere nella discutibile pratica, puoi fare così:
            `\newcommand*{\suml}{\mathchar\sum\limits}
            \newcommand*{\intl}{\intop\limits}`
            ma non dire mai che te l’ho detto io. 😉 Esercizio: perché funzionano?

            Ciao
            Enrico

          • #18457
            MFH
              Up
              0
              Down
              ::


              molto probabilmente hai ragione a dire che sto facendo cose discutibili, ma si tratta solo dei miei riassunti, nulla che pubblicherò o distribuirò, e poi a me non piace particolarmente mettere gli indici di fianco, li preferisco sopra e sotto. comunque grazie mille per l’aiuto 😀

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

          Go to top