Problema con il comando pagebreak

  • Questo topic ha 9 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 10 anni fa da cfiandra.
  • Creatore
    Topic
  • #107560
    Up
    0
    Down
    ::


    Salve,

    sto riscontrando un problema nell’utilizzo del comando pagebreak e spero possiate aiutarmi.

    Nel manuale “L’arte di scrivere in LaTeX” è data la definizione:

    \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio;”

    Purtroppo però, nel mio caso, il comando \pagebreak non “stiracchia” nulla, creandomi non pochi fastidi. Non riesco a capire il perché di questo malfunzionamento, né so quali informazioni fornirvi per meglio comprenderne l’origine.

    Sto attualmente utilizzando il programma:

    TeXstudio 2.10.8 (hg 5804:967c6023de2d)
    Qt Versione 5.5.1 in uso, compilato con Qt 5.5.1 R

    Questi sono i pacchetti utilizzati:

    `\documentclass[10pt,a4paper]{article}
    \usepackage[latin1]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage{graphicx}

    \usepackage{booktabs}
    \usepackage{caption}
    \usepackage{subfig}
    \usepackage{float}`

    Spero possiate darmi qualche consiglio. Ringraziandovi anticipatamente, vi saluto.

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #107561
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        PG_Roma” post=107691Salve,

        sto riscontrando un problema nell’utilizzo del comando pagebreak e spero possiate aiutarmi.

        Nel manuale “L’arte di scrivere in LaTeX” è data la definizione:

        \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio;”

        Purtroppo però, nel mio caso, il comando \pagebreak non “stiracchia” nulla, creandomi non pochi fastidi. Non riesco a capire il perché di questo malfunzionamento, né so quali informazioni fornirvi per meglio comprenderne l’origine.

        Sto attualmente utilizzando il programma:

        TeXstudio 2.10.8 (hg 5804:967c6023de2d)
        Qt Versione 5.5.1 in uso, compilato con Qt 5.5.1 R

        Questi sono i pacchetti utilizzati:

        `\documentclass[10pt,a4paper]{article}
        \usepackage[latin1]{inputenc}
        \usepackage[italian]{babel}
        \usepackage{amsmath}
        \usepackage{amsfonts}
        \usepackage{amssymb}
        \usepackage{graphicx}

        \usepackage{booktabs}
        \usepackage{caption}
        \usepackage{subfig}
        \usepackage{float}`

        Spero possiate darmi qualche consiglio. Ringraziandovi anticipatamente, vi saluto.

        Innanzi tutto benvenuto nel forum.

        Se apri il tuo messaggio cliccando sul bottone edit, vedi come ho modificato il tuo codice per scriverlo con carattera monospaziato e dentro una finestra a scorrimento; lo puoi fare in modo grafico selezionando il codice e poi cliccando sull’icona nella barra sopra le faccine formata da un rettangolo bianco sul quale sono sovrapposti i segni <> disegnati in blu.

        In merito alla tua domanda, \pagebreak è un comando che permette di eseguire un fine pagina nel punto dove lo inserisci, ma non inserisce a sua volta nessuno spazio elastico tale da giustificare verticalmente la pagina. Se la pagina contiene già di suo dello spazio elastico in modo verticale, la pagina viene stiracchiata, come dice L’Arte, ma se la pagina non contiene nessuno spazio verticale elastico, la pagina non può essere stiracchiata.

        Ora senza avere un esempio minimo compilabile è difficile dire che cosa impedisca alla pagina di venire stiracchiata come vorresti tu. Il tuo preambolo, contiene alcune “ingenuità” e probabilmente lo hai preso già fatto da qualche collega o amico, o dalla rete; non è grave, se sai a che cosa ti serve ciascuno dei pacchetti che hai caricato. Probabilmente sarebbe meglio che usassi la codicifica d’entrata utf8, ma anche la latin1 va bene; io l’ho usata per anni, ora uso solo la codifica utf8; TeXstudio (che è solo un editor, non ha nulla a che vedere con LaTeX) assume la codifica utf8 come predefinita, quindi per fargli salvare i file con la codifica latin1 devi configurarlo espressamente apposta.

        Tuttavia con o senza “ingenuità”, il tuo preambolo non contiene nulla che lasci immaginare l’assenza di spazio verticale elastico. posso immaginarmi u capoverso lunghissimo, iniziato nella pagina precedente e che vui concludere nella seconda pagina con un \pagebreak; fra riga e riga non c’è spazio elastico; ce n’è fra capoverso e capoverso, prima e dopo oggetti fuori testo, che vanno dai titoli delle sezioni, alle formule, alle figure e tabelle flottanti, agli ambienti per mettere in rilievo tratti di testo, come quote, quotation, center, e simili. Queste potrebbero essere spiegazioni di quel che ti accade, ma con il condizionale, perché senza un esempio minimo compilabile è difficile dirti qale sia il motivo nel tuo caso specifico.

        Concludo chiedendoti: Sei sicuro che sia tipograficamente corretta una pagina con gli spazi verticali stiracchiati?

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

          OldClaudio” post=107693Concludo chiedendoti: Sei sicuro che sia tipograficamente corretta una pagina con gli spazi verticali stiracchiati?

          Nella vita non si finisce mai d’imparare. Premesso che \pagebreak va usato solo in sede di revisione finale, direi che quello che c’è scritto nell’Arte è sbagliato.
          `\documentclass[twoside]{article} % togli “twoside” e vedi la differenza!

          \usepackage{lipsum}

          \begin{document}

          \section{Mane}
          \lipsum[1]

          \section{Tekel}
          \lipsum[3]

          \pagebreak

          \section{Fares}
          \lipsum[3]

          \end{document}`
          Se si toglie “twoside”, \pagebreak non stiracchia affatto nulla, ma si limita a cominciare una nuova pagina!

        • #107563
          Up
          0
          Down
          ::


          Per prima cosa, grazie a tutti per l’aiuto praticamente immediato.


          @OldClaudio

          Grazie per i consigli, passerò subito a utf8. Sulle ragioni dello stiramento, scrivo qui sotto. 😀


          @lorenzo
          .pantieri

          Grazie tante, il problema è praticamente risolto. Effettivamente sono in fase di revisione e con l’uso di pagebreak volevo evitare alcuni problemi di impaginazione. In pratica ho delle immagini accompagnate da un breve paragrafo che riescono a coprire quasi completamente la pagina. Questo schema (paragrafo-immagine1-immagine2) si ripete per 4 pagine di seguito. Con pagebreak volevo evitare che il paragrafo di un gruppo di immagini finisse – in parte – nella pagina sbagliata e al contempo uniformare leggermente l’aspetto “stirando” il contenuto della pagina in verticale: poca roba, ma utile a rendere le 4 pagine più omogenee.

          Con il suo consiglio, come dicevo, il problema è in parte risolto, ma adesso ho le pagine formattate per essere rilegate fronte retro. Non è un problema insormontabile, ma esiste un sistema per ottenere lo “stiracchiamento” verticale mantenendo la formattazione precedente delle pagine? Magari senza usare \pagebreak?

          Grazie ancora!

        • #107564
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Metti un \vfill fra le due immagini e poi dai il comando \cleapage.

          • #107565
            Up
            0
            Down
            ::

            lorenzo.pantieri” post=107694

            Concludo chiedendoti: Sei sicuro che sia tipograficamente corretta una pagina con gli spazi verticali stiracchiati?

            Nella vita non si finisce mai d’imparare. Premesso che \pagebreak va usato solo in sede di revisione finale, direi che quello che c’è scritto nell’Arte è sbagliato.
            `\documentclass[twoside]{article} % togli “twoside” e vedi la differenza!

            \usepackage{lipsum}

            \begin{document}

            \section{Mane}
            \lipsum[1]

            \section{Tekel}
            \lipsum[3]

            \pagebreak

            \section{Fares}
            \lipsum[3]

            \end{document}`
            Se si toglie “twoside”, \pagebreak non stiracchia affatto nulla, ma si limita a cominciare una nuova pagina!

            Certo. La classe article usa [tt]\raggedbottom[/tt] se non si dà [tt]twoside[/tt], [tt]\flushbottom[/tt] in caso contrario.

            Ciao
            Enrico

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

              egreg9″ post=107698Certo. La classe article usa [tt]\raggedbottom[/tt] se non si dà [tt]twoside[/tt], [tt]\flushbottom[/tt] in caso contrario.

              Quel passo dell’Arte va corretto così:

              \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (a meno che sia attiva la dichiarazione \raggedbottom);

              Grazie ancora!

              Lorenzo

            • #107567
              Up
              0
              Down
              ::

              lorenzo.pantieri” post=107700Quel passo dell’Arte va corretto così:

              \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (a meno che sia attiva la dichiarazione \raggedbottom);

              Grazie ancora!

              Lorenzo

              In realtà suggerirei di citare le classi (almeno quelle standard): se dici ”(a meno che sia attiva la dichiarazione \raggedbottom);” un utente potrebbe non sapere dove [tt]\raggedbottom[/tt] è di default e dove no. Per più info vedi qui.

              Ciao
              Claudio

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

                cfiandra” post=107708
                In realtà suggerirei di citare le classi (almeno quelle standard):

                Giusto.

                \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (nei documenti a due facciate, a meno che sia attiva la dichiarazione \raggedbottom);

                Oppure, semplificando:

                \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (nei documenti a due facciate);

                Che ne dici?

              • #107569
                Up
                0
                Down
                ::

                lorenzo.pantieri” post=107709

                In realtà suggerirei di citare le classi (almeno quelle standard):

                Giusto.

                \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (nei documenti a due facciate, a meno che sia attiva la dichiarazione \raggedbottom);

                Oppure, semplificando:

                \pagebreak prima di cominciare la nuova pagina stiracchia in verticale il contenuto di quella in cui viene dato per riempirla al meglio (nei documenti a due facciate);

                Che ne dici?

                Meglio la seconda per un utente che non vuole fare esperimenti 😉

                Ciao
                Claudio

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

            Go to top