- Questo topic ha 17 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 4 mesi fa da
OldClaudio.
-
CreatoreTopic
-
22 Agosto 2012 alle 13:19 #77248::
Ringraziando Claudio e Tommaso per la nuova guida tematica sulle codifiche (complimenti, l’idea mi è piaciuta molto!), ne approfitto per dare un contributo.Vi si dice che in TeXworks le righe magiche vanno purtroppo inserite a mano, e così facendo si sbaglia più facilmente. Fortunatamente è un problema facilmente risolvibile 🙂 e ci stavo lavorando proprio qualche giorno fa. Per chi voglia darci un’occhiata, lo script è qui:
È un semplice script che si attiva tenendo premuto Ctrl e cliccando in sequenza K e M (oppure dal menu Script). Appare una finestrella che presenta le quattro chiavi e suggerisce alcuni valori.
- encoding: come codifiche suggerisce UTF-8, ISO-8859-1 e Apple Roman, e per ognuna di esse mostra tra parentesi la corrispondente opzione di inputenc.
- program: riconosce anche la chiave TS-program ma usa sempre la più semplice program; mostra una lista statica con i motori di default (al momento non esiste un modo per ricavare da script l’elenco dei motori disponibili in TeXworks).
- root: presenta l’elenco dei file aperti in TeXworks (percorso relativo rispetto al file corrente); inoltre sostituisce automaticamente le barre rovesciate ([tt]\[/tt], stile Windows) con quelle dritte ([tt]/[/tt], stile Unix): le prime sono accettate solo su Windows, le seconde su tutte le piattaforme.
- spellcheck: mostra l’elenco dei dizionari installati.
A dire il vero, non avendo io un Mac, non mi sono mai posto il problema della compatibilità con TeXShop (per di più, preferisco la sintassi di TeXworks), ma vedo che qui è tenuta in seria considerazione. Per ora quello script è poco più che una bozza, se qualcuno mi indirizza lo posso migliorare proprio nel senso della compatibilità con TeXShop.
Per esempio, TW riconosce sia “UTF-8” che “UTF-8 Unicode”: TS invece solo il secondo? E per le altre codifiche? Inoltre, TW riconosce come valori per “program” non il nome effettivo del programma (texexec) ma il profilo (ConTeXt (pdfTeX)). Ad ogni programma possono essere associati più profili, per esempio io ne uso due con makeindex per compilare i “.dtx”. Con TeXShop come funziona?
Ciao,
Antonio
-
CreatoreTopic
-
AutoreRisposte
-
-
22 Agosto 2012 alle 14:03 #77249::
Ottima idea; ti ho mandato per posta elettronica due screen shot con le codifiche e i motori riconosciuti da TeXshop.Bravo; i tuoi script risolvono un problema importante per TeXworks. Ora ci applichiamo tutti a collaudarli e a vedere se si possono fare ulteriori miglioramenti.
Ciao
Claudio
-
22 Agosto 2012 alle 15:12 #77250::
Continuando dalla discussione di sopra, lo script viene visto, ma semplicemente non parte la UI.Abilitando il debug, ecco cosa mi dice:
`Uncaught exception at /home/domenico/.TeXworks/scripts/magicComments.js:142: TypeError: Result of expression 'reFileName.exec(d)' [null] is not an object.
142 return result.map(function(o) { return reFileName.exec(d)[1]; });`
Se hai bisogno di altro, non esitare a chiedere!Ripeto come promemoria: Debian Sid 32bit.
P.S.: ma chi te lo ha fatto fare? 😛
-
22 Agosto 2012 alle 15:35 #77251::
OldClaudio” post=76437Ottima idea; ti ho mandato per posta elettronica due screen shot con le codifiche e i motori riconosciuti da TeXshop.
Bravo; i tuoi script risolvono un problema importante per TeXworks. Ora ci applichiamo tutti a collaudarli e a vedere se si possono fare ulteriori miglioramenti.
Ciao
ClaudioCiao Claudio, e grazie!
Era da un po’ che non intervenivo sul forum, ma è sempre un piacere. 🙂
Sulle codifiche:
dovrei usare “UTF-8 Unicode”, “MacOSRoman” e “IsoLatin”, giusto? Ho verificato che TeXworks le riconosce. Sono fortemente restio ad aggiungerne altre.Sui motori:
TW vuole il nome del profilo (lo chiama “processing tool”: secondo me più che “motore” o il generico “strumento” andrebbe chiamato profilo), che spesso contiene caratteri in maiuscolo. Per fortuna TW esegue un confronto case-insensitive, per questo accetta correttamente anche il nome del programma ([tt]pdflatex[/tt], [tt]latex[/tt], in minuscolo) quando questo coincide col nome del profilo.Trovo invece un po’ caotica la lista degli “engine” in TeXshop, alcuni in maiuscolo (“XeTeX”, “XeLaTeX”) altri in minuscolo (“pdftex”, “pdflatex”). TeXShop è case-insensitive?
@Claudio: quelli dello screenshot sono i motori predefiniti?Certamente, l’ideale sarebbe usare per davvero il nome del programma (xetex, pdflatex, context, in minuscolo, perché universali), ma (per esempio) TW ha di default due profili che usano [tt]texexec[/tt] (ConTeXt (pdfTeX) e ConTeXt (XeTeX)). Per questo nello script vengono elencati i nomi dei profili. Inoltre chi mi assicura la corrispondenza tra i profili di TeXworks e quelli di TeXshop (accettatemi il termine profilo)? Secondo voi come bisogna comportarsi?
Sui dizionari:
TW richiede il nome del file o semplice un alias (it_IT, it-IT). Mi pare di aver letto che TS accetta anche “Italian”, “German” o simili. Ma se TS ormai riconosce la lingua in automatico, allora poco ci importa: io lascerei la sintassi di TW. Con un appunto: mi è sembrato che TeXworks preferisca it_IT invece di it-IT: la sintassi corretta secondo gli standard sarebbe la seconda, mentre la prima spesso corrisponde al nome del file del dizionario. A TeXshop “piace” anche la prima (it_IT) o solo la seconda (it-IT)?
-
22 Agosto 2012 alle 15:46 #77252::
Doc” post=76442Continuando dalla discussione di sopra, lo script viene visto, ma semplicemente non parte la UI.
Abilitando il debug, ecco cosa mi dice:
`Uncaught exception at /home/domenico/.TeXworks/scripts/magicComments.js:142: TypeError: Result of expression 'reFileName.exec(d)' [null] is not an object.
142 return result.map(function(o) { return reFileName.exec(d)[1]; });`
Se hai bisogno di altro, non esitare a chiedere!Ripeto come promemoria: Debian Sid 32bit.
Oops che svista! Quella [tt]d[/tt] va sostituita con una [tt]o[/tt] (minuscola):
142 return result.map(function(o) { return reFileName.exec(o)[1]; });P.S.: ma chi te lo ha fatto fare? 😛
😀
È da un po’ che mi interessa aiutare TeXworks. 😉 Questo script è niente, è (stato) decisamente più arduo contribuire con il logParser!
-
22 Agosto 2012 alle 15:52 #77253::
@Claudio: quelli dello screenshot sono i motori predefiniti?
Quello è l’elenco degli engine che ti propone ma macro Program; occhio e croce sembrerebbero tutti; comunque per aggiungere altri motori c’è una procedura apposita.
Per i dizionari ho il sospetto che la riga magina che li riguarda non venga nemmeno letta da TeXshop e considerata un semplice commento; tutte le volte che ho composto un file predisposto inizialemte su TeXworks e dove era presente la riga magica del dizionario, c’era sempre it_IT e tutto filava liscio con TeXshop, che comunque usa il dizionario corrispondente alla lingua in usa in quel momento nel file sorgente. Almeno così è sul Mac Lion.
Ciao
Claudio
-
22 Agosto 2012 alle 16:05 #77254
-
22 Agosto 2012 alle 17:59 #77255::
Antonio, con questa correzione funziona perfettamente con “mela”+M; “mela+K sembra non fare nulla.Per altro sarebbe importante che tutte le righe dei magici commenti siano almeno compatibili con TeXshop, visto che sono gli unici editor che per ora capiscono quelle righe(o meglio, TeXworks capisce quelle di TeXshop, quindi nel più sta il meno, nel senso che il più deve adattarsi a far capire anche il meno).
-
23 Agosto 2012 alle 15:46 #77256::
OldClaudio” post=76446
@Claudio: quelli dello screenshot sono i motori predefiniti?
Quello è l’elenco degli engine che ti propone ma macro Program; occhio e croce sembrerebbero tutti; comunque per aggiungere altri motori c’è una procedura apposita.
A sinistra i profili/motori predefiniti in TeXworks, a destra quelli di TeXShop:
`pdfLaTeX
XeLaTeX
LuaLaTeX
pdfTeX
XeTeX
LuaTeX
ConTeXt (LuaTeX)
ConTeXt (pdfTeX)
ConTeXt (XeTeX)
BibTeX
MakeIndex``pdftex
pdflatex
tex
latex
personaltex
personallatex
bibtex
makeindex
metapost
context`
Io ho aggiunto Biber e Latexmk, ma penso di toglierli.
Per entrambi gli editor, corrispondono in gran parte al nome effettivo del programma, ignorando le minuscole/maiuscole. Dando una veloce lettura al sorgente, sembra che anche TeXShop sia case-insensitive. Tuttavia sono condivisi solo pdftex, pdflatex, bibtex e makeindex, e su questo posso farci poco. Io lascerei i motori di TeXworks (con le maiuscole), sostituendo però la chiave “program” con “TS-program”.
OldClaudioPer i dizionari ho il sospetto che la riga magina che li riguarda non venga nemmeno letta da TeXshop e considerata un semplice commento; tutte le volte che ho composto un file predisposto inizialemte su TeXworks e dove era presente la riga magica del dizionario, c’era sempre it_IT e tutto filava liscio con TeXshop, che comunque usa il dizionario corrispondente alla lingua in usa in quel momento nel file sorgente. Almeno così è sul Mac Lion.
Bene: significa che va bene così!
OldClaudioNell’elenco che ti ho mandato io, screen shot di TeXshop, l’elenco dei motori è molto più ampio (circa il doppio) e ci sono molti più programmi che coincidono, per esempio LuaLaTeX, XeLaTeX, XeTeX, ci sono due Context, ma non conosco abbastanza quei motori per dire che relazione abbiano con quelli di TeXworks.
-
23 Agosto 2012 alle 15:50 #77257
-
23 Agosto 2012 alle 16:23 #77258::
Ho appena “pushato” una nuova versione.Maggiore compatibilità con TeXShop, sia per i nomi delle codifiche, sia per la chiave “TS-program”.
La modalità di compatibilità con TeXShop è regolata da una variabile booleana che di default è vera. Chi non la vuole, e sa cosa fa, può disattivarla. 🙂
Sono sempre aperto a suggerimenti e modifiche. 😉
Ciao,
Antonio
-
23 Agosto 2012 alle 16:38 #77259::
antonio.macrì” post=76501Ho appena “pushato” una nuova versione.
Maggiore compatibilità con TeXShop, sia per i nomi delle codifiche, sia per la chiave “TS-program”.
La modalità di compatibilità con TeXShop è regolata da una variabile booleana che di default è vera. Chi non la vuole, e sa cosa fa, può disattivarla. 🙂
Sono sempre aperto a suggerimenti e modifiche. 😉
Ciao,
AntonioCiao Antonio, faccio miei i ringraziamenti degli altri amici per il tuo lavoro. 🙂
Qualche osservazione. Io non vedo la necessità di uniformare le due sintassi: se io uso TeXShop i pulsanti mi permettono di mettere le righe magiche senza errori e con la sintassi riconosciuta da TeXShop. Lo stesso con TeXworks. Se il tuo lavoro è facilitare l’utente, allora non mi preoccuperei tanto. Se invece il tuo lavoro va nella direzione della massima portabilità dei file sorgenti, allora ci potrebbe stare. Ma fino a un certo punto: dove mettiamo le righe di Emacs?In soldoni: io farei lo script per mettere le righe di TeXworks con la sintassi di TeXworks:
% !TeX encoding =
% !TeX program =% !TeX spellcheck =
% !TeX root =.tex Il punto è trovare la corretta scrittura di programmi, codifiche e codici lingua che TeXworks riconosce.
Ciao
Tommaso
-
24 Agosto 2012 alle 8:53 #77260::
illinguista1972″ post=76502Ciao Antonio, faccio miei i ringraziamenti degli altri amici per il tuo lavoro. 🙂
Qualche osservazione. Io non vedo la necessità di uniformare le due sintassi: se io uso TeXShop i pulsanti mi permettono di mettere le righe magiche senza errori e con la sintassi riconosciuta da TeXShop. Lo stesso con TeXworks. Se il tuo lavoro è facilitare l’utente, allora non mi preoccuperei tanto. Se invece il tuo lavoro va nella direzione della massima portabilità dei file sorgenti, allora ci potrebbe stare. Ma fino a un certo punto: dove mettiamo le righe di Emacs?La questione della compatibilità con TeXshop o altri editor credo che dipenda molto dall’utente e dal documento. Personalmente non userò mai TS e perciò i documenti che scrivo da me avranno sempre sintassi TeXworks. Ma sto anche scrivendo un testo con un collega che usa TeXShop: non ho mai impostato le righe magiche (sappiamo entrambi come evitare i problemi), ma ora comincerò a farlo, per scrupolo.
Il mio obiettivo è esattamente facilitare l’utente: il fatto è che anche la compatibilità può significare facilitare l’utente, perché gli si evitano problemi (come quelli ben noti di codifica).
Sulle righe di Emacs: me l’ha accennato anche Claudio, ma dopo averci pensato direi di no per due o tre motivi. Primo: l’obiettivo dello script è assicurare che le righe magiche inserite siano riconosciute da TeXworks; bonus se sono riconosciute anche da TeXShop. TeXworks non riconosce mica le righe di Emacs. Secondo: TeXworks e TeXShop sono abbastanza simili, può darsi che siano usati dallo stesso utente, mentre vedo difficile che chi usa TW usi anche Emacs. E se il file va condiviso con un collega utente Emacs, pensare di facilitargli in questo modo la vita fa un po’ sorridere. 😛
In soldoni: io farei lo script per mettere le righe di TeXworks con la sintassi di TeXworks:
% !TeX encoding =
% !TeX program =% !TeX spellcheck =
% !TeX root =.tex Penso che la soluzione più democratica sia usare una variabile per gestire la compatibilità:
`var TeXShopCompatibility = true;`
Il punto è: di default andrebbe lasciata attiva o no? ❓Il punto è trovare la corretta scrittura di programmi, codifiche e codici lingua che TeXworks riconosce.
Ciao
TommasoGiusto: vediamo.
- Codifica: non serve riempire la lista di codifiche inutili, per me basta mettere a mano quelle tre codifiche con la sintassi preferita (TW o TS), ormai nota e facilmente verificabile.
- Program: come ho detto, qui non è lo script che può assicurare la compatibilità (può solo usare [tt]TS-program[/tt] invece di [tt]program[/tt]). Secondo me l’obiettivo dello script è garantire all’utente TeXworks che, se sceglie una voce dalla lista che gli viene presentata, quel motore gli viene riconosciuto (in TW). Per fare questo dovrò chiedere a Stefan di rendere disponibile da script l’elenco dei “processing tools” disponibili. La compatibilità si avrà per quei motori che esistono anche in TeXShop con lo stesso nome (ignorando minuscole/maiuscole).
- Root: qui non ci sono problemi, purché si usino barre dritte e non rovesciate (per compatibilità tra Windows e Linux sullo stesso TeXworks).
- Spellcheck: anche qui l’obiettivo primario è garantire all’utente che il dizionario che sceglie dall’elenco viene riconosciuto. Per questo motivo, vengono mostrati solamente i dizionari installati. TeXworks confronta il valore estratto dalla riga magica con i nomi dei file *.dic installati, che di solito sono nella forma “it_IT” (con l’underscore, invece del trattino “it-IT”). Credo che TeXshop li riconosca (ma servirebbe una conferma), ammesso che gli interessino, dato che come dice Claudio dovrebbe essere più intelligente e riconoscere la lingua corrente nelle diverse porzioni di documento.
Grazie e ciao,
Antonio
-
24 Agosto 2012 alle 9:25 #77261::
OldClaudioNell’elenco che ti ho mandato io, screen shot di TeXshop, l’elenco dei motori è molto più ampio (circa il doppio) e ci sono molti più programmi che coincidono, per esempio LuaLaTeX, XeLaTeX, XeTeX, ci sono due Context, ma non conosco abbastanza quei motori per dire che relazione abbiano con quelli di TeXworks.
Sì, giusto. Credo sia dovuto al fatto che quelli che ho elencato io risiedano in una cartella, mentre quelli tuoi siano l’unione di due cartelle. O qualcosa del genere. 😀 Ma non ho capito se quelli tuoi aggiuntivi vengono elencati sin dall’installazione di TS o serve abilitarli in qualche modo. Per questo mi son tenuto conservativo. 🙂
Comunque, appurato che sono entrambi (TW e TS) case-insensitive e che per la maggior parte (tranne ConTeXt) i motori coincidono con il nome del programma associato, io starei abbastanza tranquillo. 😉
-
24 Agosto 2012 alle 12:16 #77262::
antonio.macrì” post=76531
Nell’elenco che ti ho mandato io, screen shot di TeXshop, l’elenco dei motori è molto più ampio (circa il doppio) e ci sono molti più programmi che coincidono, per esempio LuaLaTeX, XeLaTeX, XeTeX, ci sono due Context, ma non conosco abbastanza quei motori per dire che relazione abbiano con quelli di TeXworks.
Sì, giusto. Credo sia dovuto al fatto che quelli che ho elencato io risiedano in una cartella, mentre quelli tuoi siano l’unione di due cartelle. O qualcosa del genere. 😀 Ma non ho capito se quelli tuoi aggiuntivi vengono elencati sin dall’installazione di TS o serve abilitarli in qualche modo. Per questo mi son tenuto conservativo. 🙂
Mi correggo: come deduco da qui, quelli che ho scritto io sono i motori impostati di default e scritti già nel codice di TS. A questi si aggiungono quelli presenti nella cartella ~/Library/TeXShop/Engines.
Per popolare l’elenco di [tt]program[/tt] con i motori disponibili ho appena fatto richiesta di una funzione “getEngineList” (ma non sarà certo disponibile oggi o domani).
-
2 Settembre 2012 alle 17:03 #77263::
Dalla release r1024 di TeXworks è disponibile la funzione TW.getEngineList. 😉
Per le versioni precedenti lo script mostra una lista con i motori predefiniti.Ho riscritto il codice. L’altra modifica importante è una casella di controllo (checkbox) da selezionare se si vuole la compatibilità con TeXshop.
-
9 Maggio 2013 alle 20:23 #77264::
Ho aggiunto nel repository un README con le istruzioni (in inglese) per l’installazione.Grazie a Claudio (OldClaudio), che mi ha fatto notare questa mancanza.
Ciao,
Antonio
-
10 Maggio 2013 alle 4:12 #77265
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.