Un secondo indice con tocloft rispettando lo stile del documento

  • Creatore
    Topic
  • #117630
    Up
    0
    Down
    ::


    Ciao a tutti.
    Avrei il desiderio di inserire un secondo indice che contenga tutte le voci del primo ed anche altre ad esso riservate.
    Purtroppo ho dovuto abbandonare shorttoc per la necessità di avere contenuti distinti in due distinti indici.

    Posto l’abbozzo di codice che uso.

    `\documentclass[13pt,a4paper,pdftex,twoside,cleardoublepage=plain,unicode=true]{scrbook}
    \usepackage[italian]{babel}
    \usepackage{scrhack}
    \usepackage[parts, pdfspacing, linedheaders, listsseparated]{classicthesis}
    \usepackage{amsmath, amssymb, amsthm}
    \usepackage{bm, bbm, bigints}
    \usepackage{cancel, colortbl}
    \usepackage{etoolbox}
    \usepackage[T1]{fontenc}
    \usepackage{fancybox, fancyvrb, float}
    \usepackage[bottom]{footmisc}
    \usepackage{gensymb}
    \usepackage{ifthen, isomath}
    \usepackage[utf8]{inputenc}
    \usepackage{longtable, linearA}
    \usepackage{marvosym, mathtools}
    \usepackage{paralist, placeins}
    \usepackage{skak}
    \usepackage{textcomp, titletoc}
    \usepackage{tikz, pgfplots}
    \usepackage{verbatim}
    \usepackage{wasysym, wrapfig}
    \usepackage{xlop}
    \usepackage{bookmark}
    \usepackage{fullpage}
    \usepackage{emptypage}
    \usepackage[onehalfspacing]{setspace}

    \protect\renewcommand{\cftchapleader}{\footnotesize\cftdotfill{3\cftdot}}
    \renewcommand{\cftchapafterpnum}{}
    \protect\renewcommand{\cftsecleader}{\footnotesize\cftdotfill{3\cftdot}}
    \renewcommand{\cftsecafterpnum}{}
    \protect\renewcommand{\cftsubsecleader}{\footnotesize\cftdotfill{3\cftdot}}
    \renewcommand{\cftsubsecafterpnum}{}

    \titleformat{\section}{\normalfont\bfseries}{\thesection}{10pt}{}
    \titleformat{\subsection}{\normalfont\bfseries}{\thesubsection}{10pt}{}
    \titleformat{\subsubsection}{\normalfont\bfseries}{\thesubsubsection}{10pt}{}

    \titlecontents{part} %
    [26pt]
    {\vspace{4pt}\normalfont\scshape\large} % above – formattazione generale
    {\contentslabel[\normalfont\Large\thecontentslabel]{26pt}} %
    {\normalfont\Large} %
    {\normalfont\cftchapleader\normalsize\contentspage}

    \titlecontents{chapter} %
    [26pt] %dx
    {\vspace{4pt}\normalfont\normalsize} %su \bf
    {\contentslabel[\normalfont\large\thecontentslabel]{26pt}} %sx \bf
    {\normalfont\large\hspace{-26pt}} %hidden chapter
    {\normalfont\cftchapleader\normalsize\contentspage} % \bf

    \titlecontents{section} % 26(chapter) + 30 = 56
    [60pt] % dx
    {\vspace{4pt}\normalfont\small} %
    {\contentslabel[\normalfont\small\thecontentslabel]{34pt}} % sx
    {\normalfont\small}%
    {\normalfont\cftsecleader\small\contentspage}

    \titlecontents{subsection} % 60(section) + 30 = 90
    [90pt] % dx
    {\vspace{2pt}\normalfont\footnotesize} %
    {\contentslabel[\normalfont\scriptsize\thecontentslabel]{30pt}} % sx
    {\normalfont\scriptsize} %
    {\normalfont\cftsubsecleader\scriptsize\contentspage}

    %IMPOSTAZIONI PDF
    \hypersetup
    {
    pdfpagemode = UseOutlines,
    colorlinks = true,
    citecolor = black,
    linkcolor = black,
    urlcolor = black
    }

    \begin{document}

    \pagestyle{scrplain}
    \ifoot[]{}
    \cfoot[\pagemark]{\pagemark}
    \ofoot[]{}

    \pdfbookmark[1]{Indice}{Indice}
    \setcounter{tocdepth}{1}
    \tableofcontents

    \cleardoublepage

    \pdfbookmark[1]{Indice dettagliato}{Indice dettagliato}
    \newlistof{Index}{toc2}{Indice dettagliato}
    \listofIndex

    \makeatletter
    \apptocmd{\@chapter} {\protect\addcontentsline{toc2}{chapter} {\thechapter}} {} {}
    \apptocmd{\@section} {\protect\addcontentsline{toc2}{section} {\thesection}} {} {}
    \apptocmd{\@subsection} {\protect\addcontentsline{toc2}{subsection}{\thesubsection}} {} {}
    \makeatother

    \chapter{A}
    \section{B}
    \section{C}

    \addcontentsline{toc2}{chapter} {XXXXXXX}

    \chapter{D}
    \section{E}
    \section{F}

    \end{document}
    `

    Avrei necessità di un’istruzione del tipo
    ` \apptocmd{\@chapter} {\protect\addcontentsline{toc2}{chapter} {\thechapter}} {} {}. `
    Questa ovviamente nel secondo indice non inserisce correttamente numero ed etichetta.

    Come al solito, mille grazie a tutti. Ciao

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #117631
      Up
      0
      Down
      ::


      Non ho capito cosa vuoi mettere nel secondo indice e cosa in quello principale.
      A parte questo, serve un esempio minimo compilabile. Quello che hai fornito è un esempio compilabile, ma non minimo. E’ già un buon passo, comunque.
      L’esempio deve contenere tutto e solo lo stretto necessario per mostrare il problema in oggetto.

      Ciao
      Ivan

    • #117632
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::



        @rici80
        , non sono in grado di risponderti al quesito che tu poni; in quasi 35 anni di uso di LaTeX non mi è mai capitato di creare due indici per lo stesso documento. La classe memoir so che ne prevede l’uso, ma, come ho detto, a me non è mai capitato di averne bisogno.

        Invece il tuo preambolo contiene cose che forse hai aggiunto in momenti diversi e non hai mai cercato nella documentazione se sono veramente utili o se sono solo ingombranti e basta. D’altra parte capisco: se funziona, perché modificarlo?

        Io la risposta me la sono data, ma quello che vale epr me, non necessariamente vale epr tutti. Il criterio è: meno pacchetti si caricano, più è difficile andare incontro a conflitti.
        Allora: leggendo la documentazione di amsmath, amssymb & company, si vede che amssymb carica amsfonts; perché allora caricarlo esplicitamente se tanto lo fa amssyb?

        Amsbsy e bm fanno le stesse cose, in modo diverso, ma le fanno; amsmath consiglia di usare bm al posto di amsbsy; perché quindi li carichi entrambi?

        Hai notato che hai caricato calc due volte? A parte questo dettaglio, tieni presente che da una decina di anni pdflatex latex è in grado di fare certi conti sui numeri interi e sulle lunghezze, oltre che di scalare, cosa che gli permette di fare anche conti con i numeri reali; e da un apio d’anni è disponibile il pacchetto xfp che permette di fare calcoli ocn i numeri rali in modo molto più esteso di quanto possa fare calc. Nessuno è obbligato ad usare questo nuovo pacchetto; ma è un invito a documentarsi e, forse, ad aggiornarsi.

        I pacchetti fixmath e gensymb, hanno almeno 17 anni di anzianità; il che non è un buon motivo per non usali; ci sono altri pacchetti ancora più anziani che mantengono la loro utilità. Ma questi in particolare sono intesi per soddisfare in un modo o nell’altro le norme ISO per la scrittura della matematica delle scienze sperimentali; non sarà che in questi 17 anni si sono sviluppati altri modi per soddisfare quelle norme? Per esempio, se componi con xelatex o lualatex una delle opzioni per il pacchetto unicodemath (che tra l’altro richiede di non caricare i simboli dell’AMS, perché li contiene già) riguarda proprio le norme ISO, come puoi vedere nella documentazione di fontspec. Ma se invece componi con pdflatex hai a disposizione anche i pacchetti isomath e pm-isomath; il primo richiede di usare font dotati di certe caratteristiche, per esempio i libertinus (da non confondere con i libertine) che 17 anni fa non esistevano; ma se non vuoi o non puoi usare quei font speciali, pm-isomath, in modo un po’ artigianale ma efficace (“pm” sta per “poor man”…), permette di usare in matematica tutte le forme e serie necessarie per rispettare le norme ISO.

        Ecco, ti ho segnalato queste cose non per fare della sterile critica, ma per incoraggiarti a rivedere il tuo preambolo in modo critico.

        Spero che qualcun altro ti pieghi come fare quello che vuoi con i due indici.

      • #117633
        Up
        0
        Down
        ::


        Gentilissimo Claudio,
        sì, nel tempo ho fatto diverse aggiunte e varie sviste ci son state.
        Ho seguito quasi tutti i preziosi suggerimenti (quasi tutti poiché di gensymb mi piace il comodo \degree), ed ora il preambolo è assai più snello.

        AGGIORNAMENTO IMPORTANTE: prima Hyperref non funzionava correttamente per colpa di un obsoleto pacchetto classicthesis, che grazie al tuo suggerimento, ho aggiornato. Ora tutto funziona a dovere 8) 8) 8) 8)

        Ho direttamente aggiornato il post per far sì che chi eventualmente dovesse provare a metter mano, possa lavorare sul preambolo aggiornato.
        MILLE E MILLE GRAZIE. Ciao 🙂

      • #117634
        Up
        0
        Down
        ::

        ivan” post=118054Non ho capito cosa vuoi mettere nel secondo indice e cosa in quello principale.
        A parte questo, serve un esempio minimo compilabile. Quello che hai fornito è un esempio compilabile, ma non minimo. E’ già un buon passo, comunque.
        L’esempio deve contenere tutto e solo lo stretto necessario per mostrare il problema in oggetto.

        Ciao
        Ivan

        Ciao Ivan.
        Innanzi tutto mille grazie, e poi perdonami per la svista. Ho modificato il codice in maniera da renderlo compilabile e, spero, più comprensibile.

        Vorrei, sì, che i due indici si mostrassero con lo stesso stile (motivo per il quale ho lasciato le varie impostazioni, e dunque l’esempio non è minimo),
        ma che nel secondo vi siano tutte le voci del primo ed alcune ulteriori.

        Grazie ancora 🙂

      • #117635
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Dovresti anche controllare nel file .log quale file fullpage ti si carica.
          Se è quello di Patrik Daly del 1999 sei fritto. Controlla nel file logo; o apri il file fullpage.sty cercandolo nell’albero principale della tua installazione del sistema TeX; da me si trova nella cartella …/texlive/2019/texmf-dist/tex/latex/preprint/
          Dal nome preprint della cartella vedi che Daly ha creato questo file solo per scrivere documenti sotto forma di bozza non dell’impaginazione ma del testo, ai tempi in cui non si disponeva di tanti mezzi per prevedere il risultato della composizione direttamente a schermo e non esistevano gli shell editor in gradi di passare con un click dalla finestra di composizione alla finestra del file composto in formato PDF, e viceversa; quindi la correzione delle bozze si faceva stampando il tutto e lavorando sulla carta. Oggi, con gli shell editor disponibili, queste impaginazioni al risparmio di carta non si fanno più. Mi domando perché il TL team non ritiri questo file, ed altri simili; forse per rispetto a DalY, guru di LaTeX e, se ricordo bene, coautore del testo fondamentale The LaTeX Companion (sempre citato perché è una vera enciclopedia, ma datato anche quello perché risale al 2004)

          Quel pacchetto imposta dei margini di un pollice o di 15mm a seconda dell’opzione che gli specifichi; to non ne hai specificata nessuna, quindi è un pollice. Questo va in palese contrasto con l’uso della classe screprt e del pacchetto ClassicThesis, l’autore del quale nella sua documentazione spiega che non devi apportare nessuna modifica al layout della pagina e che se si vuole avere un altro layout non si deve usare ClassicThesis.
          Non ti sei accorto che con questo pacchetto fullpage, la pagina diventa strapiena di testo con righe lunghissime, margini minimi, e che questo layout è persino più brutto di quello di default della classe book (che brutto non è affatto, ma comune certamente sì). Il layout di book ha la griglia interna, quella che racchiude solo il testo, senza la testatina e il piedino) che si avvicina ai dettami del famoso book designer Robert Bringhurst; la griglia è un pochino più larga di quella raccomandata da Bringhurst e i margini superiore e inferiore, che contengono rispettivamente la testatina e il piedino) sono otticamente proporzionati a quelli laterali.
          La griglia interna di ClassicThesis è più adattata alla regola di Bringhurst ma il calcolo si rifà a font di default un poco più grandi dei Computer Modern o dei Latin Modern; Se tu usi mathpazo, usi i Palatino, quindi la griglia di ClassicThesis è ben proporzionata.

          Quel pacchetto fullpage, come ho detto, serviva una volta per correggere le bozze, ma è un pessimo esempio di impaginazione, oltre ad essere una cosa “vietata” con l’uso simultaneo di ClassicThesis.

        • #117636
          samiel
          Partecipante
            Up
            0
            Down
            ::

            Vorrei … ma che nel secondo vi siano tutte le voci del primo ed alcune ulteriori.

            Non ho mai visto in parecchie migliaia di libri due indici in cui il primo riporta le stesse voci del primo (più altre)…

            m

          • #117637
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              La documentazione di memoir contiene un primo indice con i soli titoli dei capitoli o poco più, e un secondo indice dettagliato fino ai sottoparagrafi.

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

          Go to top