alfabeti matematici con unicode-math

  • Creatore
    Topic
  • #73567
    Up
    0
    Down
    ::


    salve!
    premetto che attualmente sto usando esclusivamente lualatex.
    dunque per poter gestire le formule matematiche sono costretto ad usare il pacchetto unicode-math.
    il problema è che questo pacchetto è un casino…

    la mia domanda è:
    come posso usare il comando primitivo \DeclareMathAlphabet con l’accoppiata fontspec+unicode-math?
    per usare tale comando, occure specificare l’encoding del font e soprattutto la famiglia, che il comando si aspetta essere tfm.
    ho provato con \newfontfamily dal pacchetto di fontspec ma niente…

    potete aiutarmi?

    grazie!

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #73568
      Up
      0
      Down
      ::

      anddm-pii” post=72692salve!
      premetto che attualmente sto usando esclusivamente lualatex.
      dunque per poter gestire le formule matematiche sono costretto ad usare il pacchetto unicode-math.
      il problema è che questo pacchetto è un casino…

      la mia domanda è:
      come posso usare il comando primitivo \DeclareMathAlphabet con l’accoppiata fontspec+unicode-math?
      per usare tale comando, occure specificare l’encoding del font e soprattutto la famiglia, che il comando si aspetta essere tfm.
      ho provato con \newfontfamily dal pacchetto di fontspec ma niente…

      potete aiutarmi?

      grazie!

      Forse è meglio se spieghi che cosa desideri. Non è affatto obbligatorio usare unicode-math, fra l’altro, perché dovrebbe?

      Ciao
      Enrico

    • #73569
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        anddm-pii” post=72692salve!
        premetto che attualmente sto usando esclusivamente lualatex.
        dunque per poter gestire le formule matematiche sono costretto ad usare il pacchetto unicode-math.
        il problema è che questo pacchetto è un casino…

        la mia domanda è:
        come posso usare il comando primitivo \DeclareMathAlphabet con l’accoppiata fontspec+unicode-math?
        per usare tale comando, occure specificare l’encoding del font e soprattutto la famiglia, che il comando si aspetta essere tfm.
        ho provato con \newfontfamily dal pacchetto di fontspec ma niente…

        potete aiutarmi?

        grazie!

        Premetto che non ho mai usato lualatex in modo serio; ma ho usate xelatex abbastanza per fare qualche commento.

        Con fontspec e unicode-math l’alfabeto matematico si pseifica con \setmathfont e non con \DeclareMathalphabet; non escludo che quest’ultimo comando del nucleo di LaTeX possa essere usato ma penso onestamente che sia completamente inutile.

        occure specificare l’encoding del font e soprattutto la famiglia, che il comando si aspetta essere tfm

        è una frase che epr me non ha senso, tfm non è una codifica né una famiglia di font, è semplicemente l’estensione di file mterici che usa TeX per gestire i font alla vecchia maniera (tfm = teX font metrics); xelatex e lualatex che lavorano con i font opentype fanno a meno dei file metrici perché le in=formazioni metriche sono già contenute dentro i file .otf

        Un font matematico opentype come Xits Math contiene già tutte le forme possibili usabili in matematica con xelatex e lualatex; mi pare strano che tu voglia usare un’altra forme diversa da quelle che XITS Math può fornire; hai letto il documento introxelatex.pdf di Enrico? vale anche in un certo senso, almeno per quel che riguarda la matematica, per lualatex.

        D’altra parte usare un altro font matematico con latex e pdflatex potrebbe essere più semplice; di fatto non lo è; \DeclareMathAlphabet impegna comunque un’altra famiglia matematica e TeX dispone dolo di 16 famiglie; a me è già capitato di (tentere di) superare questo limite e ovviamante ho ricevuto un messaggio di “Fatal eerror”.

        Spiega meglio che cosa vuoi fare e che ulteriore font vuoi caricare.

      • #73570
        Up
        0
        Down
        ::

        Non è affatto obbligatorio usare unicode-math, fra l’altro, perché dovrebbe?

        altrimenti come si farebbe a definire gli stili tipo il blackboard?
        senza unicode-math, gli unici alfabeti che si possono impostare con il solo fontspec sono dati (documentazione alla mano) dai comandi \setmathrm, \setmathsf, \setmathtt, e \setboldmathrm, e dunque rimangono esclusi ad esmepio il famoso \mathcal, \mathscr, \mathbb…
        se c’è un altro modo oppure un altro pacchetto di cui non sono a conoscenza (escluso ovviamente mathspec, che funziona solo per xetex), per favore ti chiedo di spiegarmi come fare!
        inoltre, senza unicode-math, come si farebbe a scegliere font diversi per le lettere greche minuscole o maiuscole, o per i numeri, etc etc ?

        Con fontspec e unicode-math l’alfabeto matematico si pseifica con \setmathfont e non con \DeclareMathalphabet; non escludo che quest’ultimo comando del nucleo di LaTeX possa essere usato ma penso onestamente che sia completamente inutile.
        […]
        Un font matematico opentype come Xits Math contiene già tutte le forme possibili usabili in matematica con xelatex e lualatex; mi pare strano che tu voglia usare un’altra forme diversa da quelle che XITS Math può fornire;

        \setmathfont definisce un font, come ad esempio XITS Math, da cui si “estrae” tutto, dallo stile dei grandi operatori, agli opertori binari, alle lettere latine e greche, agli eventuali alfabeti blackboard e calligraphic… ciò non toglie che uno voglia comunque personalizzare certe scelte, altrimenti si tornerebbe al latex invece di usare il lualatex.
        e comunque non è solo un semplice vezzo estetico; per motivi personali, potrei aver bisogni di creare un mio simbolo ex novo e voler usare quello.
        per far ciò devo poter caricare un altro font e poterlo usare efficientemente, nel senso che vorrei poter evitare che il comando \bar mi produca l’effetto di una barra che è inspiegabilmente spostata tutta a destra del glifo di un font diverso dall’originale.

        è una frase che epr me non ha senso, tfm non è una codifica né una famiglia di font, è semplicemente l’estensione di file mterici che usa TeX per gestire i font alla vecchia maniera (tfm = teX font metrics); xelatex e lualatex che lavorano con i font opentype fanno a meno dei file metrici perché le in=formazioni metriche sono già contenute dentro i file .otf

        effettivamente non mi sono riuscito a spiegare molto chiaramente.
        quello che intendevo dire è che comunque nel costrutto \DeclareMathAlphabet si deve inserire il nome di una famiglia pfm ed essendo un comando primitivo del tex, cercavo un modo per farlo lavorare con una famiglia otf.
        e comunque luatex e xetex supportano nativamente l’opentype, ma anche il truetype e il type1… quindi non vedo perchè non doverli usare e obbligarsi per forza con gli opentype…

      • #73571
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::

          quello che intendevo dire è che comunque nel costrutto \DeclareMathAlphabet si deve inserire il nome di una famiglia pfm

          pfm è altrettanto insensato di tfm; tfm vuol dire TeX font metrics e pfm vuol dire PostScript font metrics.

          Capisco l’esigenza di vole definire un nuovo simbolo; Se è solo un simbolo, e non una collaezione di simboli, basta sceglierlo in modo testo e usarlo attraverso \mathpalette; vedi TeXbook.

          Nonostante sembri che non hai le idee chiare sui fot, ma mi sbaglio di sicuro, se vuoi fare quello che dici, dovresti essere in grado di cercarti il TeXbook e studiarti \mathpalette e/o \mathchoice

          Se si tratta di una intera polizza di caratteri, siano essi TrueType o Tyepe 1, creare un simbolo o una collezione di simboli è decisamente molto difficile, anche se disponi di un editor di font vettoriali; creare un font usabile in matematica con uno qualunque dei motori di composizione del sistema TeX, richiede di saper padroneggiare anche i circa 25 parametri di cui TeX ha bisogno per usare qualsivoglia simbolo matematico; è spiegato nel TeXbook, ma è molto difficile lo stesso.

          Se il simbolo (o i simboli) che vorresti crearti non sono già presenti nella Comprehensive LaTeX Symbol List di Scott Pakin (da terminale dà il comando texdoc symbol-a4 per consultare questa lista), deve trattarsi di un simbolo piuttosto insolito e aprirebbe il dubbio che se qualcuno non l’ha già disegnato dopo più di trenta anni che i matematici usano il sistema TeX, forse quel simbolo non sia così utile e necessario da usare in matematica. Inoltre mi sono stampato la lista completa dei simboli contenuti dentro la collezione OpenType XITS Math, e si tratta di più di 80 pagine di simboli, uno per riga; fai tu la stima di quanti siano, io direi circa 3200; è mai possibile che fra tanti simboli non ci sia quello che vuoi?

          Cerco di metterti delle pulci nell’orecchio; non sto criticando. Ma quando si vuole fare qualcosa di molto insolito, bisognerebbe fermarsi un attimo e domandarsi perché. Te lo dico come uno che ha disegnato un migliaio di polizze di font…; dovrei avere qualche esperienza in merito, anche se non si finisce mai di imparare, per cui nessuno può mai chiamarsi esperto, malgrado l’esperienza accumulata.

        • #73572
          Up
          0
          Down
          ::


          Ancora non hai spiegato che cosa desideri in particolare. Se anche fosse una domanda generica, almeno un esempio di quello che ti serve sarebbe utile.

          Ciao
          Enrico

        • #73573
          Up
          0
          Down
          ::

          Se il simbolo (o i simboli) che vorresti crearti non sono già presenti nella Comprehensive LaTeX Symbol List di Scott Pakin (da terminale dà il comando texdoc symbol-a4 per consultare questa lista), deve trattarsi di un simbolo piuttosto insolito e aprirebbe il dubbio che se qualcuno non l’ha già disegnato dopo più di trenta anni che i matematici usano il sistema TeX, forse quel simbolo non sia così utile e necessario da usare in matematica. Inoltre mi sono stampato la lista completa dei simboli contenuti dentro la collezione OpenType XITS Math, e si tratta di più di 80 pagine di simboli, uno per riga; fai tu la stima di quanti siano, io direi circa 3200; è mai possibile che fra tanti simboli non ci sia quello che vuoi?

          forse mi sbaglio… ma da quello che dici mi sembra di dedurre che tu non sia un matematico 😛
          il punto è questo, forse enrico potrà capirmi: in matematica non si usano solo simboli binari o tipografici, ma anche (o prevalentemente?) alfabetici. è per questo motivo che c’è bisogno di lettere greche, latine, gotiche, cirilliche, ebraiche… ovviamente minuscole o maiuscole! e purtroppo, visto che tex non è mai stato in grado di gestire efficentemente i fonts, quando si doveva scrivere di matematica, ci si adattava. ma ora che ci sono le potenzialità di xelatex e luatex, diciamo che si è più liberi.

          non sto criticando.

          quando due moderatori di tale caratura si interessano alla mia questione, ogni critica è ben accetta.
          spero allo stesso tempo che il mio tono non appaia polemico o checchessia…

          Ancora non hai spiegato che cosa desideri in particolare. Se anche fosse una domanda generica, almeno un esempio di quello che ti serve sarebbe utile.

          non c’è nulla che desideri in particolare, perchè sto ancora cercando di capire come sfruttare al meglio le frecce al mio arco e soprattutto cercando di capire perchè sorgano certe inaspettate incompatibilità.
          però, volendo fare un esempio:
          impostando
          `\setmathfont{XITS Math}`
          vengono automaticamente impostati alcuni alfabeti matematici, tra i quali \mathbb e \mathbbit.
          nessuno mi vieta però di voler definire anche l’alfabeto \mathbbbf, ovvero la versione bold upright, oppure un alfabeto \mathbbitbf, ovvero la versione bold italic.
          come potrei fare se non con un \DeclareMathAlphabet?

          un altro esempio:
          se nel preambolo dichiaro
          `\setmathfont{XITS Math}
          \setmathfont[range=\mathalpha]{Asana-Math.otf}`
          allora tutti i tipi di alfabeti saranno formattati con il font asana.
          se volessi solo cambiare le lettere greche minuscole e visto che non potrei usare la dichiarazione
          `\setmathfont[range=greek]{Asana-Math.otf}`
          perchè, su stessa ammissione dei developers, la creazione della cache richiederebbe un’eternità, come posso fare per cambiare solo le lettere greche minuscole?
          a tal proposito, il pacchetto mathspec funziona decisamente meglio di unicode-math: ha il comando \setmathfont(greek){Asana-Math.otf} che funziona alla perfezione.
          però purtroppo è solo per xelatex…

          infine un altro esempio:
          con la dichiarazione
          `\setmathfont{XITS Math}
          \setmathfont[range=\mathbb]{other-font.otf}`
          impongo l’uso del font other-font.otf per l’alfabeto blackboard.
          ma poi quando ad esempio voglio formattare \bar{\mathbb{R}}, la barra del “bar” viene collocata in modo del tutto insensato: se l’alfabeto rimane quello definito da xits, allora il bar è perfettamente sopra e al centro della lettera, ma se cambio font allora il bar si sposta drasticamente sulla sinistra, fino ad uscir fuori.
          come è possibile?

          Ah, scusate: ma poi perchè unicode-math si comporta così male con pacchetti come mathpazo o mnsymbol? è frustrante che una cosa così potente come il luatex posssa avere un limite così restrittivo come unicode-math…

        • #73574
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Non so cosa dirti; i tuoi motivi mi sembrano non sufficienti per cercare di far fare a xelatex o lualatex cose che forse potrebbero fare, ma che on fanno.
            Per esempio ti lamenti che \bar{\mathbb{A}} metta la barra fuori posto con i XITS math di default e i bb presi da un altro font; a me pare normale, anche se sarebbe possibile rimediare. Ti spiego: in tipografia le famiglie di font devono accordarsi; mescolare i XITS Math con gli Asana Math tipograficamente non è corretto perché i parametri del disegno dei due font sono diversi; tra l’altro il primo si accorda con i font di testo Times e altri font “stretti”, mente il secondo si accorda con i Platino. mescolare XITS e Asana in matematica sarebbe come comporre il testi intercalano lettere Times con lettere Palatino; nel testo non lo accetteresti; perché devi accettarlo in matematica?

            Ora io sono un ingegnere matematico, vale a dire un ingegnere ricercatore universitario che ha usato la matematica durante tutta la sua attività di ricerca; so benissimo che la matematica dei tecnologi è meno complessa, anche per i simboli che vi vengono usati, di quella dei matematici, ma se proprio occorrono simboli strani, occasionali, e non sistematici come intere pagine UNICODE di glifi, allora esistono molti artifici come \mathpalette e \mathchoice per usare in matematica glifi tratti da polizze testuali o polizze anche di Dingbats, volendo. Non mi spingerei a dire che uno deve confezionarsi un font OpenType adatto alle proprie esigenze, ma lualatex, da quel che ho letto nella sua documentazione, sembrerebbe capace di assemblare in tempo reale dei font virtuali OpenType.
            Siccome non uso lualatex abitualmente, ho pochissima esperienza in merito e non mi sono mai spinto più in là di qualche semplice esercizio. Altri forse possono dirti di più, ma ti consiglio da dilettante apprendista tipografo autodidatta di non mescolare font diversi.

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

        Go to top