Re: 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

Go to top