antonio.macrì

Risposte nei forum create

Stai visualizzando 13 risposte – dal 406 al 418 (di 418 totali)
  • Autore
    Risposte
  • in risposta a: Script TeXworks per creazione e formattazione di tabelle #59643
    Up
    0
    Down
    ::


    Comunque non ti fare impressionare da tutti quei nomi!
    In fondo non è così complesso come può sembrare.
    Se conosci più o meno Javascript sei già praticamente a posto!

    Ciao,
    Antonio

    PS: ho fatto un altro paio di modifiche al codice.

    in risposta a: Script TeXworks per creazione e formattazione di tabelle #59642
    Up
    0
    Down
    ::

    Interessanti, davvero. TeXworks, dopo GNU Emacs, è l’altro mio editor preferito.

    Ad maiora!
    Orlando

    Grazie del’interesse, mi fa piacere che qualcuno li abbia apprezzati!

    EDIT: Che linguaggio si usa per scrivere questi script? Dove poter reperire un breve tutorial?

    Il codice è scritto in un linguaggio che sembra venga chiamato TwScript. A volte viene anche chiamato (un po’ impropriamente, secondo me) QtScript. È una implementazione dello standard ECMAScript, lo stesso che viene usato nei vari browser col nome di Javascript. In parole povere, lo standard ECMAScript definisce le caratteristiche di base del linguaggio, come i tipi di dato, gli operatori, la sintassi in generale. Ciascuna implementazione aggiunge degli oggetti specifici. Così ci sono le implementazioni fornite dai browser che espongono degli oggetti (window, document, location, eccetera) per lavorare con le pagine web. Quella di TeXworks invece fornisce l’oggetto TW, tramite il quale si accede ad alcune funzionalità di TeXworks stesso: al documento corrente, alla selezione, e così via.

    Il motore che esegue lo script (perché riconosce il linguaggio ECMAScript) è in realtà fornito dalle Qt: QtScript è propriamente il modulo Qt che si occupa di ciò. TeXworks gli dice solamente quali altri oggetti esporre (TW).

    A questa pagina trovi delle informazioni molto generali. Un buon punto di partenza è la guida TexWorksQtScripting, per vedere gli oggetti forniti da TeXworks e che dà anche alcuni consigli generali. Per conoscere più a fondo l’ECMAScript, basta una qualsiasi guida Javascript. Se vuoi creare anche delle interfacce grafiche, allora anziché scrivere direttamente l’XML ti conviene scaricare il Qt SDK e in particolare il Qt Creator, che serve proprio a disegnare le finestre di dialogo. Il resto è tutto smanettare e leggere il manuale (“Qt Reference Documentation”, visualizzabile dallo stesso Qt Creator). Come dicevo nell’altro post, purtroppo non tutti i metodi sono accessibili da script, ma solo gli “slots”, e ancora maggiori sono le limitazioni nella creazione di nuovi oggetti da script, ma si riesce comunque a fare cose interessanti.

    PS: ho fatto un paio di modifiche al codice, una sull’interfaccia (niente di importante), l’altra era una svista che faceva eseguire dei cicli inutili. Conviene che li riscarichi.

    Ciao,
    Antonio

    in risposta a: TeXworks versione 0.5.0 #59680
    Up
    0
    Down
    ::


    Bello! Ma dove trovo le novità rispetto alla versione precedente?

    in risposta a: Posizione di un oggetto nella pagina PDF #59070
    Up
    0
    Down
    ::


    Credo di aver finalmente risolto:
    `\newlength{\heightoframebox}
    \newlength{\depthoframebox}

    % print and save position: visualizza (a PDF) il suo argomento e ne salva la posizione su file
    \newcommand\psp[1] {%
    \immediate\write\SymbolExport{page = \number\thepage}%
    \settodepth{\depthoframebox}{\framebox{#1}}\settoheight{\heightoframebox}{\framebox{#1}}%
    \zsavepos{b\thepage\detokenize{\string#1}}\framebox{#1}\zsavepos{e\thepage\detokenize{\string#1}}%
    \immediate\write\SymbolExport{left = \zposx{b\thepage\string#1}}%
    \immediate\write\SymbolExport{right = \zposx{e\thepage\string#1}}%
    \immediate\write\SymbolExport{middle = \zposy{b\thepage\string#1}}%
    \immediate\write\SymbolExport{height = \the\heightoframebox}%
    \immediate\write\SymbolExport{depth = \the\depthoframebox}%
    }`
    che produce per ogni simbolo:
    `page = 1
    left = 10962208
    right = 11735533
    middle = 46493363
    height = 10.34444pt
    depth = 3.4pt
    command = \textasciicircum
    `

    left e right sono le coordinate orizzontali del bordo sinistro e destro del framebox. Le coordinate verticali del bordo inferiore e superiore (che TeX misura dal basso verso l’alto) sono invece rispettivamente middle-(depth*65536) e middle+(height*65536).

    Forse il codice è un po’ ridondante (dovre provare a smanettare direttamente con \ht e \dp), ma almeno funziona. Mi rimane da capire bene cosa rappresenta middle. Approfondirò…

    Ciao

    in risposta a: Posizione di un oggetto nella pagina PDF #59069
    Up
    0
    Down
    ::

    Uhm,
    se ho capito bene ti serve ritagliare i glifi: avresti un pdf che contiene un glifo giusto, e ne vorresti ricavare l’immagine come icona.
    Ma non puoi usare pdfcrop sul pdf? L’utility ti restituisce un pdf ritagliato secondo il bounding box, e fa parte della dotazione delle distro TeX (meglio usare TeX Live).

    Non è un problema ritagliare il PDF in sé (posso farlo anche con ImageMagick o scrivendomi io il codice, così velocizzo l’esecuzione). Ci sono diversi glifi in ogni pagina. Il problema è che le coordinate verticali che riesco a estrarre non sono corrette (risultano spostate). Per “ritagliato secondo il bounding box” intendi che vengono eliminati i margini biachi? Mi pare che questo faccia pdfcrop.

    Le coordinate dei glifi devo estrarle per forza lavorando in TeX (tutto il resto lo faccio con altri strumenti, e non è un problema). Il codice che avevo postato prima cerca di estrarre proprio la posizione dei glifi, ma non è preciso. In particolare, non riesco a ottenere le coordinate verticali della linea superiore e della linea inferiore del framebox.

    Ti segnalo che premettendo al sorgente il tag opportuno, TeXWorks è in grado di individuare il file master. Per esempio compilando il sorgente con la seguente dicitura iniziale:
    `% !TEX encoding = UTF-8
    % !TEX program = pdflatex
    % !TeX root = ../master.tex`
    si da istruzione all’editor di compilare in realtà il file master.tex che si trova nella cartella superiore.
    Questo è molto comodo perché così posso lavorare su file secondari e compilare il master.tex contemporaneamente, lasciando secondaria la necessità della gestione dei progetti come fa Kile per esempio, sempre piuttosto macchinosa, tanto che non lavoro mai utilizzando la gestione a progetto defli editor: troppo poco efficiente.
    Invece con il sistema dei tag si va che è una meraviglia.

    Sì, conoscevo già questo sistema, anche se non l’ho mai usato. Quello era solo un esempio: certo, specificare a mano qual è il file principale non mi abbatte la produttività, ma questa è una delle tante piccole cose che potrebbero essere automatizzate.

    Per un formato di literate programming nei sorgenti dei pacchetti, credo non sia difficile costriure una standard in grado di informare l’editor sulla sintassi dei comandi, il quale potrebbe informare l’utente in tempo reale.

    Non so se sia mai stato messo a punto qualcosa del genere, ma basterrebbe ispirarsi a Python od a javadoc o, per restare in casa, al formato di documentazione.docstrip…
    Ciao

    Intendevo proprio qualcosa tipo javadoc, ma che fosse già standardizzato (anche nel senso di “ampiamente diffuso”), una cosa a cui tutti possono uniformarsi e sfruttare.

    Grazie
    Antonio

    in risposta a: Posizione di un oggetto nella pagina PDF #59067
    Up
    0
    Down
    ::


    Grazie della risposta, innanzitutto. Non vorrei andare off-topic nel risponderti, ma provo a farlo.

    Ciao,
    scrivere un editor per LaTeX che non sia grossomodo un ‘esercitazione’ è assai difficile perché esistono editor già molto evoluti come TeXWorks e Kile.
    Il progetto potrebbe essere interessante solo nel caso che si implementino idee veramente nuove che facilitino la stesura del sorgente

    Lo so che non è facile sviluppare un editor serio, ma tutto è partito come curiosità e la curiosità è poi dilagata, facendo, col tempo, venire in mente nuove idee. Non dico che siano tutte idee eccezionali o rivoluzionarie. A volte accade di rendersi conto che qualcosa che ti fai tu risponde meglio alle tue esigenze rispetto a ciò che ti viene offerto. È anche una questione di gusti. Esistono editor abbastanza diversi tra loro, è vero, ognuno con una sua anima. Ma proprio per questo non è detto che io (ma userei un pronome indefinito) ne riesca a trovare uno che più si confà alle mie richieste.

    Sempre che tu non voglia esclusivamente divertirti, ti consiglierei di pensare a contribuire allo sviluppo di TeXWorks per esempio, piuttosto che correre da solo.

    Almeno, questa è la mia opinione: tentare di scrivere un nuovo editor solo se si hanno idee innovative da proporre altrimenti conviene dare una mano con TeXWorks.

    TeXworks in effetti è l’editor che preferisco, semplice, essenziale, con anteprima. Al contrario di Kile, che trovo barocco. Capisco che puoi pensare che sia una perdita di energie, ma è anche questo che muove il software libero (mi è capitato di dare una letta qualche volta al tuo blog e mi è parso di capire che ne sei un sostenitore): prendere ciò che c’è già e modificarlo per riadattarlo alle proprie esigenze.

    …come per esempio un sistema di tips che suggerisca la sintassi corretta di un comando che si inizia a digitare appartenente ad un pacchetto caricato nel preambolo od alla classe alla maniera di un IDE per sviluppatori di un dato linguaggio.

    Mi interesserebbe parecchio un argomento legato, ovvero (spererei proprio che esista già, ma non ne ho conoscenza) uno standard (un formato) per commentare i comandi alla loro definizione che ne precisino la sintassi (numero di argomenti, cosa rappresentano, eccetera). È una cosa usuale per i linguaggi di programmazione tradizionali, mi piacerebbe molto vederla in TeX/LaTeX. Approfitto per chiedere: qualcuno conosce uno formato di questo tipo? Un editor se ne potrebbe avvantaggiare moltissimo.

    La lista di simboli è già presente per esempio in Kile: si clicca un simbolo e compare ne viene inserito il codice nel sorgente, il quale verrà poi processato in compilazione.
    Per il resto ti confesso di non aver capito a cosa ti possa servire il pdf contenente il simbolo nella posizione fissa che desideri. Non riesco ad immaginarne un uso nel caso di un editor.

    Dovresti spiegare meglio le basi della tua strategia.

    Se riesco a individuare la posizione del glifo di un simbolo, la estraggo assieme al nome del comando che viene usato per inserirlo e scrivo tutto nel file exports.txt. In seguito, converto ogni pagina PDF in immagine e, usando la posizione trovata prima, ne ritaglio tutti i simboli salvandoli (come immagine) da qualche parte. A questo punto, per ogni simbolo ho l’immagine e il nome del comando: rielaboro tutti i simboli, li catalogo e li inserisco in un database. L’editor dovrebbe contenere una sorta di tabella con questi simboli (riordinabile secondo alcuni criteri: per pacchetto, per tipologia…): tu ci clicchi e vengono inseriti.

    L’idea è che mi piacerebbe estrarre automaticamente questi simboli dalla Comprehensive LaTeX Symbol List, proprio perché la consulto molto spesso e vorrei che l’editor che uso ne riproducesse in qualche modo l’organizzazione. Ciò consentirebbe, tra l’altro, di inserire (eventualmente) in modo automatico una \usepackage con il nome del pacchetto che contiene il simbolo (informazione presente nella CLSL).

    In definitiva, lo sviluppo di nuove idee rappresenta un processo entusiasmante, ma reinvetare la ruota ogni volta è certamente poco produttivo.

    Tieni conto che possono essere sviluppati delle nuove feature per TeXWorks per mezzo di un linguaggio di scriting interno dunque iniziare a contribuire al progetto non è affatto lungo.
    Per esempio, io avrei bisogno di un comando che in automatico riorganizzi con le giuste spaziature il contenuto del sorgente LaTeX di un ambiente tabular, allineando il testo delle celle ai caratteri &, per migliorarne l’editing manuale.
    Oppure mi servirebbe un comodo comando per inserire ad inizio sorgente i tag per TeXWorks di definizione della codifica ecc.
    Ecco dunque la conclusione: inventare potenti tool per editor LaTeX è fantastico, ma con plug-in per TeXWorks diventa anche utile con poco sforzo.
    Anzi, rendere possibile la tecnologia a plug-in per TeXWorks è già di per se una buona avventura.
    R.

    Tra le idee c’è anche questa che dici tu sulle tabelle (ho già buttato giù del codice che pare funzionare): è una cosa semplice da fare ma che pure non ho visto in nessun editor (magari mi è sfuggita). Apro una parentesi: TeXworks non supporta i progetti con più file. Anche qui trovo che la scelta che l’utente deve fare del file TeX principale sia una cosa evitabile: (al di là di possibili sofisticazioni) basterebbe che l’editor si crei un albero dei file aperti (chi include chi): il file principale non può che essere la radice.

    Voglio essere più chiaro, ragionando su due filoni. Da un lato, tutte le scelte progettuali che si fanno nello sviluppo di un’applicazione sono basate su compromessi e temo che ciò che io voglio non sia ciò che altri desiderano. Detto questo, c’è un altro aspetto da considerare: le idee sono appunto idee e possono essere ovviamente applicate su editor diversi. Voglio ancora studiare le diverse possibili strade: la fattibilità di cui parlavo all’inizio deve tenere certamente conto di tutto ciò ed evitare un eccesso di spreco di energie. Considero la possibilità di intervenire su TeXworks (che, ripetto, è quello che mi ispira di più) ma lascio assolutamente spalancata la possibilità di fare qualcosa di mio.

    Apprezzo molto il tuo intervento (anzi ti chiedo se puoi suggerirmi link significativi su TeXworks, a parte quelli che si trovano sulla homepage).

    Torno quindi a chiedere se esiste un modo per estrarre la posizione del riquadro disegnato da \framebox.

    in risposta a: Come creare un glossario?? #33220
    Up
    0
    Down
    ::

    Vorrei realizzare un elenco di tutte le grandezze presenti nella mia tesi per questo credo sia corretto utilizzare un glossario dove definisco:
    `
    simbolo variabile ….. spiegazione …. unità di misura (se necessario)
    `

    Seguendo le indicazioni di Antonio sono riuscito ad ottenere il Glossario compilando con Perl. Torna tutto tranquillamente però c’è una cosa che vorrei eliminare, si tratta del numero della pagina in cui si trova la parola inserita nel glossario. Si può fare?

    Grazie e buona serata 🙂

    Sostituisci:
    `\usepackage{glossaries} `
    con:
    `\usepackage[nonumberlist]{glossaries} `

    Ciao,
    Antonio (anch’io)

    in risposta a: Evitare di far andare a capo formule matematiche nel testo #58984
    Up
    0
    Down
    ::

    È che di solito una riga viene spezzata dove c’è uno spazio (in modo testo, in effetti, non matematico).

    Pagina 96 del TeXbook: TeX può spezzare una riga
    [ul](a) a un grumo di colla (glue) che sia immediatamente preceduta da un oggetto non scartabile (una box, un carattere, …) e che non sia in una formula;

    (b) a una crenatura che sia seguita da colla e che non sia in una formula;

    (c) alla fine di una formula che sia seguita da colla

    (d) a una penalità (che in alcuni casi è inserita automaticamente, come nel caso delle formule);

    (e) a una cesura facoltativa (\discretionary, tipicamente \- oppure anche -, perché nella fase in cui si cercano le cesure TeX aggiunge dopo – un \discretionary{}{}{}).[/ul]
    Conseguenza di queste regole è che la combinazione
    `\penalty10000\ `
    inserisce uno spazio normale dove non si può spezzare una riga: infatti \penalty10000 lo inibisce e la colla inserita da “\ ” è preceduta da un elemento scartabile (la penalità lo è). E infatti ~ è definito proprio come quella combinazione.

    Ciao
    Enrico

    Le mie conoscenze si limitavano allo spazio (pur ammettendo, certo, delle eccezioni). A parte la conoscenza intuitiva e quel poco che posso aver colto leggendo qua e là, devo sicuramente approfondire alcuni argomenti che hai menzionato. In effetti ho iniziato proprio oggi a leggere (prima del TeXbook) i tuoi Appunti, e cominciano a sorgere già alcuni dubbi, ma suppongo sia per quelle “piccole bugie” che (come dici nell’Introduzione) servono a evitare di complicare troppo l’esposizione nelle parti iniziali.

    Grazie e ciao
    Antonio

    in risposta a: Evitare di far andare a capo formule matematiche nel testo #58981
    Up
    0
    Down
    ::

    Ne approfitto per chiedere: \binoppenalty si riferisce (dedurrei dal nome) allo spazio che circonda gli operatori binari + * – /. Invece \relpenalty cosa gestisce?

    Una penalità non ha nulla a che fare con le spaziature, serve invece a indicare a TeX posti buoni o meno adatti per spezzare una riga.

    Sì, mi ero espresso malissimo, ma intendevo proprio questo. È che di solito una riga viene spezzata dove c’è uno spazio (in modo testo, in effetti, non matematico).

    Quando TeX incontra una formula, la elabora secondo quanto spiegato nella famosa Appendice G del TeXbook e poi la converte in una lista orizzontale che va a far parte del capoverso in cui si trova la formula. Durante questa conversione aggiunge dopo ogni simbolo di operazione binaria una penalità di valore \binoppenalty e dopo ogni simbolo di relazione una di valore \relpenalty. Non ci sono altri posti dove poter spezzare una formula, nemmeno gli spazi espliciti inseriti con “\ “.

    Una penalità ha valori da -10000 a 10000; quelle negative indicano punti buoni dove spezzare, quelli positivi invitano a non farlo. Il valore -10000 forza TeX a spezzare la riga, 10000 lo impedisce. Valori minori di -10000 sono equivalenti a -10000 e, analogamente, valori maggiori di 10000 sono equivalenti a 10000. I valori normali di \binoppenalty e \relpenalty sono, rispettivamente, 700 e 500; quindi TeX non è molto propenso a spezzare una formula e lo fa meno malvolentieri dopo un simbolo di relazione.

    Gli spazi attorno ai simboli di operazione sono espressi con il parametro \medmuskip, per quelli di relazione c’è \thickmuskip.


    @m45dj
    : il lungo lavoro di revisione sarà causato da un grande numero di messaggi di Overfull \hbox, se hai formule complesse.

    Ciao
    Enrico

    Grazie delle informazioni, a entrambi.

    in risposta a: Evitare di far andare a capo formule matematiche nel testo #58978
    Up
    0
    Down
    ::

    OMG perchè lungo lavoro di revisione???

    Credo che fosse ironico: bastano quelle due righe. 😀

    Ne approfitto per chiedere: \binoppenalty si riferisce (dedurrei dal nome) allo spazio che circonda gli operatori binari + * – /. Invece \relpenalty cosa gestisce?

    Grazie

    in risposta a: Tesi chiarimento style/disposizione oggetti/package #58675
    Up
    0
    Down
    ::

    Ok penso di esserci (con il layout).
    Ho usato il pacchetto glossary per i termini del glossario, e acronym per gli acronimi. Dite che sarebbe stato meglio fare tutto con il glossary?
    C’è però una cosa, che quando faccio \printglossary mi mette glossary in inglese, non c’è un modo per metterlo in italiano?

    Aggiungi nel preambolo:
    `
    \addto\captionsitalian{\renewcommand*{\glossaryname}{Glossario}%
    \renewcommand*{\acronymname}{Acronimi}}
    `
    Così dovresti avere sia il glossario che gli acronimi in italiano.
    Comunque il pacchetto glossary è considerato obsoleto dal suo stesso autore (http://www.tex.ac.uk/ctan/macros/latex/contrib/glossaries/glossary2glossaries.pdf), che infatti ne ha scritto un altro da usare al suo posto: glossaries (http://ftp.uniroma2.it/TeX/macros/latex/contrib/glossaries/glossaries.pdf).

    Ciao

    in risposta a: Compilatore on-line #58415
    Up
    0
    Down
    ::


    Non ho ben capito cosa richiedi, ma prova a dare un’occhiata qua:
    http://www.scribtex.com/
    e qua:
    http://www.verbosus.com/.

    Sono due editor online per LaTeX, con compilazione sui loro server. Dovresti vedere se riesci a bypassare l’editor e comunicare più direttamente col compilatore. Come soluzione non sembra immediata da implementare né flessibilissima, ma tutto dipende dai tuoi obiettivi e disponibilità.

    in risposta a: ClassicThesis e glossaries #46887
    Up
    0
    Down
    ::


    Grazie! Ecco qui prova.ist:

    `% makeindex style file created by the glossaries package
    % for document 'prova' on 2010-7-3
    actual '?'
    encap '|'
    level '!'
    quote '”'
    keyword “\\glossaryentry”
    preamble “\\glossarysection[\\glossarytoctitle]{\\glossarytitle}\\glossarypreamble\n\\begin{theglossary}\\glossaryheader\n”
    postamble “\%\n\\end{theglossary}\\glossarypostamble\n”
    group_skip “\\glsgroupskip\n”
    item_0 “\%\n”
    item_1 “\%\n”
    item_2 “\%\n”
    item_01 “\%\n”
    item_x1 “\\relax \\glsresetentrylist\n”
    item_12 “\%\n”
    item_x2 “\\relax \\glsresetentrylist\n”
    delim_0 “\{\\glossaryentrynumbers\{\\relax ”
    delim_1 “\{\\glossaryentrynumbers\{\\relax ”
    delim_2 “\{\\glossaryentrynumbers\{\\relax ”
    delim_t “\}\}”
    delim_n “\\delimN ”
    delim_r “\\delimR ”
    headings_flag 1
    heading_prefix “\\glsgroupheading\{”
    heading_suffix “\}\\relax \\glsresetentrylist ”
    symhead_positive “glssymbols”
    numhead_positive “glsnumbers”
    page_compositor “.”
    `

    Peraltro a me prova.glo risulta vuoto, mentre prova.gls è:

    `\glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble
    \begin{theglossary}\glossaryheader
    \glsgroupheading{D}\relax \glsresetentrylist %
    \glossaryentryfield{distinguisher}{\glsnamefont{distinguisher}}{Algoritmo capace di distinguere un una sequenza di byte in uscita da un algoritmo \ac {PRNG} da un flusso di dati effettivamente casuali}{\relax }{\glossaryentrynumbers{\relax
    \setentrycounter{page}\glsnumberformat{5}}}%
    \end{theglossary}\glossarypostamble
    `

    Antonio

Stai visualizzando 13 risposte – dal 406 al 418 (di 418 totali)

Go to top