pagine nell’indice

  • Creatore
    Topic
  • #30799
    Up
    0
    Down
    ::


    Ciao a tutti.
    Intanto complimenti per questo utilissimo forum, mi ha gia’ dato una mano molte volte, fornendo indicazioni, consigli e persino manuali.
    Fin’ora sono riuscita a risolvere adattando al mio caso risposte date ad altri utenti, ora pero’ non trovo niente di simile, nemmeno sui manuali (forse non so cosa cercare…)
    Il mio relatore vuole che nell’indice non compaiano i numeri delle pagine dei paragrafi.
    Mi spiego meglio: sto usando la classe article, il documento e’ sezionato mediante section e subsection che devono essere numerati. Ovviamente risultano tutti nell’indice con tanto di pagina. Ora io sto contrattando: non capisco la ragione di metterli nell’indice se non deve comparire la pagina, e invece lui li vuole.
    Siccome ho pochissimi giorni per consegnare in segreteria, volevo mettermi avanti: se non riesco a convincerlo, come posso fare per soddisfare la sua richiesta?
    Lui vuole nell’indice sia i “capitoli” (fatti mediante \section), con il numero di pagina, sia i paragrafi (\subsection) ma SENZA numero di pagina.
    E’ possibile?
    Grazie mille fin da subito

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #30800
      Up
      0
      Down
      ::

      Ciao a tutti.
      Intanto complimenti per questo utilissimo forum, mi ha gia’ dato una mano molte volte, fornendo indicazioni, consigli e persino manuali.
      Fin’ora sono riuscita a risolvere adattando al mio caso risposte date ad altri utenti, ora pero’ non trovo niente di simile, nemmeno sui manuali (forse non so cosa cercare…)
      Il mio relatore vuole che nell’indice non compaiano i numeri delle pagine dei paragrafi.
      Mi spiego meglio: sto usando la classe article, il documento e’ sezionato mediante section e subsection che devono essere numerati. Ovviamente risultano tutti nell’indice con tanto di pagina. Ora io sto contrattando: non capisco la ragione di metterli nell’indice se non deve comparire la pagina, e invece lui li vuole.
      Siccome ho pochissimi giorni per consegnare in segreteria, volevo mettermi avanti: se non riesco a convincerlo, come posso fare per soddisfare la sua richiesta?
      Lui vuole nell’indice sia i “capitoli” (fatti mediante \section), con il numero di pagina, sia i paragrafi (\subsection) ma SENZA numero di pagina.
      E’ possibile?
      Grazie mille fin da subito

      Una possibile magia è questa, da scrivere nel preambolo:
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`
      Ciao
      Enrico

    • #30801
      Up
      0
      Down
      ::


      per quanto mi riguarda… trattasi di magia pura 😯
      pero’ funziona 😆
      quindi intanto grazie mille. Poi, se hai tempo e voglia, puoi svelare l’arcano? mi incuriosisce parecchio (latex da’ proprio gusto), e poi… non si sa mai, se mi dicesse che vuole i puntini? 8)

      ciao,
      Francesca

    • #30802
      Up
      0
      Down
      ::

      per quanto mi riguarda… trattasi di magia pura 😯
      pero’ funziona 😆
      quindi intanto grazie mille. Poi, se hai tempo e voglia, puoi svelare l’arcano? mi incuriosisce parecchio (latex da’ proprio gusto), e poi… non si sa mai, se mi dicesse che vuole i puntini? 8)

      I puntini che guidano a che cosa? Se non c’è il numero di pagina, niente puntini; forse per le sezioni? Speriamo di no.

      L’idea è che ogni comando \subsection (senza asterisco) scrive una riga sul file .toc che serve per comporre l’indice. Se si scrive \subsection{Titolo} e si tratta della sottosezione 2.4 con inizio a pagina 10, sul file .toc verrà scritto
      `\contentsline{subsection}{\numberline{2.4}Titolo}{10}`
      Quando LaTeX legge il .toc, trasforma \contentsline{subsection} in \l@subsection; di solito \l@subsection ha una definizione diversa, invece noi la vogliamo secondo i desideri del perfido relatore. 🙂

      Dunque diciamo che \l@subsection ha due argomenti, il primo nel caso in esame sarà “{\numberline{2.4}Titolo}”, il secondo “{10}”. Quello che facciamo adesso è aprire un gruppo per non propagare la modifica che facciamo al parametro dimensionale \@tempdima, poi componiamo un capoverso senza rientro che sarà
      `\noindent\numberline{2.4}Titolo\par`
      e il secondo argomento viene dimenticato (non lo vogliamo, in effetti). Il comando \numberline mette il suo argomento in una box di ampiezza \@tempdima.

      Ecco fatto: facile, no? 8)

      Ciao
      Enrico

    • #30803
      Up
      0
      Down
      ::

      Ecco fatto: facile, no? 8)

      non proprio 😳

      L’idea è che ogni comando \subsection (senza asterisco) scrive una riga sul file .toc che serve per comporre l’indice. Se si scrive \subsection{Titolo} e si tratta della sottosezione 2.4 con inizio a pagina 10, sul file .toc verrà scritto
      `\contentsline{subsection}{\numberline{2.4}Titolo}{10}`
      Quando LaTeX legge il .toc, trasforma \contentsline{subsection} in \l@subsection; di solito \l@subsection ha una definizione diversa, invece noi la vogliamo secondo i desideri del perfido relatore. 🙂

      Dunque diciamo che \l@subsection ha due argomenti, il primo nel caso in esame sarà “{\numberline{2.4}Titolo}”, il secondo “{10}”. Quello che facciamo adesso è aprire un gruppo per non propagare la modifica che facciamo al parametro dimensionale \@tempdima, poi componiamo un capoverso senza rientro che sarà
      `\noindent\numberline{2.4}Titolo\par`
      e il secondo argomento viene dimenticato (non lo vogliamo, in effetti). Il comando \numberline mette il suo argomento in una box di ampiezza \@tempdima.

      allora ho provato (avendo dovuto inserire selle subsubsection 😕 ) a fare cosi’:
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \def\l@subsubsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`
      risultato: tutto senza rientri (e non mi piace, vorrei mantenere la struttura grafica originale, in effetti non capisco perche’ il \noindent) e la numerazione delle varie sottosezioni completamente appiccicata ai titoli.
      Ovviamente non ho colto proprio bene la spegazione 😥
      Che faccio?

    • #30804
      Up
      0
      Down
      ::


      Ho provato anche questo (per vedere):
      `\makeatletter
      \def\l@subsubsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`
      risultato:
      sections e subsubsections senza puntini,
      sections con il numero di pagina
      subsubsections senza numero di pagina
      subsections con puntini 😯 oltre al numero di pagina
      e subsubsections con numero e titolo appiccicati 👿

      Sono un po’ confusa 🙁

      PS: si possono togliere nell’indice (e solo nell’indice) i numeri delle subsubsections e/o delle subsections a piacimento?

    • #30805
      Up
      0
      Down
      ::

      allora ho provato (avendo dovuto inserire selle subsubsection 😕 ) a fare cosi’:
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \def\l@subsubsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`
      risultato: tutto senza rientri (e non mi piace, vorrei mantenere la struttura grafica originale, in effetti non capisco perche’ il \noindent) e la numerazione delle varie sottosezioni completamente appiccicata ai titoli.
      Ovviamente non ho colto proprio bene la spegazione 😥
      Che faccio?

      Se non spieghi ciò che vuoi, è difficile poterlo fare, che dici?
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent\hspace{1em}#1\par
      \endgroup
      \fi}
      \def\l@subsubsection#1#2{%
      \ifnum\c@tocdepth>\tw@
      \begingroup\advance\@tempdima 1em
      \noindent\hspace{3.5em}#1\par
      \endgroup
      \fi}
      \makeatother`
      Che significa “togliere i numeri a piacimento”? O li vuoi o non li vuoi.

      Se non li vuoi, diciamo per le sezioni di terzo livello (\subsubsection), sostituisci nel codice relativo a quelle la parte “\advance\@tempdima 1em” con la magia “\let\numberline\@gobble” (senza virgolette, mi raccomando).

      Il rientro iniziale è dato da \hspace{…}, che puoi modificare come ti pare.

      Ciao
      Enrico

    • #30806
      Up
      0
      Down
      ::


      grazie davvero, risultato eccellente.

    • #30807
      Up
      0
      Down
      ::

      Una possibile magia è questa, da scrivere nel preambolo:
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`
      Ciao
      Enrico

      ciao

      volevo chiederti se gentilmente puoi inserire anche il codice per le subsubsection.
      Ho provato a replicare il tuo codice sostituendo subsection con subsubsection, ma non rispetta l’impaginazione per questo mi tocca disturbarvi…
      ciao
      Alberto

    • #30808
      Up
      0
      Down
      ::

      Una possibile magia è questa, da scrivere nel preambolo:
      `\makeatletter
      \def\l@subsection#1#2{%
      \ifnum\c@tocdepth>\@ne
      \begingroup\advance\@tempdima .5em
      \noindent#1\par
      \endgroup
      \fi}
      \makeatother`

      ciao

      volevo chiederti se gentilmente puoi inserire anche il codice per le subsubsection.
      Ho provato a replicare il tuo codice sostituendo subsection con subsubsection, ma non rispetta l’impaginazione per questo mi tocca disturbarvi…

      C’è un paio di messaggi prima.

      Ciao
      Enrico

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

Go to top