- Questo topic ha 26 risposte, 7 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 9 mesi fa da
ivan.
-
CreatoreTopic
-
11 Novembre 2011 alle 21:03 #65998::
Cari membri ed appassionati,
è la prima volta che scrivo qui.. Ho cercato il mio problema, ma certamente in mezzo alla marea di interventi, nonostante la ricerca, mi sarà sfuggito :sSono passato da pochi giorni a Mac (Lion) ed ho installato MacTec e texshop.
Ho preso un sorgente .tex che su texnic center compilava benissimo. Anche su texshop, nessun problema. Solo che, nell’editor, il documento mi compare con i caratteri accentati scritti in modo a dir poco strano e confuso. Inoltre, se provo a digitare una ” à ” oppure semplicemente le virgolette “, la compilazione si blocca.Ho provato a modificare l’encoding dei caratteri, ma niente..
Di seguito vi riporto le stringhe del preambolo che riguardano questa parte:\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[OT1]{fontenc}Grazie per qualsiasi vostro consiglio!!
-
CreatoreTopic
-
AutoreRisposte
-
-
11 Novembre 2011 alle 21:25 #65999::
toti85″ post=65041Cari membri ed appassionati,
è la prima volta che scrivo qui.. Ho cercato il mio problema, ma certamente in mezzo alla marea di interventi, nonostante la ricerca, mi sarà sfuggito :sSono passato da pochi giorni a Mac (Lion) ed ho installato MacTec e texshop.
Ho preso un sorgente .tex che su texnic center compilava benissimo. Anche su texshop, nessun problema. Solo che, nell’editor, il documento mi compare con i caratteri accentati scritti in modo a dir poco strano e confuso. Inoltre, se provo a digitare una ” à ” oppure semplicemente le virgolette “, la compilazione si blocca.Ho provato a modificare l’encoding dei caratteri, ma niente..
Di seguito vi riporto le stringhe del preambolo che riguardano questa parte:\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[OT1]{fontenc}Grazie per qualsiasi vostro consiglio!!
Avrai sicuramente una copia del file integro, ovvero non salvato o compilato con TeX Shop. Bene.
1) Apri le preferenze di TeX Shop e cambia la codifica di input in Occidentale (Iso Latin). Chiudi TeXShop.
2) Ora apri il tuo documento. Vedrai che i simboli sono come te li aspetti.
3) Clicca sul menù a tendina:
Macro>>Encoding>>IsoLatin
4) Salva il file.
5) Riapri le Preferenze di TeXShop e ripristina la codifica di default (utf8).
6) Riapri il file e lavoraciOra ogni volta che aprirai il tuo file, verrà aperto con la codifica Latin 1 (che è quella con sui è stato scritto, come si evince dall’opzione di inputenc).
Ma se crei un nuovo file, questo avrà la codifica utf8, che ti consiglio per tutti i tuoi nuovi file.Devi ripetere la procedura descritta ogni volta in cui si presenta un problema simile, ovvero la codifica del file non è coerente con quella dell’editor.
Ciao
Ivan
-
11 Novembre 2011 alle 21:41 #66000
-
11 Novembre 2011 alle 22:42 #66001::
Debbo ringraziare anche io Ivan. Mi sono scontrato tantissime volte pure io con il problema della codifica, e la mia tecnica rudimentale è stata per secoli quella di rileggere con certosina pazienza tutto il file e cambiare tutte le lettere accentate. Ora @OldClaudio mi vorrà di certo strangolare, visto che ha provato a spiegarmi la cosa un milione di volte, ma mi rendo conto che la mia ignoranza è tanta e tale che mi ci sono volute un milione più una volta per capire come funziona la cosa!Ciao,
Andrea
-
11 Novembre 2011 alle 22:56 #66002::
logos” post=65046Debbo ringraziare anche io Ivan. Mi sono scontrato tantissime volte pure io con il problema della codifica, e la mia tecnica rudimentale è stata per secoli quella di rileggere con certosina pazienza tutto il file e cambiare tutte le lettere accentate. Ora @OldClaudio mi vorrà di certo strangolare, visto che ha provato a spiegarmi la cosa un milione di volte, ma mi rendo conto che la mia ignoranza è tanta e tale che mi ci sono volute un milione più una volta per capire come funziona la cosa!
Ciao,
Andrea
Aggiungo che nel caso in cui un file sia stato “danneggiato”, ovvero salvato per sbaglio in una codifica diversa, e non si sia in possesso del file integro, le strade sono due:
1) sostituire manualmente tutti i simboli irriconoscibili (come ha fatto qualche volta Andrea)
2) Usare un convertitore che fa questo lavoro al posto nostro (per esempio Charco).Nel secondo caso non è detto che si sappia qual è la codifica originale. Per esempio se inputenc è impostato a latin1 non è detto che il file sia in latin1. Potrebbe essere anche MacOSRoman (Mac) o ansinew (Windows). L’utente non se ne accorge, ma il convertitore potrebbe dare dei problemi. Almeno a me è successo in alcuni casi.
Ma poi c’è differenza tra MacOSRoman e latin1? Mistero… ❓Ciao
Ivan
-
11 Novembre 2011 alle 23:09 #66003
-
11 Novembre 2011 alle 23:23 #66004::
OldClaudio” post=65048
Ma poi c’è differenza tra MacOSRoman e latin1? Mistero… ❓
Eccome! 👿
È vero mi sono sbagliato. Mi sembrava di aver compilato diverse volte documenti con inputenc impostato a latin1 usando l’editor impostato a MacOSRoman.
Una cosa simile mi è accaduta con Windows e le codifiche ansinew e latin1. Anche queste due sono diverse e se sì in cosa? È possibile che abbia compilato correttamente un file scritto su Windows (con TeXnicCenter) usando l’opzione latin1 di inputenc? Mi par di ricordare questo?Ciao
Ivan
-
11 Novembre 2011 alle 23:40 #66005::
ivan” post=65047Ma poi c’è differenza tra MacOSRoman e latin1? Mistero… ❓
Questo è ciò che risponde il terminale dando
`diff applemac.def latin1.def`
Preparati:
`2c2
< %% This is file `applemac.def', --- > %% This is file `latin1.def',
7c7
< %% inputenc.dtx (with options: `applemac') --- > %% inputenc.dtx (with options: `latin1')
57c57
< \ProvidesFile{applemac.def} --- > \ProvidesFile{latin1.def}
61c61,63
< \ProvideTextCommandDefault{\textflorin}{\textit{f}} --- > \ProvideTextCommandDefault{\textonehalf}{\ensuremath{\frac12}}
> \ProvideTextCommandDefault{\textonequarter}{\ensuremath{\frac14}}
> \ProvideTextCommandDefault{\textthreequarters}{\ensuremath{\frac34}}
68,103c70,86
< \ProvideTextCommandDefault{\textperthousand} < {\TextSymbolUnavailable\textperthousand} < \DeclareInputText{128}{\"A} < \DeclareInputText{129}{\r A} < \DeclareInputText{130}{\c C} < \DeclareInputText{131}{\@tabacckludge'E} < \DeclareInputText{132}{\~N} < \DeclareInputText{133}{\"O} < \DeclareInputText{134}{\"U} < \DeclareInputText{135}{\@tabacckludge'a} < \DeclareInputText{136}{\@tabacckludge`a} < \DeclareInputText{137}{\^a} < \DeclareInputText{138}{\"a} < \DeclareInputText{139}{\~a} < \DeclareInputText{140}{\r a} < \DeclareInputText{141}{\c c} < \DeclareInputText{142}{\@tabacckludge'e} < \DeclareInputText{143}{\@tabacckludge`e} < \DeclareInputText{144}{\^e} < \DeclareInputText{145}{\"e} < \DeclareInputText{146}{\@tabacckludge'\i} < \DeclareInputText{147}{\@tabacckludge`\i} < \DeclareInputText{148}{\^\i} < \DeclareInputText{149}{\"\i} < \DeclareInputText{150}{\~n} < \DeclareInputText{151}{\@tabacckludge'o} < \DeclareInputText{152}{\@tabacckludge`o} < \DeclareInputText{153}{\^o} < \DeclareInputText{154}{\"o} < \DeclareInputText{155}{\~o} < \DeclareInputText{156}{\@tabacckludge'u} < \DeclareInputText{157}{\@tabacckludge`u} < \DeclareInputText{158}{\^u} < \DeclareInputText{159}{\"u} < \DeclareInputText{160}{\dag} < \DeclareInputText{161}{\textdegree} --- > \ProvideTextCommandDefault{\textbrokenbar}
> {\TextSymbolUnavailable\textbrokenbar}
> \providecommand{\mathonesuperior}{{^1}}
> \providecommand{\maththreesuperior}{{^3}}
> \providecommand{\mathtwosuperior}{{^2}}
> \DeclareInputText{164}{\textcurrency}
> \DeclareInputText{166}{\textbrokenbar}
> \DeclareInputText{168}{\”{}}
> \DeclareInputText{180}{\@tabacckludge'{}}
> \DeclareInputText{184}{\c\ }
> \DeclareInputText{188}{\textonequarter}
> \DeclareInputText{189}{\textonehalf}
> \DeclareInputText{190}{\textthreequarters}
> \DeclareInputText{160}{\nobreakspace}
> \DeclareInputText{176}{\textdegree}
> \DeclareInputText{161}{\textexclamdown}
> \DeclareInputMath{177}{\pm}
104a88
> \DeclareInputMath{178}{\mathtwosuperior}
106,122c90,91
< \DeclareInputText{164}{\S} < \DeclareInputText{165}{\textbullet} < \DeclareInputText{166}{\P} < \DeclareInputText{167}{\ss} < \DeclareInputText{168}{\textregistered} < \DeclareInputText{169}{\copyright} < \DeclareInputText{170}{\texttrademark} < \DeclareInputText{171}{\@tabacckludge'{}} < \DeclareInputText{172}{\"{}} < \DeclareInputMath{173}{\neq} < \DeclareInputText{174}{\AE} < \DeclareInputText{175}{\O} < \DeclareInputMath{176}{\infty} < \DeclareInputMath{177}{\pm} < \DeclareInputMath{178}{\leq} < \DeclareInputMath{179}{\geq} < \DeclareInputText{180}{\textyen} --- > \DeclareInputMath{179}{\maththreesuperior}
> \DeclareInputText{165}{\textyen}
124,197c93,170
< \DeclareInputMath{182}{\partial} < \DeclareInputMath{183}{\Sigma} < \DeclareInputMath{184}{\Pi} < \DeclareInputMath{185}{\pi} < \DeclareInputMath{186}{\int} < \DeclareInputText{187}{\textordfeminine} < \DeclareInputText{188}{\textordmasculine} < \DeclareInputMath{189}{\Omega} < \DeclareInputText{190}{\ae} < \DeclareInputText{191}{\o} < \DeclareInputText{192}{\textquestiondown} < \DeclareInputText{193}{\textexclamdown} < \DeclareInputMath{194}{\lnot} < \DeclareInputMath{195}{\surd} < \DeclareInputText{196}{\textflorin} < \DeclareInputMath{197}{\approx} < \DeclareInputMath{198}{\Delta} < \DeclareInputText{199}{\guillemotleft} < \DeclareInputText{200}{\guillemotright} < \DeclareInputText{201}{\dots} < \DeclareInputText{202}{\nobreakspace} < \DeclareInputText{203}{\@tabacckludge`A} < \DeclareInputText{204}{\~A} < \DeclareInputText{205}{\~O} < \DeclareInputText{206}{\OE} < \DeclareInputText{207}{\oe} < \DeclareInputText{208}{\textendash} < \DeclareInputText{209}{\textemdash} < \DeclareInputText{210}{\textquotedblleft} < \DeclareInputText{211}{\textquotedblright} < \DeclareInputText{212}{\textquoteleft} < \DeclareInputText{213}{\textquoteright} < \DeclareInputMath{214}{\div} < \DeclareInputMath{215}{\diamond} < \DeclareInputText{216}{\"y} < \DeclareInputText{217}{\"Y} < \DeclareInputMath{218}{/} < \DeclareInputText{219}{\textcurrency} < \DeclareInputText{220}{\guilsinglleft} < \DeclareInputText{221}{\guilsinglright} < \DeclareInputText{222}{fi} < \DeclareInputText{223}{fl} < \DeclareInputText{224}{\ddag} < \DeclareInputText{225}{\textperiodcentered} < \DeclareInputText{226}{\quotesinglbase} < \DeclareInputText{227}{\quotedblbase} < \DeclareInputText{228}{\textperthousand} < \DeclareInputText{229}{\^A} < \DeclareInputText{230}{\^E} < \DeclareInputText{231}{\@tabacckludge'A} < \DeclareInputText{232}{\"E} < \DeclareInputText{233}{\@tabacckludge`E} < \DeclareInputText{234}{\@tabacckludge'I} < \DeclareInputText{235}{\^I} < \DeclareInputText{236}{\"I} < \DeclareInputText{237}{\@tabacckludge`I} < \DeclareInputText{238}{\@tabacckludge'O} < \DeclareInputText{239}{\^O} < \DeclareInputText{240}{\textapplelogo} < \DeclareInputText{241}{\@tabacckludge`O} < \DeclareInputText{242}{\@tabacckludge'U} < \DeclareInputText{243}{\^U} < \DeclareInputText{244}{\@tabacckludge`U} < \DeclareInputText{245}{\i} < \DeclareInputText{246}{\^{}} < \DeclareInputText{247}{\~{}} < \DeclareInputText{248}{\@tabacckludge={}} < \DeclareInputText{249}{\u{}} < \DeclareInputText{250}{\.{}} < \DeclareInputText{251}{\r{}} < \DeclareInputText{252}{\c\ } < \DeclareInputText{253}{\H{}} < \DeclareInputText{254}{\k\ } < \DeclareInputText{255}{\v{}} --- > \DeclareInputText{182}{\P}
> \DeclareInputText{167}{\S}
> \DeclareInputText{183}{\textperiodcentered}
> \DeclareInputText{169}{\copyright}
> \DeclareInputMath{185}{\mathonesuperior}
> \DeclareInputText{170}{\textordfeminine}
> \DeclareInputText{186}{\textordmasculine}
> \DeclareInputText{171}{\guillemotleft}
> \DeclareInputText{187}{\guillemotright}
> \DeclareInputMath{172}{\lnot}
> \DeclareInputText{173}{\-}
> \DeclareInputText{174}{\textregistered}
> \DeclareInputText{175}{\@tabacckludge={}}
> \DeclareInputText{191}{\textquestiondown}
> \DeclareInputText{192}{\@tabacckludge`A}
> \DeclareInputText{208}{\DH}
> \DeclareInputText{193}{\@tabacckludge'A}
> \DeclareInputText{209}{\~N}
> \DeclareInputText{194}{\^A}
> \DeclareInputText{210}{\@tabacckludge`O}
> \DeclareInputText{195}{\~A}
> \DeclareInputText{211}{\@tabacckludge'O}
> \DeclareInputText{196}{\”A}
> \DeclareInputText{212}{\^O}
> \DeclareInputText{197}{\r A}
> \DeclareInputText{213}{\~O}
> \DeclareInputText{198}{\AE}
> \DeclareInputText{214}{\”O}
> \DeclareInputText{199}{\c C}
> \DeclareInputMath{215}{\times}
> \DeclareInputText{200}{\@tabacckludge`E}
> \DeclareInputText{216}{\O}
> \DeclareInputText{201}{\@tabacckludge'E}
> \DeclareInputText{217}{\@tabacckludge`U}
> \DeclareInputText{202}{\^E}
> \DeclareInputText{218}{\@tabacckludge'U}
> \DeclareInputText{203}{\”E}
> \DeclareInputText{219}{\^U}
> \DeclareInputText{204}{\@tabacckludge`I}
> \DeclareInputText{220}{\”U}
> \DeclareInputText{205}{\@tabacckludge'I}
> \DeclareInputText{221}{\@tabacckludge'Y}
> \DeclareInputText{206}{\^I}
> \DeclareInputText{222}{\TH}
> \DeclareInputText{207}{\”I}
> \DeclareInputText{223}{\ss}
> \DeclareInputText{224}{\@tabacckludge`a}
> \DeclareInputText{240}{\dh}
> \DeclareInputText{225}{\@tabacckludge'a}
> \DeclareInputText{241}{\~n}
> \DeclareInputText{226}{\^a}
> \DeclareInputText{242}{\@tabacckludge`o}
> \DeclareInputText{227}{\~a}
> \DeclareInputText{243}{\@tabacckludge'o}
> \DeclareInputText{228}{\”a}
> \DeclareInputText{244}{\^o}
> \DeclareInputText{229}{\r a}
> \DeclareInputText{245}{\~o}
> \DeclareInputText{230}{\ae}
> \DeclareInputText{246}{\”o}
> \DeclareInputText{231}{\c c}
> \DeclareInputMath{247}{\div}
> \DeclareInputText{232}{\@tabacckludge`e}
> \DeclareInputText{248}{\o}
> \DeclareInputText{233}{\@tabacckludge'e}
> \DeclareInputText{249}{\@tabacckludge`u}
> \DeclareInputText{234}{\^e}
> \DeclareInputText{250}{\@tabacckludge'u}
> \DeclareInputText{235}{\”e}
> \DeclareInputText{251}{\^u}
> \DeclareInputText{236}{\@tabacckludge`\i}
> \DeclareInputText{252}{\”u}
> \DeclareInputText{237}{\@tabacckludge'\i}
> \DeclareInputText{253}{\@tabacckludge'y}
> \DeclareInputText{238}{\^\i}
> \DeclareInputText{254}{\th}
> \DeclareInputText{239}{\”\i}
> \DeclareInputText{255}{\”y}
201c174
< %% End of file `applemac.def'. --- > %% End of file `latin1.def'.`
Ciao
Enrico
-
12 Novembre 2011 alle 5:56 #66006::
Mi sembra che ultimamente siano numerosi gli interventi sui problemi di codifica, ai quali si danno, in fondo, sempre le stesse soluzioni.Siccome io e Lorenzo abbiamo impiegato molto del nostro tempo sul paragrafo che parla delle codifiche e dei loro possibili problemi, vorremmo sapere (non ho sentito Lorenzo, ma mi permetto di includerlo in questa richiesta) se quelle due paginette mancano di qualcosa.
Dovrebbero essere più specifiche? Dovrebbero riportare qualche caso particolare? Noi lì abbiamo assunto che chi lavora su un sorgente sia anche chi l’ha scritto, per cui non si pone il problema. Ma mi pare proprio che l’eventualità di aprire .tex presi qua e là non sia così peregrina.
Che ne pensate?
Ciao
Tommaso
-
12 Novembre 2011 alle 7:56 #66007::
illinguista1972″ post=65052Mi sembra che ultimamente siano numerosi gli interventi sui problemi di codifica, ai quali si danno, in fondo, sempre le stesse soluzioni.
Siccome io e Lorenzo abbiamo impiegato molto del nostro tempo sul paragrafo che parla delle codifiche e dei loro possibili problemi, vorremmo sapere (non ho sentito Lorenzo, ma mi permetto di includerlo in questa richiesta) se quelle due paginette mancano di qualcosa.
Dovrebbero essere più specifiche? Dovrebbero riportare qualche caso particolare? Noi lì abbiamo assunto che chi lavora su un sorgente sia anche chi l’ha scritto, per cui non si pone il problema. Ma mi pare proprio che l’eventualità di aprire .tex presi qua e là non sia così peregrina.
Che ne pensate?
Ciao
TommasoIl mio punto di vista sull’argomento codifica è certamente viziato dal fatto che io sono completamente incompatibile con il linguaggio dell’informatica e non riesco mai a capirci un accidente! Da ragazzo, quando utilizzavo windows ho fatto delle litigate epocali con il concetto di driver che non sono mai riuscito a capire: per il mio modo molto elementare di vedere le cose, se infilo il cavo nel buco giusto, la stampante deve funzionare! Figuriamoci se pigio un tasto della tastiera! Dunque, per spiegare un concetto d’informatica come la codifica, secondo me, appaiono necessari esempi molto concreti per capire cosa si sta leggendo e cosa ci viene chiesto di fare. Certo, per spiegare alla perfezione la nozione astratta di codifica, si può leggere la bellissima Guida di Claudio Beccari, ma la mente “semplice” che, come me, pensa ad un calcolatore come ad una “elegante macchina da scrivere”, difficilmente capisce alla perfezione il discorso astratto e preferisce partire dal guardare due o tre esempi pratici sui quali basarsi per risolvere il problema. Insisto però che di incompetenti in informatica al mio livello ce ne sono davvero pochissimi oggigiorno!
Ciao,
Andrea
-
12 Novembre 2011 alle 8:06 #66008::
Beh per quanto mi riguarda, sull’ Arte ho trovato praticamente tutto lo scibile su LaTeX, almeno quello necessario per poter scrivere dalla tesi di laurea agli articoli sino alle poesie.
Ma nel passaggio a Mac, l’editor mi ha creato le summenzionate difficoltà, che non avrei saputo risolvere soltanto con l’Arte.
Se questo consentirà miglioramenti, ben vengano 🙂 il testo, a mio modesto avviso, resta il MUST a livello italiano. Lo consiglio sempre a tutti i miei amici e colleghi, e finora NESSUNO mi ha mai detto “non ho capito” 😉
-
12 Novembre 2011 alle 9:02 #66009::
illinguista1972″ post=65052Mi sembra che ultimamente siano numerosi gli interventi sui problemi di codifica, ai quali si danno, in fondo, sempre le stesse soluzioni.
Siccome io e Lorenzo abbiamo impiegato molto del nostro tempo sul paragrafo che parla delle codifiche e dei loro possibili problemi, vorremmo sapere (non ho sentito Lorenzo, ma mi permetto di includerlo in questa richiesta) se quelle due paginette mancano di qualcosa.
Dovrebbero essere più specifiche? Dovrebbero riportare qualche caso particolare? Noi lì abbiamo assunto che chi lavora su un sorgente sia anche chi l’ha scritto, per cui non si pone il problema. Ma mi pare proprio che l’eventualità di aprire .tex presi qua e là non sia così peregrina.
Che ne pensate?
Ciao
TommasoCiao Tommaso.
Premettiamo innanzitutto che comunque voi scriviate l’Arte arriveranno ugualmente richieste di
aiuto per le codifiche perché è un argomento tipicamente da addetto ai lavori e perché non
tutti hanno voglia e pazienza, purtroppo, di documentarsi prima (anche perché basterebbe prendere
Wikipedia o qualche altro milione di siti che le spiega).Detto questo ritengo che un argomento come la codifica di input sia una cosa che o va spiegata
come si deve oppure non va spiegata per niente. Idem per quella di output, un concetto ancora
più complicato.A tal proposito, a me non piace né l’Arte né la Guida GuIT (né altre guide lette finora).
La prima perché semplifica troppo, per la serie “Make everything as simple as possible, but not simpler”.
Semplifica a tal punto che tanto valeva dire “fate così e basta”, rimandando poi a un’appendice
per le spiegazioni e per i suggerimenti per le conversioni.
La Guida di Claudio invece non è chiaramente adatta a un principiante perché troppo approfondita
e, se posso permettermi la critica, non chiarissima. Personalmente quando cerco di spiegare cos’è una codifica di
input seguo più o meno questo approccio:1. TeX così come ogni altro linguaggio di programmazione “lavora” con file di testo
2. Cos’è un file di testo: un file di testo è un file contenente una sequenza di bit che, interpretata
secondo una certa “tabella di conversione”, corrisponde solamente a una sequenza di caratteri.
3. Queste “tabelle di conversione” da sequenze di bit a caratteri vengono chiamate “codifiche”.
Se per esempio in un file di testo la sequenza di bit è 01100011011010010110000101101111
questo equivale, secondo la codifica ASCII e UTF-8, alla parola “ciao”. Provare per credere.
Pertanto quando scriviamo o leggiamo un file di testo, dobbiamo impostare l’editor con la
codifica voluta o necessaria
4. TeX è in grado di compilare solamente sorgenti scritti in codifica ASCII, che per l’utente
equivale a dire file di testo che contengono i 128 caratteri dell’ASCII (no lettere accentate, ecc…)
5. Si pone allora la domanda di come possa scrivere per esempio la lettera “é” (lettera che esiste
nella codifica UTF-8 ma non nell’ASCII).
6. Per farlo si scrivono sequenze apposite \’e che LaTeX poi trasforma nell’opportuno carattere.
7. C’è un modo per scrivere con codifiche che comprendono più caratteri senza dover digitare
quelle sequenze complicate? La risposta è sì e lo si fa grazie al pacchetto inputenc.
8. Ecc… ecc…E analogamente per la codifica di output. Ma forse questo modo è troppo complicato per una guida
di base. Non so.Per concludere credo che il problema non si risolverà mai finché l’utente avrà possibilità di scelta.
Infatti a LaTeX si avvicinano anche persone a digiuno di informatica che ignorano completamente
il concetto di codifica per un file di testo. L’unica salvezza è che in futuro si passi a obbligatoriamente
a utf8 ed eventualmente che gli editor vengano equipaggiati con un opportuno strumento di
riconoscimento di codifica e conversione verso utf8.Ciao ciao.
Fra
-
12 Novembre 2011 alle 10:15 #66010::
francesco.biccari” post=65060
La Guida di Claudio invece non è chiaramente adatta a un principiante perché troppo approfondita
e, se posso permettermi la critica, non chiarissima. Personalmente quando cerco di spiegare cos’è una codifica di
input seguo più o meno questo approccio:Grazie Francesco per avermelo fatto notare.
Non ne ero soddisfattissimo nemmeno io e perciò avevo messo questo argomento ostico in appendice, ma aspettavo qualche feedback per sapere dove avevo “toppato”.
Che l’argomento sia ostico è un fatto; che sia difficile da spiegare a chi di informatica sa solo cliccare sulle icone è ancora più ostico; La Guida che ho curato non è per principianti, e la presentazione lo dice chiaramente; ma si può sempre migliorare anche per i non principianti.
Ma ci proverò.
Grazie
Claudio
-
16 Novembre 2011 alle 6:44 #66011::
francesco.biccari” post=65060
Ciao Tommaso.Premettiamo innanzitutto che comunque voi scriviate l’Arte arriveranno ugualmente richieste di
aiuto per le codifiche perché è un argomento tipicamente da addetto ai lavori e perché non
tutti hanno voglia e pazienza, purtroppo, di documentarsi prima (anche perché basterebbe prendere
Wikipedia o qualche altro milione di siti che le spiega).Io direi che vale la seconda. 🙂 Quelli che si documentano preventivamente sono ancora solo una parte degli utenti di LaTeX, che spesso si avvicinano al programma solo per imposizione dei propri relatori.
francesco.biccari” post=65060
Detto questo ritengo che un argomento come la codifica di input sia una cosa che o va spiegata
come si deve oppure non va spiegata per niente. Idem per quella di output, un concetto ancora
più complicato.A me non sembrano concetti così complicati. Lo diventano se non si legge qualcosa prima, o se quel qualcosa scritto prima non è scritto in modo adeguato. Chi apre Writer di OpenOffice.org e si mette a scrivere un documento non si cura minimamente della codifica con cui verrà scritto. Chi scrive un documento con LaTeX, invece, deve curarsene. E se ne può curare caricando due pacchetti e impostando opportunamente l’editor. Non mi pare che ci vogliano studi approfonditi per impararlo 😉
francesco.biccari” post=65060
A tal proposito, a me non piace né l’Arte né la Guida GuIT (né altre guide lette finora).
La prima perché semplifica troppo, per la serie “Make everything as simple as possible, but not simpler”.
Semplifica a tal punto che tanto valeva dire “fate così e basta”, rimandando poi a un’appendice
per le spiegazioni e per i suggerimenti per le conversioni.
La Guida di Claudio invece non è chiaramente adatta a un principiante perché troppo approfondita
e, se posso permettermi la critica, non chiarissima. Personalmente quando cerco di spiegare cos’è una codifica di
input seguo più o meno questo approccio:1. TeX così come ogni altro linguaggio di programmazione “lavora” con file di testo
2. Cos’è un file di testo: un file di testo è un file contenente una sequenza di bit che, interpretata
secondo una certa “tabella di conversione”, corrisponde solamente a una sequenza di caratteri.
3. Queste “tabelle di conversione” da sequenze di bit a caratteri vengono chiamate “codifiche”.
Se per esempio in un file di testo la sequenza di bit è 01100011011010010110000101101111
questo equivale, secondo la codifica ASCII e UTF-8, alla parola “ciao”. Provare per credere.
Pertanto quando scriviamo o leggiamo un file di testo, dobbiamo impostare l’editor con la
codifica voluta o necessaria
4. TeX è in grado di compilare solamente sorgenti scritti in codifica ASCII, che per l’utente
equivale a dire file di testo che contengono i 128 caratteri dell’ASCII (no lettere accentate, ecc…)
5. Si pone allora la domanda di come possa scrivere per esempio la lettera “é” (lettera che esiste
nella codifica UTF-8 ma non nell’ASCII).
6. Per farlo si scrivono sequenze apposite \’e che LaTeX poi trasforma nell’opportuno carattere.
7. C’è un modo per scrivere con codifiche che comprendono più caratteri senza dover digitare
quelle sequenze complicate? La risposta è sì e lo si fa grazie al pacchetto inputenc.
8. Ecc… ecc…Qui posso essere d’accordo con te. Forse noi semplifichiamo troppo (ma ricordiamo che i lettori cui l’Arte si rivolge sono lettori tendenzialmente inesperti) e Claudio invece va più nel dettaglio, com’è giusto che sia nella sua guida, rivolta a lettori diversi dai nostri. Io credo che una spiegazione come la tua stia bene nella guida GuIT, magari modificata, ma non certo nell’Arte, dove assumiamo che i fiile sorgenti vengano scritti da chi poi li userà. Anche se questo non dovesse essere, ripeto che per me non ci vuole molto a sistemare le cose:
1.
LaTeX è un programma un po’ diverso dagli altri anche perché richiede esplicitamente l’indicazione sia della codifica con cui verrà scritto il testo sorgente, sia di quella con cui verrà composto il documento mostrato nell’anteprima.2.
La prima si indica come opzione al pacchetto inputenc.3.
La seconda si indica come opzione al pacchetto fontenc.4.
È obbligatorio che la codifica con cui è impostato l’editor che si usa (recuperabile nelle preferenze) coincida con quella assegnata a inputenc, altrimenti molti caratteri appariranno strani. Provare per credere.Stop. Fine. Basta. Questa è la linea dell’Arte, in cui si dice “come fare per” e non “come funziona questo e quell’altro”. Che difficoltà pongono le cose che ho appena scritto? Nessuna, converrai. Bastano a chi deve scrivere tesi e contemporaneamente imparare il programma? Direi di sì 🙂
francesco.biccari” post=65060
E analogamente per la codifica di output. Ma forse questo modo è troppo complicato per una guida
di base. Non so.Credo di sì.
francesco.biccari” post=65060
Per concludere credo che il problema non si risolverà mai finché l’utente avrà possibilità di scelta.
Infatti a LaTeX si avvicinano anche persone a digiuno di informatica che ignorano completamente
il concetto di codifica per un file di testo. L’unica salvezza è che in futuro si passi a obbligatoriamente
a utf8 ed eventualmente che gli editor vengano equipaggiati con un opportuno strumento di
riconoscimento di codifica e conversione verso utf8.Questa è la vera sfiga. Se TUTTI gli utenti installassero una distribuzione completa e usassero editor Unicode-compatibili e si abituassero a scrivere
`\usepackage[utf8]{inputenc}`
sono convinto che almeno una parte di messaggi su questo forum non avrebbe ragione di esistere. Ma purtroppo c’è scelta, e non tutti gli editor supportano Unicode. Però alcuni lo fanno: perché continuare a usarne altri?
Se poi ci si trova a dover lavorare su file provenienti da terzi, allora l’Arte spiega anche come fare per.
1.
Apri il file e guarda l’opzione a inputenc.2.
Chiudi SENZA SALVARE.3.
Reimposta la codifica del tuo editor, oppure apri il file con una codifica scelta “al volo” (TeXShop permette di farlo).4.
Lavora serenamente sul file, componilo e salvalo.5.
Impara una volta per tutte a usare i commenti speciali e usa editor capaci di interpretarli (TeXworks, TeXShop e Aquamacs Emacs): salvano la vita a te e a quelli cui dai i tuoi sorgenti. Nell’Arte ci sono soltanto i commenti per definire un documento master, e non quelli per le codifiche. Lorenzo non li ha voluti 🙂 Io li uso sempre: hanno la precedenza su tutto.Ciao
Tommaso
-
16 Novembre 2011 alle 14:27 #66012
-
16 Novembre 2011 alle 14:54 #66013::
toti85″ post=65284Mmm mi è sorto un dubbio amletico 😀
Siccome spesso utilizzo il portatile per lavorare alla tesi (su cui gira Windows), mi chiedo se, una volta editato il sorgente con TexShop in ambiente Mac, sorgano problemi importandolo in texnic center…Sì: se usi UTF-8 come codifica, sappi che TeXnicCenter non è in grado di gestirla. Usa TeXStudio o Texmaker (simili a TeXnicCenter) oppure TeXworks (simile a TeXshop).
Ciao
Enrico
-
16 Novembre 2011 alle 17:54 #66014
-
16 Novembre 2011 alle 18:41 #66015::
Ho fatto la prova importando in texworks il sorgente modificato con texshop. Nonostante la codifica impostata in texworks sia utf-8, mi vengono segnalati diversi errori che poi, inspiegabilmente, non inficiano la corretta compilazione del pdf. Sapreste indicarmi il motivo?
Un errore che ho visto ripetersi è il “missing $ ” … Eppure nel pdf va tutto bene… 😕
-
16 Novembre 2011 alle 18:59 #66016::
toti85″ post=65293Ho fatto la prova importando in texworks il sorgente modificato con texshop. Nonostante la codifica impostata in texworks sia utf-8, mi vengono segnalati diversi errori che poi, inspiegabilmente, non inficiano la corretta compilazione del pdf. Sapreste indicarmi il motivo?
Un errore che ho visto ripetersi è il “missing $ ” … Eppure nel pdf va tutto bene… 😕Se scrivi un file in TeXShop (Mac) impostato con codifica utf8 e lo apri su un pc Windows con TeXworks impostato sempre con codifica utf8,
non ci possono essere problemi. Quindi se hai problemi, in una delle due ipotesi C’è qualcosa di sbagliato. Controlla anche inputenc (deve essere coerente con la codifica del file) e le eventuali “righe magiche” di TeXworks.Ciao
Ivan
-
16 Novembre 2011 alle 22:24 #66017
-
16 Novembre 2011 alle 22:37 #66018::
toti85″ post=65302Sì ho trovato nel sorgente queste due stringhe
\usepackage[latin1]{inputenc}
\usepackage[OT1]{fontenc}che potrebbero essere la risposta… ma con texworks i problemi sorgono per la prima delle due, o sbaglio?
Se il file è stato scritto e salvato in utf8, il compilatore quando arriva alla prima riga viene informato che il file è scritto in latin1. Cioè viene informato di una cosa falsa. Si aspetta di trovare simboli nel “linguaggio” latin1, mentre ne trova altri che non riesce ad interpretare. Quindi è ovvio che si blocca la compilazione
Viceversa se il file è scritto in utf8 e viene aperto e compilato in un editor impostato a latin1, con inputenc coerente, a monitor appariranno simboli strani, ma l’output sarà corretto. In pratica se inputenc e il file hanno la stessa codifica, la compilazione produrrà comunque un pdf corretto, indipendentemente dalla codifica in cui viene aperto e salvato il file. È chiaro che una volta corrotto il file non resta che convertirlo, ma almeno si ha sempre la sicurezza di ottenere l’output corretto.D’ora in poi usa sempre queste due righe:
`\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
`Ciao
Ivan
-
16 Novembre 2011 alle 23:23 #66019::
Inoltre non usare mai
`
\usepackage[OT1]{fontenc}
`
ma come ti ha suggerito Ivan usa sempre la codifica T1.Ci sono die motivi per non usare mai quella riga:
1) la codifica OT1 è quella di default e quindi non c’è bisogno di chederla esplocitamante.
2) i font con codifica OT1 sono privi di caratteri accentati, e contengono solo i caratteri strettamente ASCII; gli accenti vengono messi grazie al lavoro del pacchetto inputenc, ma essenzialmente si producono segni grafici ottenuti per sovrapposizione dell’accento sopra la lettera base; ciò porta spesso a caratteri stampati o visualizzati a video che non sono al meglio dlela loro forma.
3) la mancanza di accenti incorporati fa si che la sillabazione non venga eseguita bene, perché il motore di sillabazione esegue la divisione in sillabe di stringhe formate da soli caratteri, senza comandi inclusi; in altre parole, quando usi questa codifica una parola come “qualità” viene trasformata in “qualit\accent19a” e il comando per l’accento inpedisce il riconoscimento dell’ultima sillaba; con altre lingue piu ricche di accenti rispetto all’italiano, questo potrebbe impedire la cesura in fin di riga di molte parole e la compoizione avrebbe o delle righe con grandi spazi interparola o righe sporgenti fuori dal margine.Perciò per usare i caratteri predefiniti usa queste due specifiche:
`\usepackage[T1}{fontenc}
\usepackage{lmodern}`
e in particolare evita accuratamente di compilare per una uscita in formato DVI, eventualmente trasformata in ps, ma compila sempre con pdflatex. I font Latin Modern sono solo vettoriali, quindi il tuo file di uscita deve essere in formato PDF o subordinatamente in formato PS.Usa il passaggio per il formato PS solo e soltanto in quei rari casi in cui devi usare il pacchetto PSTricks con i suoi moduli. A dire il vero, esistono pacchetti che ti consentono di compilare con pdflatex anche in quei casi, ma è un po’ fare di necessità virtù.
-
17 Novembre 2011 alle 8:18 #66020::
Utilizzando le due stringhe da voi consigliate, il compilatore mi salta una miriade di accenti, dandomi due messaggi ricorrenti:! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding `utf8′.
! Package inputenc Error: Unicode char \u8:� not set up for use with LaTeX.😕
-
17 Novembre 2011 alle 8:28 #66021
-
17 Novembre 2011 alle 9:11 #66022::
toti85″ post=65310Però utilizzando il pacchetto lmoder, gli accenti ricompaiono.
Sebbene gli unici errori segnalati ora siano più blandi: mi dice che non riconosce un carattere accentato, ma sul pdf esso figura normalmente..
Per il motivo che ti ho spiegato sopra…
Stai complicando la cosa oltre l’immaginabile. lmodern non c’entra; o meglio non è una condizione necessaria per risolvere (o aggravare) il problema. Questo è alla radice.
Ti faccio una domanda: hai già documenti .tex o stai iniziando a crearli? Se la risposta è sì, lascia perdere simili questioni.
Metti TeXWorks o TeXstudio o Texmaker (non ci capisco più niente con queste maiuscole!) su Windows, imposta gli editor a utf8 (che dovrebbe essere di default) e usa le due righe che ti abbiamo consigliato io e Claudio; su Mac puoi usare anche TeXShop oltre agli editor sopra. Impostalo sempre a utf8 e usa le solite due righe.
Vivrai felice.Ricorda che continuare a salvare il file da una codifica all’altra crea un “incasinamento” di linguaggi dal quale è difficile uscire. Probabilmente è quello che è successo a te.
Il problema della codifica non dovrebbe essere un problema, almeno per l’utente medio. Quindi al bando gli editor che non supportano utf8 e al bando anche quelli che non lo mettono di default 😈 tipo TeXShop che si ostina ad usare di default Mac Os Roman…
Mi permetto un suggerimento ai nostri autori di guide. Farei una sezione ben evidente che contenga tutte e sole quelle informazioni di base che servono per “cominciare bene”. Per esempio:
Se è la prima volta che si usa LaTeX, prima di iniziare assicurarsi di:
1. non usare mai TeXnicCenter ma preferire TeXstudio, TeXworks e Texmaker (installandoli anche tutti, perché no?)
2. impostare subito la codifica degli editor a utf8 (dando magari qualche informazione su come farlo con i diversi editor)
3. caricare sempre i pacchetti fontenc, inputenc e babel nell’ordine giusto e con le opzioni giuste… (tenendo conto che se uno scrive in cirillico…)
4. controllare la codifica in cui sono stati scritti i file di terze parti (riga di inputenc). Se è utf8 procedere senza indugi; se è diversa cambiare momentaneamente la codifica dell’editor.
5. Se si intende lavorare su un file di terze parti scritto in codifica diversa, si può valutare l’opportunità di convertirlo oppure, usando TeXShop o TeXworks, inserendo le famose “righe magiche”Sono solo degli appunti. Naturalmente la cosa dovrebbe essere messa in modo soft. Così com’è fanno paura. Ma vi assicuro che chiunque si trova in queste situazioni, che non riesce a gestire, è incentivato a mollare. Più di uno dei miei studenti dopo questi primi ostacoli si è presentato dicendo: “credo sia troppo difficile, grazie lo stesso”. È bastato andare nelle preferenze dell’editor per fargli cambiare idea!
Ciao
Ivan
-
17 Novembre 2011 alle 12:53 #66023::
ivan” post=65311
Mi permetto un suggerimento ai nostri autori di guide. Farei una sezione ben evidente che contenga tutte e sole quelle informazioni di base che servono per “cominciare bene”. Per esempio:
Se è la prima volta che si usa LaTeX, prima di iniziare assicurarsi di:
1. non usare mai TeXnicCenter ma preferire TeXstudio, TeXworks e Texmaker (installandoli anche tutti, perché no?)
2. impostare subito la codifica degli editor a utf8 (dando magari qualche informazione su come farlo con i diversi editor)
3. caricare sempre i pacchetti fontenc, inputenc e babel nell’ordine giusto e con le opzioni giuste… (tenendo conto che se uno scrive in cirillico…)
4. controllare la codifica in cui sono stati scritti i file di terze parti (riga di inputenc). Se è utf8 procedere senza indugi; se è diversa cambiare momentaneamente la codifica dell’editor.
5. Se si intende lavorare su un file di terze parti scritto in codifica diversa, si può valutare l’opportunità di convertirlo oppure, usando TeXShop o TeXworks, inserendo le famose “righe magiche”Ivan
Ora tocca a me tirarti le orecchie 🙂
Queste cose nell’Arte ci sono già, e scritte anche a chiare lettere. Il problema rimane e rimarrà finché si potrà scegliere e soprattutto finché le persone non avranno l’umiltà di leggere le pagine di chi scrive per loro impiegando molto, anzi troppo, a questo punto, del loro tempo.
Io non ho mai avuto, dico mai, MAI, problemi di codifiche. Ho rotto l’anima a Enrico, è vero, e anche privatamente, per avere spiegazioni, per capire e per essere chiaro (e chiari, e Lorenzo può testimoniarlo) a me stesso e ai lettori. In origine le pagine dell’Arte sulle codifiche dovevano essere più specifiche, ma poi ci siamo detti: ha senso dire “come funziona”, quando quello che serve è “come fare per non ottenere casini e vivere felici con LaTeX”? Ovviamente, la risposta è stata alla seconda domanda.
Se le persone mollano con TeX, se continuano a esserci problemi con le codifiche è ancora una volta perché non si legge nulla prima di mettersi all’opera. Ma avete letto le pagine dell’Arte, scusate? Fanno così schifo? Ci sono cose che abbiamo omesso e che DOBBIAMO mettere? Non basta dire di caricare i pacchetti così:
`\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[<...>,italian]{babel}`dopo aver regolato la codifica del proprio editor su UTF-8 e di controllare assolutamente l’opzione di inputenc quando si aprono file sconosciuti? Che ci vuole ancora? La decifrazione della lineare A? 😀
Perdonatemi, ma già in passato io e Lorenzo abbiamo chiesto cosa non va nel capitolo 2. Ma nessuno, a parte Francesco, ha risposto. E a lui ho risposto. Forse le cose sono più chiare in altre guide.
Ciao
Tommaso
-
17 Novembre 2011 alle 20:15 #66024::
Quello che chiedevo io è un qualcosa di molto più elementare, una sorta di Warning in forma di una slide o due sparso un po’ ovunque: nell’Arte sul sito GuIT. Quest’ultimo forse il luogo migliore. Nella home page metterei un bel link “La prima volta con LaTeX”.
Pochi punti che siano ben visibili. L’illusione che uno prenda l’Arte dall’inizio e la legga è, appunto, un’illusione. Così per altre guide.
Questo perché LaTeX è un “programma” o almeno così viene concepito, perché è “qualcosa che si installa” sul computer. La maggior parte degli utenti ragiona così, sia gli informatici sia gli umanisti. Almeno questo è quello che credo.
Io stesso non ho mai letto nessuna documentazione integralmente, né l’Arte, né la Guida Guit o altre. Questi sono documenti che si sfogliano in cerca della soluzione di un problema che nasce dai tentativi fatti senza prima documentarsi.
Personalmente richiedo sempre ai miei laurenadi di leggere integralmente almeno le prime 50 pagine dell’Arte. Non so se lo fanno. Secondo me no. Capito come installare il programma vogliono subito provarlo, si scontrano con qualche intoppo e poi ritornano all’Arte per cercare la soluzione.
Come dici tu, Tommaso, la colpa non è di chi scrive guide, ma del mondo LaTeX. C’è troppa scelta e troppa libertà. LaTeX è un mondo democratico, dove chi non ne sa nulla, come me, può creare un file pessimo che si potrebbe diffondere più di quello creato da altri che ne sanno molto più di me e di gran lunga migliore. Dove uno può creare un editor che imposta una codifica stramba, che non supporta utf8, ecc. ecc.
Bisognerebbe ricordarsi quello che diceva Platone della democrazia 😉
Insomma, ci siamo capiti: in un mondo perfetto si perderebbero un paio d’ore a leggere una guida attentamente e poi si procederebbe lisci come l’olio; nel nostro mondo si installa, si smanetta, si combinano casini e poi si pretende che in una guida ci sia scritta subito, proprio lì dove la si cerca, la soluzione.
D’altra parte un’oligarchia TeXnica non sarebbe la soluzione migliore: non ci sarebbero cose come classicthesis, ma quei pochi in grado d farlo, parlerebbero naturalmente di \expandafter, \catcode, routine di output, script, espansioni e registri e chi più ne ha più ne metta.So che Luigi direbbe che un sistema simile c’è già: ConTeXt. Ma è ancora un po’ troppo “oligarchico”, a mio avviso.
Per il momento rimango nell’anarchia LaTeX 😀Ciao
Ivan
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.