Re: stile dell’indice analitico – makeidx

#52716
OldClaudio
Partecipante
    Up
    0
    Down
    ::

    Expected -s Usage: C:\Program Files (x86)\MiKTeX 2.8\miktex\bin\makeindex.exe [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 …]

    Il nome “stile” e l’abbreviazione “sty” fanno confondere le idee.

    Per makeindex il file di stile per la composizione dell’indice (per la trasformazione del file grezzo .idx nel file alfabetizzato .ind) ha l’estensione .ist (Index STyle)..allora il comando che devi dare dopo aver costruito il file miostile.ist seguendo le indicazioni di classic.ist che trovi sull’Arte, è:
    `
    makeindex -s miostile.ist miofile
    `
    dove miofile.idx (non mettere l’estensione) è il file prodotto da latex o pdflatex mentre compili miofile.tex per ottenere il file composto nel formato dvi o pdf rispettivamente.

    Le altre opzioni che la riga “Usage:…” sopra scritta ti propone sono opzioni certamente usabili, ma così raramente che io non ne ho mai avuto bisogno.

    Il problema è che NON puoi usare texniccenter per eseguire il comando che ti ho indicato sopra; nel senso che non puoi cliccare il bottone di texniccenter per lanciare makeindex con l’opzione -s e il nome del file di stile.

    DEVI per forza dare quel comando dalla finestra comandI; so che non è una finestra molto “popolare” fra gli utenti di Windows, ma questi utenti non sanno quanto lavoro possono fare con i comandi in linea e la sintassi del vecchio DOS emulati dentro la finestra comandi; se non l’hai mai usata, vai in Avvio poi Accessori poi Finestra comandi; oppure vai in Avvio poi clicchi Esegui e nella finestrina ci scrivi cmd. Ti si apre una finestra con lo sfondo nero dove a seconda del sistema operativo che usi può esserci scritta una stringa col nome di una cartella seguita dal segno > seguito da una lineetta lampeggiante. Questo è il cursore che ti indica a che punto sei per scrivere quello che stati scrivendo. Con il comando cd seguito da un percorso puoi cambiare cartella; ti consiglio di andare nella cartella del tuo file miofile.tex, per esempio con
    `
    cd C:\MieiDocumentiLaTeX\Tesi\
    `
    se il tuo documento è nella cartella puntata da quel percorso che ho scritto sopra; dopo aver premuto invio, la stringa che compare prima delle lineetta lampeggiante dovrebbe cambiare proprio nel percorso che tu hai scritto; nella stessa maniera dai ora il comando dir seguito da invio e dovrebbe presentarsi la lista di tutti i file contenuti in quella cartella, compreso il miofile.tex e il miofile.idx

    A questo punto scrivi il comando makeindex seguito dalla opzione -s e dal nome con estensione del tuo file di stile miofile.ist e il nome senza estensione del file miofile.idx; dopo aver premuto invio, sullo schermo appaiono le informazioni che makeindex scrive durante l’esecuzione. Se tutto va a buon fine ridando il comando dir + invio, ora la lista dei file contiene anche i file miofile.ind e miofile.ilg (quest’ultimo è il file .log di makeindex dove riappaiono le informazioni che questo ha scritto anche sullo schermo). Ma il file miofile.ind è quello che serve ad una successiva esecuzione di latex o pdflatex per generare l’indice formattato su una o su due colonne a seconda di come è definito o ridefinito l’ambiente theindex e a seconda delle istruzioni che makeindex ha trovato nel tuo file .ist.

    Qualcuno giorni fa ha proposto di modificare la configurazione di texniccenter, o di texmake,r o di quel che sia, per inserire permanentemente l’opzione -s e il nome del file di stile per gli indici analitici direttamente nella configurazione del bottone per la creazione dell’indice analitico. A me non sembra una buona idea, perché la volta che vuoi usare lo stile di default o un altro stile devi modificare la configurazione del tuo editor. Tuttavia ognuno è libero di fare come vuole, e se vuole seguire un consiglio altrui è liberissimo di farlo o di non farlo.

    Una ulteriore alternativa è quella di usare il pacchetto imakeidx, di leggerne la documentazione, e di procedere come indicato; tutto il lavoro che ti ho detto di fare sopra viene eseguito dietro le quinte da latex o pdflatex. Questa è la strada che io seguo sempre (anche perché insieme ad Enrico abbiamo scritto il pacchetto imakeidx 8) ). Siccome tu usi ancora MiKTeX 2.8, devi esplicitamente abilitare l’opzione –enable-write18. Se invece ti aggiorni a MiKTeX 2,9 oppure se installi TeX Live 2010 (te lo consiglio) non devi fare assolutamente nulla, perché questo fatidico write18 è già abilitato fin dalla prima installazione del sistema TeX.

    Spero non non essere stato troppo confuso nello spiegare il da farsi e le alternative

    Go to top