Problemi formazione indice generale automatico

  • Creatore
    Topic
  • #104694
    Up
    0
    Down
    ::


    Salve a tutti,
    mi scuso in anticipo per vari errori che possono essere presenti nei codici, e per un’eventuale scrittura non perfetta in stile latex.
    Ho un problema riguardo la formazione dell’indice generale: praticamente aggiungendo al codice il comando \tableofcontents anzichè creare l’indice completo, crea una pagina bianca titolata “Indice”, ma senza l’elenco dei vari capitoli.

    Concludo dicendo che i vari capitoli sono preceduti dal comando * che ne elimina la numerazione, ma anche in presenza di capitoli numerati non si ottiene il risultato sperato dopo varie prove, sempre con stesso esito.

    Ringrazio chiunque voglia aiutarmi.
    `
    \documentclass[12pt,a4paper,oneside,headinclude,footinclude,titlepage]{report}

    \usepackage{rotating}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[italian]{babel}
    \usepackage{indentfirst}
    \usepackage{graphicx}
    \usepackage{amsmath}
    \usepackage{subfigure}
    \usepackage{caption}
    \captionsetup{labelfont=bf}
    \usepackage{empheq}
    \usepackage{xcolor}
    \usepackage[rightcaption]{sidecap}
    \usepackage{geometry}
    \geometry{a4paper,top=3cm,bottom=3cm,left=3cm,right=3cm}
    \renewcommand\familydefault{\sfdefault}
    \usepackage{caption}
    \captionsetup{tableposition=top,figureposition=bottom,font=small}
    \usepackage{appendix}
    \usepackage[output-decimal-marker={,}]{siunitx}
    \usepackage{booktabs}
    \usepackage{multirow}
    \usepackage{amsthm}
    \theoremstyle{definition}
    \newtheorem*{definizione}{Definizione}
    \usepackage{pstricks}
    \frenchspacing

    \usepackage[subfigure]{tocloft}
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \usepackage{verbatim}
    \usepackage{amssymb}
    \usepackage{multirow}

    \usepackage[nowrite,infront,swapnames]{frontespizio}
    \nofiles
    \fontoptionnormal

    \begin{document}
    \begin{titlepage}

    \end{titlepage}
    \tableofcontents
    \chapter{Premessa}
    \section{Inquadramento generale}
    `

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #104695
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Ciao @roby0311 e BENVENUTO NEL FORUM.

        Il tuo codice sembra preso in prestito da qualcuno che non sapeva quello che faceva; forse non è del tutto sbagliato, ma certamente a cominciare dalla prima riga, molte delle opzioni che vengono specificate alla classe sono “anomale”; forse vengono pi usate da alcuni pacchetti, ma non è così che si procede normalmente.
        Questa non è una critica nei tuoi confronti, sia ben chiaro; se ti sei servito di un codice che ti ha passato qualche compagno o dal prof stesso, devi prendere l’abitudine di controllare che ogni pacchetto caricato sia veramente utile, che le opzioni passate alla classe o ai singoli pacchetti siano veramente le opzioni giuste, e che non ci sia nemmeno un pacchetto delle cui funzionalità non ti servi.
        L’idea, quindi, è di leggersi una buona guida, come L’Arte di scrivere con LaTeX, liberamente scaricabile dalla sezione Documentazione di questo forum; bastano i primi pochi capitoli, tanto per entrare nell’atmosfera, e poiuna rapida sfogliata al resto tanto per avere un’idea di quel che la guida contenga; poi leggerai i singoli capitoli se e quando ne avrai bisogno, ma intanto sai dove trovare le informazioni necessarie.

        Se avessi letto quella guida sapresti che i comandi di sezionamento come \chapter, \section e gli altri non scrivono niente né nell’indice, né nelle testatine, se sono asteriscati; se invece sono senza asterisco mettono le informazioni suddette in file ausiliari che vengono letti e usasti in una seconda compilazione. Quindi ogni volta che compili il tuo documento, l’indice generale contiene le informazioni della compilazione precedente.

        Veniamo al tuo problema.

        1) carichi alcuni pacchetti due volte; stai attento perché potresti andare incontro a messaggi d’errore poco comprensibili. Controlla e cancella le seconde chiamate.

        2) Quando alleghi del codice mettilo far agli appositi tag come ti ho modificato io nel tuo messaggio; clicca edit e riguarda ciò che ho aggiunto al tuo messaggio.

        3) Quando hai un problema fai benissimo ad allegare il codice, ma sarebbe meglio che inviassi un esempio minimo compilabile; un breve file che comincia con \documentclass e finisce con \end{document}; deve contenere il minimo indispensabile per replicare il problema, non necessariamente tutto il tuo preambolo, ma solo il minimo indispensabile. Se togliendo i pacchetti che non servono il problema sparisce hai già trovato al causa dell’errore, quindi preparare un esempio kinimo compilabile non è tempo perso, ma è utilissimo prima per te, poi per noi; Per noi infatti è utile poter copiare il codice “taggato” dal tuo messaggio, incollarlo in un nuovo documento da compilare e vedere subito gli errori e come fare per “riparare” in codice che ci hai inviato.

        4) se poi togli \nofiles inserito poco prima di \begin{document} vedi che tutto funziona come previsto.

        5) Se pensi di scrivere tutto il tuo documento (la tesi?) in carattere sans serif, sbagli approccio; non è che non ti esca la compilazione in sans serif, è che il font senza grazie sembra che sia più faticoso da leggere in lettura continua, mentre esso è più facilmente leggibile per titoli, indicazioni stradali, e “bugiardini” brevi e scritti con un corpo molto piccolo. Inoltre se il tuo documento contiene della matematica, come parrebbe, visto che carichi amsmath e amssymb, il tutto ti verrebbe molto male.

        Non caricare nemmeno il pacchetto multirow; per usarlo bene devono esserci seri motivi per farlo, altrimenti dà solo problemi.

      • #104696
        Up
        0
        Down
        ::


        Ciao @╚OldClaudio,

        ti ringrazio per la risposta. La guida la conosco, in quanto la consulto molto spesso per ogni eventuale dubbio. Tuttavia il preambolo, come dici giustamente, è stato “preso in prestito” inizialmente, sbagliando pertanto l’approccio.

        Tuttavia accetto la critica costruttiva e riguardandolo nel suo insieme, ho colto parecchi errori e inesattezze.

        Il problema dell’indice è risolto, bastava un pizzico di attenzione in più.

        Ti ringrazio nuovamente, alla prossima!

      • #104697
        Up
        0
        Down
        ::


        Salve a tutti,
        esiste la possibilità di non riportare la pagina dei capitoli nell’indice generale?
        Mi spiego meglio… ho organizzato una relazione in una serie di capitoli, ma vorrei evitare la ripetizione del numero di pagina nell’indice, in quanto ogni volta dopo un capitolo ho la relativa sezione che inizia alla stessa pagina. Quindi vorrei passare da una configurazione del tipo:

        Capitolo1…………………24
        Sezione1……………….24

        ad una configurazione nell’indice

        Capitolo1
        Sezione1………………24

        Grazie a tutti e buona domenica.

      • #104698
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Sì, si può, ma è complicato. Mi spiego; benché la tua idea abbia una sua logica, a nessuno finora è venuto in mente di realizzare questa possibilità o, se a qualcuno è venuto in mente, la cosa è nascosta in uno dei quasi 3000 pacchetti che costituiscono il sistema TeX.
          Se non mi sbaglio, mi pare che nessuno dei pacchetti per personalizzare gli indici citati nell’Arte di scrivere con LaTeX consenta di fare una cosa del genere.
          Tuttavia se vuoi comentarti in qualcosa di difficile, copiati dalla classe report la definizione della macro \l@chapter nel tuo preambolo; mettici in \makeatletter prima e un \makeletter dopo, e modificala togliendo \thepage e quant’altro sia legato al posizionamento del numero di pagina; potresti evitare di copiare quella macro ed usare il pacchetto xpatch, leggendone la documentazione; serve per eseguire delle modifiche in macro già esistenti, ma per modificare qualcosa, come \l@chapter devi sapere esattamente che cosa contenga. Passare per xpatch è decisamente più corretto, ma secondo me non risparmia granché di lavoro.

      Visualizzazione 3 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top