L’eterna lotta contro le pagine bianche a fine capitolo

  • Creatore
    Topic
  • #11714
    mfv
      Up
      0
      Down
      ::


      Salve a tutti.
      Su consiglio di Emiliano, riporto questo mio problema all’attenzione di tutti. Anche in modo da ottenerne una soluzione, visto che il solo EGV non vi e’ riuscito (o non ci ha neppure pensato 😉 ).

      Riassumendo:
      per un report universitario, ho creato un documento di classe book ed ho suddiviso il lavoro in capitoli (ponendo ognuno di essi in un file apposito). Poi con gli \include nel main file ho composto l’elaborato finale.
      Ho impostato il preambolo affinche’ compilasse il sorgente con pdflatex.
      Non ho fatto uso di pacchetti particolari, se non i pochi necessari alla scrittura di un po’ di matematica (amsmath, etc etc).
      La compilazione in se’ non da’ alcun errore ne’ warning.
      Il problema sorge a questo punto: nel pdf di output, alla fine di ogni capitolo, sono presenti una o due pagine vuote (con testatine), a seconda che l’ultima pagina del capitolo sia dispari o pari rispettivamente.
      Vari tests sul sorgente non hanno portato a nulla (ricopiare il source in altro file, modificare gli stili utilizzati, etc etc).
      Alla fine, ho deciso di dare uno sguardo al file log ed ho trovato tra le varie righe quanto segue:

      [snip]

      (./cap2.tex
      Missing character: There is no ï in font cmr10!
      Missing character: There is no » in font cmr10!
      Missing character: There is no ¿ in font cmr10!

      [snip]

      per ogni capitolo che e’ presente nel lavoro (qui si fa riferimento al solo capitolo 2).
      Chiaramente quei caratteri non sono presenti nel sorgente.
      Mi e’ venuto il dubbio che la ragione della confusione per LaTeX fosse l’utilizzo di editor diversi (Vim in Debian e Notepad++ in Windows), ma mi stupirei di un tale comportamento!

      Se qualcuno ha gia’ avuto a che fare con questo problema, per favore mi faccia sapere quanto prima una soluzione… il giorno della presentazione del report si avvicina inesorabilmente!! 🙁

      Grazie in anticipo a tutti per la pazienza.
      A presto.

      mfv

    Visualizzazione 12 filoni di risposte
    • Autore
      Risposte
      • #11715
        Up
        0
        Down
        ::


        Come ti avevo suggerito in privato, è necessario che tu posti il tuo codice. Come indicazione generica, posta un sorgente minimale (ovvero, depurato di tutto ciò che non serve, anche di eventuali dati riservati 🙂 ) ma che ancora riproduca il problema.

        Avrei qualche commento sul tuo stile di utilizzo di LaTeX, ma mi riservo di farlo pubblico una volta che tutti potranno vedere il codice.

        Ciao.

      • #11716
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Il problema sorge a questo punto: nel pdf di output, alla fine di ogni capitolo, sono presenti una o due pagine vuote (con testatine), a seconda che l’ultima pagina del capitolo sia dispari o pari rispettivamente.

          Ciao, uso abitualmente la classe book e non ho mai avuto questo problema: se l’ultima pagina del capitolo è dispari, LaTeX inserisce una pagina bianca, se è pari, non c’è alcuna pagina bianca. Per eliminare le testatine dalle pagine bianche (e visto che ci siamo, per migliorarne l’aspetto), basta

          `\documentclass{book}

          \usepackage{fancyhdr}

          \makeatletter
          \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
          \hbox{}
          \vspace*{\fill}
          \vspace{\fill}
          \thispagestyle{empty}
          \newpage
          \if@twocolumn\hbox{}\newpage\fi\fi\fi}
          \makeatother

          \pagestyle{fancy}
          \renewcommand{\chaptermark}[1]{\markboth{#1}{}}
          \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
          \fancyhf{}
          \fancyhead[LE,RO]{\scshape\thepage}
          \fancyhead[LO]{\scshape\footnotesize\nouppercase{\rightmark}}
          \fancyhead[RE]{\scshape\footnotesize\nouppercase{\leftmark}}

          \begin{document}
          \frontmatter
          \include{…}
          \mainmatter
          \include{…}
          \backmatter
          \include{…}
          \end{document}
          `

          Alla fine, ho deciso di dare uno sguardo al file log ed ho trovato tra le varie righe quanto segue:
          [snip]
          (./cap2.tex
          Missing character: There is no ï in font cmr10!
          Missing character: There is no » in font cmr10!
          Missing character: There is no ¿ in font cmr10!
          [snip]
          per ogni capitolo che e’ presente nel lavoro.
          Chiaramente quei caratteri non sono presenti nel sorgente.

          Che codifica di input usi per i tuoi documenti? Quali font usi? Guarda questo topic.

          Ciao,
          L.

        • #11717
          ev
          Partecipante
            Up
            0
            Down
            ::

            visto che il solo EGV non vi e’ riuscito (o non ci ha neppure pensato 😉 )

            Che vuoi farci… ha tante cose per la testa 😉

            ho creato un documento di classe book

            Già qui ti becchi una pagina bianca se il capitolo termina su pagina dispari e non hai indicato l’opzione openany. Ma se fossi in te userei la classe report, a meno che tu non abbia bisogno di cose come \frontmatter & Co.

            Poi con gli \include nel main file ho composto l’elaborato finale.

            Altra potenziale pagina bianca. Sostituisci \include con \input.

          • #11718
            mfv
              Up
              0
              Down
              ::


              Ciao Lorenzo!

              Ciao, uso abitualmente la classe book e non ho mai avuto questo problema: se l’ultima pagina del capitolo è dispari, LaTeX inserisce una pagina bianca, se è pari, non c’è alcuna pagina bianca. Per eliminare le testatine dalle pagine bianche (e visto che ci siamo, per migliorarne l’aspetto), …

              […]

              Esatto. Ma il problema era un altro. Per fortuna ora risolto.

              Che codifica di input usi per i tuoi documenti? Quali font usi? Guarda questo topic.

              Ciao,
              L.

              Innanzitutto, grazie per aver risposto.
              Beh, la codifica e’ UTF-8, e mi sono scorso in velocita’ il topic ma non uso inputenc, proprio per evitare casini con le lettere accentate… da buon purista uso l’accentatura standard.

              Ieri sera mi sono concentrato e sono venuto a capo del problema: un probabile disguido con le codifiche nel passaggio tra i vari editors di scrittura.
              Ora e’ tutto risolto.

              Alla prossima.

              mfv

            • #11719
              Up
              0
              Down
              ::


              scusate la mia ignoranza ma qualcuno mi spiega il codice che segue? (oppure dirmi dove lo posso trovare la spiegazione…)

              `\makeatletter
              \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
              \hbox{}
              \vspace*{\fill}
              \vspace{\fill}
              \thispagestyle{empty}
              \newpage
              \if@twocolumn\hbox{}\newpage\fi\fi\fi}
              \makeatother

              \pagestyle{fancy}
              \renewcommand{\chaptermark}[1]{\markboth{#1}{}}
              \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
              \fancyhf{}
              \fancyhead[LE,RO]{\scshape\thepage}
              \fancyhead[LO]{\scshape\footnotesize\nouppercase{\rightmark}}
              \fancyhead[RE]{\scshape\footnotesize\nouppercase{\leftmark}}

              \begin{document}
              \frontmatter
              \include{…}
              \mainmatter
              \include{…}
              \backmatter
              \include{…}
              \end{document} `

              sopratutto l’ultima parte…in quei puntini di include cosa si dovrebbe mettere?

            • #11720
              Up
              0
              Down
              ::

              scusate la mia ignoranza ma qualcuno mi spiega il codice che segue? (oppure dirmi dove lo posso trovare la spiegazione…)
              `\makeatletter
              \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
              \hbox{}
              \vspace*{\fill}
              \vspace{\fill}
              \thispagestyle{empty}
              \newpage
              \if@twocolumn\hbox{}\newpage\fi\fi\fi}
              \makeatother

              \pagestyle{fancy}
              \renewcommand{\chaptermark}[1]{\markboth{#1}{}}
              \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
              \fancyhf{}
              \fancyhead[LE,RO]{\scshape\thepage}
              \fancyhead[LO]{\scshape\footnotesize\nouppercase{\rightmark}}
              \fancyhead[RE]{\scshape\footnotesize\nouppercase{\leftmark}}

              \begin{document}
              \frontmatter
              \include{…}
              \mainmatter
              \include{…}
              \backmatter
              \include{…}
              \end{document} `

              sopratutto l’ultima parte…in quei puntini di include cosa si dovrebbe mettere?

              Come ho già spiegato più volte, \include è un rimasuglio del passato e non ha praticamente alcuna utilità; va usato \input. Quando si ha un documento lungo, è conveniente spezzarlo in parti, per esempio un file per capitolo. Leggiti la guida che trovi nel link in alto su questa pagina.

              Il codice che trovi all’inizio serve per ridefinire il comando \cleardoublepage in modo da produrre una pagina completamente bianca dopo un capitolo che finisca su una pagina dispari. Ma è inutilmente complicato.
              `\makeatletter
              \renewcommand\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
              \thispagestyle{empty}
              \vspace*{\fill}
              \newpage
              \if@twocolumn\null\newpage\fi\fi\fi}
              \makeatother`
              Meglio ancora il seguente codice
              `\let\origcleardoublepage\cleardoublepage
              \newcommand{\clearemptydoublepage}{%
              \clearpage
              {\pagestyle{empty}\origcleardoublepage}%
              }
              \let\cleardoublepage\clearemptydoublepage`
              Ciao
              Enrico

            • #11721
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::

                Come ho già spiegato più volte, \include è un rimasuglio del passato e non ha praticamente alcuna utilità; va usato \input.

                Uso \include anziché \input perché permette di compilare solo un capitolo per volta, con \includeonly. Non trovo molto sensato ricompilare ogni volta tutti i capitoli, anche quelli che non sono stati modificati. Fra l’altro, questo allunga il tempo di compilazione: su un computer “moderno” la differenza non è enorme, è vero, ma è significativa (sul mio iMac G5, con un lavoro di un centinaio di pagine suddiviso in una decina di capitoli, si parla di una decina di secondi di differenza ad ogni compilazione).

                Se usassi \input dovrei commentare tutte le righe tranne quelle che interessano. Per compilare tutto il documento dovrei togliere tutti i commenti, e non solo uno (quello della riga \includeonly). Lo trovo meno comodo.

                Ciao,
                L.

              • #11722
                Up
                0
                Down
                ::


                Grazie! Il “meglio ancora” mi è appena stato molto utile!

              • #11723
                Up
                0
                Down
                ::


                Ciao a tutti, purtroppo io ho ancora il problema delle pagine bianche alla fine dei capitoli che finiscono con pagine dispari. Ho provato a usare \input invece di \include per allegare i capitoli alla compilazione e anche a usare l’opzione openany. L’unico che risolve questo problema è l’opzione oneside, che però sposta tutto il corpo del testo sul lato destro della pagina.
                Qualcuno può aiutarmi?
                Grazie in anticipo.

              • #11724
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  La tipografia vuole così; mi pare strano che l’opzione openany non ti “corregga” questo comportamento, ma può dipendere dalla classe o dai pacchetti che hai caricato. Mi stupisce che oneside ti sposti la gabbia del testo; di solito stampndo da un lato solo la gabbbia del testo rimane centrata. Di nuovo può dipendere dalla classe che usi e dai pacchetti che hai caricato.
                  Un patch (una pezza) molto rozzo potrebbe essere quello di ridefinire il comando \cleardoublepage (usato da \chapter) in modo che sia solo equivalente a \clearpage.
                  Un modo meno rozzo, sarebbe quello di ridefinire il comando \chapter.

                  Il modo più corretto è quello di lasciare le cose come stanno, perché la tipografia vuole che sia così.

                • #11725
                  Up
                  0
                  Down
                  ::

                  Bestplayer” post=106918Ciao a tutti, purtroppo io ho ancora il problema delle pagine bianche alla fine dei capitoli che finiscono con pagine dispari. Ho provato a usare \input invece di \include per allegare i capitoli alla compilazione e anche a usare l’opzione openany. L’unico che risolve questo problema è l’opzione oneside, che però sposta tutto il corpo del testo sul lato destro della pagina.
                  Qualcuno può aiutarmi?
                  Grazie in anticipo.

                  Vado per punti:

                  1. Usare [tt]\input[/tt] al posto di [tt]\include[/tt] non è collegato al «problema delle pagine bianche».
                  2. Se il problema in questione è che compare una pagina vuota, che però ha in cima le testatine, mentre tu vorresti una pagina totalmente bianca, potresti usare una delle soluzioni proposte da @egreg9. Ma quel messaggio è di nove anni fa, e nel frattempo qualcuno ha pensato di confezionare quel pezzetto di codice in un pacchetto, che si chiama emptypage. Quindi, al giorno d’oggi, non devi fare altro che caricare quel pacchetto`\usepackage{emptypage}`e fa tutto lui da solo.
                  3. L’opzione [tt]openany[/tt] dovrebbe ben risolvere il problema, dato che consente ai capitoli di iniziare su qualunque facciata. Ovviamente, non c’è alcun modo di evitare una pagina supplementare alla fine di un capitolo che finisce su una pagina dispari, se si vuole che ogni nuovo capitolo si apra forzatamente su una pagina anch’essa dispari. 🙂
                  4. L’opzione [tt]oneside[/tt] va usata esclusivamente se si ha davvero l’intenzione di stampare il documento su facciata singola; è un grave errore usarla in un documento che verrà stampato fronte/retro.

                  Ciao.


                  Gustavo

                • #11726
                  Up
                  0
                  Down
                  ::

                  OldClaudio” post=106919(…) Mi stupisce che oneside ti sposti la gabbia del testo; di solito stampndo da un lato solo la gabbbia del testo rimane centrata. (…)

                  Probabilmente quel che gli succede è che con [tt]twoside[/tt] ha la gabbia asimmetrica, quindi spostata verso sinistra sulle pagine dispari, in particolare sulla prima, mentre con [tt]oneside[/tt] ha la gabbia centrata, e quindi spostata verso destra, ma sempre solo sulle pagine dispari, rispetto a prima. Insomma, sta dicendo quel che vede succedere nella prima pagina nel passaggio da [tt]twoside[/tt] a [tt]oneside[/tt].

                  Ciao.


                  Gustavo

                • #11727
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Sì, lo so benissimo che cosa fa oneside e che cosa dovrebbe far openany. Il punto è che senza preambolo è difficile dargli dei consigli validi.
                    Invece mi stupirebbe se volesse usare oneside per avere tutte le pagine con la gabbia spostata a sinistra come nelle pagine dispari di twoside.
                    La tua osservazione, Gustavo, è corretta, ma continuo a stupirmi che volesse le pagine oneside con il margine interno minore del margine esterno; anche stampando oneside, si suppone che quanto si stampa sia piuttosto informale, per il quale una “legatura” a spirale o ad anelli in un raccoglitore, richiederebbe casomai un aumento del margine interno.

                    Quello che ho capito io dal messaggio dell’OT è che gli da fastidio la pagina bianca tra un capitolo e l’altro, quando il rpimo finisce su una pagina dispari. La tipografia vule così. Punto, non ci sono altre discussioni da fare.
                    Si potrebbe obbiettare che nella front matter e nella back matter l’impostazione di default è openany, per cui i capitoli iniziano anche sulle pagine pari. Ma quei capitoli, oltre a non essere numerati, sono parti tecniche del libro, non il corpo del documento, nel quale è tassativo che i capitoli (numerati) inizino sempre in una pagina dispari.

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

                Go to top