Personalizzare l’indice di un book.

  • Creatore
    Topic
  • #114140
    Up
    0
    Down
    ::


    Gentili Colleghi,

    sarei grato a chi mi indicasse le istruzioni per ottenere l’indice di un libro, del tipo (\documentclass[,12pt,twoside]{book}, con lo stile dell’esempio in allegato.

    Cordiali saluti e ringraziamenti.

    [attachment]C:\fakepath\Indice.pdf[/attachment]

Visualizzazione 21 filoni di risposte
  • Autore
    Risposte
    • #114141
      Up
      0
      Down
      ::


      L’upload dell’allegato non è riuscito per eccesso di dimensione, tuttavia talle allegato è disponibile a questo link. Aggiungo che qualche giorno fa trovai in internet il 90% di quanto cerco, ma oggi non ho trovato più niente.

    • #114142
      Up
      0
      Down
      ::


      Problema risolto.

    • #114143
      samiel
      Partecipante
        Up
        0
        Down
        ::


        se puoi indicare la soluzione,
        fai un favore a chi potrebbe avere in futuro
        il tuo stesso problema…

        m

      • #114144
        Up
        0
        Down
        ::


        Ho ottenuto quasi tutto il risultato che cerco a partire dalle seguenti istruzioni

        \usepackage{titletoc}

        \titlecontents{chapter} % Section
        [0em] % Left
        {\vspace*{\baselineskip}} % Above code
        { \quad \mdseries \chaptername \,\,\thecontentslabel \\
        \thecontentspage \quad \textit {\vspace*{\baselineskip}} } % Filler
        [] % Separator
        \titlecontents*{section} % Section
        [0em] % Left
        {\space} % Above code
        {\thecontentslabel~} % Numbered format
        {} % Numberless format
        {} % Filler
        [.\space] % Separator
        \titlecontents*{subsection} % Section
        [0em] % Left
        {\space} % Above code
        {} % Numbered format
        {} % Numberless format
        {} % Filler
        [.\space] % Separator

        che ho ritrovato tra gli appunti di una ricerca su internet di qualche giorno fa.

        Se qualcuno fosse interessato, quando avrò finito, non avrei difficoltà mostrare codice e risultato pdf.

      • #114145
        Up
        0
        Down
        ::


        Con il codice
        `
        \titlecontents{chapter} % Section
        [6.0mm] % Left
        {\vspace*{\baselineskip}} % Above code
        { \mdseries \contentslabel[\thecontentslabel] {0mm} \hspace*{1.4em} \chaptername \,\,\thecontentslabel \\
        \hspace*{2em} \itshape \vspace*{0.5\baselineskip} } % Filler Numbered format
        { \mdseries \thecontentspage \hspace*{1.2em} \itshape } % Filler % Numberless format
        {} % Filler
        [] % Separator
        \titlecontents*{section} % Section
        [16.0mm] % Left
        {} % Above code
        {\footnotesize \thecontentslabel~} % Numbered format
        {} % Numberless format
        {\footnotesize,~\thecontentspage ~–} % Filler
        [\space] % Separator
        `
        ho ottenuto l’indice in Indice_s.pdf, come volevo tranne che i trattini indicati dalle frecce rosse dovrebbero essere sostituiti da rispettivi punti.

      • #114146
        samiel
        Partecipante
          Up
          0
          Down
          ::


          Succede perché anche dopo l’ultima indicazione il codice si aspetta
          un’ulteriore indicazione. Se riesci a postare in MWE (e a usare
          la formattazione corretta per il codice usando l’icona oppure
          mettendo “, qualcuno può verificare e correggere
          o integrare il codice per ovviare al trattino che non ci va…

          m

        • #114147
          Up
          0
          Down
          ::


          Gentile samiel, Ti ringrazio. Quello che ho postato è proprio il caso completo che dovrei risolvere, per cui a meno di diverso chiarimento credo che un MWE non potrebbe dire di più. Comunque ogni altra informazione la invio volentieri io. Purtroppo non capisco che significa usare la formattazione corretta per il codice usando l’icona oppure mettendo…, però ovviamente gradirei alquanto conoscere una modifica del codice che eliminasse il difetto in questione. Cordiali saluti e ringraziamenti.

        • #114148
          samiel
          Partecipante
            Up
            0
            Down
            ::


            è il pezzo di codice che ti interessa, ma non è un MWE
            che, come è stato detto moltissime volte, è un codice compilabile
            senza che chi intende darti una mano debba iniziare a mettere
            `\documentclass[a4paper,12pt]{article}

            \begin{document}

            \end{document}`
            Se tu racchiudi il tuo codice fra le stringhe
            all’inizio `[code] … `
            e alla fine ` … ` [/code]
            la formattazione aiuta il lettore

            m

          • #114149
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              @milo apri il tuo ultimo messaggio che contiene il tuo codice; poi sotto la sua finestra clicca il bottone EDIT; ti si riapre il tuo messaggio e vedi che cosa vuol dire mettere i tag del codice; @samiel non li può ripodurre bene nei suoi messaggio perché non cè modo di disabilitarli, e quaindi vengono interpretati dal browser.

              Un altro modo per non doversi disturbare con codici strani consiste nel falo fare al browser stesso; scrivi il tuo codice, poi lo selezioni; porti il pointer del mouse sulla barra di piccole icone che sono sppra le faccine, e clicchi sull’icona formata da un rettangolo bianco ricoperto in parte dei segni < e > colorati di celeste. Come clicchi, il tuo codece selezionato diventa immediatamente composto in carattere typewriter e appare racchuso dentro un riquadro.

              Questo è il codice che chi vuole aiutarti può selezionare e copiare; solo che per essere in Esempio Minimo Compilabile (EMC) detto in inglese Minimum Working Example (MWE) il codice della finesr=tra deve cominciare quasi sempre con [tt]\documentclass[/tt] e finire con [tt]\end{document}[/tt] [Quel “quasi” significa che qualche volta bisogna far precedere la riga [tt]\documentclass[/tt] da uno o più ambienti filecontents* (con o senza asterisco a seconda del contenuto degli ambienti)].

              Deve contenere nel preambolo solo i pacchetti che sono necessari per la compilazione dell’esempio, non tutti i pacchetti che hai messo nel preambolo del tuo documento; Inoltre tra [tt]\begin{document}[/tt] e [tt]\end{document[/tt] deve esserci il minimo necessario per replicare il tuo problema. Prima di allegare l’EMC devi collaudarlo sul tuo calcolatore per verificare che replichi il tuo problema, altrimenti chi lo riceve non se ne fa niente, in quanto non può indovinare nemmeno quale sia il problema perché questo non viene replicato.

              Non prendertela se non capisci quello che ti si suggerisce di fare; la tua ultima risposta suonava un po’ “irritata” agli occhi di non cnosce il tuo problema.

              Per tua comodità ti suggerisco di scaricare dalla sezione Documentazione di questo forum la guida tematica relativa agli esempi minimi compilabili; ci sono molte indicazioni anche per problemi veri (nel senso che sono ispirati a problemi sottoposti qui nel forum) semplici e complicati complicati.

              Vedrai che con un EMC ci saranno diverse persone che si cimenteranno per darti una mano; se non ricevi aiuti i casi sono due: o il problema è troppo complicato per le conoscenze anche di alcuni vecchi utenti che frequentano questo forum con esperienze più che trentennali nell’uso di LaTeX, oppure il problema nasce dal fatto che non hai consultato attentamente la documentazione dei pacchetti dell’EMC, perché nella documentazione c’è scritto come fare, ma, evidentemente, ti è sfuggito.

              Per tutti noi è un piacere dare una mano, ma lo facciamo molto malvolentieri quando chi chiede aiuto, in realtà chiede “non ho voglia di documentarmi, me lo fai tu quello che voglio ottenere?”
              Non sto dicendo che sia il tuo caso, per carità. Dico solo che a nessuno piace tenere su i pantaloni a chi non ha voglia di tenerseli su da solo.:smile:

            • #114150
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Vedi qui: How do I get multiple ToC entries in the same line?
                Ho riadattato quel codice in questo modo:
                `\documentclass[a4paper]{book}
                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage[italian]{babel}
                \usepackage{titletoc}

                \titlecontents*{section}%

                [1.5em]%
                {\small}%
                {\thecontentslabel. }%
                {}%
                {, \thecontentspage}%
                [~–\ ]%
                []%

                \begin{document}

                \tableofcontents

                \chapter{Midi}
                \section{Alba}
                \section{Mattina}
                \section{Mezzogiorno}
                \chapter{Après midi}
                \section{Primo pomeriggio}
                \section{Prélude à l'après-midi d'un faune}
                \section{Ora del té}
                \section{Tramonto}
                \section{Sera}
                \section{Beim Schlafengehen}
                \section{Notte}

                \end{document}`

                m

                PS come vedi, se copi il mio codice in un file dell’editor
                e lo compili, ti esce il pdf senza dover aggiungere nulla.
                si tratta di un Esempio (quasi) Minimo Compilabile

              • #114151
                Up
                0
                Down
                ::


                Ho ottenuto il risultato cercato, consistente in Indice_ok, con la sostituzione dell’ultima istruzione del mio codice, i.e. `[\space] % Separator `, con le ultime due righe del codice di samiel (che ringrazio molto per la decisività dell’aiuto), i.e. `
                [~–\ ] % Separator
                []%
                `

                e con la sostituzione della penultima riga del mio codice, i.e.

                `
                {\footnotesize,~\thecontentspage ~–} % Filler
                `

                con

                `
                {\footnotesize,~\thecontentspage} % Filler
                `

                Un EMC che sintetizza il caso e ha l’output EMC.pdf , è il seguente

                `
                \documentclass[,12pt,twoside]{book}
                \usepackage[T1]{fontenc}
                \usepackage[english]{babel}
                \usepackage{geometry}
                \usepackage{booktabs}
                \usepackage{amsmath,amsthm,amssymb}
                \usepackage{microtype}
                \usepackage{titletoc}

                \titlecontents{chapter} % Section
                [6.0mm] % Left
                {\vspace*{\baselineskip}} % Above code
                { \mdseries \contentslabel[\thecontentspage] {0mm} \hspace*{1.4em} \chaptername \,\,\thecontentslabel \\
                \hspace*{2em} \itshape \vspace*{0.3\baselineskip} } % Filler Numbered format
                { \mdseries \thecontentspage \hspace*{1.2em} \itshape } % Filler % Numberless format
                {} % Filler
                [] % Separator
                \titlecontents*{section} % Section
                [16.0mm] % Left
                {} % Above code
                {\footnotesize \thecontentslabel~} % Numbered format
                {} % Numberless format
                {\footnotesize,~\thecontentspage} % Filler
                [~–\ ] % Separator
                []%

                \setcounter{page}{5}
                \geometry{paperwidth=17.0cm,paperheight=24.0cm,top=2.5cm,bottom=2.5cm, left=2.0cm,right=3.0cm, centering,footskip=1.3cm}

                \begin{document}
                \newpage
                \tableofcontents
                \newpage

                \setcounter{page}{7}
                \chapter*{Introduction}
                \addcontentsline{toc}{chapter}{Introduction}
                \chapter{Preliminaries of Logic and Set Theory}
                \chapter{Events and Probability}
                \section{Composite Events}
                \section{Composite Events}
                \section{An Application of Composite Events}
                \section{Probability}
                \chapter{The Probability of an Unknown Constant}
                \section{A Confirmation}
                \chapter{The Calculation of a Confidence Interval}
                \section{The Mean of a Normal Random Variable}
                \chapter*{Conclusion}
                \addcontentsline{toc}{chapter}{Conclusion}
                \renewcommand\bibname{References}
                \begin{thebibliography}{99}
                \addcontentsline{toc}{chapter}{References}
                \end{thebibliography}
                \end{document}
                `

                Disponibile per altre informazioni ringrazio e saluto.

              • #114152
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  per sfizio ed esercizio ho riprodotto l’indice che hai postato all’inizio.
                  mi sono reso conto che titletoc non gestisce \part (non mi ero mai posto i problema).
                  C’è una patch su stackexchange.
                  poi ci sono altre imperfezioni come qualche spazio di troppo nel vecchio codice:
                  se ti serve, vedo di postare il codice finale completo

                  m

                • #114153
                  Up
                  0
                  Down
                  ::


                  Non avevo notato la questione part perché in questo caso non mi interessa.

                  Invece, per quanto riguarda gli spazi, anche io non ero proprio del tutto soddisfatto di quelli verticali sopra e sotto le sezioni.

                  Però agendo sugli Above code di chapter e section, i.e. sostituendo i {\vspace*{\baselineskip}} e {} con i rispettivi {\vspace*{1.1\baselineskip}} e {\vspace*{-0.7mm}}, ho ottenuto Indice_ok_2.pdf che mi sembra ok anche per gli spazi, a meno che non pensi ad altri spazi che andrebbero aggiustati nel qual caso mi potrebbe essere utile il tuo ulteriore codice.

                  Cordiali saluti e ringraziamenti.

                  gilo

                • #114154
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    nel pdf che alleghi vedo una cosa che non va: il margine dell’indice è più ristretto della pagina:
                    infatti noterai che il margine destro di Contents è “più a destra” del margine destro dei paragrafi dell’indice.
                    Devi sistemarlo con
                    `\contentsmargin[-1.55em]{1.55em}`

                    i problemi di titletoc con part si sistemano con questa patch:
                    Part Number separated of Part Name in Table of Contents

                    cmq il codice complessivo dove anche part è sistemata:

                    `%%% GENERAL SETTINGS
                    \documentclass[a4paper]{book}
                    \usepackage[T1]{fontenc}
                    \usepackage[english]{babel}
                    \usepackage{newpxtext,newpxmath}
                    \useosf
                    \usepackage{microtype}
                    %\usepackage[margin=3cm,heightrounded]{geometry}

                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

                    %%% TABLE OF CONTENTS SETTINGS
                    \usepackage{titletoc}
                    %\usepackage{showframe}

                    % book — titletoc patch for \part: https://tex.stackexchange.com/a/454553/134574
                    \usepackage{etoolbox}
                    \makeatletter
                    \patchcmd\@part
                    {\thepart}
                    {\protect\numberline{\thepart}}
                    {}{\FAIL}
                    \makeatother

                    \makeatletter
                    \contentsmargin[-1.55em]{1.55em} % the default value of \@pnumwith for book class

                    \titlecontents{part}
                    [0em]
                    {\addvspace{1.5pc}\filcenter}
                    {\large\partname~\thecontentslabel\endgraf\bfseries}
                    {\large}
                    {} % without page number
                    [\addvspace{.5pc}]

                    \titlecontents{chapter}
                    [0em]
                    {\vspace*{\baselineskip}}
                    {\mdseries
                    \llap{\hb@xt@\@pnumwidth{\hfil\thecontentspage}\quad}\chaptername~\thecontentslabel\\
                    \vspace*{0.3\baselineskip}%
                    \itshape
                    }
                    {\mdseries
                    \llap{\hb@xt@\@pnumwidth{\hfil\thecontentspage}\quad}%
                    \itshape
                    }
                    {}
                    []

                    \titlecontents*{section}
                    [0em]
                    {}
                    {\footnotesize \thecontentslabel~}
                    {}
                    {\footnotesize,~\thecontentspage}
                    [~–~]
                    []

                    \makeatletter\@addtoreset{chapter}{part}\makeatother % make chapter begin from 1 every part

                    \renewcommand{\thechapter}{\Roman{chapter}} % chapter number in Roman
                    \renewcommand{\thesection}{\arabic{chapter}.\arabic{section}} % section number all in arabic

                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

                    \begin{document}

                    \renewcommand*\contentsname{\hfill\mdseries\huge Contents} % put ToC title in the right side of the page
                    \tableofcontents

                    \part{Setting up of a Business}
                    \chapter{Businness idea and management}

                    \chapter{Business startup}
                    \section{The choice of the most appropriate legal structure}
                    \section{Self–employed [Sole trader (\textsc{uk}) — Sole proprietorship (\textsc{usa})]}
                    \section{Limited company}
                    \section{Limited partnership \textsc{it}: Società in accomandita}
                    \section{\textsc{llp} — Limited Liability Partnership (\textsc{uk}) [\textsc{llc} — Limited Liability Company
                    (\textsc{usa})] \textsc{it} «Società a Responsabilità Limitata con opzione per il regime di trasparenza fiscale»}
                    \section{Corporation (C Corporation)}
                    \section{S Corporation \textsc{it}: Società per Azioni trasparente}
                    \section{Business partnership}
                    \section{Cooperative}
                    \section{Unincorporated association (sports club or a voluntary group with no plan to to make a profit)}
                    \section{Social enterprise (to help people or communities)}

                    \chapter{Financial Accounting \& Management Accounting}

                    \part{The double–entry bookkeeping system}
                    \chapter{Recording accounts}
                    \section{T–Account method}
                    \section{Double–entry bookkeeping system}
                    \section{Ledger accounting book}
                    \section{Journal accounting book}

                    \addcontentsline{toc}{chapter}{Conclusion}
                    \chapter*{Conclusion}

                    \end{document}`

                    l’unica cosa su cui sono un po’ dubbioso è se esista un codice più elegante di
                    `\renewcommand{\thechapter}{\Roman{chapter}} % chapter number in Roman
                    \renewcommand{\thesection}{\arabic{chapter}.\arabic{section}} % section number all in arabic`

                    in ogni caso il risultato è questo

                    [attachment=2126]section_on_the_same_line_index.png[/attachment]

                    m

                    Attachments:
                    You must be logged in to view attached files.
                  • #114155
                    Up
                    0
                    Down
                    ::


                    Ottima osservazione di grave difetto di cui non mi ero proprio accorto: ho eliminato tale difetto ottenendo indice_ok_3.pdf con la sola sostituzione della suddetta
                    `{\vspace*{-0.7mm}} % Above code ` con `{\contentsmargin {0.0cm}\vspace*{-0.7mm}} % Above code`.

                    I numeri romani per i capitoli preferisco non metterli per evitare che compaiano anche nella numerazione delle equazioni: e.g. al posto di (3.5) avrei (III.5) quando però le istruzioni dell’editore indicano (3.5).

                  • #114156
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      mettendo i numeri romani ai capitoli, essi vengono ereditati anche dalle sezioni.
                      infatti ho modificato il codice perché II.3 è orribile.
                      ma di certo ci sarà un modo per personalizzare anche la numerazione
                      delle equazioni, che però non ho mai cercato essendo un umanista 🙂

                      m

                    • #114157
                      Up
                      0
                      Down
                      ::


                      Per i capitoli, almeno nell’indice, i numeri romani mi sembrano più eleganti. Però forse c’è un po’ di contraddizione tra numeri romani (per una stessa cosa come i capitoli) in alcune parti e arabici in altre. Comunque credo che queste scelte estetiche debbano essere del tutto liberamente soggettive.

                      Cordiali saluti e ringraziamenti.

                      gilo

                    • #114158
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        I numeri romani per i capitoli possono essere eleganti solo se i capitoli sono pochi, perché i numeri romani tendono ad essere molto lunghi.
                        Comunque quelli romani maiuscoli sono accettabili; quelli minuscoli (usati classicamente per la front matter) sono inaccettabili. Nel mondo anglosassone sono presenti anche in documento di secoli fa questi numeri minuscoli. Nel mondo latino non ho avuto modo di riscontrarne (anche se ovviamente, non ho avuto modo di controllare tutto quello che è stato stampato dal 1400 ad oggi :grin:). al posto del tondo minuscolo si può usare il maiuscoletto minuscolo, che li rende accettabili.
                        Ma per gli indici, sia quello generale, sia quelli analitici, i numeri romani sono una sofferenza. Nell’indice generale un numero di capitolo in cifre arabe come 28, diventa in numeri romani XXVIII, molto più lungo; per come sono stampate le varie informazioni nell’indice è necessario cambiare radicalmente le macro che governano queste composizioni per lasciare più spazio ai lunghi numeri romani; se questi si propagano anche nelle sezioni, sottosezioni, eccetera, l’indice diventa qualcosa di improponibile. Sarebbe meglio disgiungere questi sezionamenti sotto il capitolo dal numero del capitolo, ma si potrebbero presentare altri problemi. Evidentemente questa disgiunzione non si può fare per le equazioni, le figure, le tabelle e altri oggetti numerabili, a meno di non usare per i riferimenti incrociati il pacchetto varioref che permette di indicare oltre al nomero dell’oggetto anche l’informazione (variabile) della pagina di dove l’oggetto si trova.
                        In sostanza, di default le classi standard usano i numeri romani maiuscoli solo per le parti e questa mi sembra una scelta molto saggia. Purtroppo le classi standard usano la numerazione romana minuscola (in tondo) per le pagine della front matter; in questo caso bisogna provvedere in merito per rendere questa numerazione in maiuscoletto, oppure per abolirla del tutto, nel senso di usare una numerazione in cifre arabe che non ricomincia da 1 con la main matter.
                        Purtroppo gii umanisti amano queste composizioni in stile ottocentesco, ma non si rendono conto dei problemi che la composizione automatica presenta.

                        Ovviamente queste scelte rientrano nella sfera personale o dell’autore o della casa editrice.

                      • #114159
                        samiel
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          preciso che nel codice che ho postato i numeri di capitolo sono romani
                          solo perché ho cercato di riprodurre esattamente l’esempio postato…

                          m

                        • #114160
                          OldClaudio
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Samiel, non ho detto niente contro il tuo esempio. Ho solo espresso la mia opinione sull’uso dei numeri romani, cercando di spiegare perché sono personalmente contrario al loro uso. Come ho detto, si tratta di una scelta stilistica o personale o di questa o quella casa editrice. Ognuno è padrone di scegliere la numerazione che crede, ma deve essere conscio dei pregi e dei difetti. Avendo esaminato la cosa con ragione di causa, ognuno decide come preferisce.
                            Mi pare di avere percepito dai tuoi commenti nei post precedenti che anche tu sei abbastanza critico nei confronti della numerazione romana. Forse ho capito male?

                          • #114161
                            samiel
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Credo sia in parte questione di gusto. Condivido che i romani maiuscoli per i capitolo sono pesanti da vedere.
                              È vero anche che la numerazione romana è troppo lunga in caso di capitolo numerosi.
                              La vecchia Einaudi (quella dei tempi di Giulio) col noto bellissimo Simoncini Garamond
                              cmq adottava i romani maiuscoletti per i capitoli

                              [attachment=2127]example.png[/attachment]

                              Attachments:
                              You must be logged in to view attached files.
                            • #114162
                              OldClaudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Bellissimo,ma pensa se fossero elencate le sezioni e magari anche le sottosezioni…

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

                            Go to top