Problemi con fancyhdr

  • Creatore
    Topic
  • #118951
    Up
    0
    Down
    ::


    Salve a tutti, utilizzo LaTeX da poco tempo e ho un problema con il pacchetto fancyhdr. Ho letto una guida e ho cercato argomenti trattati nel forum ma non sono riuscito a risolvere. Vorrei impostare i numeri delle pagine pari in alto a sinistra e quelli delle pagine dispari in alto a destra, inoltre nella testatina vorrei inserire nelle pagine pari (lato destro) il nome e numero del capitolo e nelle pagine dispari (lato sinistro) numero e nome del paragrafo. Sto usando un file predefinito e sto cercando di modificarlo in più riprese. Utilizzo XeLaTeX su overleaf.
    `\RequirePackage{fancyhdr}
    \setlength{\headheight}{15pt}
    \pagestyle{fancy}

    \renewcommand{\chaptermark}[1]{ \markboth{\chaptername \ \thechapter.\ #1}{}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}}

    \newcommand{\frontmatter}{
    \ifbool{@nopgskip}
    {\clearpage}
    {\cleardoublepage}
    \clearpage
    \pagenumbering{roman}
    \fancyhead[L,R]{}
    \ifbool{@dft}{\fancyhead[C]{\textbf{DRAFT}}}{\fancyhead[C]{}}
    \fancyfoot[C]{\thepage}
    \fancyfoot[L,R]{}
    %\renewcommand\headrulewidth{0.4pt}}

    \newcommand{\mainmatter}{
    \ifbool{@nopgskip}
    {\clearpage}
    {\cleardoublepage}
    \pagenumbering{arabic}
    \fancyhead[LE,RO]{\thepage}
    \fancyhead[RE]{\sc \leftmark}
    \fancyhead[LO]{\sc \rightmark}
    \ifbool{@dft}{\fancyfoot[C]{\textbf{DRAFT}}}{\fancyfoot[C]{}}
    %\renewcommand\headrulewidth{0.4pt}}

    \newcommand{\biblio}{
    \fancyhead[C]{\bibname}}

    \newcommand{\backmatter}{
    \ifbool{@nopgskip}
    {\clearpage}
    {\cleardoublepage}
    \addappheadtotoc
    \renewcommand{\chaptername}{\appendixname}
    }

    \apptocmd{\appendix}{\backmatter}{}{}`
    Con queste istruzioni ottengo numero della pagina in basso al centro e in alto in ogni pagina sia capitolo che paragrafo. Queste stesse istruzioni in un file precedente simile se non identico a quello su cui lavoro ora non mi davano problemi e mi restituivano ciò che desideravo. Inoltre se scommento \headrulewidth non viene prodotta nessuna testatina. Ringrazio in anticipo chi spenderà una piccola parte del suo tempo per aiutarmi. Grazie

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #118952
      samiel
      Partecipante
        Up
        0
        Down
        ::


        il codice mi pare talmente confuso e ridondante che non ho nemmeno provato a guardarlo.
        Una cosa del genere:
        `\usepackage{emptypage}
        \usepackage{fancyhdr}
        \pagestyle{fancy}
        \fancyhf{}
        \setlength{\headheight}{14.49998pt}
        \renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
        \renewcommand{\sectionmark}[1]{\markright{#1}}
        \renewcommand{\headrulewidth}{0pt}
        \fancyhead[LO]{\scshape\MakeLowercase{\rightmark}}
        \fancyhead[RE]{\scshape\MakeLowercase{\leftmark}}
        \fancyhead[LE,RO]{\thepage}`
        non funziona? poi modifichi quello che non ti va bene,
        chesso… il maiuscoletto se non lo vuoi

        m

      • #118953
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::



          @nicola
          .manconi: stai attento: le pagine pari sono a sinistra e quelle dispari a destra.
          Certamente il tuo codice è molto confuso; e @samile ti ha risolto il problema, limitandosi, giustamante, al problema che hai inserito nel titolo; In futuro invia solo EMC (Esempi Minimi Compilabili); esempi, cioè, che contengano il minimo di codice per replicare il problema.

        • #118954
          Up
          0
          Down
          ::


          Grazie per i consigli, volevo evitare che mancassero parti importanti di codice e ho pensato di allegarne buona parte.

        • #118955
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Capisco perfettamente, ed è per questo che ti ho consigliato di produrre un esempio minimo compilabile; di più: ti suggerisco di scaricarti dalla sezione documentazione la guida tematica sulla produzione di esempi minimi compilabili.
            Tu hai allegato tanto, ma non sufficiente da un lato, ed eccessivo dall’altro.
            Risassumento in due parole la definizione di Esempio Minimo Compilabile: esso comincia con [tt]\documentclass[/tt] e finisce con [tt]\end{document}[/tt]; il preambolo (ciò che sta da [tt]\documentclass[/tt] a [tt]\begin{document}[/tt] deve contenere il minimo indispensabile di pacchetti e di impostazioni/definizioni; e il documento vero e proprio (ciò che sta fra [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] deve essere il minimo necessario a seocnda del problema sul quale si desidera ricevere aiuto.
            Non sono imposizioni precisissime, perché alla parola minimo si possono associare diversi significati; tutavia da un lato devi proteggere i tuo scritto, quindi come testo riempitivo fasullo puoi usare il pacchetto lipsum o kantlipsum (leggine la documentazione per sapere come usarli); dall’altro in nomi delle persone, delle università delle aziende per le quali si lavora, e simili, sono dati sensibili e normalmente vengono sostituiti con i nomi di personaggi degli album a fumetti: direi che Paolino Paperino è uno degli autori più “prolifici”; l’università di Bengodi è molto frequentata; il corso di laurea in Pennutologia è uno dei più seguiti; 🙂 Puoi sbizzarriti a tuo piacimento.

            Ma un consiglio; per tua ammissione usi LaTeX da poco tempo; quindi sei un neofita. Lo siamo stati tutti, quindi abbiamo la confidenza necessaria per poter dialogare con i nuovi neofiti, anche se abbiamo alle spalle più di 30 anni di uso di LaTeX, perché ci ricordiamo delle difficoltà che anche noi abbiamo avuto all’inizio. L’esperienza ci ha insegnato che conviene: (a) studiarsi un po’ di documentazione; (b) scegliere una classe, per esempio book, e scrivere il nostro documento senza ricorrere ad altri pacchetti; (c) via via che procediamo possiamo aggiungere pacchetti solo se sappiamo a che cosa servono e a questo scopo dobbiamo leggerne la documentazione, non in rete, ma direttamente nel nostro disco fisso: cosa semplicissima, perché basta aprire una finestra comandi, scriverci dentro il comando texdoc seguito dal nome del pacchetto; premere il tasto Invio; infine leggere; (d) non carichiamo mai un pacchetto “perché potrebbe servire”; o serve, oppure non lo si carica; (e) accediamo al queto forum con la massima libertà per cercare aiuto nel capire certe cose che non riusciamo a schiarirci da soli — guarda che capita anche a me che ho molta esperienza; ho lacosa sotto il naso, la leggo e la rileggo, ma mi sfugge il significato, che pure, una volta spiegatomi da qualcuno che non abbia gli occhi bendati, mi cosrige a darmi dal solo degli epiteti non ripetibili. 🙁

          • #118956
            samiel
            Partecipante
              Up
              0
              Down
              ::


              certo, ma se usi la classe book come si deduce da \frontmatter ecc
              non hai bisogno di impostare per \frontmatter la numerazione delle pagine in roman,
              poiché quella classe lo fa da sola. Io alle lettere minuscole (che non ho visto credo mai
              adottate nell’editoria italiana) preferisco il maiuscoletto.
              Allo stesso modo la numerazione procede in arabic in \mainmatter
              e non hai bisogno di precisarlo. Per questo il tuo codice è ridondante.
              In ogni caso hai allegato «buona parte del codice»,
              ma non hai prodotto un EMC o MWE che dir si voglia
              m

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

          Go to top