Newsgroup: it.comp.software.tex
Titolo: Problemi con Babel e listings

Ho un problema ad usare listings e babel contemporaneamente, nel file
TeX c'è solo questo (il problema c'è se uso il simbolo "^"):
\documentclass{article}
\usepackage[italian]{babel}
\usepackage{listings}
\begin{document}
\begin{lstlisting}{}
5 ^ 2
\end{lstlisting}
\end{document}
Ma scrivendo il comando "latex Calcolo.tex" mi viene dato un messaggio
di errore:
This is TeX, Version 3.14159 (MiKTeX 2.1)
(Calcolo.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for italian, english, latin,
dumylang, nohyphenation, loaded.
(C:\Programmi\texmf\tex\latex\base\article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(C:\Programmi\texmf\tex\latex\base\size10.clo))
(C:\Programmi\texmf\tex\generic\Babel\babel.sty
(C:\Programmi\texmf\tex\generic\Babel\italian.ldf
(C:\Programmi\texmf\tex\generic\Babel\babel.def)))
(C:\Programmi\texmf\tex\latex\listings\listings.sty
(C:\Programmi\texmf\tex\latex\graphics\keyval.sty)
(C:\Programmi\texmf\tex\latex\listings\lstpatch.sty)
(C:\Programmi\texmf\tex\latex\listings\lstmisc.sty)
(C:\Programmi\texmf\tex\latex\listings\listings.cfg)) (Calcolo.aux)
(C:\Programmi\texmf\tex\latex\cyrillic\ot2cmr.fd)
! Extra \fi.
\lst@PrintToken ...@lastother \@empty \fi
l.6 5 ^ 2
Se commento la linea in cui includo Babel tutto funziona
correttamente.
-- 
Marco Barisione (ICQ 84277092)

 correttamente.
Hai provato a invertire l'ordine di caricamento?
\usepackage{listings}
\usepackage[italian]{babel}
Quasi sempre è buona norma mettere babel per ultimo.
Ciao
Enrico

\usepackage[italian]{babel}
Sě ho provato ma non cambia assolutamente nulla. A voi cosa vi succede
con quel codice?
So che č tipico dei newbie sostenere che ci sia un bug se non riescono
a fare qualcosa ma a me questo sembra proprio un bug :-)


 a fare qualcosa ma a me questo sembra proprio un bug :-)
In questo caso non è un bug ma una feature. Babel per l'italiano 
attiva ^ in modo testo. Poiché inoltre l'attivazione avviene al 
momento del \begin{document}, invertire l'ordine di caricamento non 
serve (in questo caso).
Prova a mettere
\catcode\`^=12
dopo \begin{document}
-- 
Giuseppe "Oblomov" Bilotta
Axiom I of the Giuseppe Bilotta
theory of IT:
Anything is better than MS

\catcode\`^=12
Non funziona, mi "sputa fuori" un sacco di errori, a dire la verità
non riesco a capirne nemmeno il significato. A cosa serve "\catcode"?


 non riesco a capirne nemmeno il significato. A cosa serve "\catcode"?
Che errori ti dà?
\catcode (category code) è un 'attributo' di tutti i caratteri letti 
da TeX.


Che errori ti dà?
Bhé anche io sono un po' scemo... ero convinto di aver trascritto gli
errori.
Ecoli qua:
! Missing number, treated as zero.
<to be read again>
                   {
l.5 \catcode\`^
               =12
Se continuoo poi mi dà altri 100 errori, i primi sono:
! Missing $ inserted.
<inserted text>
                $
l.5 \catcode\`^
               =12
! Missing { inserted.
<to be read again>
                   \global
l.5 \catcode\`^
               =12
! Improper \spacefactor.
<recently read> \spacefactor
l.5 \catcode\`^
               =12
eccetera, non penso che ti servano altri errori visto quanti sono.


 
Scusa, son pirla io. La sintassi corretta è:
\catcode`\^=12


\catcode`\^=12
Avevo provato anche questo visto che in file vari ho visto cosě ma non
funziona comunque, non ho errori per il "\catcode`\^=12" ma per il "^"
sě.


 scrive:

Che io sappia, babel non attiva il carattere ^.
Se non ci dai qualche esempio minimale, non possiamo farci nulla.
Ciao
Enrico

)!
\documentclass{article}
\usepackage[italian]{babel}
\usepackage{listings}
\begin{document}
\begin{lstlisting}{}
5 ^ 2
\end{lstlisting}
\end{document}
-- 
Marco Barisione (ICQ 84277092)

 Che io sappia, babel non attiva il carattere ^.
Trovato l'errore!!!
L'errore è nella sezione italiana del Babel, non in listings. Il 
problema viene non dall'attivazione di ^ ma dalla ridefinizione 
dell'accento (che permette di scrivere \`i invece di \`\i). 
Comunicherò subito l'errore a Claudio Beccari.
In attesa di una patch, si può usare un qualsiasi font con encoding T1 
(mediante l'uso di \usepackage[T1]{fontenc} e/o di un font virtuale 
come ae e ze).


 scrive:

E' vero, scusa. Direi che la risposta di Oblomov dovrebbe
bastare a risolvere il problema (se hai i font `ae' o non
ti preoccupi dei font `ec' in formato bitmap).
Ciao
Enrico

ti preoccupi dei font `ec' in formato bitmap
Mha, veramente non so neanche di cosa stiate parlando :-)
Ho iniziato ad usare LaTeX da due settimane (ne sono già molto
soddisfatto) e per ora ho letto solo le varie faq e i vecchi post del
gruppo.
Ho risolto usando "\usepackage[T1]{fontenc}". A cosa serve
esattamente? Ho provato ad aprire il file "T1.def" e mi pare di aver
capito che ridefinisce alcune combinazioni di caratteri.
Non sono riuscito a trovare documentazione su fontenc.
Se devo trovare documentazione su qualche package che non conosco e
che non ha documentazione installata sul mio PC dove posso cercare? Le
ricerche con Google sono infruttuose, trovo solo 10.000 file .tex che
usano il package.


 scrive:

Non è solo una ridefinizione di combinazioni di caratteri,
ma per i tuoi scopi può bastare. Se usi pdflatex, ti conviene
dare anche il comando \usepackage{ae}, per ottenere una buona
resa a schermo con Acrobat Reader.
Ciao
Enrico