[risolto] eliminare underfull e overfull \hbox e \vbox

  • Creatore
    Topic
  • #118195
    davidebond
    Partecipante
      Up
      0
      Down
      ::


      Salve. Ecco il mio mwe:

      `
      \documentclass[11pt,dvipsnames,x11names,svgnames]{amsart}
      \usepackage{latexsym,amssymb}
      \usepackage{fontspec}
      \usepackage[EU2]{fontenc}
      \usepackage{polyglossia}
      \setmainfont{Cormorant Garamond}
      \setdefaultlanguage{italian}
      \setotherlanguages{english,german}
      \usepackage{luaotfload}
      \usepackage{unicode-math}
      \defaultfontfeatures{Ligatures=TeX}
      \setmathfont{Garamond Math}
      \usepackage{xcolor,colortbl}
      \usepackage{tabulary}
      \usepackage{footnote}
      \usepackage{pgfplots}
      \pgfplotsset{width=10cm, compat=1.9}
      \usepackage{tikz}
      \usepackage{ctable}
      \usepackage{color}
      \usepackage{endnotes}
      \usepgfplotslibrary{fillbetween}
      \usepackage{yfonts}
      \usepackage{csquotes}
      \usepackage[height={1cm},width={1.5cm},distance={2mm},topthumbmargin={106pt},bottomthumbmargin={auto}]{thumbs}

      \usepackage{fancyhdr}
      \pagestyle{fancy}
      \fancyhead{}
      \fancyfoot[CE,CO]{\normalsize{\thepage}}
      \fancyhead[CE]{\footnotesize{\sc Andamento farmacologico}}
      \fancyhead[CO]{\footnotesize{\sc davide bondoni}}
      \renewcommand{\headrulewidth}{0.2pt}
      \setlength{\headheight}{11.2pt}%
      \setlength{\footskip}{13.2pt}%

      \newcommand{\tql}{\textquoteleft}

      \newcommand\blfootnote[1]{%
      \begingroup
      \renewcommand\thefootnote{}\footnote{#1}%
      \addtocounter{footnote}{-1}%
      \endgroup
      }

      \pagenumbering{arabic}

      \title{Titolo}
      \author{davide bondoni}

      \begin{document}
      \maketitle

      \pagenumbering{arabic}
      \selectlanguage{italian}
      \begin{quotation}
      In matematica un insieme infinito di punti si dice \tql compatto' se ogni suo sottoinsieme infinito ha almeno un \tql punto di accumulazione' nell'insieme originale.\footnote{\cite[pp.~49–50]{schwartzman}. La traduzione \`e mia.}
      \end{quotation}

      \begin{thebibliography}{99}
      \addthumb{Bibliografia}{\space\Large{\textbf{R}}}{white}{Gray}
      \bibitem{schwartzman}
      Steven Schwartzman, \emph{The Words of Mathematics}, The Mathematical Association of America, Washington, 1994.
      \end{thebibliography}

      \end{document}
      `

      Io ricevo questi due messaggi:

      `
      Overfull \hbox (11.03339pt too wide) in paragraph at lines 57–58
      \TU/CormorantGaramond(0)/m/n/10.95 suo sot-toin-sie-me in-fi-ni-to ha al-me-no
      un ‘pun-to di ac-cu-mu-la-zio-ne’ nell’in-
      []

      Underfull \hbox (badness 1565) in paragraph at lines 64–65
      []\TU/CormorantGaramond(0)/m/n/9 Ste-ven Sch-war-tz-man, \TU/CormorantGaramond(
      0)/m/it/9 The Words of Ma-the-ma-tics\TU/CormorantGaramond(0)/m/n/9 , The Ma-the
      -ma-ti-cal As-so-cia-tion of Ame-ri-ca,
      []
      `

      Come eliminarli? Nel secondo caso ho provato aggiungendo \hfill o \par senza risultato. Gli overfull non so assolutamente come trattarli. So cosa sono, ma non so cosa fare per aumentare lo spazio vuoto. Nel file originale ci sono anche dei messaggi del genere:

      `
      Overfull \hbox (11.03339pt too wide) in paragraph at lines 218–219
      `

      Questo si riferisce al passaggio:

      `
      \begin{quotation}
      In matematica un insieme infinito di punti si dice \tql compatto' se ogni suo sottoinsieme infinito ha almeno un \tql punto di accumulazione' nell'insieme originale.\footnote{\cite[pp.~49–50]{schwartzman}. La traduzione \`e mia.}
      \end{quotation}
      `

      Come si può notare viene segnalato come underfull hbox nel mwe.

      E,

      `
      Underfull \vbox (badness 3724) has occurred while \output is active []

      [20]
      [21]
      `

      Fra l’altro non so se 20 e 21 si riferiscano anche a quel messaggio.

      Grazie. Ciao,

      davide

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #118196
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Stano, Davide, che usi LATeX da tempo e non conosci queste piccole cose che son l’ABC.
          Capisco che dopo un po’ ci si fa l’abitudine e finalmente ci si dimentica di dettagli poco significativi.

          a) i numero fra parentesi quadre sono le informazioni delle pagine spedite al file di uscita; non fanno parte di nessun messaggio d’errore, ma, per esempio, nel tuo ultimo esempio di codice, l’avviso di “scatola riempita poco”, che ha una “bruttezza” di 3724, ha avuto luogo mentre il programma di composizione stava componendo la pagina 20; poco dopo invia fuori la pagina 21.

          b) Underfull hbox significa che una riga del testo in un qualche capoverso, del quel sono mostrate i numeri di riga iniziale e finale, è risultata ripempia poco; cioè lo spazio interparola è stato allargato troppo. Vien indicata la bruttezza, che risulta da un calcolo piuttosto complesso, ma sostanzialmente non devi preoccupartene se non supera il valore approssimativo di 2000 o 3000; vedi che l’intervallo è piuttosto largo, ma non è preoccupante.

          c) Invece Overfull hbox singifica che la riga, anche sringendo al massimo lo spazio interparola, sporge fuori dalla gabbbia di stampa; viene indicato di quanti punti la riga esce fuori dal margine; Se non supera i 2pt non c’è da preoccuparsi, a meno che tu non voglia essere molto preciso. Se supera quel valore, bisogna provvedere, ci sono diversi modi per farlo. Puoi riformulare il capoverso, puoi aumentare al tolleranza rispetto alla bruttezza del capoverso; puoi inserire dei trattini di “a capo” dove ritienei che si possa andare a capo nella parola che sporge nel margine. Insomma ci sono molto modi.

          Per aumentare la tolleranza potresti usare l’ambiente sloppypar, magari riudcendo la grande tolleranza che sloppypar impone al capoverso contenuto al suo interno; io proverei con una cosa del tipo:`\begin{sloppypar\tolerance=3000
          Capoverso problematico…. fino alla fine.
          \end{sloppypar}`in modo che il valore di tolerance impostato sia usato per tutto il capoverso; senza specificare la tolleranza, sloppypar ne impone il valore 9999, il massimo valore che i programmi del sistema TeX NON considerano di valore “infinito”. Tuttati se con il valore 3000 continui ad avere una Overfull hbox in quel capoverso, ti conviene passare al un modo alternativo, consistente nel inserire cesure opzionali onel riformulare il contentuo del capoverso problematico.

          Queste cose, e in particolare il dettaglio di come i programmmi di composizione del sistema TeX determinino il parametro “badnesss” (brutteza) sono spiegate con sufficiente dettaglio nella GuidaGuIT, come al solito da scaricare dalla sezione Documentazione di questo sito; vedi in particolare il capitolo 27.

        • #118197
          davidebond
          Partecipante
            Up
            0
            Down
            ::


            Grazie. So il significato di queste espressioni e anche che salvo certi casi possono essere ignorate, ma volevo comporre almeno un testo che non avesse questi messaggi.

            Grazie. Ciao,

            davide

          • #118198
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sì, sono d’accordo, ma qualche volta il programma di composizione ha bisogno di un po’ di aiuto.
              Guarda, sto componendo per i miei figli e nipoti, un testo che sarebbe pomposo chiamare autobiografia, in realtà riguarda solo i miei primi anni, quando ero un ragazzino. Si tratta di solo testo, con l’inserimento di vecchie foto o altre immagini. quindi mi sarei aspettato solo qualche Overfull vbox, per pagine troppo piene, o Undefull vbox, per pagine con spazi verticali troppo allargati. Macché; anche il puro testo talvolta ha righe che sforano il margine. Ci vuole un po’ di aiuto; per le pagine sono riuscito a creare un comando condizionale in cui se manca troppo poco spazio alla fine di una pagina, la lascio tronca; la parte difficile, è definire che cosa si intende per troppo poco; quindi comando con un argomento facoltativo dove specifico di quante righe ho bisogno per mettere una frazione decente di quel che segue. per le righe orizzontali ho seguito le indicazioni che ti ho scritto e sono sempreriuscito ad apportare le piccole modifiche necessarie.
              Si potrebbe giocare sulle varie penalità e tolleranze, ma si rischia che la cura sia peggio del male. Nulla è perfetto, ma LaTeX e i compositori basati su LaTeX fanno un lavoro eccellente.

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

          Go to top