Problema con tocloft – distanziare titolo subsection in ToC

  • Creatore
    Topic
  • #114712
    Up
    0
    Down
    ::


    Salve a tutti ragazzi, ho un piccolo problemino : nel mio documento .tex ho inserito molti capitoli e molte sezioni e sottosezioni (mi sono fermato a questo livello per una questione di leggibilità e evitare indici lunghissimi e , talvolta, insensati).

    Mi sono reso conto, però, che molti titoli delle sottosezioni sono abbastanza lunghi e vanno troppo a ridosso nella numerazione nell’indice, specie quando si arriva a Capitolo X, sezione x.x, x.xy (con il titolo della sezione vicino alla y, ma credo che abbiate capito).

    Ho provato a utilizzare il pacchetto “tocloft” , leggendo la documentazione e modificandolo a mio piacimento, ma senza risultati.

    Il codice da me usato (preso sul web, ma continuato a modificare in mille modi)

    `
    \usepackage{tocloft}
    \cftsetpnumwidth{2em}
    \setlength{\cftsecnumwidth}{4em}
    \setlength{\cftsubsecnumwidth}{5em}
    `

    Mi da errore, più precisamente:

    ! LaTeX Error: Command \c@lofdepth already defined.
    Or name \end… illegal, see p.192 of the manual.
    See the LaTeX manual or LaTeX Companion for explanation.
    Type H for immediate help.

    Vi posto il codice di un file minimo compilabile così magari riuscite a darmi una mano visto che nel preambolo ci sono molti codici, credo, inutili e ridondanti che sono stati utilizzati e mai (o poco) usati:

    `

    \documentclass[12pt,a4paper,oneside]{book}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}

    \usepackage{layaureo}
    \usepackage{afterpage}
    \linespread{1}

    \usepackage[titletoc]{appendix}
    \usepackage{graphicx}
    \usepackage{subfig}
    \usepackage{wrapfig}

    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage{marvosym} % simbolo chiocciola

    % package tabelle utili
    \usepackage{tabularx,ragged2e} % tabelle
    \renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}} % allineamneto centrato tabelle
    \usepackage{multirow} % unire righe
    \usepackage{multicol} % unire colonne
    \usepackage{array,ragged2e,calc,booktabs} % spazio tra le righe di una colonna
    %\setlength{\columnsep}{1cm}

    \usepackage[hyphens]{url}
    \usepackage[usenames,dvipsnames]{xcolor}
    \usepackage[colorlinks=true,urlcolor=blue,citecolor=ForestGreen,linkcolor=blue]{hyperref}

    \usepackage{xcolor}
    \usepackage{listings}

    %Options: Sonny, Lenny, Glenn, Conny, Rejne, Bjarne, Bjornstrup
    %\usepackage[Sonny]{fncychap}

    \usepackage{titlesec, blindtext, color}
    \definecolor{gray75}{gray}{0.75}
    \newcommand{\hsp}{\hspace{20pt}}
    \titleformat{\chapter}[hang]{\Huge\bfseries}{\thechapter\hsp\textcolor{gray75}{|}\hsp}{0pt}{\Huge\bfseries}

    \usepackage{chngcntr} % numerazione unica per le note in tutta la tesi
    \counterwithout{footnote}{chapter} % azzera il contatore delle note di ogni capitolo

    \graphicspath{ {./immagini/} } % percorso delle immagini varie

    \pagestyle{plain}

    \title{\textbf{User Manual}}
    \author{Alpha Version}

    %\date{}

    % inizio pacchetto per distanziare i capitoli nell'indice
    \usepackage{etoolbox}
    % la riga seguente imposta lo spazio in punti (pt)
    \preto\chapter{\addtocontents{toc}{\protect\addvspace{5pt}}}
    % fine pacchetto

    % inizio pacchetto per distanziare le sottosezioni dal loro titolo nell'indice
    \usepackage{tocloft}
    \cftsetpnumwidth{2em}
    \setlength{\cftsecnumwidth}{4em}
    \setlength{\cftsubsecnumwidth}{5em}
    % fine paccheetto

    \begin{document}

    \begin{titlepage}
    \maketitle
    \end{titlepage}

    \pagenumbering{gobble}

    \setcounter{page}{1}

    \frontmatter

    \tableofcontents

    \mainmatter

    \end{document}

    `

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #114713
      MatteoF
      Partecipante
        Up
        0
        Down
        ::


        A occhio e croce si direbbe che il pacchetto [tt]tocloft[/tt] vada in conflitto con qualche altro pacchetto 😕

        Per risolvere “chirurgicamente” il problema della vicinanza tra numero del paragrafo/sottoparagrafo e titolo ti suggerirei di ridefinire direttamente i comandi [tt]l@section[/tt] e [tt]l@subsection[/tt]

        Aggiungi nel preambolo il seguente codice:
        `
        \makeatletter
        \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
        \renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
        \makeatother
        `

        I valori nelle graffe misurano rispettivamente: il livello dell’entry; l’indentazione; la lunghezza del box in cui è scritto il numero dell’entry.
        Aumenta i valori di default (2.3em per i paragrafi; 3.2em per i sottoparagrafi) in base alle tue esigenze.

        Matteo

      • #114714
        claudio
        Partecipante
          Up
          0
          Down
          ::

          MatteoF” post=115099A occhio e croce si direbbe che il pacchetto [tt]tocloft[/tt] vada in conflitto con qualche altro pacchetto 😕

          Per risolvere “chirurgicamente” il problema della vicinanza tra numero del paragrafo/sottoparagrafo e titolo ti suggerirei di ridefinire direttamente i comandi [tt]l@section[/tt] e [tt]l@subsection[/tt]

          Aggiungi nel preambolo il seguente codice:
          `
          \makeatletter
          \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
          \renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
          \makeatother
          `

          I valori nelle graffe misurano rispettivamente: il livello dell’entry; l’indentazione; la lunghezza del box in cui è scritto il numero dell’entry.
          Aumenta i valori di default (2.3em per i paragrafi; 3.2em per i sottoparagrafi) in base alle tue esigenze.

          Matteo

          Pericoloso ridefinire direttamente comandi come @section e @subsection
          quando vi sono pacchetti che lo fanno per te

          `
          \usepackage{titletoc}
          \usepackage{textcase}
          \titlecontents{section}
          [5em]{}
          {\contentslabel{4em}\hspace*{-1em}}{}
          {\titlerule*[1pc]{.}\contentspage}
          \titlecontents{figure}
          [5em]{}
          {\contentslabel{4em}\hspace*{-1em}}{}
          {\titlerule*[1pc]{.}\contentspage}
          \titlecontents{table}
          [5em]{}
          {\contentslabel{4em}\hspace*{-1em}}{}
          {\titlerule*[1pc]{.}\contentspage}

          `
          ciao
          claudio

        • #114715
          Up
          0
          Down
          ::


          Il codice di MatteoF fa al caso mio,. in quanto molto veloce e intuitivo!!

          Forse dovrei aprire un altro topic in merito ma … non si può snellire un attimo quel codice base che sto usando??
          A me sembra un po’ troppo lungo e alcune cose “potrebbero” essere tolte o migliorate.

          Che ne dice?? 😕

        • #114716
          Up
          0
          Down
          ::

          Black Goku” post=115101Il codice di MatteoF fa al caso mio,. in quanto molto veloce e intuitivo!!

          Forse dovrei aprire un altro topic in merito ma … non si può snellire un attimo quel codice base che sto usando??
          A me sembra un po’ troppo lungo e alcune cose “potrebbero” essere tolte o migliorate.

          Che ne dice?? 😕

          Quali manuali di base hai consultato?

          Ciao
          Tommaso

        • #114717
          Up
          0
          Down
          ::


          Ho consultato:
          – la guida di lorenzo pantieri
          – la guida su wikibook
          – una guida in inglese (LaTeX cookbook)

          Ma più che una guida ho preso questo codice e sono andato ad analizzarlo cercando sul web le funzione dei vari pacchetti e la loro utilità all’interno del documento 🙂

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

      Go to top