[Risolto] make4ht e chiamata di funzioni nell’ambiente math

  • Creatore
    Topic
  • #120493
    Up
    0
    Down
    ::


    Salve a tutti, sto cercando di tradurre in html il testo “Matematica Dolce”, serve per renderlo più facilmente accessibile a chi ha problemi di vista.

    Mi sono orientato a usare make4ht per produrre il documento html + mathjax.

    Dopo un periodo di studio della poca documentazione e dei pochi esempi, ho iniziato il lavoro di conversione.

    Data la complessità del testo, uso diverse funzioni che permettono di semplificare la scrittura e uniformare i risultati, ma queste funzioni (nell’ambiente matematico?) non funzionano.

    Per rendere l’idea del problema riporto un esempio minimo:

    `
    \documentclass[a4paper,10pt]{memoir}
    \usepackage[utf8]{inputenc}
    % \usepackage{graphics}
    \usepackage{amsfonts, amssymb}

    %———————————
    % Definizione delle funzioni
    \newcommand{\N}{\ensuremath{\mathbb{N}}}
    \newcommand{\Z}{\mathbb{Z}}
    \newcommand{\tonda}[1]{\left( #1 \right)}
    \newcommand{\quadra}[1]{\left[ #1 \right]}
    \newcommand{\intervac}[2]{\left]#1;~#2\right]}

    \begin{document}
    \section{Senza l'uso di funzioni}
    Insiemi numerici:

    \(\mathbb{N}\); \(\mathbb{Z}\); \dots

    Espressioni:

    \[4x^2 +3x +2 = \left[\left(4x+3\right) \cdot x +2 \right]\]

    Intervallo:

    \(2 < x \leqslant 5 \Rightarrow \left]2;~5\right]\) \section{Con l'uso di funzioni} Insiemi numerici: \(\N\); \(\Z\); \dots Espressioni: \[4x^2 +3x +2 = \quadra{\tonda{4x+3} \cdot x +2}\] Intervallo: \(2 < x \leqslant 5 \Rightarrow \intervac{2}{5}\) \end{document} ` La sezione "Senza uso di funzioni" produce il risultato corretto. La sezione "Con l'uso di funzioni", riporta in rosso il nome della funzione e la ignora. Ovviamente compilando in pdf con pdflatex ottengo in entrambi i casi il risultato cercato. Il comando di compilazione è: make4ht testmathbb.tex -l -u -s -d dist "mathjax" dove "testmathbb.tex" è il file riportato sopra e "dist" è la directory di destinazione del file prodotto dalla compilazione. Non ho trovato nulla in Internet a questo riguardo, qualcuno potrebbe darmi delle indicazioni? 1. La scelta di make4ht è buona o è preferibile usare qualche altro strumento? 2. Il problema che ho incontrato è un limite del compilatore o un qualche errore mio? 3. Come è possibile risolvere il problema? Grazie per l'attenzione. Daniele

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


      Aggiungo che le funzioni richiamate non all’interno dell’ambiente matematico, funzionano correttamente.

    • #120495
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Non entro nel merito di sostituire l’uscita in PDF con una trasformazione in HTML; tuti i programmi che conosco, in particolare tex4ht (che riceve continui aggiornamenti e migliorie).

        Ti suggerisco di usare tex4ht,almeno di provarlo; la documentazione è leggibile con texdoc tex4ht, anche se questo comando ti apre una finestra con il browser di rete. Il vantaggio di tex4ht permette si produrre direttamente dal file ,tes un’uscita o in formato HTML oppure in formato XML.

        Tuttavia le schermate prive del concetto di pagina, ma con scorrimento continuo del testo dentro una finstra del calcolatore, finestra che puoi allargare o restngere, col contenuto che puoi ingrandire o rimpicciolire, sembra pi`comodo da usare anche perché siamo abituati a navigare in rete. Tuttavia quandoil testo è serio e contiene figure, formule, tabelle e compagnia, il formato PDF, secondo me, ripteo socondo il mio gusto personale, non è adatto; d’altra parte i visualizzatori PDF per tutti i sistemi operativi permettono di ingrandire a pieno schermo la paginePDF, e anche chi ha problemi di vista legge benissimo. Sempre che il calcolaore in questione non sia un tablet da 7 pollici di diagonale, sufficienti per leggere pagine web non complicate, ma assolutamente inadatto per leggere un testo di matematica, anche se lo metti in posizione landscape.

        Ecco perché, senza voler criticare la tua scelta, ritengo ce sia una scelta non opportuna; ma si tratta di un parere strettamente legato al mio gusto personale, non è assolutamente come una prescrizione del medico…:smile:

      • #120496
        Up
        0
        Down
        ::

        OldClaudio” post=121003Non entro nel merito di sostituire l’uscita in PDF con una trasformazione in HTML; tuti i programmi che conosco, in particolare tex4ht (che riceve continui aggiornamenti e migliorie).

        Ti suggerisco di usare tex4ht,almeno di provarlo; la documentazione è leggibile con texdoc tex4ht, anche se questo comando ti apre una finestra con il browser di rete. Il vantaggio di tex4ht permette si produrre direttamente dal file ,tes un’uscita o in formato HTML oppure in formato XML.
        […]

        Veramente io ho capito che make4ht usa proprio tex4ht e anche nella documentazione indicata viene mostrato l’uso di make4ht.

        Comunque in tutta la documentazione che ho letto non ho mai visto citato il problema che ho incontrato.

        Quindi il mio dubbio rimane:

        o sono l’unico che ha sbagliato l’uso di make4ht
        o sono l’unico che usa delle funzioni per semplificare la scrittura di formule matematiche.

        In ogni caso le due ipotesi precedenti mi sembrano piuttosto improbabili.

        Grazie.

        Daniele

      • #120497
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il fatto che make3ht usi tex4ht mi era del tutto sconosciuto; e questo la dice lunga sulla mia incompetenza in merito alla trasformazione dei file marcati con LaTeX in file marcati HTML o XML.

          Però la documentazione che ho letto in merito a questi “trasformatori” o compilatori dei sergenti .tex in file estranei al mondo TeX (al mondo della ipografia) mi ha sempre “deluso” perché vi si dice chiaramente che in linea di principio vengono radotti bene i comandi nativi di Plain TeX e LaTeX; che sono accettabili solo alcuni pacchetti esterni ai nuclei di Plain e di LaTeX, e quindi che le definizioni personali di comandi come quelli che hai definito, non sono “supportati”. Forse non ce la fa nemmeno mathjax, perché anche lui ha i suoi problemi con la miriade di pacchetti che gli auori possono usare.

          Non è facile produrre un programma, indipendentemente dal linguaggio, che sia in grado di sostituire nel file sorgente l’uso delle macro definite dai pacchetti o dall’autore con i loro sviluppi; in un certo senso bisognerebbe reinventare il programma tex-the-program per produrre un’uscita diversa. E quello che dovrebbe fare tex4ht, ma il limite è dovuto proprio alle definizioni personali e ai pacchetti usati.

          Fra i documenti leggibili con texdoc, ce n’è uno scritto da Peter Flynn, professore di tipografia all’università di Cork, che compone direttamente in XML, che definisce i fogli di stile per convertirli in .tex, e poi compila producendo degli ottimi risultati. Combinazione parla di tutto tranne che della matematica. 🙁

          Il testo di Flynn è intitolato Formatting information -— A beginner’s introduction to typesetting with LaTeX. Lo si trova nell’archivio di CTAN, non è distribuito con TeX Live. bisogna cercare il file [tt]beginlatex-36.pdf[/tt]. Vale la pena scaricarlo e leggerlo.

          Un altro programma da usare da linea di comando, è [tt]pandoc[/tt]; gestisce virtualmente ogni tipo di formato, e converte dall’uno all’altro; ti conviene esaminare il suo sito http://www.pandoc.org, da cui puoi eventualmente scaricare il file di installazione. Per la conversione si affida ad un formato quasi universale; dal formato X trasforma nel formato md (markdown) o, mi pare, anche mmd (multimarkdown) e da questo esegue l’ulteriore trasformazione nel formato desiderato Y; ovviamante fra gli X e gli Y c’è anche LaTeX. Incidentalmente da qualche anno la documentazione di molti pacchetti è fornita di file .md o mmd; è chiaro che per leggerli bisogna disporre di editor md o mmd; Per il Mac, io ho installato MultimarkdownComposer.app, e ammetto che la lettura della documentazione, con la finestra del file sorgente accanto alla finestra di lettura, è molto utile e istruttiva.

          Nella Guida GuIT (sezione documentazione di questo forum} al paragrafo 23.3.3 si parla di Scrivener che si appoggia a sua volta su mmd. Si possono fare tante cose utili; è essenzialmente un editor e un organizzatore di file, ma offre la possibilità di inserire nei suoi file anche comandi LaTeX. Chi ha contribuito alla Guida GuIT le informazioni relative a Scrivener, ne è entusiasta. Io l’ho provato ma non ne sono rimasto convinto, perché lavoro da solo, non in gruppo, mentre Scrivener è pricipalmente destinato a lavori collettivi; tuttavia ne riconosco l’utilità e mi sento di consigliarlo.

        • #120498
          Up
          0
          Down
          ::


          Grazie per le tante informazioni che hai inviato.

          Io, con il mio inglese maccheronico ho scritto all’autore di make4ht che, molto gentilmente e sollecitamente, ha risposto indicandomi la soluzione attraverso la scrittura di un file di configurazione che indica a Mathjax come gestire le macro definite dall’utente.

          È un po’ una rottura perché bisogna mantenere allineati i comandi LaTeX e quelli Mathjax.
          Una parziale soluzione potrebbe essere quella di mettere in un file separato tutte le macro relative all’ambiente math e scrivere un programmino che crea il file di configurazione.

          Non riporto qui la soluzione ma rimando all’issue di make4ht:

          https://github.com/michal-h21/make4ht/issues/50

          Grazie ancora.

          Daniele.

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

      Go to top