problemi estestici con l’indice

  • Creatore
    Topic
  • #86876
    claudio
    Partecipante
      Up
      0
      Down
      ::


      il codice che segue ha un problema <>
      è ovviamente un forzatura ma rende l’idea
      se lo compilate
      vedrete che a un certo punto i numeri
      dell’incide si sovrappongono alle voci dell’indice
      come rimediare a ciò?
      saluti
      claudio
      `
      \documentclass[draftdate=true,style=elements,oneside,crop=false
      %a4paper,documentstructure=book,draftdate,
      %oneside ,10pt,sctitles
      ]{suftesi}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{lipsum}

      \begin{document}
      \tableofcontents
      \chapter{sdsds}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{asaada}
      \chapter{sdsds}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}
      \section{asaada}

      \end{document}
      `

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #86877
        franen
        Partecipante
          Up
          0
          Down
          ::


          Il problema sta nel codice`\titlecontents{section}
          [\SUF@tocindent@sec]
          {}
          {\hskip-\dimexpr(\SUF@label@section+1em)%
          \makebox[\SUF@label@section][l]{\thecontentslabel}\hspace*{1em}}
          {\hskip-\dimexpr(\SUF@label@section+1em)%
          \makebox[\SUF@label@section][l]{\thecontentslabel}\hspace*{1em}}
          {\ifsuftesi@article\SUF@chaptitlerule%
          \else\SUF@titlerule\fi\contentspage}
          ` in suftesi.cls.
          Se vedi nella quarta riga il posizionamento delle “section” avviene spostandosi a sinistra di \SUF@label@section+1em rispetto a \SUF@tocindent@sec (in questo modo il rientro vale \SUF@tocindent@chap e la numerazione delle sezioni è allineata con i titoli dei capitoli). Viene creata una scatola larga \SUF@label@section (spulciando il sorgente vedrai che questa lunghezza vale 1 em), in questa scatola viene messo il numero della sezione e a distanza di 1 em il titolo della sezione.
          Purtroppo questa distanza non è sufficiente, quindi o si aumenta la larghezza della scatola o la spaziatura dopo di essa. La licenza di suftesi è molto restrittiva, ma credo che Ivan possa accettare una modifica per un problema simile.
          Semplicemente potresti scrivere`\makeatletter
          \titlecontents{section}
          [\SUF@tocindent@sec]
          {}
          {\hskip-\dimexpr(\SUF@label@section+1em)%
          \makebox[\SUF@label@section][l]{\thecontentslabel}\hspace*{2em}}
          {\hskip-\dimexpr(\SUF@label@section+1em)%
          \makebox[\SUF@label@section][l]{\thecontentslabel}\hspace*{1em}}
          {\ifsuftesi@article\SUF@chaptitlerule%
          \else\SUF@titlerule\fi\contentspage}
          \makeatother`Forse c’è qualche soluzione più immediata, ma non l’ho vista…


          @Ivan
          , ho visto nella documentazione che c’è il comando [tt]\toclabelspace{〈level〉}{〈label-width〉}[/tt], ma non capisco come funziona, se [tt]\toclabelspace[/tt] è definito come ` \newcommand*{\toclabelspace}[1]{\setlength\SUF@label@chapter{#1}}`, non dovrebbe accettare un solo argomento?
          Idea: tempo fa avevo scritto un pacchetto per me in cui scombinavo un po’ l’indice e avevo creato un registro dimensionale che permettesse di definire le larghezze delle scatole in cui venivano inseriti i numeri dei capitoli e delle sezioni. Ad esempio potresti creare `\newlength{\SUF@chapter@boxwidth}
          \settowidth{\SUF@chapter@boxwidth}{99}`Così se uno ha 200 capitoli può scrivere [tt]\settowidth{\SUF@chapter@boxwidth}{999}[/tt]
          Fran

        • #86878
          Up
          0
          Down
          ::

          claudio” post=86312il codice che segue ha un problema <>
          è ovviamente un forzatura ma rende l’idea
          se lo compilate
          vedrete che a un certo punto i numeri
          dell’incide si sovrappongono alle voci dell’indice
          come rimediare a ciò?
          saluti
          claudio
          `
          \documentclass[draftdate=true,style=elements,oneside,crop=false
          %a4paper,documentstructure=book,draftdate,
          %oneside ,10pt,sctitles
          ]{suftesi}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage{lipsum}

          \begin{document}
          \tableofcontents
          \chapter{sdsds}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{asaada}
          \chapter{sdsds}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}
          \section{asaada}

          \end{document}
          `

          Basta aggiungere
          `\toclabelspace{1.5em}`
          Così facendo, però, vengono allargate tutte le label (capitoli, sezioni, ecc.). Ma tieni presente che nell’indice degli Elementi ci dovrebbero essere solo i capitoli.
          Per aggiustamenti più precisi devi modificare i singoli codici per capitoli, sezioni e sottosezioni.

          Ciao
          Ivan

        • #86879
          Up
          0
          Down
          ::

          franen” post=86316

          @Ivan
          , ho visto nella documentazione che c’è il comando [tt]\toclabelspace{〈level〉}{〈label-width〉}[/tt], ma non capisco come funziona, se [tt]\toclabelspace[/tt] è definito come ` \newcommand*{\toclabelspace}[1]{\setlength\SUF@label@chapter{#1}}`, non dovrebbe accettare un solo argomento?

          Ti ringrazio della segnalazione. Hai ragione, per qualche motivo ho eliminato quella possibilità. Ora non ricordo più, ma ci darò un’occhiata.
          Adesso il comando ha un solo argomento, che equivale allo spazio da aggiungere a tutte le label.

          Ciao
          Ivan

        • #86880
          claudio
          Partecipante
            Up
            0
            Down
            ::

            ivan” post=86325

            il codice che segue ha un problema <>
            è ovviamente un forzatura ma rende l’idea
            se lo compilate
            vedrete che a un certo punto i numeri
            dell’incide si sovrappongono alle voci dell’indice
            come rimediare a ciò?
            saluti
            claudio
            `
            \documentclass[draftdate=true,style=elements,oneside,crop=false
            %a4paper,documentstructure=book,draftdate,
            %oneside ,10pt,sctitles
            ]{suftesi}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            \usepackage{lipsum}

            \begin{document}
            \tableofcontents
            \chapter{sdsds}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{asaada}
            \chapter{sdsds}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}
            \section{asaada}

            \end{document}
            `

            Basta aggiungere
            `\toclabelspace{1.5em}`
            Così facendo, però, vengono allargate tutte le label (capitoli, sezioni, ecc.). Ma tieni presente che nell’indice degli Elementi ci dovrebbero essere solo i capitoli.
            Per aggiustamenti più precisi devi modificare i singoli codici per capitoli, sezioni e sottosezioni.

            Ciao
            Ivan

            No preferisco la soluzione precedente
            la tua Ivan è un piccolo terremoto
            ciao e grazie
            claudio

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

        Go to top