Spazio dopo capitolo in ToC porta le sezioni a newpage

  • Creatore
    Topic
  • #108380
    Up
    0
    Down
    ::


    Ciao a tutti,

    sono un nuovo utente ma con LaTeX ci giochicchio da qualche tempo. Forse ho impiegato troppo tempo ad iscrivermi, tuttavia finora ho sempre trovato bene o male ciò che cercavo o comunque avuto esempi simili per arrivare a ciò che volevo.
    Scrivo in merito ad un problema che mi è sorto scrivendo un documento. La stampa ottenuta è quella che potete vedere in figura:

    ottengo questo spazio dopo i capitoli come se non fossero \relax-ate le sezioni rispetto al capitolo. Ho solo resettato alcuni comandi ed aggiunto degli altri nel ToC non mi sembra di aver fatto altro. La parte del codice di config riguardante il ToC è il seguente:

    `%———————————————————————————
    % CONTENTS Setup
    %———————————————————————————

    \dottedcontents{section}[3.8em]{}{2.3em}{.33em}
    \dottedcontents{subsection}[5.8em]{}{3.1em}{.33em}
    \dottedcontents{subsubsection}[7.8em]{}{3.9em}{.33em}
    \dottedcontents{paragraph}[9.8em]{}{4.7em}{.33em}
    \dottedcontents{subparagraph}[11.8em]{}{5.5em}{.33em}

    \setkomafont{disposition}{\protect\bfseries\sc\relax} % here you set bold or not chapter in ToC

    \renewcommand*\cftchapaftersnum{\hspace*{2pt}\textcolor{gray75}{\bfseries|}\relax} % adds \vline after chapter title in ToC

    \addtocontents{toc}{~\hfill\textmd{pag.}\par} % \textmd{} makes text not-bold and not-normal although a middle way
    \addtocontents{lof}{~\hfill\textmd{pag.}\par}
    \addtocontents{lot}{~\hfill\textmd{pag.}\par}
    \addtocontents{lol}{~\hfill\textmd{pag.}\par}
    \addtocontents{loe}{~\hfill\textmd{pag.}\vspace{.4cm}\par}

    \renewcommand\cftpartfont{\normalfont\color{Maroon}\bfseries\sc} % Recolor Parts in ToC
    \addtocontents{toc}{\cftpagenumbersoff{part}}

    %—— Minitoc ——
    \mtcsetfeature{minitoc}{after}{\vspace{.25cm}}
    \newcommand{\mini}[1]{\setcounter{mtc}{#1}}

    %—- Lof ——
    \renewcommand{\cftfigdotsep}{.33}
    \renewcommand{\cftfigfont}{\sc{\figurename}\normalfont}
    \renewcommand{\cftfigaftersnum}{~~–}
    \renewcommand{\cftfignumwidth}{3em}
    %\setlength{\cftfigindent}{1.5em}
    %—- Lot ——
    \renewcommand{\cfttabdotsep}{.33}
    \renewcommand{\cfttabfont}{\textsc{\tablename}\normalfont}
    \renewcommand{\cfttabaftersnum}{~~–}
    \renewcommand{\cfttabnumwidth}{3em}
    `

    Non mi sembra che in questa parte abbia dato settaggi compromettenti. Ergo… può essere qualche pacchetto oppure mi sto perdendo qualcosa di banale?

    Grazie in anticipo per l’aiuto!!!

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #108381
      Up
      0
      Down
      ::


      Temo che quel codice sia insufficiente per una diagnosi

      Ciao
      Enrico

    • #108382
      Up
      0
      Down
      ::


      Buongiorno,

      grazie per la risposta e piacere di conoscerti! 🙂 mi hai risolto tante ma tante magagne in passato! quindi di persona: GRAZIE! “you are a legend!” 😎

      Ho risolto il problema!
      Come pensavo (e non so perché non l’abbia mai fatto prima…) il problema è nel codice riportato sopra, dove setto la linea verticale dopo il capitolo:

      `\renewcommand*\cftchapaftersnum{\hspace*{2pt}\textcolor{gray75}{\bfseries|}\relax} % adds \vline after chapter title in ToC
      `

      il comando ha bisogno di \protect
      `\renewcommand*\cftchapaftersnum{\protect\hspace*{2pt}\textcolor{gray75}{\bfseries|}\relax} % adds \vline after chapter title in ToC
      `

      ora ottengo questo:

      Ho aggiornato il topic perché mi sembra giusto che se qualcuno incorresse nello stesso problema, possa trovare UN tipo di soluzione.
      Come si può notare nell’immagine qui sopra, si ottengono ancora le sezioni a pagina successiva ma sembra non essere più il problema iniziale, per cui, in base alle esigenze si può optare per i seguenti comandi:

      • `\addtocontents{toc}{\protect\enlargethispage*{1000pt}}` posto subito dopo l’inserimento del capitolo/sezione/sub.., etc. per cui incorre il problema. Ora, poiché questo comando ridefinisce la pagina con lunghezza “infinita” (cioè maggiore del bottom margin da noi scelto), si deve scegliere il punto in cui si vuole il `\pagebreak` ed inserire la seguente stringa ` \addtocontents{toc}{\protect\pagebreak}`
      • Un altro modo invece, è quello di volere il titolo del capitolo nella pagina seguente. In questo caso basta inserire il comando: `\addtocontents{toc}{\protect\pagebreak}` al capitolo che si vuole portare alla pagina seguente

      La mia scelta è quella della prima opzione ed è la seguente (perfetta direi!):

      Buon lavoro!

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top