[Risolto] heppennames2 e kpfonts, fourier

  • Creatore
    Topic
  • #70372
    Up
    0
    Down
    ::


    Michel Goossens (che qualcuno potrebbe ricordare come uno degli autori del LaTeX Companion) in questo documento spiega che i simboli delle particelle fisiche andrebbero scritti sempre diritti e non in corsivo matematico come quasi sempre si legge negli articoli. Per facilitare il compito degli autori di articoli scientifici allora ha realizzato un pacchetto chiamato [tt]heppenames2[/tt] (reperibile a questo indirizzo) basato sul pacchetto [tt]heppennames[/tt] presente su CTAN (purtroppo non mi sembra però che [tt]heppennames2[/tt] sia su CTAN).

    Il pacchetto [tt]heppenames2[/tt] non fa altro che includere il codice del pacchetto [tt]upright[/tt] per produrre le lettere greche minuscole diritte utilizzando qualsiasi font. Tuttavia alcuni font (io conosco fourier, kpfonts) fornisco le lettere greche minuscole diritte e mi piacerebbe rendere il pacchetto [tt]heppenames2[/tt] “compatibile” con questi due font nel senso che se questi due pacchetto sono caricati in un documento vengano utilizzate le lettere fornite dai due pacchetti. Ho fatto la seguente modifica al pacchetto (ovviamente cambiandogli nome) sfruttando un utilissimo comando suggerito qui da egreg9. In pratica al posto del codice del pacchetto [tt]upgreek[/tt] ho messo il seguente codice
    `\@ifpackageloaded{kpfonts}
    {
    \newcommand{\upalpha}{\alphaup}
    \newcommand{\upbeta}{\betaup}
    \newcommand{\upgamma}{\gammaup}
    \newcommand{\updelta}{\deltaup}
    \newcommand{\upepsilon}{\epsilonup}
    \newcommand{\upzeta}{\zetaup}
    \newcommand{\upeta}{\etaup}
    \newcommand{\uptheta}{\thetaup}
    \newcommand{\upiota}{\iotaup}
    \newcommand{\upkappa}{\kappaup}
    \newcommand{\uplambda}{\lambdaup}
    \newcommand{\upmu}{\muup}
    \newcommand{\upnu}{\nuup}
    \newcommand{\upxi}{\xiup}
    \newcommand{\uppi}{\piup}
    \newcommand{\uprho}{\rhoup}
    \newcommand{\upsigma}{\sigmaup}
    \newcommand{\uptau}{\tauup}
    \newcommand{\upupsilon}{\upsilonup}
    \newcommand{\upphi}{\phiup}
    \newcommand{\upchi}{\chiup}
    \newcommand{\uppsi}{\psiup}
    \newcommand{\upomega}{\omegaup}

    \newcommand{\upvarepsilon}{\varepsilonup}
    \newcommand{\upvartheta}{\varthetaup}
    \newcommand{\upvarpi}{\varphiup}
    \newcommand{\upvarrho}{\varrhoup}
    \newcommand{\upvarsigma}{\varsigmaup}

    \newcommand{\Upgamma}{\Gammaup}
    \newcommand{\Updelta}{\Deltaup}
    \newcommand{\Uptheta}{\Thetaup}
    \newcommand{\Uplambda}{\Lambdaup}
    \newcommand{\Upxi}{\Xiup}
    \newcommand{\Uppi}{\Piup}
    \newcommand{\Upsigma}{\Sigmaup}
    \newcommand{\Upupsilon}{\Upsilonup}
    \newcommand{\Upphi}{\Phiup}
    \newcommand{\Uppsi}{\Psiup}
    \newcommand{\Upomega}{\Omegaup}
    }
    {
    \@ifpackageloaded{fourier}
    {
    \newcommand{\UP}[1]{\csname\ifsloped other\fi#1\endcsname}

    \newcommand{\upalpha}{\UP{alpha}}
    \newcommand{\upbeta}{\UP{beta}}
    \newcommand{\upgamma}{\UP{gamma}}
    \newcommand{\updelta}{\UP{delta}}
    \newcommand{\upepsilon}{\UP{epsilon}}
    \newcommand{\upzeta}{\UP{zeta}}
    \newcommand{\upeta}{\UP{eta}}
    \newcommand{\uptheta}{\UP{theta}}
    \newcommand{\upiota}{\UP{iota}}
    \newcommand{\upkappa}{\UP{kappa}}
    \newcommand{\uplambda}{\UP{lambda}}
    \newcommand{\upmu}{\UP{mu}}
    \newcommand{\upnu}{\UP{nu}}
    \newcommand{\upxi}{\UP{xi}}
    \newcommand{\uppi}{\UP{pi}}
    \newcommand{\uprho}{\UP{rho}}
    \newcommand{\upsigma}{\UP{sigma}}
    \newcommand{\uptau}{\UP{tau}}
    \newcommand{\upupsilon}{\UP{upsilon}}
    \newcommand{\upphi}{\UP{phi}}
    \newcommand{\upchi}{\UP{chi}}
    \newcommand{\uppsi}{\UP{psi}}
    \newcommand{\upomega}{\UP{omega}}

    \newcommand{\upvarepsilon}{\UP{varepsilon}}
    \newcommand{\upvartheta}{\UP{vartheta}}
    \newcommand{\upvarpi}{\UP{varphi}}
    \newcommand{\upvarrho}{\UP{varrho}}
    \newcommand{\upvarsigma}{\UP{varsigma}}

    \newcommand{\Upgamma}{\UP{Gamma}}
    \newcommand{\Updelta}{\UP{Delta}}
    \newcommand{\Uptheta}{\UP{Theta}}
    \newcommand{\Uplambda}{\UP{Lambda}}
    \newcommand{\Upxi}{\UP{Xi}}
    \newcommand{\Uppi}{\UP{Pi}}
    \newcommand{\Upsigma}{\UP{Sigma}}
    \newcommand{\Upupsilon}{\UP{Upsilon}}
    \newcommand{\Upphi}{\UP{Phi}}
    \newcommand{\Uppsi}{\UP{Psi}}
    \newcommand{\Upomega}{\UP{Omega}}
    }
    {
    \message{Declaring upgreek from Symbol scaled 90\%}
    \DeclareFontFamily{U}{fsy}{}
    \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
    \DeclareSymbolFont{ugrf@m}{U}{fsy}{m}{n}
    \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{`a}
    \DeclareMathSymbol{\upbeta}{\mathord}{ugrf@m}{`b}
    \DeclareMathSymbol{\upgamma}{\mathord}{ugrf@m}{`g}
    \DeclareMathSymbol{\updelta}{\mathord}{ugrf@m}{`d}
    \DeclareMathSymbol{\upepsilon}{\mathord}{ugrf@m}{`e}
    \DeclareMathSymbol{\upzeta}{\mathord}{ugrf@m}{`z}
    \DeclareMathSymbol{\upeta}{\mathord}{ugrf@m}{`h}
    \DeclareMathSymbol{\uptheta}{\mathord}{ugrf@m}{`q}
    \DeclareMathSymbol{\upiota}{\mathord}{ugrf@m}{`i}
    \DeclareMathSymbol{\upkappa}{\mathord}{ugrf@m}{`k}
    \DeclareMathSymbol{\uplambda}{\mathord}{ugrf@m}{`l}
    \DeclareMathSymbol{\upmu}{\mathord}{ugrf@m}{`m}
    \DeclareMathSymbol{\upnu}{\mathord}{ugrf@m}{`n}
    \DeclareMathSymbol{\upxi}{\mathord}{ugrf@m}{`x}
    \DeclareMathSymbol{\uppi}{\mathord}{ugrf@m}{`p}
    \DeclareMathSymbol{\uprho}{\mathord}{ugrf@m}{`r}
    \DeclareMathSymbol{\upsigma}{\mathord}{ugrf@m}{`s}
    \DeclareMathSymbol{\uptau}{\mathord}{ugrf@m}{`t}
    \DeclareMathSymbol{\upupsilon}{\mathord}{ugrf@m}{`u}
    \DeclareMathSymbol{\upphi}{\mathord}{ugrf@m}{`f}
    \DeclareMathSymbol{\upchi}{\mathord}{ugrf@m}{`c}
    \DeclareMathSymbol{\uppsi}{\mathord}{ugrf@m}{`y}
    \DeclareMathSymbol{\upomega}{\mathord}{ugrf@m}{`w}
    \let\upvarepsilon\upepsilon
    \DeclareMathSymbol{\upvartheta}{\mathord}{ugrf@m}{`J}
    \DeclareMathSymbol{\upvarpi}{\mathord}{ugrf@m}{`v}
    \let\upvarrho\uprho
    \let\upvarsigma\upsigma
    \DeclareMathSymbol{\upvarphi}{\mathord}{ugrf@m}{`j}
    \DeclareMathSymbol{\Upgamma}{\mathord}{ugrf@m}{`G}
    \DeclareMathSymbol{\Updelta}{\mathord}{ugrf@m}{`D}
    \DeclareMathSymbol{\Uptheta}{\mathord}{ugrf@m}{`Q}
    \DeclareMathSymbol{\Uplambda}{\mathord}{ugrf@m}{`L}
    \DeclareMathSymbol{\Upxi}{\mathord}{ugrf@m}{`X}
    \DeclareMathSymbol{\Uppi}{\mathord}{ugrf@m}{`P}
    \DeclareMathSymbol{\Upsigma}{\mathord}{ugrf@m}{`S}
    \DeclareMathSymbol{\Upupsilon}{\mathord}{ugrf@m}{`U}
    \DeclareMathSymbol{\Upphi}{\mathord}{ugrf@m}{`F}
    \DeclareMathSymbol{\Uppsi}{\mathord}{ugrf@m}{`Y}
    \DeclareMathSymbol{\Upomega}{\mathord}{ugrf@m}{`W}
    }
    }`
    La modifica sembra fare il suo dovere, però vorrei dei consigli texnici: è corretta? C’è qualcosa di migliorabile? Non sono sicuro che i comandi vadano definiti con [tt]\newcommand[/tt], magari sarebbe meglio qualcos’altro. Inoltre ho dei dubbi sull’organizzazione, per così dire, di questa porzione di codice: ci sono degli if annidati, ma l’aggiunta di un nuovo pacchetto (se ne trovassi altri) richiederebbe aggiungere un nuovo if ancora più annidato, non so se ci sia qualcosa di più efficiente.

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #70373
      Up
      0
      Down
      ::


      Non vedo gravissimi problemi a usare \newcommand; potresti però avere qualche grattacapo nel caso decidessi di cambiare pacchetto e uno di quei comandi capiti in uno dei file ausiliari. Per esempio se hai un \upalpha in un titolo di sezione, con kpfonts avresti \alphaup nel .toc; cambiando in fourier o togliendo kpfonts troveresti un errore per comando non definito.

      Per risolvere l’inghippo:
      `\protected\def\upalpha{\alphaup}
      …`

      Per avere maggiore flessibilità ti suggerisco di procedere così:
      `\def\upnames@kpfonts{
      \protected\def\upalpha{\alphaup}

      }
      \def\upnames@fourier{
      \def\UP##1{\csname\ifsloped other\fi##1\endcsname}
      \protected\def\upalpha{\UP{alpha}}

      }
      \def\upnames@default{
      \message{Declaring upgreek from Symbol scaled 90\%}
      \DeclareFontFamily{U}{fsy}{}
      \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
      \DeclareSymbolFont{ugrf@m}{U}{fsy}{m}{n}
      \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{`a}

      }
      \@tempswafalse
      \@ifpackageloaded{kpfonts}{\upnames@kpfonts\@tempswatrue}{}
      \@ifpackageloaded{fourier}{\upnames@fourier\@tempswatrue}{}
      \if@tempswa\else\upnames@default\fi
      \@onlypreamble\upnames@kpfonts
      \@onlypreamble\upnames@fourier
      \@onlypreamble\upnames@default`
      In questo modo non hai complicati annidamenti e aggiungere un pacchetto è facile. Le lunghe definizioni spariscono dalla memoria a \begin{document} grazie a \@onlypreamble.

      Ciao
      Enrico

    • #70374
      Up
      0
      Down
      ::


      Grazie per la risposta 🙂 Ho usato questo codice:
      `\def\upnames@kpfonts{
      \protected\def\upalpha\alphaup
      \protected\def\upbeta\betaup
      \protected\def\upgamma\gammaup
      \protected\def\updelta\deltaup
      \protected\def\upepsilon\epsilonup
      \protected\def\upzeta\zetaup
      \protected\def\upeta\etaup
      \protected\def\uptheta\thetaup
      \protected\def\upiota\iotaup
      \protected\def\upkappa\kappaup
      \protected\def\uplambda\lambdaup
      \protected\def\upmu\muup
      \protected\def\upnu\nuup
      \protected\def\upxi\xiup
      \protected\def\uppi\piup
      \protected\def\uprho\rhoup
      \protected\def\upsigma\sigmaup
      \protected\def\uptau\tauup
      \protected\def\upupsilon\upsilonup
      \protected\def\upphi\phiup
      \protected\def\upchi\chiup
      \protected\def\uppsi\psiup
      \protected\def\upomega\omegaup

      \protected\def\upvarepsilon\varepsilonup
      \protected\def\upvartheta\varthetaup
      \protected\def\upvarpi\varphiup
      \protected\def\upvarrho\varrhoup
      \protected\def\upvarsigma\varsigmaup

      \protected\def\Upgamma\Gammaup
      \protected\def\Updelta\Deltaup
      \protected\def\Uptheta\Thetaup
      \protected\def\Uplambda\Lambdaup
      \protected\def\Upxi\Xiup
      \protected\def\Uppi\Piup
      \protected\def\Upsigma\Sigmaup
      \protected\def\Upupsilon\Upsilonup
      \protected\def\Upphi\Phiup
      \protected\def\Uppsi\Psiup
      \protected\def\Upomega\Omegaup
      }
      \def\upnames@fourier{
      \def\UP#1{\csname\ifsloped other\fi#1\endcsname}
      \protected\def\upalpha{\UP{alpha}}
      \protected\def\upbeta{\UP{beta}}
      \protected\def\upgamma{\UP{gamma}}
      \protected\def\updelta{\UP{delta}}
      \protected\def\upepsilon{\UP{epsilon}}
      \protected\def\upzeta{\UP{zeta}}
      \protected\def\upeta{\UP{eta}}
      \protected\def\uptheta{\UP{theta}}
      \protected\def\upiota{\UP{iota}}
      \protected\def\upkappa{\UP{kappa}}
      \protected\def\uplambda{\UP{lambda}}
      \protected\def\upmu{\UP{mu}}
      \protected\def\upnu{\UP{nu}}
      \protected\def\upxi{\UP{xi}}
      \protected\def\uppi{\UP{pi}}
      \protected\def\uprho{\UP{rho}}
      \protected\def\upsigma{\UP{sigma}}
      \protected\def\uptau{\UP{tau}}
      \protected\def\upupsilon{\UP{upsilon}}
      \protected\def\upphi{\UP{phi}}
      \protected\def\upchi{\UP{chi}}
      \protected\def\uppsi{\UP{psi}}
      \protected\def\upomega{\UP{omega}}

      \protected\def\upvarepsilon{\UP{varepsilon}}
      \protected\def\upvartheta{\UP{vartheta}}
      \protected\def\upvarpi{\UP{varphi}}
      \protected\def\upvarrho{\UP{varrho}}
      \protected\def\upvarsigma{\UP{varsigma}}

      \protected\def\Upgamma{\UP{Gamma}}
      \protected\def\Updelta{\UP{Delta}}
      \protected\def\Uptheta{\UP{Theta}}
      \protected\def\Uplambda{\UP{Lambda}}
      \protected\def\Upxi{\UP{Xi}}
      \protected\def\Uppi{\UP{Pi}}
      \protected\def\Upsigma{\UP{Sigma}}
      \protected\def\Upupsilon{\UP{Upsilon}}
      \protected\def\Upphi{\UP{Phi}}
      \protected\def\Uppsi{\UP{Psi}}
      \protected\def\Upomega{\UP{Omega}}
      }
      \def\upnames@default{
      \message{Declaring upgreek from Symbol scaled 90\%}
      \DeclareFontFamily{U}{fsy}{}
      \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
      \DeclareSymbolFont{ugrf@m}{U}{fsy}{m}{n}
      \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{`a}
      \DeclareMathSymbol{\upbeta}{\mathord}{ugrf@m}{`b}
      \DeclareMathSymbol{\upgamma}{\mathord}{ugrf@m}{`g}
      \DeclareMathSymbol{\updelta}{\mathord}{ugrf@m}{`d}
      \DeclareMathSymbol{\upepsilon}{\mathord}{ugrf@m}{`e}
      \DeclareMathSymbol{\upzeta}{\mathord}{ugrf@m}{`z}
      \DeclareMathSymbol{\upeta}{\mathord}{ugrf@m}{`h}
      \DeclareMathSymbol{\uptheta}{\mathord}{ugrf@m}{`q}
      \DeclareMathSymbol{\upiota}{\mathord}{ugrf@m}{`i}
      \DeclareMathSymbol{\upkappa}{\mathord}{ugrf@m}{`k}
      \DeclareMathSymbol{\uplambda}{\mathord}{ugrf@m}{`l}
      \DeclareMathSymbol{\upmu}{\mathord}{ugrf@m}{`m}
      \DeclareMathSymbol{\upnu}{\mathord}{ugrf@m}{`n}
      \DeclareMathSymbol{\upxi}{\mathord}{ugrf@m}{`x}
      \DeclareMathSymbol{\uppi}{\mathord}{ugrf@m}{`p}
      \DeclareMathSymbol{\uprho}{\mathord}{ugrf@m}{`r}
      \DeclareMathSymbol{\upsigma}{\mathord}{ugrf@m}{`s}
      \DeclareMathSymbol{\uptau}{\mathord}{ugrf@m}{`t}
      \DeclareMathSymbol{\upupsilon}{\mathord}{ugrf@m}{`u}
      \DeclareMathSymbol{\upphi}{\mathord}{ugrf@m}{`f}
      \DeclareMathSymbol{\upchi}{\mathord}{ugrf@m}{`c}
      \DeclareMathSymbol{\uppsi}{\mathord}{ugrf@m}{`y}
      \DeclareMathSymbol{\upomega}{\mathord}{ugrf@m}{`w}
      \let\upvarepsilon\upepsilon
      \DeclareMathSymbol{\upvartheta}{\mathord}{ugrf@m}{`J}
      \DeclareMathSymbol{\upvarpi}{\mathord}{ugrf@m}{`v}
      \let\upvarrho\uprho
      \let\upvarsigma\upsigma
      \DeclareMathSymbol{\upvarphi}{\mathord}{ugrf@m}{`j}
      \DeclareMathSymbol{\Upgamma}{\mathord}{ugrf@m}{`G}
      \DeclareMathSymbol{\Updelta}{\mathord}{ugrf@m}{`D}
      \DeclareMathSymbol{\Uptheta}{\mathord}{ugrf@m}{`Q}
      \DeclareMathSymbol{\Uplambda}{\mathord}{ugrf@m}{`L}
      \DeclareMathSymbol{\Upxi}{\mathord}{ugrf@m}{`X}
      \DeclareMathSymbol{\Uppi}{\mathord}{ugrf@m}{`P}
      \DeclareMathSymbol{\Upsigma}{\mathord}{ugrf@m}{`S}
      \DeclareMathSymbol{\Upupsilon}{\mathord}{ugrf@m}{`U}
      \DeclareMathSymbol{\Upphi}{\mathord}{ugrf@m}{`F}
      \DeclareMathSymbol{\Uppsi}{\mathord}{ugrf@m}{`Y}
      \DeclareMathSymbol{\Upomega}{\mathord}{ugrf@m}{`W}
      }
      \@tempswafalse
      \@ifpackageloaded{kpfonts}{\upnames@kpfonts\@tempswatrue}{}
      \@ifpackageloaded{fourier}{\upnames@fourier\@tempswatrue}{}
      \if@tempswa\else\upnames@default\fi
      \@onlypreamble\upnames@kpfonts
      \@onlypreamble\upnames@fourier
      \@onlypreamble\upnames@default`
      ma non funziona 🙁 Compilando un documento che carica il pacchetto modificato ill primo errore che incontro è nella definizione di [tt]\upnames@fourier[/tt]:
      `ERROR: Illegal parameter number in definition of \upnames@fourier.`
      Commentando nel pacchetto tutte le parti relative a [tt]fourier[/tt] (cioè tutto [tt]\upnames@fourier[/tt] e le due righe finali che si riferiscono a questo) invece ottengo un errore più simpatico:
      `ERROR: LaTeX Error: Missing \begin{document}.`
      Tra l’altro il PDF del documento inizia con [tt]heppennames2[/tt] scritto con [tt]\texttt[/tt], in pratica viene eseguito il comando [tt]\heppennamesii[/tt] che nel pacchetto è quello che si trova subito dopo questa porzione di codice. Commentando la definizione di [tt]\heppennamesii[/tt] invece il documento inizia con una g, cioè il comando [tt]\Pg[/tt], quello successivo a [tt]\heppennamesii[/tt].

    • #70375
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Certo se un comando con parametri è definito dentro un’altra definizione il segno # va raddoppiato.
        Comincia a correggere questo poi se ne riparla, perché gli altri errori possono derivare da questo.

      • #70376
        Up
        0
        Down
        ::

        OldClaudio” post=69652Certo se un comando con parametri è definito dentro un’altra definizione il segno # va raddoppiato.
        Comincia a correggere questo poi se ne riparla, perché gli altri errori possono derivare da questo.

        Cioè all’interno di [tt]\upnames@fourier[/tt] dovrei mettere [tt]##1[/tt] al posto dei due [tt]#1[/tt]? Se la risposta è sì (negli appunti di programmazione di egreg9 ho visto che in effetti ci sono dei comandi definiti all’interno di altri comandi che indicano i parametri con [tt]##n[/tt]) non risolve completamente il problema: la compilazione del documento mi segnala il seguente errore:
        `ERROR: LaTeX Error: Command `\upalpha' already defined.`rimandando alla riga
        `l.211 \if@tempswa\else\upnames@default
        \fi`

        Grazie!

      • #70377
        Up
        0
        Down
        ::

        Elrond” post=69653

        Certo se un comando con parametri è definito dentro un’altra definizione il segno # va raddoppiato.
        Comincia a correggere questo poi se ne riparla, perché gli altri errori possono derivare da questo.

        Cioè all’interno di [tt]\upnames@fourier[/tt] dovrei mettere [tt]##1[/tt] al posto dei due [tt]#1[/tt]? Se la risposta è sì (negli appunti di programmazione di egreg9 ho visto che in effetti ci sono dei comandi definiti all’interno di altri comandi che indicano i parametri con [tt]##n[/tt]) non risolve completamente il problema: la compilazione del documento mi segnala il seguente errore:
        `ERROR: LaTeX Error: Command `\upalpha' already defined.`rimandando alla riga
        `l.211 \if@tempswa\else\upnames@default
        \fi`

        Grazie!

        Certo, occorre raddoppiare # e me n’ero scordato. Secondo: hai sbagliato tutte le definizioni! Mancano le graffe!
        `\protected\def\upalpha{\alphaup}`
        Con questo non ho alcun errore:
        `\def\upnames@kpfonts{
        \protected\def\upalpha{\alphaup}
        \protected\def\upbeta{\betaup}
        \protected\def\upgamma{\gammaup}
        \protected\def\updelta{\deltaup}
        \protected\def\upepsilon{\epsilonup}
        \protected\def\upzeta{\zetaup}
        \protected\def\upeta{\etaup}
        \protected\def\uptheta{\thetaup}
        \protected\def\upiota{\iotaup}
        \protected\def\upkappa{\kappaup}
        \protected\def\uplambda{\lambdaup}
        \protected\def\upmu{\muup}
        \protected\def\upnu{\nuup}
        \protected\def\upxi{\xiup}
        \protected\def\uppi{\piup}
        \protected\def\uprho{\rhoup}
        \protected\def\upsigma{\sigmaup}
        \protected\def\uptau{\tauup}
        \protected\def\upupsilon{\upsilonup}
        \protected\def\upphi{\phiup}
        \protected\def\upchi{\chiup}
        \protected\def\uppsi{\psiup}
        \protected\def\upomega{\omegaup}

        \protected\def\upvarepsilon{\varepsilonup}
        \protected\def\upvartheta{\varthetaup}
        \protected\def\upvarpi{\varphiup}
        \protected\def\upvarrho{\varrhoup}
        \protected\def\upvarsigma{\varsigmaup}

        \protected\def\Upgamma{\Gammaup}
        \protected\def\Updelta{\Deltaup}
        \protected\def\Uptheta{\Thetaup}
        \protected\def\Uplambda{\Lambdaup}
        \protected\def\Upxi{\Xiup}
        \protected\def\Uppi{\Piup}
        \protected\def\Upsigma{\Sigmaup}
        \protected\def\Upupsilon{\Upsilonup}
        \protected\def\Upphi{\Phiup}
        \protected\def\Uppsi{\Psiup}
        \protected\def\Upomega{\Omegaup}
        }
        \def\upnames@fourier{
        \def\UP##1{\csname\ifsloped other\fi##1\endcsname}
        \protected\def\upalpha{\UP{alpha}}
        \protected\def\upbeta{\UP{beta}}
        \protected\def\upgamma{\UP{gamma}}
        \protected\def\updelta{\UP{delta}}
        \protected\def\upepsilon{\UP{epsilon}}
        \protected\def\upzeta{\UP{zeta}}
        \protected\def\upeta{\UP{eta}}
        \protected\def\uptheta{\UP{theta}}
        \protected\def\upiota{\UP{iota}}
        \protected\def\upkappa{\UP{kappa}}
        \protected\def\uplambda{\UP{lambda}}
        \protected\def\upmu{\UP{mu}}
        \protected\def\upnu{\UP{nu}}
        \protected\def\upxi{\UP{xi}}
        \protected\def\uppi{\UP{pi}}
        \protected\def\uprho{\UP{rho}}
        \protected\def\upsigma{\UP{sigma}}
        \protected\def\uptau{\UP{tau}}
        \protected\def\upupsilon{\UP{upsilon}}
        \protected\def\upphi{\UP{phi}}
        \protected\def\upchi{\UP{chi}}
        \protected\def\uppsi{\UP{psi}}
        \protected\def\upomega{\UP{omega}}

        \protected\def\upvarepsilon{\UP{varepsilon}}
        \protected\def\upvartheta{\UP{vartheta}}
        \protected\def\upvarpi{\UP{varphi}}
        \protected\def\upvarrho{\UP{varrho}}
        \protected\def\upvarsigma{\UP{varsigma}}

        \protected\def\Upgamma{\UP{Gamma}}
        \protected\def\Updelta{\UP{Delta}}
        \protected\def\Uptheta{\UP{Theta}}
        \protected\def\Uplambda{\UP{Lambda}}
        \protected\def\Upxi{\UP{Xi}}
        \protected\def\Uppi{\UP{Pi}}
        \protected\def\Upsigma{\UP{Sigma}}
        \protected\def\Upupsilon{\UP{Upsilon}}
        \protected\def\Upphi{\UP{Phi}}
        \protected\def\Uppsi{\UP{Psi}}
        \protected\def\Upomega{\UP{Omega}}
        }
        \def\upnames@default{
        \message{Declaring upgreek from Symbol scaled 90\%}
        \DeclareFontFamily{U}{fsy}{}
        \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{}
        \DeclareSymbolFont{ugrf@m}{U}{fsy}{m}{n}
        \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{`a}
        \DeclareMathSymbol{\upbeta}{\mathord}{ugrf@m}{`b}
        \DeclareMathSymbol{\upgamma}{\mathord}{ugrf@m}{`g}
        \DeclareMathSymbol{\updelta}{\mathord}{ugrf@m}{`d}
        \DeclareMathSymbol{\upepsilon}{\mathord}{ugrf@m}{`e}
        \DeclareMathSymbol{\upzeta}{\mathord}{ugrf@m}{`z}
        \DeclareMathSymbol{\upeta}{\mathord}{ugrf@m}{`h}
        \DeclareMathSymbol{\uptheta}{\mathord}{ugrf@m}{`q}
        \DeclareMathSymbol{\upiota}{\mathord}{ugrf@m}{`i}
        \DeclareMathSymbol{\upkappa}{\mathord}{ugrf@m}{`k}
        \DeclareMathSymbol{\uplambda}{\mathord}{ugrf@m}{`l}
        \DeclareMathSymbol{\upmu}{\mathord}{ugrf@m}{`m}
        \DeclareMathSymbol{\upnu}{\mathord}{ugrf@m}{`n}
        \DeclareMathSymbol{\upxi}{\mathord}{ugrf@m}{`x}
        \DeclareMathSymbol{\uppi}{\mathord}{ugrf@m}{`p}
        \DeclareMathSymbol{\uprho}{\mathord}{ugrf@m}{`r}
        \DeclareMathSymbol{\upsigma}{\mathord}{ugrf@m}{`s}
        \DeclareMathSymbol{\uptau}{\mathord}{ugrf@m}{`t}
        \DeclareMathSymbol{\upupsilon}{\mathord}{ugrf@m}{`u}
        \DeclareMathSymbol{\upphi}{\mathord}{ugrf@m}{`f}
        \DeclareMathSymbol{\upchi}{\mathord}{ugrf@m}{`c}
        \DeclareMathSymbol{\uppsi}{\mathord}{ugrf@m}{`y}
        \DeclareMathSymbol{\upomega}{\mathord}{ugrf@m}{`w}
        \let\upvarepsilon\upepsilon
        \DeclareMathSymbol{\upvartheta}{\mathord}{ugrf@m}{`J}
        \DeclareMathSymbol{\upvarpi}{\mathord}{ugrf@m}{`v}
        \let\upvarrho\uprho
        \let\upvarsigma\upsigma
        \DeclareMathSymbol{\upvarphi}{\mathord}{ugrf@m}{`j}
        \DeclareMathSymbol{\Upgamma}{\mathord}{ugrf@m}{`G}
        \DeclareMathSymbol{\Updelta}{\mathord}{ugrf@m}{`D}
        \DeclareMathSymbol{\Uptheta}{\mathord}{ugrf@m}{`Q}
        \DeclareMathSymbol{\Uplambda}{\mathord}{ugrf@m}{`L}
        \DeclareMathSymbol{\Upxi}{\mathord}{ugrf@m}{`X}
        \DeclareMathSymbol{\Uppi}{\mathord}{ugrf@m}{`P}
        \DeclareMathSymbol{\Upsigma}{\mathord}{ugrf@m}{`S}
        \DeclareMathSymbol{\Upupsilon}{\mathord}{ugrf@m}{`U}
        \DeclareMathSymbol{\Upphi}{\mathord}{ugrf@m}{`F}
        \DeclareMathSymbol{\Uppsi}{\mathord}{ugrf@m}{`Y}
        \DeclareMathSymbol{\Upomega}{\mathord}{ugrf@m}{`W}
        }
        \@tempswafalse
        \@ifpackageloaded{kpfonts}{\upnames@kpfonts\@tempswatrue}{}
        \@ifpackageloaded{fourier}{\upnames@fourier\@tempswatrue}{}
        \if@tempswa\else\upnames@default\fi
        \@onlypreamble\upnames@kpfonts
        \@onlypreamble\upnames@fourier
        \@onlypreamble\upnames@default`

        Ciao
        Enrico

      • #70378
        Up
        0
        Down
        ::

        egreg9″ post=69655Secondo: hai sbagliato tutte le definizioni! Mancano le graffe!

        Ieri mi era venuto il sospetto che potessi aver sbagliato io a ricopiare le istruzioni, ma a quell’ora non ero più troppo lucido e non mi ero accorto dell’errore. A mia parziale discolpa però vorrei dire che avevo sbagliato solo in [tt]\upnames@kpfonts[/tt], in [tt]\upnames@fourier[/tt] stava tutto bene (mi sembra) 😛

        Grazie a tutti e due 🙂

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

    Go to top