- Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 8 mesi fa da
Liverpool.
-
CreatoreTopic
-
14 Gennaio 2011 alle 18:07 #54770::
Per esigenze di pubblicazione, ho deciso di modificare da 12 pt a 10 pt la dimensione del carattere di un documento precedentemente compilato senza problemi e di eliminare eventualmente l’uso del pacchetto setspace. Quando provo a modificare una delle due opzioni alla volta ottengo in ogni caso il seguente errore (cambia solo la riga che lo genera):
`(D:\Luigi\Documents\Libro\Simulazioni\MATLAB\simr.m [144
! Incomplete \iffalse; all text was ignored after line 10.
\fi
l.10 %
VFB [V] Þ la tensione di banda piatta (def: VFB=0)`
Il file simr è un listato MATLAB che viene inserito mediante il pacchetto listings.
Avete una vaga idea di dove cercare il problema? So che è molto poco, ma mi è difficile essere più completo visto che il documento e il relativo preambolo sono molto lunghi.
Grazie
-
CreatoreTopic
-
AutoreRisposte
-
-
14 Gennaio 2011 alle 18:17 #54771::
Per esigenze di pubblicazione, ho deciso di modificare da 12 pt a 10 pt la dimensione del carattere di un documento precedentemente compilato senza problemi e di eliminare eventualmente l’uso del pacchetto setspace. Quando provo a modificare una delle due opzioni alla volta ottengo in ogni caso il seguente errore (cambia solo la riga che lo genera):
`(D:\Luigi\Documents\Libro\Simulazioni\MATLAB\simr.m [144
! Incomplete \iffalse; all text was ignored after line 10.
\fi
l.10 %
VFB [V] Þ la tensione di banda piatta (def: VFB=0)`
Il file simr è un listato MATLAB che viene inserito mediante il pacchetto listings.
Avete una vaga idea di dove cercare il problema? So che è molto poco, ma mi è difficile essere più completo visto che il documento e il relativo preambolo sono molto lunghi.
GrazieImpossibile capirci qualcosa. Cerca di produrre una versione dimagrita del documento che manifesti lo stesso errore.
Ciao
Enrico
-
14 Gennaio 2011 alle 22:49 #54772
-
15 Gennaio 2011 alle 8:35 #54773::
Se commento le righe che puntano ai listati il problema sparisce. Abilitandole una alla volta, ho notato che:
1) i listati brevi (che entrano in una facciata) non generano l’errore;
2) se accorcio un listato lungo, il relativo errore non si genera più;
3) se commento il testo che precede i codici, l’errore si sposta “verso il fondo” del listato.Questa è l’impostazione che ho utilizzato con il pacchetto listings:
`\lstset{language=Matlab,numbers=left,numberstyle=\color{grigio},%
keywordstyle=\color{black},basicstyle=\ttfamily\scriptsize,%
showstringspaces=false,morestring=[m][\color{magenta}]{'},%
morecomment=[l][\ttfamily\color{verdone}]{\%},%
emph={function,if,end,for},emphstyle=\color{blue}}`Nel frattempo, cercherò di realizzare un documento minimo che generi l’errore.
Grazie
-
15 Gennaio 2011 alle 8:50 #54774::
In ogni caso le unità di misura non si indicano fra parentesi quadre 🙂
Tu come scriveresti, avendo a disposizione solo caratteri dritti e senza pedici (è un listato)? VFB/V non mi sembra una buona soluzione in questo caso, perché le due V hanno lo stesso formato. Anche le parentesi tonde non è che facciano la differenza…
Se mi trovi una valida alternativa, sono pronto ad usarla (tanto quella convenzione l’ho usata solo nei listati).
Grazie per la segnalazione.
-
15 Gennaio 2011 alle 10:45 #54775::
Per caso stai chiedendo al pacchetto listings di raccogliere voci per l’indice analitico? Noto infatti un “[144” che dovrebbe essere il numero di pagina: l’assenza della parentesi quadra “]” di chiusura indica che l’errore avviene durante uno \shipout, e ciò porta naturalmente a incriminare un \write il cui argomento contiene l’errore.Gustavo
-
15 Gennaio 2011 alle 15:28 #54776::
Se i tuoi font non consentono di scrivere VFB/V, in prima istanza potresti scegliere un altro font che te lo cosenta.
Se non puoi, allora scrivi le unità di misura nell’intestazione della colonna .Se nella colonna ci sono elencate grandezze con diverse unità di misura, scrivi le unità di misura dopo il loro valore nella colonna con il valore; il pacchetto siuntsx dovrebbe consentirti di farlo nel modo corretto. Co sono stati diversi thread su questo argomento dove io facevo la parte di colui che preferisce cha sa come scrivere le unità di misura senza usare pacchetti esterni. Mi rendo conto che il mio sia un approccio un po’ troppo rigido, specialmente quando incontro esigenze come le tue, dove dove sei vincolato a certi font e non sai o non poi metterli in modo matematico.
-
15 Gennaio 2011 alle 17:05 #54777::
Impossibile capirci qualcosa. Cerca di produrre una versione dimagrita del documento che manifesti lo stesso errore.
Nella redazione del documento minimo da postare ho notato che il preambolo che genera l’errore è il seguente:
`\documentclass[a4paper,10pt,fleqn]{book}
\usepackage{listings}
\lstset{language=Matlab}
\usepackage[english,french,italian]{babel}
\usepackage[onehalfspacing]{setspace}`
Considerazioni:
1) L’errore sparisce se si elimina l’opzione french in babel
2) L’errore sparisce se si riordina: babel / setspace / listings
Applicando il punto 2 al documento originale l’errore è scomparso.
Mi potete spiegare qual era la causa?
Grazie
-
15 Gennaio 2011 alle 17:14 #54778::
Se non puoi, allora scrivi le unità di misura nell’intestazione della colonna .
Non ho capito a quali colonne fai riferimento. Intendi di una tabella? In tal caso mi sono espresso male: il testo incriminato è il codice di un linguaggio di programmazione che usa un carattere a dimensione fissa tipo il Courier. E’ scritto proprio come il codice LaTeX, ma preferibilmente con la larghezza del testo più contenuta. Cambiare il font renderebbe poco leggibile il listato. Tabelle non ce ne sono.
Grazie
-
15 Gennaio 2011 alle 17:29 #54779::
Ahh, be’, se è un listato di MATHLAB.Ciò non toglie che anche famosi programmi come MATHLAB contribuiscano a diffondere l’errore di scrivere le unità di misura fra parentesi quadre. D’altra parte se quella è la sintassi di MATLAB, che non ho mai avuto il pacere di usare, non metto lingua.
Con un altro famoso programma, PSpice, ero risuscito a correggerne il codice macchina, in modo che non scrivesse K (kelvin) al posto di k (kilo); ora sono passati più di 15 anni e non ricordo come ho fatto. Però è una strada che non consiglierei per modificare MATHLAB.
-
15 Gennaio 2011 alle 17:35 #54780::
Ahh, be’, se è un listato di MATHLAB.
Mi sono espresso male di nuovo. Quella riga è un commento, quindi potrei scrivere quello che voglio dopo il simbolo % e non verrebbe interpretato. La questione è che “io” non trovo una valida alternativa che non generi confusione in chi legge (dovendo usare quel carattere), ma potrebbe esserci.
-
15 Gennaio 2011 alle 17:36 #54781::
Impossibile capirci qualcosa. Cerca di produrre una versione dimagrita del documento che manifesti lo stesso errore.
Nella redazione del documento minimo da postare ho notato che il preambolo che genera l’errore è il seguente:
`\documentclass[a4paper,10pt,fleqn]{book}
\usepackage{listings}
\lstset{language=Matlab}
\usepackage[english,french,italian]{babel}
\usepackage[onehalfspacing]{setspace}`
Considerazioni:
1) L’errore sparisce se si elimina l’opzione french in babel
2) L’errore sparisce se si riordina: babel / setspace / listings
Applicando il punto 2 al documento originale l’errore è scomparso.
Mi potete spiegare qual era la causa?
GrazieMeglio usare un ordine migliore del caricamento dei pacchetti; nel tuo caso
`\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc} % controlla la codifica
\usepackage[english,french,italian]{babel}
\usepackage{listings}
\lstset{language=Matlab}
\usepackage[onehalfspacing]{setspace}`
Se poi puoi evitare setspace è anche meglio. Non trascurerei inputenc e fontenc.Il problema del francese è presto detto: per via delle (orride) convenzioni tipografiche francesi, quando babel carica questa lingua rende “attivo” il carattere “due punti” e altri. Il modo di funzionamento di listings è influenzato dai caratteri attivi al momento del caricamento: perciò metterlo prima di babel è fonte sicura di grattacapi.
Ciao
Enrico
-
15 Gennaio 2011 alle 17:44 #54782
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.