scambiare di posto numerazione e caption in section

  • Questo topic ha 4 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 22 anni fa da tomatoma.
  • Creatore
    Topic
  • #3806
    Up
    0
    Down
    ::


    Salve a tutti!
    Sto scrivendo un eserciziario. Ogni esercizio corrisponde ad una section.
    Per ora l’inizio di ogni esercizio (ottenuto con \section{Esercizio 4}) ha questa forma:

    “2.4 Esercizio 4” (col 2.4 generato automaticamente da Latex, mentre il 4 scritto da me)

    (ad esempio per il quarto esercizio del capitolo 2). A me tale numerazione non piace per niente.

    Sarebbe ottimo per me poter scambiare di posto “Esercizio” con “2.4”, per ottenere:

    “Esercizio 2.4” (col 2.4 generato automaticamente da Latex)

    in modo poi che tale voce compaia scritta allo stesso modo anche nell’indice e nell’header di ogni pagina.
    Io avevo pensato di modificare il comando section, in modo da non perdere i vantaggi della numerazione-indicizzazione-headerizzazione ❗ automatiche, ma non ho trovato da nessuna parte come poter fare tale modifica.
    Qualcuno ha forse un suggerimento?
    Grazie mille

    Ciao a tutti

    Matteo

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #3807
      Up
      0
      Down
      ::


      evita di usare numerazioni esplicite.

      a questa pagina http://texcatalogue.sarovar.org/bytopic.html#title trovi una lista di pacchetti che modificano il sezionamento.
      io ho provato titlesec, è versatile e potente e sicuramnete fa quelloc he vuoi.

      al limite puoi cmq costruirti una minimacro con \section* per spaziatura e carattere, le marche (guida fancyhdr) per le testatine e i contatori per la numerazione (qualunque guida di base, i.e. la not so short).

      ricordati di postare la soluzione
      ciao
      f

    • #3808
      Up
      0
      Down
      ::


      Grazie della prontissima risposta 😀
      Questo forum (e ovviamente le persone che vi fanno parte) è eccezionale!
      Ho dedicato una giornata intera alla risoluzione del mio problema mediante l’uso del pacchetto titlesec, ma con esito negativo. Non sono riuscito ad ottenere lo scambio desiderato. 🙁 (ammetto la mia scarsa conoscenza di Latex, ma secondo me titlesec non permette di farlo).
      Così mi sono arreso ed ho accettato di perdere la numerazione automatica degli esercizi.
      Ho definito un nuovo comando nel seguente modo:

      \newcommand{\esercizio}[1]{
      \section*{Esercizio {#1}}
      \addcontentsline{toc}{section}{- Esercizio {#1}}
      \markright{Esercizio {#1}}}

      il quale provvede a scrivere “Esercizio n” ogni volta che scrivo

      \esercizio{n} (dove n è un numero intero, ovviamente)

      Inoltre, compare “Esercizio n” anche nell’indice e nell’header di ogni pagina dispari (ho usato anche il pacchetto fancyhdr).
      Ammetto che la soluzione è poco elegante (non ho provato, ma credo che in questo modo non posso usare \ref per richiamare un esercizio). Anche se dà il risultato voluto, sono il primo a cui non piace tale soluzione, ma, purtroppo, non sono riuscito ad ottenere nulla di meglio.
      Se avete ulteriori suggerimenti, sono più che ben accetti.

      Grazie ancora

      Ciao

      Matteo

    • #3809
      Up
      0
      Down
      ::


      Una soluzione automatica esiste: devi definire un nuovo contatore (che in questo caso ho chiamato exernum). Utilizza il seguente codice nel preambolo:`\newcounter{exernum}[chapter]% Definisco nuovo contatore
      \renewcommand{\thesection}{\thechapter.\arabic{exernum}}% Ridefinisco \thesection
      % Faccio un solo comando che numera automaticamente…
      \newcommand{\nuovoesercizio}{%
      \stepcounter{exernum}%
      \section*{Esercizio \thesection}%
      \addcontentsline{toc}{section}{- Esercizio \thesection}%
      \markright{Esercizio \thesection}%
      }`
      e poi utilizzi il comando \nuovoesercizio quando vuoi cominciare una nuova sezione.

      Dovrebbe funzionare tutto, dalle testatine all’indice.

      Ciao, facci sapere.

    • #3810
      Up
      0
      Down
      ::


      Soluzione perfetta ❗
      Funziona tutto correttamente esattamente come desideravo. 😀 😀 😀 😀 😀 😀
      Ho usato il codice tale e quale a come me lo hai scritto tu, senza alcuna modifica.

      Grazie anche a te per la rapidità e la competenza.

      Buon lavoro a tutti.

      Ciao
      Matteo

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

Go to top