Misteri delle testatine su documenti twoside

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 21 anni, 10 mesi fa da ev.
  • Creatore
    Topic
  • #4109
    Up
    0
    Down
    ::


    Il seguente codice spiega e mostra il problema in cui mi sono imbattuto con la ridefinizione delle testatine per mezzo del comando \sectionmark{…}. Speravo di risolvere tutto con i comandi già visti qua ma a quanto pare il fatto di avere un documento con opzione twoside aggiunge problematiche nuove.

    Vi consiglio di compilare il codice in modo da vedere con i vostri occhi.

    `\documentclass{book}
    \usepackage[ansinew]{inputenc}
    \usepackage[italian]{babel}

    \begin{document}

    \chapter{Documento di prova}

    Io voglio ridefinire la testatina di ogni sezione con il comando
    \verb!\sectionmark{…}! ma, come mostrano gli esempi successivi:
    \begin{itemize}
    \item se la sezione inizia in una pagina dispari, la prima
    testatina prende il nome della sezione e non quello da me
    definito con \verb!\sectionmark{…}! (le successive pagine
    dispari della sezione, invece, hanno la testatina corretta);
    \item se la sezione inizia in una pagina pari, tutte le
    successive pagine dispari hanno la testatina corretta.
    \end{itemize}

    \newpage\null\newpage

    \section{Esempio con errore (titolo lungo)}
    \sectionmark{Esempio con errore (titolo testatine)}
    In questa pagina dovrebbe comparire nell'intestazione “Esempio con
    errore (titolo testatine)'' mentre, erroneamente compare il titolo
    lungo, ovvero “Esempio con errore (titolo lungo)''. Questo è dovuto
    al fatto che il titolo della sezione si trova nella prima pagina che
    riporta la testatina “Esempio con errore (titolo testatine)''.

    Questo esempio mostra che, \textbf{se il titolo della sezione si
    trova su una pagina dispari, tale pagina riporta la testatina
    errata}.

    Per avere la testatina “Esempio con errore (titolo testatine)'' si
    dovrebbe mettere il comando \verb!\sectionmark{…}! prima di
    \verb!\section{…}! ma questo, ovviamente, fa sì che la testatina
    abbia la numerazione della section precedente.

    \newpage\null\newpage

    In questa pagina compare la testatina corretta, ovvero “Esempio con
    errore (titolo testatine)''.

    \newpage

    \section{Esempio senza errore (titolo lungo)}
    \sectionmark{Titolo giusto (titolo testatine)}
    \null\newpage

    Questo esempio mostra che, \textbf{se il titolo della sezione si
    trova su una pagina pari, la successiva pagina dispari riporta la
    testatina corretta}.

    \newpage
    \end{document}
    `

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #4110
      Up
      0
      Down
      ::


      Ho trovato la soluzione. Per risolver eil problema si deve scrivere il seguente codice`\section[titolo indice]{Titolo esteso%
      \sectionmark{Titolo marche}}
      \sectionmark{Titolo marche}
      }`

      Io mi sono ridefinito il comando`\newcommand{\sezione}[3]{
      \section[#1]{#2%
      \sectionmark{#3}}
      \sectionmark{#3}
      }`
      che si utilizza così
      `\sezione{titolo indice}{Titolo esteso}{Titolo marche}
      `

    • #4111
      ev
      Partecipante
        Up
        0
        Down
        ::

        Il seguente codice spiega e mostra il problema in cui mi sono imbattuto con la ridefinizione delle testatine per mezzo del comando \sectionmark{…}.

        Il comportamento è dovuto al fatto che l’intestazione delle pagine dispari viene creata usando la prima occorrenza di \sectionmark, quindi nel tuo caso ha “precedenza” \section.

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top