corso Lualatex

  • Creatore
    Topic
  • #116820
    Up
    0
    Down
    ::


    Buonasera,
    mi è venuta voglia diapprendere le potenzialità di questo pacchetto.
    Ricordo che si parlava di un corso.
    Potreste indicarmi qualcosa di utile?

    Grazie

    Renato

Visualizzazione 13 filoni di risposte
  • Autore
    Risposte
    • #116821
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        @robytex aveva cminciato a scrivere una guida temaitca per neofiti; poi ha mollato a metà; recentemente ha cominciato a riparlarne. Ma chissà se trova il tempo per andare avanti.

        D’altra parte se non usi l’interprete del linguaggio Lua incorporato in LuaLaTeX, non è molto diverso da XeLaTeX, salvo il fatto che lavora meglio di XeLaTeX.

        Ma se apri il solito terminale e dai il comando texdoc luatex puoi già avere un’idea molto approfondita del linguaggio; purtroppo non credo che esista altro che il documento in inglese, forse c’è anche nelle lingue madri dei due maggiori esponenti del progetto LuaTeX.

        Io lo uso molto superficialmente, con le stesse impostazioni per i font e le lingue che uso per XeLaTeX; con LuaLaTeX tutto il resto funziona come in pdfLaTeX, solo che quest’ultimo è limitato ai font con soli 256 caratteri, mentre Xe e Lua possono lavorare con fiont che ne contengono anche diverse decine di migliaia (per esempio gli ideogrammi cinesi).

        Io lo trovo molto utile per generare quasi senza sforzo i file PDF archiviabili secondo le norme ISO; @robitex lousa per il suo lavoro professionale e crea in continuazione nuovi moduli che consentono a lui, ma anche a chiunque ne abbia bisogno, di lavorare in modo molto professionale.

        Per il resto io continuo ad usare pdfLaTeX.

      • #116822
        Up
        0
        Down
        ::

        OldClaudio” post=117239@robytex aveva cminciato a scrivere una guida temaitca per neofiti; poi ha mollato a metà; recentemente ha cominciato a riparlarne. Ma chissà se trova il tempo per andare avanti.

        D’altra parte se non usi l’interprete del linguaggio Lua incorporato in LuaLaTeX, non è molto diverso da XeLaTeX, salvo il fatto che lavora meglio di XeLaTeX.

        Ma se apri il solito terminale e dai il comando texdoc luatex puoi già avere un’idea molto approfondita del linguaggio; purtroppo non credo che esista altro che il documento in inglese, forse c’è anche nelle lingue madri dei due maggiori esponenti del progetto LuaTeX.

        Io lo uso molto superficialmente, con le stesse impostazioni per i font e le lingue che uso per XeLaTeX; con LuaLaTeX tutto il resto funziona come in pdfLaTeX, solo che quest’ultimo è limitato ai font con soli 256 caratteri, mentre Xe e Lua possono lavorare con fiont che ne contengono anche diverse decine di migliaia (per esempio gli ideogrammi cinesi).

        Io lo trovo molto utile per generare quasi senza sforzo i file PDF archiviabili secondo le norme ISO; @robitex lousa per il suo lavoro professionale e crea in continuazione nuovi moduli che consentono a lui, ma anche a chiunque ne abbia bisogno, di lavorare in modo molto professionale.

        Per il resto io continuo ad usare pdfLaTeX.

        La mia idea, è quella di utilizzare LuaTex,solo per eseguire una `if` (o come è chiamata in Lua.
        Cioè, ho creato (con il pacchetto Beamer) alcune slide(forse 200), vorrei dare all’ utente, la possibilità di selezionare le slide che intende usare (9, 32, 103…) pe creare un file con quelle slide, poi io compiloil .tex e lui potrà avere il suo .pdf con le slide scelte.
        Oltre a Lua potrei fare diversamente?

        Grazie

        Renato

      • #116823
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Non so risponderti. Spero che qualche esperto ti sappia rispondere.
          Anche perché beamer crea dei freme ognuno dei quali è composto da una o da diverse slide; ogni slide è una pagina PDF; il numero delle slide non coincide con il numero dei frame. Probabilmente con Lua ci si riesce, ma credo che sia molto difficile comunque. Il problema è difficile. Non sono pdfLaTeX o LuaLaTeX quelli che sono insufficienti.

        • #116824
          Up
          0
          Down
          ::


          si, più specificamente, dovrei parlare di frame (non di slide).
          Ma ho gia diviso (se non ricordo male) quelle che dovranno essere slide attinenti in un unico frame. Posso avere anche frame di una singola slide.

          Ma il problema rimane lo stesso: dare la possibilità di selezionare il / i frame per produrre il pdf da utilizzare nella presentazione.
          Io so come farlo editando il .tex, ma la mia idea è quella di farlo fare all’ utente.

          Renato

          ps
          forse la mia idea è sbagliata all’ origine

        • #116825
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            renareto” post=117244si, più specificamente, dovrei parlare di frame (non di slide).
            Ma ho gia diviso (se non ricordo male) quelle che dovranno essere slide attinenti in un unico frame. Posso avere anche frame di una singola slide.

            Ma il problema rimane lo stesso: dare la possibilità di selezionare il / i frame per produrre il pdf da utilizzare nella presentazione.
            Io so come farlo editando il .tex, ma la mia idea è quella di farlo fare all’ utente.

            Renato

            ps
            forse la mia idea è sbagliata all’ origine

            Ciao a tutti.
            Come diceva Claudio, LuaLaTeX è LaTeX eseguito da LuaTeX quindi i sorgenti dei documenti non cambiano di molto.
            In pratica occorre sostituire un solo pacchetto a favore di fontspec per lavorare con i font Open Type.
            Allora perché cambiare?
            La risposta è semplice e complessa allo stesso tempo, e questo dopo tutto è anche il motivo perché la guida tematica non è ancora uscita.
            Ma anche se non è uscita, basta leggere sull’argomento i lavori apparsi sulla nostra rivista ArsTeXnica per rendersi conto delle potenzialità.
            La prima già disponibile consiste proprio nell’uso dei font Open Type.
            Solo questo credo sia un buon motivo per scegliere LuaLaTeX anziché pdfLaTeX.
            Ce ne sono altri già diciamo implementati, ma sono le nuove potenzialità non ancora sfruttate ad aprire mondi prima preclusi.
            Tuttavia il mio pensiero dopo già alcuni anni di programmazione Lua in LuaTeX è che diviene importante coordinare la comunità di sviluppatori.
            Questa è la parte complessa. Coordinare lo sviluppo al livello applicativo.

            Se ci sarà “richiesta” cercherò di pubblicare la guida.
            Un saluto.
            R.

          • #116826
            Up
            0
            Down
            ::

            robitex” post=117245
            Se ci sarà “richiesta” cercherò di pubblicare la guida.
            Un saluto.
            R.

            La richiedo
            🙂
            comunque il mio non è un prob di font, ma pensavo di poter fare quello che ho scritto utilizzando un linguaggio di programmazione (appunto Lua)

            Renato

          • #116827
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              renareto” post=117244si, più specificamente, dovrei parlare di frame (non di slide).
              Ma ho gia diviso (se non ricordo male) quelle che dovranno essere slide attinenti in un unico frame. Posso avere anche frame di una singola slide.

              Ma il problema rimane lo stesso: dare la possibilità di selezionare il / i frame per produrre il pdf da utilizzare nella presentazione.
              Io so come farlo editando il .tex, ma la mia idea è quella di farlo fare all’ utente.

              Renato

              ps
              forse la mia idea è sbagliata all’ origine

              E come dovrebbe funzionare la sintassi di un eventuale comando?
              Tipo:
              `
              \insertframeonly{intro,arg1,arg6,finale,ringraziamenti}
              `
              R.

            • #116828
              Up
              0
              Down
              ::


              ma, non saprei, accetto consigli.
              Si, diciamo che assegnata una etichetta ad ogni slide/frame, mi serve un qualcosa per dire:
              `se questo frame/slide è fra quelli sceltri dall' utente…allora selezionalo `
              no?

              Renato

            • #116829
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                renareto” post=117250ma, non saprei, accetto consigli.
                Si, diciamo che assegnata una etichetta ad ogni slide/frame, mi serve un qualcosa per dire:
                `se questo frame/slide è fra quelli sceltri dall' utente…allora selezionalo `
                no?

                Renato

                Ciao Renato,
                Si OK, ma come prevedi che l’utente possa scegliere le slide?
                L’utente, compila un file .tex? oppure “sceglie” in altro modo?
                R.

              • #116830
                Up
                0
                Down
                ::


                Buongiorno,
                io pensavo: L’utente sa qual’è la slide 7,34, 71 etc. (ad esempio potrei pubblicare in un angolo il numero), a questo punto, si potrebbe creare un semplice file di testo, separando le slide da un carattere, quindi quando lancio la compilazione, si va a pescare il file di testo e capisce quali slide prendere leggendo il file di testo.
                E’ possibile fare una cosa del genere?

                Renato

              • #116831
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  renareto” post=117258Buongiorno,
                  io pensavo: L’utente sa qual’è la slide 7,34, 71 etc. (ad esempio potrei pubblicare in un angolo il numero), a questo punto, si potrebbe creare un semplice file di testo, separando le slide da un carattere, quindi quando lancio la compilazione, si va a pescare il file di testo e capisce quali slide prendere leggendo il file di testo.
                  E’ possibile fare una cosa del genere?

                  Renato

                  Vuoi che gli utenti possano fare piccole modifiche alle slide oppure no?
                  R.

                • #116832
                  Up
                  0
                  Down
                  ::


                  No no, le slide le faccio e le modifico io.

                  Se poi l ‘utente riesce a darmi il file di testo con il numero di slide da pescare (il fine ultimo è quello di insegnare all’ utente a fare qusta cosa e renderlo totalmente autonomo)

                  Renato

                • #116833
                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    renareto” post=117264No no, le slide le faccio e le modifico io.

                    Se poi l ‘utente riesce a darmi il file di testo con il numero di slide da pescare (il fine ultimo è quello di insegnare all’ utente a fare qusta cosa e renderlo totalmente autonomo)

                    Renato

                    Ciao,
                    ecco una possibile soluzione con Lua: ti descrivo il contesto:
                    Si scrive il codice delle slide in un file chiamato “frames.lua”. Esatto, l’estensione è .lua e non .tex perché contiene la definizione di una tabella Lua dove a un indice intero (ma si possono usare anche dei nomi e si possono anche saltare dei numeri), corrisponde il testo di un frame. Ecco il codice di esempio:
                    `
                    local frames = {
                    [1] = [===[
                    \begin{frame}{Prima slide}
                    Prima slide
                    \end{frame}
                    ]===],

                    [2] = [===[
                    \begin{frame}{Seconda slide}
                    Ecco un elenco meraviglioso:

                    \begin{itemize}
                    \item<1-> una prima cosa;
                    \item<2-> una seconda cosa;
                    \item<3-> una terza e ultima cosa.
                    \end{itemize}

                    \end{frame}
                    ]===],

                    [3] = [===[
                    \begin{frame}{Terza e ultima slide}
                    Terza e ultima slide
                    \end{frame}
                    ]===],
                    }

                    local frame_lines = {}
                    for i, code in pairs(frames) do
                    frame_lines = {}
                    local lines = frame_lines
                    for l in code:gmatch(“(.-)\n”) do
                    lines[#lines + 1] = l
                    end
                    end

                    return frame_lines
                    `

                    All’interno della tabella ‘frames’ la sintassi è quindi:
                    `[] = [===[
                    \begin{frame}{}<br> contenuto<br> \end{frame}<br> ]===],`

                    L’ultima parte del codice è una questione tecnica: si devono ulteriormente separare le linee di codice di un frame, perché poi si possa usare correttamente la funzione tex.print().

                    Veniamo ora al secondo file: contiene il sorgente della presentazione e può essere liberamente impostato:
                    `% !TeX encoding = UTF-8
                    % !TeX program = LuaLaTeX

                    \documentclass{beamer}
                    \usepackage{fontspec}
                    \usepackage[italian]{babel}

                    \usetheme{Frankfurt}

                    \title{My presentation of the best invention in the World}
                    \author{Name Of Myself}
                    \date{3 dicembre 2019}

                    \directlua{frametable = dofile[[frames.lua]]}
                    \newcommand\includeframe[1]{\directlua{
                    local list = {#1}
                    for _, f in ipairs(list) do
                    tex.tprint(frametable[f])
                    end
                    }}

                    \begin{document}

                    \begin{frame}
                    \titlepage
                    \end{frame}

                    \includeframe{2, 3}
                    \end{document}
                    `

                    La parte Lua sta nel caricare il file dei frame, si tratta quindi di tutto l’archivio completo dei frame a disposizione, e poi di definire la macro \includeframe che prende la lista dei numeri di frame separati da virgola.

                    Nella presentazione si possono inserire più comandi \includeframe così da poter inserire eventualmente delle \section.
                    Inoltre il codice si può anche migliorare per gestire anche intervalli.
                    Per esempio:
                    `\includeframe{1, 10-20, 89}`
                    Alla prossima.
                    R.

                  • #116834
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::


                      Ciao,
                      altre funzioni di controllo potrebbero essere falmente implementate:
                      — evitare che sia inserita la stessa slide più di una volta
                      — evitare che siano inserite slide in ordine inverso

                      La cosa penso sia facile da fare anche con L3. Tuttavia c’è una differenza: mentre la versione Lua qui presentata non ha dipendenze, quella L3 includerebbe molte linee di codice.
                      In altre parole, con Lua è facile di per se, con L3 lo è ma con parecchio codice aggiuntivo.
                      Alla prossima.
                      R.

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

                  Go to top