Risposte nei forum create
-
AutoreRisposte
-
::
TeXworks la riconosce anche se scritta in minuscolo. 😉Inoltre, mostra in basso la codifica che sta usando per il file corrente: in questo modo si nota che la cambia al volo non appena viene scritta la riga magica, senza riaprire il file. Una cosa analoga per i motori di composizione: l’utente può controllare all’istante se una riga magica è stata riconosciuta o no. Mi chiedo se è lo stesso anche su TS (dalla schermata di Lorenzo non vedo la barra di stato).
::lorenzo.pantieri” post=77535…
2. Ho preso il .tex così ottenuto e l’ho trasformato in UTF-8 con Charco; ho sostituito “applemac” con “utf8” e gli ho aggiunto la riga [tt]% !TEX encoding = UTF-8[/tt]
…E con quale editor hai compiuto queste operazioni? Può essere che tu abbia spostato il problema da TeXShop a un altro programma.
Devi forzare TS a leggerti il file con codifica UTF-8 e puoi farlo in due modi: 1) gli fai trovare la riga magica; 2) metti UTF-8 nelle preferenze di TS.
Nel primo caso, è chiaro che devi scrivere le righe magiche con un editor (che sia TS o un altro) che ti legge correttamente il file, riconoscendone la codifica, altrimenti modificandolo e salvandolo lo danneggi irrimediabilmente (come quando si dice che se si vedono caratteri strani non bisogna MAI salvare il file). La conseguenza è che sposti il problema da TS a un altro editor. Bisogna fare attenzione, senza fidarsi ciecamente di Charco: si fa prima con TeXworks.
::
Come ha scritto franen, un semplice [tt]\renewcommand[/tt] non può funzionare perché [tt]\cvlistheadingfont[/tt] è una dichiarazione mentre [tt]\spacedlowsmallcaps[/tt] è un comando. A dire il vero, il problema è che [tt]\cvlistheadingfont[/tt] è usato come una dichiarazione.
`\newenvironment{cvlist}[1]{%
\sbox{\@cvlistheading}{\cvlistheadingfont#1}%
\begin{list}{}{%
…`Se #1 fosse stato racchiuso tra graffe:
`\newenvironment{cvlist}[1]{%
\sbox{\@cvlistheading}{\cvlistheadingfont{#1}}%
\begin{list}{}{%
…`
allora [tt]\cvlistheadingfont[/tt] avrebbe potuto esser sostituito sia con una dichiarazione sia con un comando.(Potresti suggerire questa modifica all’autore del pacchetto, credo che non abbia alcun effetto collaterale.)
Anziché ricopiare il codice dell’ambiente, lo si può patchare (con etoolbox) oppure aggiungere a mano un paio di graffe (soluzione più semplice):
`\documentclass[10pt,a4paper,oneside,headinclude,footinclude]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{microtype}
\usepackage[LabelsAligned]{currvita}
\usepackage[beramono,nochapters,pdfspacing]{classicthesis}
\usepackage{arsclassica}\usepackage{etoolbox}
\begin{document}
\begin{cv}{Curriculum vitae \\ di Lorenzo Pantieri}
\begin{cvlist}{Dati anagrafici}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}\begin{cvlist}{\spacedlowsmallcaps{Dati anagrafici}}
\item Nato a Cesena (FC) il 30 gennaio 1973
\item Residente a Cesena in via Fornace Malta 116, CAP 47521
\end{cvlist}\begin{cvlist}{\normalfont\spacedlowsmallcaps{Dati anagrafici}}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}\begingroup
Prima soluzione senza etoolbox
\renewcommand\cvlistheadingfont{\spacedlowsmallcaps}
\begin{cvlist}{{Dati anagrafici}}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}
\endgroup\begingroup
Seconda soluzione senza etoolbox
\renewcommand\cvlistheadingfont{\bfseries\large\spacedlowsmallcaps}
\begin{cvlist}{{Dati anagrafici}}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}
\endgroup\begingroup
Prima soluzione con etoolbox
\patchcmd\cvlist{\cvlistheadingfont#1}{\spacedlowsmallcaps{#1}}{}{}
\begin{cvlist}{Dati anagrafici}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}
\endgroup\begingroup
Seconda soluzione con etoolbox
\patchcmd\cvlist{\cvlistheadingfont#1}{\spacedlowsmallcaps{\cvlistheadingfont#1}}{}{}
\begin{cvlist}{Dati anagrafici}
\item Codice fiscale: PNTLNZ73A30C573K
\item Stato civile: libero
\end{cvlist}
\endgroup\end{cv}
\end{document}`PS: quando si parla di “argomenti delimitati” di solito ci si riferisce a qualcosa di diverso da quello che è [tt]\spacedlowsmallcaps[/tt].
Ciao,
Antonio
::
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.
::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).
::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. 😉
::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
::
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
::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.
::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!
::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)?
-
AutoreRisposte