Re: [Aiuto] Makeindex

#54361
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Oh, i bei tempi quando non esistevano gli shell editor e si faceva tutto a mano!

    Scherzi a parte, non rimpiango quei tempi, ma erano tempi in cui tutti facevamo tutto dalla finestra comandi e tutti sapevamo come usarla. Sapevamo anche leggere i manuali, se c’erano, oppure studiavamo il codice direttamente, se ci riuscivamo, oppure, come estrema ratio, vergognandoci come ladri, seguivamo la procedura dell’ “ask Nelly”, cioè di chiedere al solito amico/a che ne sapeva più di noi.

    Non è più praticabile oggi. quindi bando alle nostalgie.

    Se compili un documento LaTeX che si chiama myfile.tex il nome del file senza estensione viene caricato nella variabile \jobname. Se il file contiene il comando \makeindex e uno o più comandi index{…} al suo interno, alla fine dell’esecuzione nella stessa cartella dove risiede \jobname.tex, ci saranno anche \jobname.idx e \jobname.aux e altri \jobname.qualcosaltro che non interessano.

    TeXniCenter e gli altri shell editor sanno benissimo come lanciare il programma/applicazione/eseguibile (comunque si chiami sulla particolare macchina in uso) makeindex. Ma per verificare, continua ad usare la finestra comandi:

    1) assicurati di aver cambiato cartella di default in modo che se dai il comando dir o ls, a seconda del tuo sistema operativo, nella finestra compaiano non solo il file tex che hai compilato ma anche tutti gli altri.

    2) dai il comando
    makeindex -h
    e il programma ti risponderà con un messaggio che l’opzione -h non la conosce, ma ti dà la sintassi giusta:

    Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 …]

    dalla quale rilevi che tutti gli argomenti sono facoltativi, ma hanno i significati seguenti:

    [-ilqrcgLT] contiene la lista completa delle opzioni di funzionamento; non me ne preoccuperei all’inizio, ma poi ti conviene leggere il manuale; sulle macchine di tipo UNIX il comando è man makeindex, sulle macchine Windows non lo so.

    [-s sty] serve per specificare un eventuale file di stile dell’indice analitico; sull’Arte se ne parla, ma è facoltativo. Normalmente questi file hanno estensione .ist.

    [-o ind] serve per specificare il nome del file di uscita; di default esso vale \jobname.ind.

    [-t log] serve per dare un nome diverso da quello di default al file di registro; di default si chiama \jobname.ilg.

    [-p num] serve per specificare la pagina eventuale da impostare nel contatore di pagina; di default non imposta niente.

    [idxo ….] serve per specificare i nomi dei file idx da elaborare, caso mai ce ne fossero più di uno da concatenare assieme come se fosse un unico file. Uno però bisogna specificarlo senza specificare l’estensione se è quella di default .idx

    3) Normalmente, quindi, TeXnicCenter specifica solo il nome del tuo file \jobname, ma bene inteso,\jobname è solo un simbolo, non è il valore da scrivere nel comando; per il tuo file myfile.tex devi elaborare il file myfile.idx e, con tutto il resto di default, devi specificare solamente:

    makeindex myfile

    Tutto qui.

    Se questo non funziona dando i comandi a mano, o il tuo file myfile.idx non esiste, oppure è corrotto, oppure… invoca gli dèi dell’informatica che ti mandino un volo di uccelli perché il tuo aruspice possa divinare l’ignoto 🙂

    Ma se funziona, funziona anche cliccando l’apposito bottone del tuo shell editor senza bisogno che tu specifichi niente, basta solo che il tuo shell editor conosca il nome del tuo main file (il root file) oppure che sia aperta la finestra del file principale myfile.tex.

    Se tutto questo non ti serve a risolvere il problema, facci sapere di più con l’EMC

    Go to top