TeX: riconoscimento automatico codifica input

  • Creatore
    Topic
  • #46061
    Up
    0
    Down
    ::


    Ciao a tutti,
    ho deciso di imparare a usare TeX: per documenti lunghi e strutturati, LaTeX è d’obbligo, ma un po’ di progettazione a basso livello può essere comunque istruttiva.

    E, naturalmente, i dubbi non tardano ad arrivare! 🙂
    `Questo \`e un esempio di codice {\TeX} minimale.
    \bye
    `
    Esiste un modo per informare TeX su quale sia la codifica dei caratteri correntemente utilizzata (es. Latin-1, UTF-8, ecc.)?

    Detto in altri termini, esiste per TeX un’istruzione analoga alla
    `\usepackage[]{inputenc}
    `
    tipica di LaTeX, che consenta di riconoscere automaticamente quanto inserito da tastiera senza fare ricorso a sequenze del tipo “\`”?

    Grazie e a presto.

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #46062
      Up
      0
      Down
      ::

      Ciao a tutti,
      ho deciso di imparare a usare TeX: per documenti lunghi e strutturati, LaTeX è d’obbligo, ma un po’ di progettazione a basso livello può essere comunque istruttiva.

      E, naturalmente, i dubbi non tardano ad arrivare! 🙂
      `Questo \`e un esempio di codice {\TeX} minimale.
      \bye
      `
      Esiste un modo per informare TeX su quale sia la codifica dei caratteri correntemente utilizzata (es. Latin-1, UTF-8, ecc.)?

      Detto in altri termini, esiste per TeX un’istruzione analoga alla
      `\usepackage[]{inputenc}
      `
      tipica di LaTeX, che consenta di riconoscere automaticamente quanto inserito da tastiera senza fare ricorso a sequenze del tipo “\`”?

      Grazie e a presto.

      Puoi usare gli stessi file che usa LaTeX; per esempio ecco come puoi fare per latin1
      `\def\makeatletter{\catcode`\@=11 }
      \def\makeatother{\catcode`\@=12 }
      \def\ProvidesFile#1[#2]{\wlog{Loading #1, #2}}
      \def\ensuremath#1{\relax\ifmmode#1\else$\relax#1$\fi}
      \def\providecommand#1#2{\def#1{#2}}
      \def\TextSymbolUnavailable#1{}
      \let\ProvideTextCommandDefault\providecommand
      \def\DeclareInputText#1#2{%
      \catcode#1=\active
      \begingroup\lccode`\~=#1%
      \lowercase{\endgroup\def~}{#2}}
      \let\DeclareInputMath\DeclareInputText
      \makeatletter
      \def\@tabacckludge#1{\csname#1\endcsname}
      \makeatother
      \input latin1.def

      à

      È

      ü

      \bye`
      Naturalmente ci saranno parecchi comandi non definiti. Se poi vuoi usare i font nella codifica T1 è ancora peggio. In sostanza, ti devi rifare l’infrastruttura LaTeX. A questo punto, meglio usare XeTeX e i Latin Modern in formato OpenType.

      Ciao
      Enrico

    • #46063
      Up
      0
      Down
      ::


      Ciao,
      grazie per la risposta.

      In sostanza, ti devi rifare l’infrastruttura LaTeX. A questo punto, meglio usare XeTeX e i Latin Modern in formato OpenType.

      Il discorso mi interessa, e penso che la seconda strada sia più semplice. Purtroppo, non sono pratico di Xe[La]TeX. Mi interesserebbe sapere come mettere in atto quello che proponi (XeTeX e i Latin Modern in formato OpenType). In questo momento sto usando una Ubuntu 9.04 con una TeX Live installata in quel periodo (quindi precedente a TeX Live 2009), che non ho la possibilità di aggiornare.

      Spulciando un po’ il forum, credo che questo codice funzioni per LaTeX:
      `\documentclass{article}

      \usepackage{fontspec}

      \begin{document}

      Questo è un esempio di codice {\LaTeX} minimale.

      \end{document}
      `
      Componendo con
      `$ xelatex prova.tex[Invio]
      `
      ottengo la «è» nel file PDF risultante; le proprietà del file mi avvisano che si tratta comunque di un LMRoman10 (anche se non so se il mio codice corrisponde al modo «giusto» di caricare i Latin Modern, forse impliciti con fontspec? Presumo comunque che gli OTF siano presenti, perché il risultato si vede). Tuttavia, ottengo questi avvertimenti
      `** WARNING ** This .map file looks like a dvips format fontmap file.
      ** WARNING ** — Current input buffer is: aicmb10 CMB10 “AITeXTextEncoding ReEncodeFont”

    • #46064
      Up
      0
      Down
      ::

      Ciao,
      grazie per la risposta.

      In sostanza, ti devi rifare l’infrastruttura LaTeX. A questo punto, meglio usare XeTeX e i Latin Modern in formato OpenType.

      Il discorso mi interessa, e penso che la seconda strada sia più semplice. Purtroppo, non sono pratico di Xe[La]TeX. Mi interesserebbe sapere come mettere in atto quello che proponi (XeTeX e i Latin Modern in formato OpenType). In questo momento sto usando una Ubuntu 9.04 con una TeX Live installata in quel periodo (quindi precedente a TeX Live 2009), che non ho la possibilità di aggiornare.

      Spulciando un po’ il forum, credo che questo codice funzioni per LaTeX:
      `\documentclass{article}

      \usepackage{fontspec}

      \begin{document}

      Questo è un esempio di codice {\LaTeX} minimale.

      \end{document}
      `
      Componendo con
      `$ xelatex prova.tex[Invio]
      `
      ottengo la «è» nel file PDF risultante; le proprietà del file mi avvisano che si tratta comunque di un LMRoman10 (anche se non so se il mio codice corrisponde al modo «giusto» di caricare i Latin Modern, forse impliciti con fontspec? Presumo comunque che gli OTF siano presenti, perché il risultato si vede). Tuttavia, ottengo questi avvertimenti
      `** WARNING ** This .map file looks like a dvips format fontmap file.
      ** WARNING ** — Current input buffer is: aicmb10 CMB10 “AITeXTextEncoding ReEncodeFont”

    • #46065
      Up
      0
      Down
      ::

      La TeX Live 2007 che hai con Ubuntu 9.04 è del tutto obsoleta per questo tipo di cose.

      Capisco. In tal caso, rimando questo problema al momento in cui avrò a disposizione almeno una Ubuntu 10.04 con TeX Live 2009; tuttavia, mi farebbe comunque piacere conoscere in anticipo il codice TeX minimale per modificare (se necessario) il seguente
      `Questo è un esempio di codice {\TeX} minimale.
      \bye
      `
      in modo da chiamare (se occorre) fontspec in modo corretto con gli OTF dei Latin Modern per farlo funzionare con XeTeX.

      Grazie e a presto.

    • #46066
      Up
      0
      Down
      ::

      La TeX Live 2007 che hai con Ubuntu 9.04 è del tutto obsoleta per questo tipo di cose.

      Capisco. In tal caso, rimando questo problema al momento in cui avrò a disposizione almeno una Ubuntu 10.04 con TeX Live 2009; tuttavia, mi farebbe comunque piacere conoscere in anticipo il codice TeX minimale per modificare (se necessario) il seguente
      `Questo è un esempio di codice {\TeX} minimale.
      \bye
      `
      in modo da chiamare (se occorre) fontspec in modo corretto con gli OTF dei Latin Modern per farlo funzionare con XeTeX.

      Grazie e a presto.

      `\font\tenrm=”Latin Modern Roman”
      \tenrm

      Questo è un esempio di codice {\TeX} minimale
      \bye`
      Ciao
      Enrico

    • #46067
      Up
      0
      Down
      ::

      `\font\tenrm=”Latin Modern Roman”
      \tenrm

      Questo è un esempio di codice {\TeX} minimale
      \bye`

      Ti ringrazio. A presto.

Visualizzazione 5 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top