Badness 1303

  • Creatore
    Topic
  • #106705
    Up
    0
    Down
    ::


    Salve a tutti,

    Sono nuovo nel forum e non molto navigato in LaTex, per questo ho bisogno di aiuto per un errore che non capisco come risolvere. L’errore è il seguente:
    `
    Underfull \hbox (badness 1303) in paragraph at lines 215–216
    \OT1/cmr/m/n/10.95 stra-to in fi-gu-ra []. Ap-pli-chia-mo ora la
    [5 <./immagini/formato1.png> <./immagini/contenuto_blocchi.png>]
    ! Extra alignment tab has been changed to \cr.

    l.242 \end{split}

    ?
    `
    Cercando con google, le soluzioni proposte fanno riferimento all’ambiente tabular che però non uso. Vi allego le righe 214-215 e 216 segnalate:
    `
    \end{figure}
    Il risultato finale è un nuovo CFG \( \psi_{1} \) mostrato in figura \ref{cfgt1}. Applichiamo ora la trasformazione \(T_2\) al programma originale:
    \begin{itemize}
    `
    e il preambolo che uso:
    `
    \documentclass[11pt,twocolumn,a4paper]{article}

    \usepackage[italian]{babel}
    \usepackage[utf8]{inputenc} % Consente l'uso caratteri accentati italiani
    \usepackage{amsmath}
    \usepackage{cite}
    \usepackage{graphicx}
    \usepackage{listings}
    \usepackage{booktabs}
    `

    Grazie!

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #106706
      Up
      0
      Down
      ::


      Il messaggio [tt]Underfull \hbox[/tt] (che è un avvertimento e non un errore) non c’entra assolutamente nulla con l’errore (questo sì che lo è) che si verifica poco dopo, e che riguarda un ambiente [tt]split[/tt] mal formato. L’errore, dunque, si verifica alla linea 242 e non alle linee 215–216. Dalle parti della linea 242 ci dovrebbe essere un’equazione contenente, appunto, un ambiente [tt]split[/tt]: prova a farci vedere il codice completo di quell’equazione.

      Ciao.


      Gustavo

    • #106707
      Up
      0
      Down
      ::


      Grazie per la precisazione! Alla riga 242 finisce l’ambiente split qui di seguito:
      `
      \item Esecuzione di \( O_E(\cdot, S_{01}) \):
      \begin{equation*}
      \begin{split}
      V & \gets (V – \{S_{01}\}) \\
      & \cup \{ \xi(S_{01}) \},
      E & \gets (E- \{(S_{01}, B_1), (P_1^F, S_{01})^F\}) \\
      & \cup \{ (\xi(S_{01}), B_1), (P_1^F, \xi(S_{01}))^F \}.
      \end{split}
      \end{equation*}
      `
      Preciso che questa equazione si trova all’interno dell’ambiente itemize e mi serviva un modo per cui la formula andasse a capo e non a sovrapporsi al testo della colonna adiacente.

    • #106708
      Up
      0
      Down
      ::


      Certo, ecco subito spiegata la ragione dell’errore: non vedi che alla fine della seconda linea dell’ambiente [tt]split[/tt] manca il [tt]\\[/tt]? 🙂

      Suggerirei anche un paio di miglioramenti al codice che mi vengono in mente di primo acchito (magari ce ne sono altri): migliorare lo spazio attorno a [tt]\cdot[/tt] e differenziare leggermente per dimensione le parentesi annidate di ugual tipo. Ecco il codice emendato:
      `
      \item Esecuzione di \( O_E({}\cdot{}, S_{01}) \):
      \begin{equation*}
      \begin{split}
      V & \gets (V – \{S_{01}\}) \\
      & \cup \{ \xi(S_{01}) \}, \\
      E & \gets \bigl(E- \{(S_{01}, B_1), (P_1^F, S_{01})^F\}\bigr) \\
      & \cup \bigl\{ \bigl(\xi(S_{01}), B_1\bigr),
      \bigl(P_1^F, \xi(S_{01})\bigr)^F \bigr\}.
      \end{split}
      \end{equation*}
      `

      Ciao.


      Gustavo

    • #106709
      Up
      0
      Down
      ::


      Grazie Gustavo!

      Era proprio un errore banale 😆 meglio così! Ultima cosa, ho provato il codice che hai postato ma non ho notato cambiamenti nella grandezza delle parentesi. E’ normale??

      miren

    • #106710
      Up
      0
      Down
      ::


      Guarda bene e confronta le parentesi più esterne con quelle più interne: la differenza è appena percettibile (infatti deve essere una sorta di tocco subliminale), ma dev’esserci!

      Ciao.


      Gustavo

    • #106711
      Up
      0
      Down
      ::


      Dimenticavo: l’avvertimento (non errore) di [tt]Underfull \hbox[/tt] compare ancora? Tu sai che, sebbene non impediscano di portare correttamente a termine la compilazione, questi avvertiemnti indicano un problema nella giustificazione del testo che andrebbe risolto prima di realizzare la versione finale del documento.

      Ciao.


      Gustavo

    • #106712
      Up
      0
      Down
      ::


      Per quanto riguarda gli avvisi di Underfull \hbox nè ho ancora alcuni relativi però ad altre linee. Sono di questo tipo:
      `
      Underfull \hbox (badness 10000) in paragraph at lines 69–71
      []\OT1/cmr/m/n/10.95 Si puo ot-te-ne-re una tra-sfor-ma-zio-
      []
      `
      Riesci a spiegarmi a cosa è dovuto? Così correggo la cosa 🙂

    • #106713
      Up
      0
      Down
      ::

      miren” post=106847Per quanto riguarda gli avvisi di Underfull \hbox nè ho ancora alcuni relativi però ad altre linee. Sono di questo tipo:
      `
      Underfull \hbox (badness 10000) in paragraph at lines 69–71
      []\OT1/cmr/m/n/10.95 Si puo ot-te-ne-re una tra-sfor-ma-zio-
      []
      `
      Riesci a spiegarmi a cosa è dovuto? Così correggo la cosa 🙂

      Bisogna vedere il codice sorgente alle linee citate (e magari anche un po’ prima e un po’ dopo). Serve anche sapere la classe di documento, il formato di carta usato ([tt]a4paper[/tt], immagino), se carichi il pacchetto geometry e, in caso affermativo, con quali impostazioni. Il carattere usato lo si vede già: usi [tt]11pt[/tt] e non usi`\usepackage[T1]{fontenc}`Quest’ultima linea di codice, invece, ti consiglierei di inserirla, fra i primissimi pacchetti che carichi, visto che scrivi in italiano. Guarda, neanche a farlo apposta, nella tua [tt]Underfull \hbox[/tt] la seconda parola contiene un accento!

      Ciao.


      Gustavo

    • #106714
      Up
      0
      Down
      ::


      Tra i pacchetti usati non uso geometry e per le lettere accentate uso
      `\usepackage[utf8]{inputenc} ` ho provato a cambiarlo come dici tu (commentando il precedente) ma non riconosce correttamente le lettere accentate e quindi l’ho tolto. Il preambolo completo non è cambiato dal primo post.

      Tornando all’errore, credo sia dovuto a queste linee di codice(che si trova immerso in un ambiente description)
      `
      Si può ottenere una trasformazione T componendo opportunamente le operazioni di inserimento o aggiornamento appena descritte come
      \(T=\langle f_1, f_2, \dotso, f_m \rangle \) dove ogni operazione \(f_x \in \{O_{Op}^F (\cdot, C_a ), O_{Op}^T (\cdot, C_b ), O_{Op}^? (\cdot ,C_c ),
      O_E (\cdot, C_d ), \\ O_S^{S,n} (\cdot, C_e ), O_S^{B,n} (\cdot, C_f ), O_D^L (\cdot, C_g ), O_D^S (\cdot, C_h ), \\ O_R (\cdot, C_i)\} \).
      La trasformazione risulta diversa se si cambiano l’ordine delle operazioni o dei blocchi su cui si applica. Perciò \( \langle \cdot \rangle \) è un insieme ordinato
      di funzioni di composizione dove \(\langle f_1, f_2, \cdots, f_m \rangle \) rappresenta la funzione \(g\) definita da \(g(x)=f_m(\cdots f_2 (f_1 (x)) \cdots)\).
      `

    • #106715
      Up
      0
      Down
      ::

      miren” post=106849[…] per le lettere accentate uso`\usepackage[utf8]{inputenc}` ho provato a cambiarlo come dici tu (commentando il precedente) […]

      No, no, no, per le lettere accentate devi usarli entrambi: sia fontenc, sia inputenc. Scrivi così:
      `
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      `
      Manca ancora la classe di documento. Dicevi anche che usi [tt]twocolumn[/tt], o sbaglio?

      Ciao.


      Gustavo

    • #106716
      Up
      0
      Down
      ::


      Sono stupido io, il tuo preambolo l’avevi già inviato nel primo messaggio.

      Scrivere testi matematici è già un’arte difficile di suo, comporli in colonne strette può avvicinarsi al virtuosismo o, addrittura, risultare impossibile; sicuramente obbliga ad accettare compromessi. Per esempio, io ho provato a riscrivere il tuo capoverso nel modo mostrato nel codice che segue.

      `
      \documentclass
      [11pt,twocolumn,a4paper]
      {article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{amsmath}

      \begin{document}

      \begin{description}
      \item[Come lo fai tu:]
      vedi capoverso seguente.

      Si può ottenere una trasformazione T componendo opportunamente le
      operazioni di inserimento o aggiornamento appena descritte come
      \(T=\langle f_1, f_2, \dotso, f_m \rangle \) dove ogni operazione \(f_x
      \in \{O_{Op}^F (\cdot, C_a ), O_{Op}^T (\cdot, C_b ), O_{Op}^? (\cdot
      ,C_c ), O_E (\cdot, C_d ), \\
      O_S^{S,n} (\cdot, C_e ), O_S^{B,n} (\cdot, C_f ), O_D^L (\cdot, C_g ),
      O_D^S (\cdot, C_h ), \\ O_R (\cdot, C_i)\} \). La trasformazione
      risulta diversa se si cambiano l’ordine delle operazioni o dei blocchi
      su cui si applica. Perciò \( \langle \cdot \rangle \) è un insieme
      ordinato di funzioni di composizione dove \(\langle f_1, f_2, \cdots,
      f_m \rangle \) rappresenta la funzione \(g\) definita da
      \(g(x)=f_m(\cdots f_2 (f_1 (x)) \cdots)\).

      \typeout{Sotto la linea comincia la mia versione: ci sono avvertimenti?}
      \typeout{—————————————————————-}

      \item[Come lo farei io:]
      vedi capoverso seguente.

      % Questo andrebbe messo nel preambolo:
      \newcommand*{\MyO}[3]{O_{#1}^{#2}(\,\cdot\,,C_{#3})}
      % (saprai scegliere tu un nome più opportuno per il comando).

      È possibile ottenere una trasformazione~$T$ componendo opportunamente le
      operazioni di inserimento o aggiornamento appena descritte come
      \[
      T = \langle f_1, f_2, \dots, f_m \rangle
      \]
      dove ogni operazione
      \begin{align*} % questo è uno sporco trucco!
      \begin{split}
      f_x \in \bigl\{ & \MyO{Op}{F}{a}, \MyO{Op}{T}{b}, \MyO{Op}{?}{c}, \\
      & \MyO{E}{}{d}, \MyO{S}{S,n}{e}, \MyO{S}{B,n}{f}, \\
      & \MyO{D}{L}{g}, \MyO{D}{S}{h}, \MyO{R}{}{i} \bigr\}
      \end{split}
      \end{align*}
      La trasformazione risulta diversa se si cambiano l’ordine delle
      operazioni o dei blocchi su cui si applica. Perciò \( \langle \,\cdot\,
      \rangle \) è un insieme ordinato di funzioni di composizione dove \(
      \langle f_1, f_2, \cdots, f_m \rangle \) rappresenta la funzione~$g$
      definita da
      \[
      g(x)=f_m(\cdots f_2 (f_1 (x)) \cdots)
      \]
      \end{description}

      \end{document}
      `

      Ciao.


      Gustavo

    • #106717
      Up
      0
      Down
      ::


      Sicuramente meglio la tua versione, molto più ordinata e di facile lettura!

      miren

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

Go to top