creazione operatore simil sommatoria produttoria

  • Questo topic ha 7 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 6 anni fa da cramer.
  • Creatore
    Topic
  • #118443
    Up
    0
    Down
    ::


    Salve a tutti. Sto cercando di costruire un simbolo di operatore simil sommatoria, produttoria ecc. Allora ho usato Declaremathoperator* per sovrascrivere e sottoscrivere rispettivamente i due limiti inferiore e superiore. In oltre ho usato il pacchetto Relsize per aumentare le dimensioni del carattere dell’operatore. Specificatamente ecco il codice da me utilizzato (nell’esempio riportato ho costruito il simbolo $\Phi$ definito ricorsivamente per la frazione continua semplice):
    `

    \usepackage{relsize}%

    \newcommand{\bigletter}[1]{\mathlarger{\mathlarger{\mathlarger{#1}}}}
    \newcommand{\bigPhi}{\bigletter{\Phi}}

    \DeclareMathOperator*{\scf}{\bigPhi}

    `

    Vi allego un’immagine per verificare il risultato. Accanto al simbolo di frazione continua ho aggiunto anche quello di sommatoria per confrontare meglio i due risultati. La posizione dell’operatore di frazione continua da me creato sembra non corretta. Come posso aggiustarla?

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #118444
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Il problema che poni è di difficile soluzione per molti motivi; te ne elenco alcuni.
        a) il pacchetto relsize ti mette a disposizione comandi testuali e matematici per cambiare corpo selezionando il precedente o il seguente di questi comandi ordinati: \tiny, \scriptsize, \footnotesize, \small, ]normalsize, \large, \Large, \LARGE, \huge, \Huge; analogamante per i corpi matematici; Questo ti permette di usare solo corpi predefinite, e non qualsiasi corpo.
        b) i font matematici delle collezioni Computer Modern e Latin Modern, e di tutti gli alti le cui caratteristiche sono modellate su quelle dei font Computer Modern, non sono scalabili con continuita assoluta e nemmeno con continuità a tratti. Solo i font Libertinus e Libertinust1math sono scalabili ocn continuità.
        c) i grandi operati coma \sum e \prod, non sono allineati sulla linea di base ma sull’asse matematico; questa è la linea ideale che passa a metà fra i due tratti di un segno di uguale =. Quindi la linea mediana del simbolo \sum è alla stessa altezza della linea mediana dell’uguale; non parliamo poi dei grandi delimitatori; come da un’occhiata alle figure 1.7 e 1.8 della guida tematica sulla composizione della matematica per renderti conto visivamante di quanto ho appena detto.
        d) \DeclareOperatorName lavora componendo nuovi nomi, non nuovi simboli, di operatori e normalmente lavora con caratteri latini il cui aasse matematico è ben diverso dall’asse matematico della sommatoria, quindi la lettera Φ viene completamente disallineata rispetto all’asse matemaco della sommatoria; e lo verrebbe anche se invece di usare tre volte \mathlarger, usassi direttamante \huge p \Huge, prima di compoore la lettera greca dentro una scatola dove esplicitamente dichiari di voler usare quel corpo prima di entrare in modo matematico in modalità \displystyle.

        Dovresti quindi liberarti dalla schiavitù dei corpi predefiniti usando font continuamente scalabili, dovresti definirti un comando che riesca ad ingrandire o rimpicciolire un font a qualunque valore di copro; dovresti aggiustare l’asse matematico in modo da mantenere ben allineati tutti gli elementi di una formula. Ci vuole molta sperimentazione e tanta pazienza. Ma i principi su cui basarsi sono quelli che ti ho appena detto. Se riesci ad ottenere il risultato che volevi, pubblicalo qui sul forum, perché potrebbe interessare altri frequentatori del forum.

      • #118445
        Up
        0
        Down
        ::


        Ti ringrazio OldClaudio per la risposta. Comunque, se qualcuno, o tu o qualsiasi persona del forum, ha un’idea di come cominciare (o meglio ancora uno schema completo) prego di fare un fischio su questo thread!!!!!! Ciauuuu!!!!!

      • #118446
        Up
        0
        Down
        ::


        Ho già cominciato a scartabellare in internet ed ho trovato questo che sembra promettente (secondo le linee tracciate da OldClaudio) https://ctan.math.illinois.edu/macros/latex/contrib/scalerel/scalerel.pdf. Adesso leggerò più attentamente e appena posso posterò un po di codice prova……………..

        Ps: Non mi funziona il comando per incollare un link web nel mio messaggio perchè? Ho provato poi a postare sul messaggio l’intero indirizzo da selezionare col copia incolla, ma quando invio mi compare un link, ma non con l’indirizzo completo………….. Comunque sia potete cercare con google : ctan.math.illinois.edu/macros/latex/contrib/scalerel + pdf e automaticamente nelle ricerche vi comparirà il sito. Non riesco nemmeno ad allegare il file pdf, scusate.

      • #118447
        Up
        0
        Down
        ::


        Scusate……..domanda stupida, ho un ubuntu 12.4 e quindi texlive, come faccio a inserire il pacchetto scalerel da konsole?

      • #118448
        Up
        0
        Down
        ::

        cramer” post=118903Salve a tutti. Sto cercando di costruire un simbolo di operatore simil sommatoria, produttoria ecc. Allora ho usato Declaremathoperator* per sovrascrivere e sottoscrivere rispettivamente i due limiti inferiore e superiore. In oltre ho usato il pacchetto Relsize per aumentare le dimensioni del carattere dell’operatore. Specificatamente ecco il codice da me utilizzato (nell’esempio riportato ho costruito il simbolo $\Phi$ definito ricorsivamente per la frazione continua semplice):
        `

        \usepackage{relsize}%

        \newcommand{\bigletter}[1]{\mathlarger{\mathlarger{\mathlarger{#1}}}}
        \newcommand{\bigPhi}{\bigletter{\Phi}}

        \DeclareMathOperator*{\scf}{\bigPhi}

        `

        Vi allego un’immagine per verificare il risultato. Accanto al simbolo di frazione continua ho aggiunto anche quello di sommatoria per confrontare meglio i due risultati. La posizione dell’operatore di frazione continua da me creato sembra non corretta. Come posso aggiustarla?

        Ecco qui come si può fare (si veda https://tex.stackexchange.com/a/23436/4427)

        `
        \documentclass{article}
        \usepackage{amsmath}
        \usepackage{graphicx}

        \makeatletter
        \DeclareRobustCommand\bigop[2][1]{%
        \mathop{\vphantom{\sum}\mathpalette\bigop@{{#1}{#2}}}\slimits@
        }
        \newcommand{\bigop@}[2]{\bigop@@#1#2}
        \newcommand{\bigop@@}[3]{%
        \vcenter{%
        \sbox\z@{$#1\sum$}%
        \hbox{\resizebox{\ifx#1\displaystyle#2\fi\dimexpr\ht\z@+\dp\z@}{!}{$\m@th#3$}}%
        }%
        }
        \makeatother

        \newcommand{\bigstar}{\DOTSB\bigop{\star}}
        \newcommand{\bigPhi}{\DOTSB\bigop[0.92]{\Phi}}
        \newcommand{\bigDelta}{\DOTSB\bigop[1.05]{\Delta}}

        \begin{document}
        \[
        \sum_{i=1}^n\bigPhi_{i=1}^n\bigDelta_{i=1}^n x_i\dots\bigstar_{i=1}^n x_i
        \]
        \begin{center}
        $\textstyle
        \sum \bigPhi \bigstar \bigDelta_{i=1}^n x_i
        \qquad
        \scriptstyle
        \sum \bigPhi \bigstar \bigDelta_{i=1}^n x_i
        \qquad
        \scriptscriptstyle
        \sum \bigPhi \bigstar \bigDelta_{i=1}^n x_i
        $
        \end{center}
        \end{document}
        `
        Il comando [tt]\bigop[/tt] ha un argomento opzionale, adoperato come esempio nella definizione di [tt]\bigPhi[/tt], perché con certi caratteri è necessario aggiustare il fattore di ingrandimento. Quali? Non è possibile saperlo in anticipo. Qualche prova basta per capirlo.

        [attachment=2474]Screenshot2020-08-18at10.01.51.png[/attachment]

        Ciao
        Enrico

        Attachments:
        You must be logged in to view attached files.
      • #118449
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::



          @cramer
          , come vedi @egreg9 ti ha fornito la soluzione, molto migliore di quella che avrei saputo fare io, ma che esibisce tutta la magia che un vero guru sa fare. Speravo che @egreg9 ti rispondesse, proprio perché lui è in grado di implementare tutti gli spetti che avevo descritto.

        • #118450
          Up
          0
          Down
          ::


          Grazie egreg9!!!!!!!! l’ho appena intercettata anch’io, stavo correndo sul forum anch’io e mi hai preceduto!!!!!

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

      Go to top