Problema testatina, backmatter

  • Creatore
    Topic
  • #41836
    Up
    0
    Down
    ::


    Buongiorno!
    Ho un problema con l’header di una sezione, relativa agli acronimi, inserita nel backmatter. Compare il numero del capitolo precedente, nella testatina. Per quale motivo? Segue un testcase.

    `
    % Definizione di classe
    \documentclass[a4paper,12pt,oneside]{book}

    % Pacchetti aggiuntivi
    \usepackage[english,italian]{babel}

    \usepackage[utf8x]{inputenc}

    \usepackage[T1]{fontenc}

    \usepackage{mathptmx}

    \usepackage{amsmath, amsfonts, amssymb}

    \usepackage{microtype}

    \usepackage{fancyhdr}
    \pagestyle{fancy}
    \lhead{}
    \chead{}
    \rhead{\nouppercase{\bfseries \leftmark}}
    \lfoot{}
    \cfoot{\thepage}
    \rfoot{}
    \renewcommand{\chaptermark}[1]{\markboth{\bfseries \thechapter.\ #1}{}}
    \setlength{\headheight}{14pt}

    \usepackage{acronym}

    % Corpo del documento

    \begin{document}
    \frontmatter
    \chapter*{Ringraziamenti}
    \tableofcontents
    \chapter{Introduzione}
    \mainmatter
    \chapter{capitolo1}
    \chapter{capitolo2}
    \backmatter
    \chapter{Acronimi}
    \begin{acronym}[DARPANET]
    \small

    \acro{ACL}{Access Control List}

    \acro{API}{Application Programming Interface}

    \acro{APOP}{Authenticated Post Office Protocol}

    \acro{ARP}{Address Resolution Protocol}

    \acro{ARPANET}{Advanced Research Projects Agency NETwork}

    \acro{AS}{Autonomous System}

    \acro{ASCII}{American Standard Code for Information Interchange}

    \acro{BGP}{Border Gateway Protocol}

    \acro{CC}{Common Criteria}

    \acro{CERT}{Computer Emergency Response Team}

    \acro{CLI}{Command Line Interface}

    \acro{DARPA}{Defense Advanced Research Projects Agency}

    \acro{DARPANET}{Defense Advanced Research Projects Agency NETwork}

    \acro{DDoS}{Distributed Denial-of-Service}

    \acro{DF}{Don’t Fragment}

    \acro{DMZ}{DeMilitarized Zone}

    \acro{DNS}{Domain Name System}

    \acro{DoS}{Denial-of-Service}

    \acro{EGP}{Exterior Gateway Protocol}

    \acro{SMTP}{Simple Mail Transfer Protocol}

    \acro{SoF}{Strength of Functionality}

    \acro{SOHO}{Small Office Home Office}

    \acro{ST}{Security Target}

    \acro{TCP}{Trasmission Control Protocol}

    \acro{TCP/IP}{Trasmission Control Protocol/Internet Protocol}

    \acro{TCP/UDP}{Trasmission Control Protocol/Used Datagram Protocol}

    \acro{TCSEC}{Trusted Computer System Evaluation Criteria}

    \acro{TELNET}{TELecommunication NETwork}

    \acro{TLD}{Top Level Domain}
    \end{acronym}
    \end{document}
    `

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #41837
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Ho un problema con l’header di una sezione, relativa agli acronimi, inserita nel backmatter. Compare il numero del capitolo precedente, nella testatina.

        Prova a cercare
        `\markboth`
        nell’Arte (quassù).

        Ciao,
        L.

      • #41838
        Up
        0
        Down
        ::

        Buongiorno!
        Ho un problema con l’header di una sezione, relativa agli acronimi, inserita nel backmatter. Compare il numero del capitolo precedente, nella testatina. Per quale motivo? Segue un testcase.
        `% …`

        Prova con questo, al posto di quello che sta tra \usepackage{fancyhdr} e \setlength{\headheight{14pt}:
        `\usepackage{fancyhdr}
        \pagestyle{fancy}
        \fancyhf{}
        \fancyhead[R]{\bfseries\nouppercase{\leftmark}}
        \fancyfoot[C]{\thepage}
        \makeatletter
        \renewcommand{\chaptermark}[1]{%
        \markboth{\if@mainmatter\thechapter.\ \fi #1}{}}
        \makeatother
        \setlength{\headheight}{14pt}`
        Ciao
        Enrico

      • #41839
        Up
        0
        Down
        ::


        Grazie per la risposta, ad entrambi.

        Un’ulteriore domanda. Nel codice
        `
        \usepackage{fancyhdr}
        \pagestyle{fancy}
        \fancyhf{}
        \fancyhead[R]{\bfseries\nouppercase{\leftmark}}
        \fancyfoot[C]{\thepage}
        \makeatletter
        \renewcommand{\chaptermark}[1]{%
        \markboth{\if@mainmatter\thechapter.\ \fi #1}{}}
        \makeatletter
        \setlength{\headheight}{14pt}
        `
        non si dovrebbe sostituire il secondo \makeatletter con \makeatother, per invertire il catcode di ‘@’ da 11 a 12?

      • #41840
        Up
        0
        Down
        ::

        Grazie per la risposta, ad entrambi.

        Un’ulteriore domanda. Nel codice
        `
        \usepackage{fancyhdr}
        \pagestyle{fancy}
        \fancyhf{}
        \fancyhead[R]{\bfseries\nouppercase{\leftmark}}
        \fancyfoot[C]{\thepage}
        \makeatletter
        \renewcommand{\chaptermark}[1]{%
        \markboth{\if@mainmatter\thechapter.\ \fi #1}{}}
        \makeatletter
        \setlength{\headheight}{14pt}
        `
        non si dovrebbe sostituire il secondo \makeatletter con \makeatother, per invertire il catcode di ‘@’ da 11 a 12?

        Era per vedere se stavi attento. 🙂

        Correggo.

        Ciao
        Enrico

      • #41841
        Up
        0
        Down
        ::


        Ciao a tutti posto in questa sezione anche se l’argomento è stato discusso in molti altri post.
        Volevo chiedere un piccolo chiarimento sul pacchetto fancy e sulle modifiche che si possono apportare alle testatine.
        Premetto che ho consultato molte guide del forum e sono alle prime armi con latex.
        Sto ultimando delle modifiche alla mia tesi (uso MiKTeX e TeXnicCenter, e classe book che di norma si usa per le tesi) e come tanti ho modificato le testatine a mio piacimento.
        Ho capito che a seconda di dove si includono i capitoli, la prefazione, gli appendici ecc… (quindi se nel \frontmatter – \mainmatter – \backmatter) il titolo della testatina cambia.
        Faccio un esempio usando il mio preambolo.

        Per ottenere testatine in corpo più piccolo e in corsivo ho usato dei metodi un pò spartani, ma penso corretti:

        `
        \documentclass[12pt, a4paper, twoside, openright]{book}
        \usepackage e tutta una lunga serie di pacchetti che non riporto
        %——————————————————————————————-
        \pagestyle{fancy}
        % i comandi seguenti impediscono la scrittura in maiuscolo
        % dei nomi dei capitoli e dei paragrafi nelle intestazioni
        \renewcommand{\chaptermark}[1]
        {\markboth{\chaptername\ \thechapter.\ #1}{}}
        \renewcommand{\sectionmark}[1]
        {\markright{\thesection.\ #1}{}}
        \fancyhf{} % rimuove l'attuale contenuto dell'intestazione e del piè di pagina
        \fancyhead[LE,RO]{\small\thepage}
        \fancyhead[LO]{\small\itshape\rightmark}
        \fancyhead[RE]{\small\itshape\leftmark}
        \renewcommand{\headrulewidth}{0.4pt}
        %\renewcommand{\footrulewidth}{0.5pt} // linea in basso
        \addtolength{\headheight}{2.4pt} % riserva spazio per la linea
        %——————————————————————————————–
        \begin{document}
        \setcounter{secnumdepth}{3} % per numerare le \subsubsection
        \setcounter{tocdepth}{3} % per farle apparire nell'indice

        \frontmatter
        %\include{fronte}
        %\include{dedica}
        %\include{ringraz}

        \pagenumbering{Roman}
        \pdfbookmark[1]{Indice}{Indice}
        \tableofcontents
        \fancyhead[LE,RO]{\small\thepage}
        \markboth{{Indice}}{{Indice}}
        \include{acronimi}
        \include{prefaz}

        \mainmatter
        \pagenumbering{arabic}
        \include{cap1}
        \include{cap2}
        \include{cap3}
        \include{cap4}

        \backmatter
        \include{conc}

        \cleardoublepage
        \phantomsection %per linkare correttamente la bibliografia
        \addcontentsline{toc}{chapter}{Bibliografia}
        \fancyhead[LE,RO]{\small\thepage}
        \fancyhead[RE,LO]{\small\itshape{Bibliografia}}

        \end{document}
        `

        Dove il fancy non faceva quello che volevo, nei vari file.tex ho aggiunto il \markboth per modificare la testatina, es:
        `
        \chapter{Prefazione}
        \markboth{Prefazione}{Prefazione}
        `

        Per l’indice ho fatto lo stesso inserendo il \markboth direttamente nel preambolo, per la bibliografia ho fatto quanto riportato nel codice sopra.

        Dopo aver letto le guide e guardato un pò di post qui sul forum mi sono chiesta se nel
        `\renewcommand{\chaptermark….`
        avessi usato questo comando (che però non conosco perché come dicevo sono ancora inesperta con latex):
        `\markboth{\if@mainmatter\thechapter.\ \fi #1}{}}`
        avrei potuto evitare di rinominare con il \marboth le testatine dei file.tex che poi sono andata ad includere ? (nel mio caso l’ho fatto per la prefazione, gli acronimi e le conclusioni)

        Faccio questa ingenua domanda perché voglio capire il codice che scrivo e non solo copiarlo!
        Un’altra cosa: per quanto riguarda gli acronimi. Quando guardo il pdf, precisamente l’indice, mi sembra che il corpo del testo della scritta acronimi, che nel mio caso precede la prefazione, sia leggermente più piccolo di quello della prefazione. E’ un’effetto ottico o è veramente un pò più piccolo? da cosa dipende?
        Nel file acronimi.tex il codice è il seguente:
        `
        \chapter{Acronimi}
        \markboth{Acronimi}{Acronimi}
        \pagenumbering{roman}
        %——————————————————-
        \makeatletter
        \def\bflabel#1{{#1}\hfill}
        \renewenvironment{AC@deflist}[1]%
        {\ifAC@nolist%
        \else%
        \begin{list}{}%
        {\settowidth{\labelwidth}{#1}%
        \setlength{\leftmargin}{\labelwidth}%
        \addtolength{\leftmargin}{\labelsep}%
        \renewcommand{\makelabel}{\bflabel}}%
        \fi}%
        {\ifAC@nolist%
        \else%
        \end{list}%
        \fi}%
        \makeatother
        %——————————————————–
        \begin{acronym}[AAAAAAA]
        `
        (l’ho creato seguendo la guida degli acronimi). Ed ecco qui rispuntare quel \if e \fi vari che non capisco.
        In definitiva, mi pare di capire che tutto dipenda da \makeatletter e \makeatother. Nelle guide non ho trovato molto su questi comandi quindi prima di buttarmi in altre guide in inglese chiedevo aiuto e spiegazioni qui sul forum.

        Grazie in anticipo a chiunque avrà voglia di perdere del tempo per darmi una risposta!
        MaryJo
        [/code]

      • #41842
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          MaryJo, per \makeatletter e \makeatother c’è poco da scrivere; ricorda:

          1) In LaTeX “normale” (accessibile ad un normale utente) una macro ha il nome composto da \ seguito da una stringa di sole lettere,oppure da \ seguito da un unico segno non leterale (una cifra, un segno di inpterpunzione, eccetera).

          2) @ non è una lettera;

          3) giusto o sbagliato che sia, fin dai primordi di plain TeX (antecedente a LaTeX) tutti i comandi del “kernel” (il nucleo del linguaggio) da non rendere accessibili agli utenti sono stati scritti attribuendo al segno @ il codice di lettera; è una forma di protezione per evitare che inavvertitamente e inconsapevolmente un utente possa ridefinre un comando del kernel.

          4) Leslie lamport, il creatore di LaTeX, nel suo stesso manuale scrive che per ridefinire certi comandi interni protetti mediante la presenza di @ nel loro nome bisogna racchiudere la ridefinizione fra \makeatletter e \makeatother; il primo dichiara che @ (in inglese si chiama “at sign”) diventi una lettera e il secondo riassegna a questa lettere il codice di “altro segno”.

          Infine per quanto riguarda \if e \fi: \if inizia una frase condizionale come in qualunque linguaggio di programmazione (a parte lo slash che è specifico dei comandi e delle macro del linguaggio di programmazione interpretabile dal motore di composizione del sistema TeX) e \fi, che è scritto all’opposto di \fi ha il significato opposto, cioè chiude la frase condizionale.

          In alcuni altri linguaggi di programmazione case inizia una frase di scelta fra diversi casi e esac finisce la frase; questa è veramente per i patiti di programmazione 😯

        • #41843
          Up
          0
          Down
          ::


          Salve a tutti,
          riesumo questo post poiché ho un problema simile. Si tratta delle sezioni introduzione e conclusioni inserite nel mainmatter. Se uso:
          `
          \chapter*{Introduzione}
          \addcontentsline{toc}{chapter}{Introduzione}

          oppure

          \chapter*{Conclusioni}
          \addcontentsline{toc}{chapter}{Conclusioni} `

          nella testatina compare “Elenco tabelle” e non “Introduzione” o “Capitolo X” (l’ultimo della tesi) e non “Conclusioni”. Come posso agire per risolvere il problema?

        • #41844
          Up
          0
          Down
          ::


          Per il momento ho risolto con un:
          `
          \markboth{\MakeUppercase{Introduzione}}{\MakeUppercase{Introduzione}}.
          `

          Esiste una soluzione diversa?

        • #41845
          Up
          0
          Down
          ::

          Per il momento ho risolto con un:
          `
          \markboth{\MakeUppercase{Introduzione}}{\MakeUppercase{Introduzione}}.
          `

          Esiste una soluzione diversa?

          Introduzione e conclusioni non vanno nel mainmatter, ma rispettivamente nel frontmatter e nel backmatter, sempre che tu non li voglia numerati. Se usi gli appositi comandi (\frontmatter, ecc.) non devi usare la forma asteriscata di \chapter.

          Codice minimale?!

          Ciao
          Ivan

        • #41846
          Up
          0
          Down
          ::

          Per il momento ho risolto con un:
          `
          \markboth{\MakeUppercase{Introduzione}}{\MakeUppercase{Introduzione}}.
          `

          Esiste una soluzione diversa?

          Introduzione e conclusioni non vanno nel mainmatter, ma rispettivamente nel frontmatter e nel backmatter, sempre che tu non li voglia numerati. Se usi gli appositi comandi (\frontmatter, ecc.) non devi usare la forma asteriscata di \chapter.

          Codice minimale?!

          Ciao
          Ivan

          La tua risposta in parte risponde ad un mio quesito posto nella sezione “Tipografia” (dove va inserita l’introduzione?) allo stesso tempo però mi lascia abbastanza perplesso per quel che riguarda le conclusioni. Inserirle nel backmatter? Quindi andrebbero dopo le appendici, nel mio caso?! Non ne sono molto convinto.

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

      Go to top