Cambio font in formule matematiche

  • Creatore
    Topic
  • #92042
    Up
    0
    Down
    ::


    Ciao,
    mi sono appena iscritta al forum perché leggendo le guide e cercando tra i vari topic non sono riuscita a chiarire il mio dubbio, perciò vi chiedo aiuto. Non sono esperta di font, ho sempre scritto in Latex senza cambiare font rispetto a quello predefinito.
    Ora vorrei scrivere alcune lettere (solo alcune) all’interno di formule matematiche utilizzando un font ttf (di tipo calligrafico). Con l’uso di \mathscr{} non ho il risultato che desidero.
    Non ho ben capito neanche come fare a installare tale font, ma questo è un passo successivo. Il punto è che, cercando informazioni, ho capito che questo non si possa fare per le formule matematiche. Riesco a cambiare font nel “testo normale” utilizzando

    \fontencoding{T1}\fontfamily{}\selectfont

    ma se lo faccio in una formula non funziona. Ho provato con un font che ho già installato, nel testo riesco a cambiare, mentre nelle formule no.

    Spero di aver capito male e che ci sia una soluzione al mio quesito: posso utilizzare un qualunque font a mia scelta all’interno di formule matematiche, oltre a quello predefinito? In caso affermativo, come si fa?
    Grazie a chi mi potrà aiutare.
    Laurapau

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #92043
      Up
      0
      Down
      ::


      Non ho ben capito. Vuoi usare un’altro font per il testo dentro le formule oppure per le lettere delle formule? se è per il testo credo che dentro \text{} tu possa annidare quello che ti pare..

      Se vuoi un bel calligrafo (testuale) carica il pacchetto calligra a me piace davvero molto (lo usi \calligra{})

      Se vuoi cambiare inveca i caratteri matematici qui potresti trovare un aiutino, oppure (saggia cosa) potresti scaricare la guida Guit che trovi nella sezione documentazione, o facendo click qui e guardare il capitolo 18, in particolare 18.4 e 18.5. 🙂

      Facci sapere 🙂

      Ciao ciao

      Corrado.

    • #92044
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        laurapau” post=91607Ciao,
        mi sono appena iscritta al forum perché leggendo le guide e cercando tra i vari topic non sono riuscita a chiarire il mio dubbio, perciò vi chiedo aiuto. Non sono esperta di font, ho sempre scritto in Latex senza cambiare font rispetto a quello predefinito.
        Ora vorrei scrivere alcune lettere (solo alcune) all’interno di formule matematiche utilizzando un font ttf (di tipo calligrafico). Con l’uso di \mathscr{} non ho il risultato che desidero.
        Non ho ben capito neanche come fare a installare tale font, ma questo è un passo successivo. Il punto è che, cercando informazioni, ho capito che questo non si possa fare per le formule matematiche. Riesco a cambiare font nel “testo normale” utilizzando

        \fontencoding{T1}\fontfamily{}\selectfont

        ma se lo faccio in una formula non funziona. Ho provato con un font che ho già installato, nel testo riesco a cambiare, mentre nelle formule no.

        Spero di aver capito male e che ci sia una soluzione al mio quesito: posso utilizzare un qualunque font a mia scelta all’interno di formule matematiche, oltre a quello predefinito? In caso affermativo, come si fa?
        Grazie a chi mi potrà aiutare.
        Laurapau

        Benvenuta LauraPau.

        I font matematici sono brutte bestie difficili da installare.
        Ma di default il comando \matcal{ABC} in matematica fornisce le lettere calligrafiche; per uscare il comando \mathscr devi invece caricare il pacchetto mathrsfs, come sta scritto nella tabella 25 della guida L’Arte di scrivere con LaTeX da scaricare, se non l’hai gia fatto, dalla sezione Documentazione di questo sito.

      • #92045
        Up
        0
        Down
        ::


        Ciao, grazie per le risposte.
        Ho già letto quanto mi è stato suggerito (e molto altro!), ma non riesco a risolvere.
        Utilizzo Miktek 2.9. Per l’utilizzo di \mathscr non ho difficoltà, ma non ottengo le lettere che vorrei. Mi spiego meglio riportando un esempio. Ho scelto un font a caso (lo Zapf Chancery) per il solo fatto che ce l’ho già installato (il font che vorrei non ce l’ho nemmeno installato per ora, ma preferisco fare un passo alla volta!). Provo a scrivere la lettera A con il nuovo font:

        `
        \documentclass[a4paper,italian]{article}

        \usepackage[italian]{babel}
        \usepackage{geometry}

        \begin{document}

        Lo scrivo nel testo:

        {\fontencoding{T1}\fontfamily{pzc}\selectfont {A}} con un font diverso.

        \end{document}

        `

        Funziona. (a parte il brutto accostamento di font, ma ripeto, ho scelto a caso per fare un esempio). Se ora voglio scrivere una equazione dove A sia scritto in Zapf Chancery e b sia il font di default, non funziona (compila, ma scrive tutto con il font di default):

        `
        \documentclass[a4paper,italian]{article}

        \usepackage[italian]{babel}
        \usepackage{geometry}

        \begin{document}

        Ecco l'equazione:
        \begin{equation}
        {\fontencoding{T1}\fontfamily{pzc}\selectfont A} =b
        \end{equation}

        \end{document}
        `

        Da quanto ho capito, quello che desidero non si può fare. Ho capito male?
        Grazie
        laurapau

      • #92046
        Up
        0
        Down
        ::


        Scusate, Miktex, no Miktek.. 😳
        laurapau

      • #92047
        Up
        0
        Down
        ::


        se carichi amsmath attivi anche il comando di cui ti parlavo [tt]\text{}[/tt] in ambiente mateematico. A questo punto puoi risolvere come ti suggerivo:

        `\documentclass[a4paper]{article}

        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}
        \usepackage{amsmath}
        \newcommand{\Bfont}[1]{{\fontencoding{T1}\fontfamily{pzc}\selectfont #1}}% inserimento font B nel testo
        \newcommand{\MBfont}[1]{\text{\Bfont{#1}}}% inserimento font B nelle formule
        \begin{document}
        Ecco il carattere {\fontencoding{T1}\fontfamily{pzc}\selectfont A} nel testo.

        Ecco l'equazione:
        \begin{equation}
        b=\MBfont{A}=b=\sqrt{6\text{\fontencoding{T1}\fontfamily{pzc}\selectfont A}^3_i} =b
        \end{equation}

        \Bfont{Occhio alla spaziatura}.
        \end{document}`

        Non sono un esperto di caratteri né tanto meno di quelli matematici… probabilmente è una porcata (anche perché sono quasi certo che ti consideri le spaziature, ovviamente, come fossero caratteri testuali (e infatti lo sono…) e non come caratteri matematici) però funziona. 🙂

        PS: credo che italian basti passarlo solo una volta e ti consiglio di specificare sempre la codifica d’ingresso e la mappa dei caratteri d’uscita.

        Ora nanna.

        Ciao ciao,

        Corrado.

      • #92048
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il consiglio di @dork è valido, ma tu vuoi tirare LaTeX per i capelli.

          Prima di usare un font devi domandarti se quel font va bene; in matematica i font con le loro forme e serie hanno dei significati precisi, non possono essere scelti a caso “tanto per fare un esempio”.
          Quindi se non ti bastano né \mathcal, né \mathscr, vuol dire che stai scrivendo della matematica molto speciale, oppure che stai divertendoti a usare LATeX come se fosse Word; non farlo. Word moderno ora dispone di font OpenType con cui può scrivere la matematica in modo meno brutto che in passato, ma può, di fatto, usare solo il font Cambria; i font OpenType contengono migliaia di segni, quindi si può scegliere fra segni dai disegni più disparati, sempre all’interno di una sola polizza. Ma pdflatex lavora solo con font Type 1 che contengono al massimo 256 segni; quelli matematici ne contengono solo 128. Ma i Cambria non hanno i font con corpi ottici, mentre tutti i font nativi del sistema TeX hanno i copri ottici da usare in matematica per gli indici e gli apici di primo e di secondo livello. La qualità del risultato si vede senza essere esperti di font o di tipografia.

          Se davvero hai bisogno di installarti un font matematico diverso dai molti che puoi già usare, leggiti la guida fntguide.pdf (da terminale: texdoc fntguide); ti avviso che non è facile; non so se i creatori di LaTeX2e abbiano volutamente lascito le cose difficili per scoraggiare gli utenti a definire nuovi font, oppure se debba essere difficile per definizione. Probabilmente le due cose sono vere entrambe, perché ogni font matematico deve essere installato specificando a che cosa serve in matematica (operatori, lettere, simboli, grandi delimitatori, altro,…) e bisogna dire quali corpi usare (e quindi quali polizze nominare) per comporre i simboli del livello principale oppure quelli per gli indici egli apici di primo livello e per quelli di secondo livello; quali usare per la versione matematica normale e per quella nera, In sostanza per ogni font che vorresti usare in matematica, in realtà ne devi caricare una famiglia (in effetti in TeX base si chiamano families) e ogni famiglia contiene almeno sei font/polizze diverse, se non altro perché bisogna usare i corpi ottici e le serie media e nera. Infine la cosa è difficile anche perché si possono caricare solo 16 famiglie identificate con i numeri da 0 a 15 (esadecimale da 0 a F) e non se ne possono caricare di più. Sembra impossibile arrivare a quel numero di famiglie, ma a me è capitato.

          Se hai seguito il ragionamento, ti rendi conto che non vale la pena giocare con le famiglie matematiche a meno che non si necessiti di font particolari con simboli particolari che risultano sparsi in font diversi e che bisogna caricare apposta. Nota che i simboli normali di LaTeX sono già quattro polizze da 128 caratteri ciascuna, ognuna nei suoi tre corpi; che i font della American Mathematical Society (caricabili con amssymb) sono altri 256 segni; e siamo ad un totale di 768 segni; i pacchetti euler e mathrsfs ne aggiungono altri 256 arrivando a 1024 segni; (tutti questi numeri vanno raddoppiati per tenere conto anche della serie nera); è mai possibile che 1024 simboli non bastino?

          I conti che ho fatto sono approssimativi, perché alcune di queste polizze non contengono tutti i 128 simboli che potrebbero contenere. Tuttavia il numero resta comunque strepitosamente grande; Eppure esistono ancora altre polizze che contengono ancora altri segni — per esempio la tipografia francese richiede le lettere matematiche greche diritte e non inclinate; ecco, allora un’altra famiglia; in altri casi la tabella dei grandi operatori non contiene tutti i segni di integrale semplice e multiplo variamente decorati che si usano in matematica, ed ecco un’altra famiglia. Se ben ricordo se scrivi con la collezione di font kpfonts vi vengono caricate 14 famiglie di caratteri matematici. Non sto scherzando quando dico di non giocare con i font matematici, nemmeno per provare a farlo; perché si potrebbe eccedere il numero di 16 famiglie.

        • #92049
          Up
          0
          Down
          ::


          Ecco, appunto 🙂 dicevo che era una porcata 🙂 Ovviamente condivido! Tra l’altro io sto usando per la mia tesi i caratteri euler che sono proprio carini (anche se sinceramente a volte mi disturba quando ci sono esponenti o altro che pare si “tocchino”..ma come dicevo…sono proprio carini :-))

          PS1: se ti servono (alcune) varianti di lettere “corsive” standard per la matematica, tipo la elle ricordati che c’è [tt]\ell[/tt] 🙂 (io spesso trovo utile guardare in questo pdf, che raccogli tantissimi simboli, quando non so come scriverne qualcuno…ovviamente cercando se ce ne sono tra quelli nei pacchetti che già ho caricato)

          PS2: @Claudio, se come dici, i caratteri matematici vengono caricati in mille modi incluso il nero, perché per le lettere greche minuscole e maiuscole (matematiche…) ho dovuto caricare bm per averle in nero? forse che sbagliavo qualcosa? (sono pronto alla fustigazione :-)…ma si potesse evitare sarei ben felice di non caricare un pacchetto inutile)

          PS3: @Claudio, c’è un comando da dare, o un modo per vedere, (tipo [tt]\show[/tt] per le variabili…) quali (e quante) famiglie di caratteri sono caricate? Ovvero per sapere quali sono i caratteri usati nel testo nelle varie forme, quali nella matematica ecc?

          Grazie 🙂

          Ora, buon appetito! (non so quanti mangiano alle 13.40…ma io si che ho fame :-))

          Ciao ciao

          Corrado.

        • #92050
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::

            Dork” post=91626
            PS2: @Claudio, se come dici, i caratteri matematici vengono caricati in mille modi incluso il nero, perché per le lettere greche minuscole e maiuscole (matematiche…) ho dovuto caricare bm per averle in nero? forse che sbagliavo qualcosa? (sono pronto alla fustigazione :-)…ma si potesse evitare sarei ben felice di non caricare un pacchetto inutile)

            La cosa è complessa: ogni carattere matematico ha una codifica di due byte, invece che di uno (parlo dei condi interni di pdflatex, non so come vengano trattate queste cose con xelatex e lualatex, non ci sono ancora andato a fondo); in uno c’è l’indirizzo nella polizza dei font, nell’altro ci sono diversi bit che identificano la famiglia matematica, la categoria del carattere, eccetera. il codice di categoria matematica che va da 0 a 7, salvo un valore che rappresenta la categoria di carattere matematico attivo che ha il valore esadecimale “8000. Ogni categoria ha certe sue particolarità; la categoria 0 contiene i simboli letterali a cui appartengono le lettere greche minuscole; la categoria 7 appartiene alla categoria delle lettere e dei simboli che sono gestibili con i comandi per gestire le forme e le serie; a cui appartengono le lettere greche maiuscole, e le lettere latine. In questo modo le lettere latine e quelle greche maisucole obbediscono la comando \mathbf} mentre per le altre bisogna arrampicarsi sui vetri per renderle con le famiglie matematiche nere, senza specificare (esplicitamente) \boldmath, che è un comando che si può dare solo prima di entrare in modo matematico; questo implica l’uso di \bolsymbol, ma funziona meglio \bm definito dal pacchetto bm. \bolsymbol è già definito da amsmath. e non occorrono altri pacchetti.

            Questa tua domanda mi ha fatto venire in mente che dovrei mettere le mani sulla guida tematica relativa ai font, perché sono stato troppo superficiale nel trattare i font matematici.

            Dork” post=91626
            PS3: @Claudio, c’è un comando da dare, o un modo per vedere, (tipo [tt]\show[/tt] per le variabili…) quali (e quante) famiglie di caratteri sono caricate? Ovvero per sapere quali sono i caratteri usati nel testo nelle varie forme, quali nella matematica ecc?

            Forse c’è, ma non lo conosco; posso dire che se si legge il file .log ci osno informazioni sulle famiglie matematematiche via via installate, dopo le prime quattro; nel file .log che si genera quando si usa pdflatex le famiglie sono chiamate mathgroup; forse ci sono comandi specifici nelle estensioni descritte nella documentazione da leggere con texdoc etex, ma in questo momento non vorrei andarlo a cercar, perché sto andando a nanna, visto che domani devo alzarmi presto e poi guidare sotto l’acqua e la neve per un 600km. So che esiste la possibilità di dare il comando, per esempio, \showth\mathchar`\a per vedere come è identifica to il carattere a in matematica, e conoscendo un po’ di codici ASCII, si riesce a staccare l’indirizzo di a dalla aprte che contiene gli altri bit matematici. Però non è facile.

            Buona notte

          • #92051
            Up
            0
            Down
            ::


            Ciao, vi ringrazio per le risposte. Ho capito, quello che vorrei fare è una forzatura e lavorare con le famiglie matematiche per ridefinire quello che voglio è un’impresa..
            Ciao e buona serata!
            laurapau

          • #92052
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::

              Dork wrote:

              PS3: @Claudio, c’è un comando da dare, o un modo per vedere, (tipo \show per le variabili…) quali (e quante) famiglie di caratteri sono caricate? Ovvero per sapere quali sono i caratteri usati nel testo nelle varie forme, quali nella matematica ecc?

              Per sapere quanti e quali font sono stati usati in un dato documento PDF, esiste sempre Adobe Reader; si apre il file e si preme ctrl+D oppure cmd+D e si apre un pannello con diverse linguette che presenta tutte le proprietà del documento; una delle linguette si chiama Fonts; selezionando quella linguetta si ha l’elenco completo dei font effettivamente usati nel documento.

              Scoprirlo quando si è ancora a livello di fiel .tex, scoprire, cioè quali e quanto font sono stati caricati dai pacchetti espliciti e da quelli impliciti è difficile, anche perché spesso i vari pacchetti caricati con \usepackage caricano dei file di descrizione di font .fd che fanno riferimento a font virtuali. Questi sono font, appunto, virtuali, nel senso che sono dotati di un file metrico, ma il file .vf che dovrebbe contenere le dimensioni dei caratteri, le contiene, ma dice anche come prenderli dai file di font reali. Non conosco nessun pacchetto che permetta almeno di elencare tutti i file .fd effettivamente caricati oppure i .tfm effettivamente caricati, dai quali con un po’ di pazienza si potrebbe risalire ai font reali.


              @laurapau
              , la tua decisione è giusta!

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

          Go to top