Ci sono due modi per aggiungere variabili locali leggibili da Emacs: nella prima riga del file oppure nella sua parte finale. Se si vogliono mettere le variabili all’inizio del file si deve usare la sintassi
`testo arbitrario -*- variabile: valore; variabile: valore -*- testo arbitrario`
Al posto di “testo arbitrario” in genere vengono messi i delimitatori dei commenti (per esempio [tt]/*…*/[/tt] per il C, per LaTeX basta un [tt]%[/tt] all’inizio). Se si vuole solo specificare la major mode con cui aprire il file (variabile associata: [tt]mode[/tt]) si può omettere [tt]mode:[/tt] e scrivere direttamente il valore della variabile. Questo modo di aggiungere le variabili (utilizzato soprattutto per specificare la major mode nel modo descritto poco fa) viene amichevolmente chiamato Hey Emacs perché qualcuno si diverte a specificare la modalità con cui aprire il file con qualcosa del tipo
`% Hey Emacs, this is a -*- latex -*- file!`
A parte gli scherzi, è utile nei casi in cui Emacs aprirebbe il file con una modalità diversa da quella desiderata in base all’estensione del file, può succedere con i sorgenti C++ con estensione .C, per esempio, oppure per aprire un sorgente Octave con estensione usando la modalità apposita piuttosto che la modalità Matlab. Generalmente non si presentano problemi simili con i file LaTeX, quindi l’Hey Emacs non dovrebbe mai servire per chi scrive in LaTeX (personalmente non l’ho mai usato).
La seconda modalità di aggiungere variabili locali al file, ben descritta da ansys e generalmente più usato per quanto riguarda LaTeX, ha come unica condizione che l’inizio dell’elenco di variabili sia a meno di 3000 caratteri dalla fine del file.
Per maggiori informazioni: http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html#Specifying-File-Variables
ansys” post=77650Queste righe vanno messe in fondo al file. Emacs legge prima la fine di un file poi l’inizio (non ricordo dove l’ho letto)
Non so come Emacs effettivamente lavori da questo punto di vista ma quello che affermi mi sembra strano perché se in un file c’è sia l’Hey Emacs sia l’elenco di variabili locali alla fine, Emacs processa prima l’Hey Emacs e poi quello che c’è alla fine, è spiegato nella pagina del manuale che ho linkato sopra.