modifica titolo capitoli

  • Creatore
    Topic
  • #64312
    Up
    0
    Down
    ::


    Salve.
    Sono un pò di giorni che sto sfogliando manuali pagine di internet ma non sono ancora riuscito a trovare una soluzione ad un nuovo problema e dunque torno a disturbarvi.
    Semplicemente sono riuscito a rimuovere la parola Capitolo dall’intestazione di ogni capitolo, lasciando che esso comunque rimanga nell’indice. Ciò che però non sono ancora riuscito a fare è lasciare prima del nome del capitolo e di conseguenza anche nell’indice, il numero del capitolo seguito da un punto.
    Dunque invece di avere il classico:

    Capitolo 1
    Titolo capitolo…

    Sto cercando di ottenere:

    1. Titolo capitolo…

    Facendo si che la medesima numerazione si mantenga anche nell’indice.

    Grazie ancora per la vostra disponibilità

    Marco

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #64313
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        La scelta tipografica è la tua, quindi non la discuto, anche se non la condivido (non condivido il numero in linea con il titolo).

        Se non vuoi la parola Capitolo nell’intestazione del capitolo non devi fare nulla di particolare, tipo impostare il contatore secnumdepth, o simili. Se usi la classe book, nella front matter i capitoli non sono numerati e non hanno nemmeno la parola Capitolo. Non vanno nemmeno nell’indice, e se li vuoi nell’indice devi aggiungere una riga apposta che glielo faccia fare.

        Ma non è questo il tuo problema; tu vuoi che nella intestazione dei capitoli numerati compaia il numero senza la parola Capitolo, ma vuoi che il numero preceda il titolo del capitolo sulla stessa riga.

        Togliere la parola Capitolo si fa semplicemente scrivendo questo piccolo codice Indicato da Leslie Lamport (il papà di LaTeX) nel suo manuale:
        `
        \makeatletter
        \renewcommand\@chpapp{}
        \makeatother
        `
        prima del primo capitolo; questo capitolo e tutti i capitoli successivi saranno senza la parola Capitolo; se poi dai il comando \appendix, le appendici, invece, oltre ad essere numerate con lettere maiuscole conterranno la parola Appendice; per simmetria devi eliminare anche quella parola quindi dopo il comando \appendix devi ripetere quella ridefinizione di \@chapapp.

        Questo ti produrrà una intestazione del tipo:

        1
        Titolo capitolo

        Se vuoi invece avere anche il numero, seguito da un punto, in linea con il titolo devi fare una di queste due cose:

        1) usare il pacchetto tocloft leggendo accuratamente la documentazione, perché questo pacchetto può fare di tutto molto bene, ma anche molto male, se non lo usi bene;
        2) devi ridefinire il comando \@makechapterhead in modo che ti stampi le cose come le vuoi tu.

        La seconda via non è particolarmente difficile, ma devi avere il coraggio di mettere le mani dentro le “interiora” di LaTeX e/o delle sue classi.

      • #64314
        Up
        0
        Down
        ::


        In realtà la scelta tipografica mi è imposta dalle direttive della mia facoltà. Se così non fosse, ti posso garantire che sarebbe ben diversa.
        Finora per togliere la parola capitolo ho semplicemente messo l’asterisco all’introduzione di ogni capitolo:

        \chapter*{TITOLO}

        e per mantenere il titolo nell’indice e la successiva numerazione ho introdotto:

        \addcontentsline{toc}{chapter}{TITOLO}
        \stepcounter{chapter}

        Il pacchetto tocloft lo sto già utilizzando per modificare l’indice. Al momento non sono riuscito a sfruttarlo al meglio ma ci sto lavorando. Non sono ancora in grado però di aggiungere il numero seguito dal punto prima del titolo di ogni capitolo e di conseguenza anche nell’indice.
        Dunque l’unica soluzione sarebbe di tuffarmi tra le interiora di LaTeX e/o delle sue classi?

      • #64315
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Non so che classe usi; con la classe book hai questi effetti:

          Nell’indice il titolo del capitolo numerato è preceduto dal numero; non è già quello che volevi? Nota che il numero è separato da una distanza fissa dal titolo del capitolo, cosicché i titoli dei capitoli restano incolonnati sullo stesso margine anche quando il numero del capitolo fosse di due cifre.
          Non sarebbe in problema modificare la definizione di \l@chapter e/o di \numberline per far comparire il punto dopo il numero.

          Per avere il numero col punto che precede il titolo non è particolarmente difficile copiare della classe la definizione di \@makecpterhead, aggiungere il punto nel posto giusto e togliere l’ “a capo” (\\) dopo la scrittura del numero.

          Provaci e vedrai che non ci vuole così tanto coraggio; l’importante è che tu non modifichi la classe, ma che ti copi e incolli i comando da modificare nel tuo preambolo o nel tuo file di macro personali, e su queste macro puoi farci quello che vuoi; se lasci la definizione con \def non devi preoccuparti di nulla; se c’è \newcommand lo devi cambiare in \renewcommand; ricordati che nel file .sty di macro personali non devi fare nessuna cosa particolare, ma nel preambolo devi rendere il codice di categoria del segno @ uguale a quello delle lettere,, cosa che ottieni con il comando \makeatletter.

        • #64316
          Up
          0
          Down
          ::


          Sto effettivamente già utilizzando la classe book ed infatti nell’indice il capitolo risultava essere preceduto dal numero, fintanto che non andavo a modificarlo per togliere la parola “capitolo” nel titolo di ogni capitolo.

          Ad ogni modo ho capito le tue indicazioni per ottenere le varie modifiche volute. Ora mi ci metto e spero di avere successo.

          Grazie ancora.

          Marco

        • #64317
          Up
          0
          Down
          ::


          Mi spiace disturbarvi nuovamente per una sciocchezza, ma sono quasi riuscito a sistemare tutto seguendo i vostri consigli.
          Sono riuscito a modificare l’intestazione dei capitoli modificando la parte relativa nella classe book. Ciò che ancora non sono riuscito a modificare in modo corretto è la parte inerente alla costruzione dell’indice, relativamente alla definizione di \l@chapter e/o di \numberline per far comparire il punto dopo il numero del capitolo.
          Non è che sareste così gentili da dirmi cosa concretamente modificare o aggiungere a questa parte della classe book per ottenere tale risultato? E tanto che ci siamo, se volessi ottenere lo stesso punto per la subsection e il paragraph?

          Grazie ancora

          Marco

        • #64318
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Il comando che scrive nell’indice è \numberline che viene poi usato dagli altri comandi per la costruzione del contenuto dell’indice, compreso \l@chapter, \l@section, eccetera.

            Allora la definizione originalle in latex.ltx, il file che contiene il sorgente del formato, è:
            `
            \def\numberline#1{\hb@xt@\@tempdima{#1\hfil}}
            `

            Questo significa che nella riga dell’indice, il numero del capitolo o della sezione (il parametro #1} viene scritto appoggiato a sinastra dentro una scatola di larghezza \@tempdima; in sostanza la definizione di \numberline equivale alla specificazione in buon linguaggio LaTeX:
            `
            \makebox[\@tempdima][l]{#1}
            `
            ma scritto in quel modo con comandi quasi primitivi il motore di composizione è più veloce nello sviluppare le macro coinvolte.

            Ora prendi due piccioni con una fava se dopo #1 inserisci un punto:
            `
            \def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}
            `
            Se vuoi puoi usare \renewcommand, ma in questo caso non è necessario, perché il comando che vuoi ridefinire essite, è nel cuore di LaTeX, e non c’è bisogno di eseguire controlli sull’esistenza del comando da ridefinire.

            Ricordati di mettere questa ridefinizione dentro un file .sty personale o dopo un \makeatletter; come vedi i segni @ abbondano.

          • #64319
            Up
            0
            Down
            ::


            Ottimo!
            Grazie mille.
            Immaginavo che la risposta fosse nella riga della numberline, ma cercando in rete per la classe book che sto usando, avevo trovato una definizione diversa, ovvero:

            \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
            \if@mainmatter
            \refstepcounter{chapter}%
            \typeout{\@chapapp\space\thechapter.}%
            \addcontentsline{toc}{chapter}%
            {\protect\numberline{\thechapter}#1}%
            \else
            \addcontentsline{toc}{chapter}{#1}%
            \fi
            \else
            \addcontentsline{toc}{chapter}{#1}%
            \fi
            \chaptermark{#1}%
            \addtocontents{lof}{\protect\addvspace{10\p@}}%
            \addtocontents{lot}{\protect\addvspace{10\p@}}%
            \if@twocolumn
            \@topnewpage[\@makechapterhead{#2}]%
            \else
            \@makechapterhead{#2}%
            \@afterheading
            \fi}

            Questa era l’unica parte dove avevo “numberline”, ma ovviamente cercando di aggiungere un punto, non ottenevo assolutamente nulla di buono.
            Vi chiedo un’ultimo suggerimento.
            Con la modifica che mi avete suggerito, riesco ad ottenere questo punto alla destra del numero dei capitoli, sezioni, sottosezioni e così via. Qualora volessi (per richieste esterne ovviamente e non certo per mie scelte personali) che tale punto fosse presente solo per i capitoli e subsection e non invece nelle section e subsubsection?
            Mi rendo conto che si tratti di una richiesta abbastanza strana, considerando che sia assurdo che si possa perdere del tempo a controllare la presenza di alcuni punti piuttosto che soffermarsi sul contenuto di una tesi. Pertanto mi spiace dovervi disturbare per simili domande.
            Grazie ancora moltissimo del vostro prezioso supporto.

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

        Go to top