robitex

Risposte nei forum create

Stai visualizzando 15 risposte – dal 1,156 al 1,170 (di 2,928 totali)
  • Autore
    Risposte
  • in risposta a: Preventivo #93987
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::

      LBreda” post=93576

      Potevi tranquillamente utilizzare le vecchie credenziali del sito del Sant’Anna.

      Uhm, non mi funzionarono, ma probabilmente sbaglio la password.

      Penso che per usare un db in LaTeX ci siano due strade:
      1 – [modo esterno] creazione del sorgente in automatico, compilazione, report finale;

      Sí, ovviamente, ma scrivere un programma che mi produca preventivi (e sarebbe carino producesse anche il PDF, ma mi sa che non ci sono librerie e tocchi cavarsela con qualche pipeline), al momento, mi pare un po’ come tentare di uccidere una mosca con un bazooka. Funziona, ma ne vale la pena?

      2 – [modo interno] creazione di un pacchetto per LuaLaTeX che si connette al db ed esegue le query.

      LuaLaTex è la prima volta che lo sento nominare. Potrebbe essere l’occasione per imparare qualcosa di nuovo, anche se a quanto mi dici è un bazooka che ogni tanto fa pure cilecca nel far fuori la mosca. Grazie per i link (per una cosa del genere preferirei SQLite, nonostante le noie di scalabilità nella progettazione del DB, che andare a modificare le strutture delle tabelle è una pena). Solo che non conosco il Lua, per quanto mi sembri molto facile da apprendere.

      Ciao,
      nel modo 1 puoi usare il linguaggio che ritieni adatto: dal C a Ruby.
      Per la questione ‘bazooka contro la mosca’ direi questo:
      qualsiasi programma di gestione preventivi puoi vederlo come un bazooka contro la mosca.
      Nel caso di cui stiamo ragionando, hai un vantaggio: l’applicazione la costruisci tu, il codice LaTeX lo crei tu ed è facilmente modificabile (nel senso che non si tratta di report da compilare in un binario ma di un file di testo).

      In questi giorni sto mettendo a punto un sistema basato su LaTeX per produrre documenti fiscali. Ho messo a punto la struttura del database ma non ho ancora deciso se passerò dal modo 1 o dal modo 2. Ed in effetti è abbastanza ininfluente: posso inserire i dati con mille client diversi e posso ralizzare i report con mille librerie diverse (purché ovvio compatibili con il database scelto).

      Alla prossima.
      R.

      in risposta a: LuaTeX non trova il modulo luasql.sqlite3 #93926
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Solo un paio di veloci aggiornamenti:
        1 – non sono riuscito a duplicare il successo del codice con la funzione di basso livello package.loadlib() con Windows.
        ricevo in console il messaggio che il codice è andato in crash nel momento in cui eseguo la funzione restituita da loadlib().

        2 – ho capito perché texlua mi dava diversi percorsi di ricerca: infatti il programma non coinvolge kpathsea ma esegue la ricerca tradizionale di Lua.
        R.

        in risposta a: Preventivo #93985
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          LBreda” post=93555

          Già; credo che tu debba crearti una classe ad hoc; prova a vedere la guida tematica sulle classi, qui sopra nella sezione Documentazione.
          Ricorda: il logo tuo va nella testatina, il logo del cliente, ammesso che in un preventivo ci voglia, va nel copro del messaggio.

          Ci proverò appena ho un po’ di tempo.

          Se vuoi una intestazione che contenga due riquadri, uno con i dati della tua ditta (ragione sociale, logotipo, partita IVA, IBAN e quant’altro sei solito inserire nei preventivi, e analogamente un riquadro con i dati del cliente con ragione sociale, codice fiscale o partita IVA, eccetera, si può sempre fare in testa al corpo una unica tabella riquadrata con 2 colonne di tipo X (pacchetto tabularx) dal contenuto allineato a sinistra;

          Ma una cosa del genere si può fare nella testatina?

          robitex” post=93550
          Benvenuto sul forum!

          Grazie! Qualche volta chiesi aiuto anche sul vecchio forum, ma secoli fa.

          Aggiungo che occorre mettere a punto anche il lato “getione dati”.
          Questo aspetto è fondamentale perché da esso dipende non solo l’efficienza con cui produci i preventivi, ma anche le potenzialità di crescita e modifica e adattamento.
          Ho creato centinaia di preventivi con LaTeX, che per me si chiamano computi metrici esecutivi.

          Questo sarebbe molto interessante, sono decisamente a mio agio con i database. Ma come può essere implementata la cosa in LaTeX?

          Puoi dirci qualcosa di più su come è costruito un tuo preventivo?

          Intestazione con dati miei e del cliente, breve testo che riassume i requisiti del cliente sul lavoro, tabella del tipo “oggetto – costo”. A volte, in un documento analogo ma precedente al preventivo vero e proprio, le tabelle sono piú di una, per le diverse combinazioni di servizi tra i quali l’eventuale cliente con le idee poco chiare possa scegliere (ma potrei fare piú preventivi e sarebbe lo stesso).

          Non vorrei insistere troppo, ma l’uso di un database dovrebbe essere sempre preso in considerazione in questi casi.

          Sarebbe meraviglioso.

          Potevi tranquillamente utilizzare le vecchie credenziali del sito del Sant’Anna.
          Penso che per usare un db in LaTeX ci siano due strade:
          1 – [modo esterno] creazione del sorgente in automatico, compilazione, report finale;
          2 – [modo interno] creazione di un pacchetto per LuaLaTeX che si connette al db ed esegue le query.

          Uso preferibilmente la prima perché non è sempre facile connettersi da LuaTeX alle librerie, e forse si perde qualcosa.
          Leggi per esempio questo post recente:
          http://www.guitex.org/home/it/forum/5-tex-e-latex/93493-luatex-non-trova-il-modulo-luasqlsqlite3
          ma esiste anche un post sul mio blog per PostgreSQL.
          Saluti.
          R.

          in risposta a: Problema TexnicCenter #93961
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::


            Scusate,
            in questa pagina http://texniccenter.sourceforge.net/customization.html#customizing-menus
            è mostrata la possibilità di resettare i menù.
            Non conviene provare?
            R.

            in risposta a: Preventivo #93983
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              LBreda” post=93546Salve,

              Esistono classi per (o adattabili per) fare preventivi? Finora mi sono abbastanza arrangiato a mano, ma i risultati lasciano molto a desiderare. Tabella a parte, è sempre un po’ problematico il posizionamento di dati e logo miei e del cliente.

              Grazie,


              Lorenzo Breda

              Benvenuto sul forum!
              Aggiungo che occorre mettere a punto anche il lato “getione dati”.
              Questo aspetto è fondamentale perché da esso dipende non solo l’efficienza con cui produci i preventivi, ma anche le potenzialità di crescita e modifica e adattamento.
              Ho creato centinaia di preventivi con LaTeX, che per me si chiamano computi metrici esecutivi.
              Ci sono qundi due punti di vista da tenere separati il più possibile:
              * come il documento deve apparire
              * quali dati devono essere gestiti

              Puoi dirci qualcosa di più su come è costruito un tuo preventivo?
              I miei computi hanno per esempio tre sezioni:
              * una prima sezione anagrafica per l’individuazione dell’oggetto dei lavori
              * una sezione di voci prezzi/quantità/unità di misura/totale
              * una sezione con una tabella di ripartizione delle spese

              Non vorrei insistere troppo, ma l’uso di un database dovrebbe essere sempre preso in considerazione in questi casi.
              Saluti.
              R.

              in risposta a: LuaTeX non trova il modulo luasql.sqlite3 #93925
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::


                Eccomi qui!
                Osservate questo codice:
                `local cpath = kpse.find_file('sqlite3.so', 'clua')
                texio.write_nl(cpath)
                local luasql = package.loadlib(cpath, 'luaopen_luasql_sqlite3')

                env = assert(luasql().sqlite3())`

                Con esso si fa a meno di qualsiasi intervento manuale! 8)
                Per prima cosa si incarica il modulo LuaTeX kpse di ricercare il percorso della libreria specificando che si tratta di una libreria dinamica scritta in C.
                L’istruzione successiva stampa ilpercorso in console per controllo.
                Ok.
                Adesso si utilizza la funzione di basso livello package.loadlib. Essa ha bisogno di due argomenti: il percorso alla libreria (cha abbiamo appena fatto ricercare) ed il nome della funzione entry-point.

                A questo punto non rimane che creare l’ambiente per lavorare chiamando due funzioni in cascata: luasql() restituisce una tabella che contiene la funzione sqlite3, quindi il codice significa chiama luasql() per ottenere la tabella che contiene la funzione principale, ed eseguila per ottenere l’ambiente, ovvero il pieno e completo accesso alle funzionalità della libreria.

                Questo è un esempio minimo compilabile se solo si ha l’accortezza di creare a parte il file del database con il codice postato all’inizio:
                `% !TEX program = lualatex

                \documentclass{article}
                \usepackage{luacode,booktabs}

                \begin{document}
                \begin{luacode*}
                local cpath = kpse.find_file('sqlite3.so', 'clua')
                texio.write_nl(cpath)
                local luasql = package.loadlib(cpath, 'luaopen_luasql_sqlite3')

                env = assert(luasql().sqlite3())
                texio.write_nl(type(env))

                — connect to data source
                con = assert (env:connect(“luasql-test”))
                — retrieve a cursor
                cur = assert (con:execute”SELECT name, email from people”)
                — print all rows, the rows will be indexed by field names
                row = cur:fetch ({}, “a”)
                tex.sprint([[\begin{tabular}{@{}ll@{}}\toprule]])
                tex.sprint([[Name & email \\\midrule]])
                while row do
                tex.sprint(-2,row.name)
                tex.sprint(“&”)
                tex.sprint(-2, row.email)
                tex.sprint(“\\\\”)
                — reusing the table of results
                row = cur:fetch (row, “a”)
                end
                tex.sprint([[\bottomrule\end{tabular}]])
                — close everything
                cur:close()
                con:close()
                env:close()
                \end{luacode*}
                \end{document}
                `

                Non so cosa accedrebbe se sul sistema fossere installati più file sqlite3.so. Una cosa questa da approfondire.

                Se volessimo conoscere la versione della libreria dinamica potremo fare:
                `% !TEX program = lualatex

                \documentclass{article}
                \usepackage{luacode,booktabs}

                \begin{document}
                \begin{luacode*}
                local cpath = kpse.find_file('sqlite3.so', 'clua')
                texio.write_nl(cpath)
                local luasql = package.loadlib(cpath, 'luaopen_luasql_sqlite3')

                local libdin = assert(luasql())
                texio.write_nl('VERSION: '..libdin._VERSION)
                texio.write_nl('COPYRIGHT: '..libdin._COPYRIGHT)
                texio.write_nl('DESCRIPTION: '..libdin._DESCRIPTION)
                \end{luacode*}
                \end{document}`
                per ottenere in console:`VERSION: LuaSQL 2.3.0
                COPYRIGHT: Copyright (C) 2003-2012 Kepler Project
                DESCRIPTION: LuaSQL is a simple interface from Lua to a DBMS
                `

                Devo dire che la documentazione di LuaTeX non ha il pregio di essere comprensibile. lo dico perché la consultazione non è agevole: molte informazioni sono omesse ed occorre una lenta ricerca dei singoli pezzi.

                Questo post non risolve ancora completamente il problema, però spiega come funzionano le cose un po’ meglio.
                L’ideale sarebbe poter ricorrere alla funzione require() di Lua. Forse serve scrivere un searcher specializzato ed aggiungerlo agli altri di LuaTeX (una cosa simile a quello di Oberdiek [luatexbase.loder] che funziona solo per librerie esterne scritte in Lua).

                Proseguo le ricerche intanto, augurandovi una buona serata.
                R.

                in risposta a: LuaTeX non trova il modulo luasql.sqlite3 #93924
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::


                  Ciao, ci sono novità.
                  Ho scoperto perché vengono ricercati i file di libreria anche al di fuori del tds.
                  Ciò è dovuto al fatto che il loader di Lua non è sostituito ma invece integrato da quello previsto da LaTeX e basato su kpathsea.
                  La ricerca avviene quindi per prima sul searcher di kpathsea poi il controllo passa a quello di Lua 5.2.
                  I percorsi di ricerca sono contenuti nella variabile di tipo stringa package.cpath.
                  Per scoprirne il contenuto basta eseguire il seguente codice LuaTeX o l’equivalente LuaLaTeX o ConTeXt miv, per stampare nel log:
                  `\directlua{
                  texio.write_nl(package.cpath)
                  }

                  \bye`

                  A breve cercherò di approfondire l’argomento per trovare una soluzione soddisfacente.
                  Buona giornata.
                  R.

                  in risposta a: LuaTeX non trova il modulo luasql.sqlite3 #93923
                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::


                    Claudio funziona!!! 😀 😀 😀
                    Non proprio esattamente come mi hai suggerito e un poco simile ad un trucco, come vado a spiegare subito.
                    In effetti i percorsi di ricerca dovrebbero essere interni all’albero TDS?
                    Ed allora non mi spiego perché nel messaggio di errore viene descritto un percorso fuori dall’albero di TeX Live:
                    `no file '/usr/local/lib/lua/5.2/luasql.so'`

                    Allora ho fatto un primo tentativo: ho creato un link simbolico nell’albero personale alla libreria con questo comando:
                    `ln -s /usr/lib/x86_64-linux-gnu/liblua5.2-sql-sqlite3.so.2.0.0 ~/texmf/bin/lua/5.2/luasql/sqlite3.so`
                    e non ha funzionato.

                    Secondo tentativo è quello di far trovare il link simbolico proprio nel path indicato nel messaggio d’errore.
                    In questo caso ho dovuto creare le directory perché /usr/local/lib/lua/5.2/ non esiste in quanto Lua è installata da un’altra parte (del resto anche nel caaso precedente perché non esisteva neanche la directory personale).
                    Il comando è stato questo dato dalla cartella /usr/local/lib/lua/5.2:
                    `sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.2-sql-sqlite3.so.2.0.0 luasql.so`

                    In questo caso funziona, ma non è proprio il massimo perché sono obbligato a nominare il link ‘luasql.so’. Se volessi installare un altro driver per un database diverso non potrei.

                    Lua nel sistema è installata in:
                    `roberto@roberto-desktop:~$ which lua
                    /usr/bin/lua
                    roberto@roberto-desktop:~$ lua -v
                    Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
                    `
                    Grazie e buona serata.
                    R.

                    in risposta a: Problema comando \input: aiuto e/o suggerimenti? #93865
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::

                      DeX” post=93456Buongiorno a tutti 🙂

                      Sono un laureando arrivato ormai agli sgoccioli, e la stesura della tesi ormai mi occupa gran parte della giornata; prima di iniziare la scrittura del mio progetto ho letto qualche guida di LaTex e poi mi sono buttato a capofitto in questo mondo.
                      Negli ultimi giorni sto litigando con un comando apparentemente semplice e banale (da quanto ho letto un po’ ovunque nel Web), \include o \input …. Ed è per questo che chiedo disperatamente il vostro aiuto:

                      I miei relatori vogliono un file principale all’interno del quale dovrò importare i capitoli, man mano che saranno pronti; ho creato un MainFile.tex inquesto modo:

                      `
                      \documentclass{book}
                      \usepackage{amsmath, amssymb}
                      \usepackage[T1]{fontenc}
                      \usepackage[utf8]{inputenc}
                      \usepackage[italian]{babel}


                      \input{02CapDue}

                      \begin{document}

                      \end{document}
                      `

                      In questo modo compila tutto alla perfezione.
                      Il problema sorge nel momento in cui voglio importare il capitolo successivo.

                      Esattamente sotto \input{02CapDue} inserisco \input{03CapTre} (entrami i capitoli sono nella medesima cartella), compilo due volte e il PDF creato da TexMaker mi mostra solo il primo file!
                      Ho provato in tutte le salse, seguendo mille indicazioni, ogni volta errori diversi … Potete darmi una mano per favore? I tempi stringono, ormai mancano due settimane alla consegna, e ho questo peso sullo stomaco non indifferente!

                      Come posso importare più file .tex all’interno di un .tex principale???

                      Ringrazio tutti per la cortesia e disponibilità.

                      DeX

                      Ciao DeX e benvenuto (ps. come hai fatto a loggarti nel momento stesso in cui ti ho attivato? ho sospettato di aver attivato un utente malintezionato)!

                      Forse è perché il comando \input{nomefile} non si trova all’interno dell’ambiente document?
                      R.

                      in risposta a: Garamond contro la crisi #93755
                      robitex
                      Amministratore del forum
                        Up
                        0
                        Down
                        ::


                        Contro la crisi serve una cosa molto più semplice.
                        Comunque, basterebbe adottare il software libero nella pubblica amministrazione per risparmiare ben altri soldi.
                        R.

                        in risposta a: Problema pdfpages #93746
                        robitex
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::

                          pasotti” post=93324Beh il mio è un documento di passa 500 pagine, includo parecchi documenti, stampo fronte e retro l’intero file…sarebbe assai più pratico avere modo di avere già nel file le tavole solo nei fogli di destra…

                          La stampa fronte/retro è più lenta e sollecita molto la meccanica della stampante.
                          R.

                          in risposta a: Problema pdfpages #93744
                          robitex
                          Amministratore del forum
                            Up
                            0
                            Down
                            ::

                            pasotti” post=93322Ti ringrazio vivamente!
                            Per quanto riguarda la tua osservazione, ti dirò, mi hai messo la pulce…

                            E anzi, a sto punto…se invece volessi inserire le tavole solo sui fogli a destra, cioè praticamente lasciando bianca la pagina a sinistra, come potrei fare?

                            Stampi solo su un lato no?
                            R.

                            in risposta a: \DisplayCoffinHandles #93665
                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::


                              In effetti xcoffins è un pacchetto enduser.
                              È normale prevedere che la classe non sia minimal.
                              R.

                              in risposta a: \DisplayCoffinHandles #93661
                              robitex
                              Amministratore del forum
                                Up
                                0
                                Down
                                ::


                                Allora bisogna aggiornare la GuidaGuIT perché leggo:
                                `minimal è una classe minima, fatta apposta per avere una classe che garantisca il
                                minimo di performance, essenzialmente pensata per collaudare la definizione
                                di nuovi comandi o lo sviluppo e le prestazioni di nuovi pacchetti di
                                estensione quando il programmatore li sta costruendo.`

                                🙂
                                R.

                                in risposta a: Produrre linea sotto il titolo #93603
                                robitex
                                Amministratore del forum
                                  Up
                                  0
                                  Down
                                  ::


                                  Ho giocato un po’ con il pacchetto xcoffins.
                                  Aggiungo che i comandi possono essere usati direttamente nel documento senza bisogno dell’ambiente di programmazione L3.
                                  Ecco un esempio sempre per sottolineare un titolo:
                                  `\documentclass{article}
                                  \usepackage{xcoffins}
                                  \begin{document}

                                  \NewCoffin\titletext
                                  \NewCoffin\titleline

                                  \SetHorizontalCoffin\titletext{\Large Titolo unico}
                                  \SetHorizontalCoffin\titleline{%
                                  \rule{\CoffinWidth\titletext}{0.2pt}%
                                  }
                                  \JoinCoffins
                                  \titletext\titleline

                                  \TypesetCoffin\titletext

                                  \end{document}`
                                  Diversamente da franen, il join prevede che ia il titolo ad essere il padre e la linea il figlio ($ texdoc xcoffins per leggere la documentazione L3).

                                  Per fare in modo che la linea tocchi sempre la base dei caratteri, basta aggiungere tra parentesi tonde al join una distanza:
                                  `\documentclass{article}
                                  \usepackage{xcoffins}
                                  \begin{document}

                                  \NewCoffin\titletext
                                  \NewCoffin\titleline

                                  \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
                                  \SetHorizontalCoffin\titleline{%
                                  \rule{\CoffinWidth\titletext}{0.2pt}%
                                  }
                                  \JoinCoffins
                                  \titletext\titleline
                                  (0pt, -\CoffinDepth\titletext)
                                  \TypesetCoffin\titletext

                                  \end{document}`

                                  Con gli argomenti opzionali tra parentesi quadre del join invece, regoliamo i punti di unione.
                                  Per esempio per sovrapporre una linea nel centro del testo usiamo specificare le chiavi che corrispondono agli allineamenti:
                                  `\documentclass{article}
                                  \usepackage{xcoffins}
                                  \begin{document}

                                  \NewCoffin\titletext
                                  \NewCoffin\titleline

                                  \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
                                  \SetHorizontalCoffin\titleline{%
                                  \rule{\CoffinWidth\titletext}{0.2pt}%
                                  }
                                  \JoinCoffins
                                  \titletext[vc,hc]\titleline[vc,hc]

                                  % una prima composizione
                                  \TypesetCoffin\titletext

                                  \end{document}`
                                  Possiamo anche fare il join più di una volta. Per comporre il titolo con due linee, una alla base ed una in sommità, basta scrivere:
                                  `\JoinCoffins
                                  \titletext[hc,H]\titleline[hc,vc]
                                  \JoinCoffins
                                  \titletext[hc,t]\titleline[hc,vc]`

                                  Cosa succede se ridefiniamo il coffin? Semplice, la ridefinizione è totale perciò si perde il join con la linea.
                                  `\documentclass{article}
                                  \usepackage{xcoffins}
                                  \begin{document}

                                  \NewCoffin\titletext
                                  \NewCoffin\titleline

                                  \SetHorizontalCoffin\titletext{\Large Titolo game con discendenti}
                                  \SetHorizontalCoffin\titleline{%
                                  \rule{\CoffinWidth\titletext}{0.2pt}%
                                  }
                                  \JoinCoffins
                                  \titletext\titleline
                                  (0pt, -\CoffinDepth\titletext)

                                  % una prima composizione
                                  \TypesetCoffin\titletext

                                  % una seconda ma non cambia niente
                                  \TypesetCoffin\titletext

                                  % ridefiniamo il primo coffin
                                  \SetHorizontalCoffin\titletext{\Large Game is over}

                                  % ricomponiamo
                                  \TypesetCoffin\titletext

                                  \end{document}`

                                  Interessante per risolvere semplicemente alcuni problemi…
                                  e come sempre L3 si dimostra assai potente…
                                  Alla prossima.
                                  R.

                                Stai visualizzando 15 risposte – dal 1,156 al 1,170 (di 2,928 totali)

                                Go to top