\chaptermark unico per capitoli e appendici

  • Creatore
    Topic
  • #42626
    Up
    0
    Down
    ::


    Ciao a tutti,
    sto scrivendo un documento la cui struttura di base è illustrata di seguito:
    `\documentclass[…]{book}

    […]
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter.\ #1}{}}
    […]

    \begin{document}

    \frontmatter

    \maketitle

    \tableofcontents

    \mainmatter

    \include{primo_capitolo}

    […]

    \appendix
    \renewcommand{\chaptermark}[1]{\markboth{\appendixname\ \thechapter.\ #1}{}}
    \include{riflessioni}

    […]

    \end{document}`
    Come si nota, subito dopo la chiamata di \appendix mi tocca ridefinire \chaptermark in modo da avvisare fancyhdr.sty di stampare la stringa «Appendice» al posto di «Capitolo». Non mi occorre poi ritornare a mettere le cose a posto perché non ho altri capitoli «normali».

    Anziché ridefinire \chaptermark due volte, sarebbe più pratico scrivere una cosa di questo tipo, subito sotto \usepackage{fancyhdr}:
    `\renewcommand{\chaptermark}[1]{\markboth{%

    \ \thechapter.\ #1}{}}`
    È possibile fare quello che chiedo?

    P.S. dando un’occhiata a com’è definito \appendix in book.cls, forse si potrebbe toccare la macro \@chapapp.

    Grazie e a presto.

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

      Ciao a tutti,
      sto scrivendo un documento la cui struttura di base è illustrata di seguito:
      `\documentclass[…]{book}

      […]
      \usepackage{fancyhdr}
      \pagestyle{fancy}
      \renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter.\ #1}{}}
      […]

      \begin{document}

      \frontmatter

      \maketitle

      \tableofcontents

      \mainmatter

      \include{primo_capitolo}

      […]

      \appendix
      \renewcommand{\chaptermark}[1]{\markboth{\appendixname\ \thechapter.\ #1}{}}
      \include{riflessioni}

      […]

      \end{document}`
      Come si nota, subito dopo la chiamata di \appendix mi tocca ridefinire \chaptermark in modo da avvisare fancyhdr.sty di stampare la stringa «Appendice» al posto di «Capitolo». Non mi occorre poi ritornare a mettere le cose a posto perché non ho altri capitoli «normali».

      Anziché ridefinire \chaptermark due volte, sarebbe più pratico scrivere una cosa di questo tipo, subito sotto \usepackage{fancyhdr}:
      `\renewcommand{\chaptermark}[1]{\markboth{%

      \ \thechapter.\ #1}{}}`
      È possibile fare quello che chiedo?

      P.S. dando un’occhiata a com’è definito \appendix in book.cls, forse si potrebbe toccare la macro \@chapapp.

      `\usepackage{fancyhdr}
      \pagestyle{fancy}
      \makeatletter
      \renewcommand{\chaptermark}[1]{\markboth{\@chapapp\ \thechapter.\ #1}{}}
      \makeatother`
      Ciao
      Enrico

    • #42628
      Up
      0
      Down
      ::

      `\usepackage{fancyhdr}
      \pagestyle{fancy}
      \makeatletter
      \renewcommand{\chaptermark}[1]{\markboth{\@chapapp\ \thechapter.\ #1}{}}
      \makeatother`

      E già. Male che non me ne sia accorto da solo (bastava dare un’occhiata alla definizione di \@makechapterhead…).

      Molte grazie e alla prossima.

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

Go to top