Immagini da Matlab a LaTeX

  • Creatore
    Topic
  • #114864
    Up
    0
    Down
    ::


    Ciao ragazzi! Ho bisogno di una mano per un problema che continua a tormentarmi. Come faccio a dire a Latex che voglio l’immagine esattamente dove sto scrivendo il codice anche se questo comporta lasciare vuota una parte di pagina o altri “problemi”?

    Ho provato così
    `
    \begin{figure}[h]
    \label{graph}
    \centering
    \includegraphics[width=1\textwidth]{images/step}
    \caption{Graph for the error trend in position}
    \end{figure}
    `
    o anche così
    `
    \begin{figure}[h!]
    \label{graph}
    \centering
    \includegraphics[width=1\textwidth]{images/step}
    \caption{Graph for the error trend in position}
    \end{figure}
    `

    ma continua a mettere l’immagine dove vuole, anche diverse pagine più giù. La cosa strana è che ho questo problema solo quando utilizzo immagini salvate da MATLAB.
    Ho provato a salvare anche in formato .jpg o .eps ma niente, a quanto pare c’è un problema con questi grafici da MATLAB.
    Sto utilizzando Overleaf quindi non ci dovrebbero essere problemi strani legati al’editor di testo o al compilatore. Qualcuno può aiutarmi??

    Grazie mille!!

Visualizzazione 21 filoni di risposte
  • Autore
    Risposte
    • #114865
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        tommyesse” post=115252Ciao ragazzi! Ho bisogno di una mano per un problema che continua a tormentarmi. Come faccio a dire a Latex che voglio l’immagine esattamente dove sto scrivendo il codice anche se questo comporta lasciare vuota una parte di pagina o altri “problemi”?

        Ho provato così

        \begin{figure}[h]
        \label{graph}
        \centering
        \includegraphics[width=1\textwidth]{images/step}
        \caption{Graph for the error trend in position}
        \end{figure}

        o anche così

        \begin{figure}[h!]
        \label{graph}
        \centering
        \includegraphics[width=1\textwidth]{images/step}
        \caption{Graph for the error trend in position}
        \end{figure}

        ma continua a mettere l’immagine dove vuole, anche diverse pagine più giù. La cosa strana è che ho questo problema solo quando utilizzo immagini salvate da MATLAB.
        Ho provato a salvare anche in formato .jpg o .eps ma niente, a quanto pare c’è un problema con questi grafici da MATLAB.
        Sto utilizzando Overleaf quindi non ci dovrebbero essere problemi strani legati al’editor di testo o al compilatore. Qualcuno può aiutarmi??

        Grazie mille!!

        Ciao.
        A mio parere se serve una figura che non deve fluttuare semplicemente, non inserirla in un ambiente flottante come figure 🙂
        Non ti pare?
        R.
        ps. puoi mettere in minuscolo il titolo del primo post? Grazie.

      • #114866
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::



          @robitex
          si è dimenticato di darti il benvenuto nel forum. Te lo do io.

          Venendo al tuo problema, devi ricordarti che LaTeX non è un wird processor, ma è un programma di composizione tipografica; un po’ particolare perché per comporre usa un mark-up, un po’ come fa HTML per le schermate della rete.

          LaTeX non è così intuitivo come i word processor e va studiato, per gradi, ma va studiato e bisogna capire ogni comando che cosa fa e ogni ambiente che cosa fa e perché lo fa in quel modo e non in un altro.

          Per esempio l’ambiente figure prende il suo contenuto e lo mette dove c’è posto per metterlo (vedi sotto) inoltre ci mette sotto una didascalia etichettata con nome Figura e numerata con un numero progressivo in modo diverso da classe a classe di documento. Tiene anche conto delle opzioni, come quella che tu hai usato [!h].

          Allora “dove cè posto vuol dire dove certi paramantri interni consentono che un oggetto obile trovi il posto necessario. A piena pagina, oppure in testa, purchee non superi il 70% dello spazio verticale, al piede della pagina, purché non superi il 50% dello spazio verticale; e sempre in modo che ci sia posto epr almeno un 30% di testo; queste scelte vengono anche fatte in base ai codici di posizionamento di default che sono espressi con [tbp] (top, bottom, page). Se uno specifica altri parametri come hai fatto tu, rischia di mettersi nei guai, ma non è vietato; i guai potrebbero non presentarsi, ma a te si sono presentati. Perché.

          Siccome non so quanto siano grandi o piccole le tue figure, posso solo azzarddare delle ipotesi [h] vuol dire qui se c’è posto;[!h] vuol dire mettila quai facendo anche qualche qualche piccola violazione alle regole. Ma non vuol dire mettila qui e non discutere!
          Che cosa quindi può esssere successo?
          1) nella pagina non c’è abbastanza spazio per mettere la figura in modo che resri almeno il 30% di testo;
          2) nella pagina c’è già il 30% di testo e anche di più ma se la fifura fosse messa lì, scapperebbe dal bordo inferiore dello spazio destinato a scriverci.
          3) non mi viene in mente nient’altro.

          Che cosa succede allora se la figura la vuoi lì ma non c’è posto? potrebbe metterla n testa alla pagina successiva,ma non può perchee hai specificato che la vuoi lì (h = here), quindi nella pagina successiva non sei piì “lì”, quindi l’immagine non esce dalla memoria e blocca la coda di altre immagini che restano tutte in coda fiono alla fine del captolo o fino alla fine del documento.

          Cosa se ne deduce?
          1) che il codice h con o senza punto esclamativo non deve mai essere usato da solo.
          2) possibilmente il codice ha dovrebbe essere riservato a figure decisamente piccole; ma i diagrammi che disegni con Matlab non sono mai piccoli, quindi…
          3) che comunque sia i file grafici comunque sia non devono contenere bordi bianchi al loro interno; quindi vanno smarginate; o con il programma che ha prodotto la figura o con il comando pdfcrop da dare nel terminale (se la figura è in formato pdf alrimenti bisogna arrangiarsi con altri programmi).
          4) che bisogna usare sapientemente le opzioni del comando \includegraphics in modo da scalre el dimensioni di na figura grandina ma non troppo.
          5) Che le figure, le tabelle, e simili oggetti mobili hanno una didascalia numerata a cui si fa riferimento con i comandi standard \label, \ref e \pageref, o altri comandi fori da moduli di estensione (i famosi pacchetti) e il testo si scrive correttamente nella forma “… come mostrato nella fiura ~\ref{fig:etichetta}…” e non “… come si vede nella seguente figura…”.

          Ecco; fatto il riassunto degli errori possibili, dei perché si manifestano certi errori e di come fare per comporre in modo tipografico buono, non vorrei sembrati troppo pedante nel consigliarti di scaricare dalla sezione Documentazione di questo Forum una guida “a caso”, per esempio L’Arte di scrivere con LaTeX che oltre tutto è composta molto bene e ti dal’idea giusta di cosa vuol dire comporre tipograficamente con LaTeX.

        • #114867
          Up
          0
          Down
          ::


          Secondo me, consiglio più pratico, dovresti allegare l’immagine incriminata e il testo della pagina così che anche noi possiamo compilare e vedere l’effetto.

          Io uso

          `
          \begin{figure}[!h]
          \centering
          \includegraphicsscale=xx]{nomeimmagine}
          \caption{Graph for the error trend in position}
          \label{graph}
          \end{figure}
          `

          Con scale puoi gestire meglio la dimensione dell’immagine mantenendo le proporzioni. Magari è per quello che ti viene sballata … semplici accorgimenti.

        • #114868
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            @BlackGoku, ho appena scritto che non bisogna usare MAI il codice [!h] da solo. Questo vale anche per te.

          • #114869
            Up
            0
            Down
            ::


            In relaltà è proprio con scale che nasce il problema dell’immagine troppo spostata a destra. Con il codice che ho usato io ho “soltanto” il problema dell’immagine che va un po’ dove vuole. Ora però grazie a @OldClaudio ho capito un meglio come ragiona il programma. Avevo iniziato a leggere quella guida, soltanto che non sono andato così a fondo perchè comunque avevo urgenza di utilizzare LaTex per report che devo consegnare settimanalmente e il tempo è davvero quel che è.
            Leggendo un po’ più a fondo però sono riuscito a risolvere utilizzando [H]; sono sicuro che non è il miglior modo ma ad ora funziona e ho bisogno di efficienza 🙂 .

            Approfitto però perchè avrei un’altra domanda. È possibile creare una pagina all’interno del file pdf che poi sarà generato di orientamento orizzontale?

            Mi spiego meglio: ci sono molte pagine nel mio report che consistono solo in grafici che spesso creo ccome subplot di MATLAB e quindi sono molti grafici in una sola figura messi come matrice praticamente. MI chiedevo se fosse possibile creare delle pagine apposta ad orientamento orizzontale in modo da mettere per esempio tanti grafici in una matrice (2 x 3) per esempio, in modo che continuino ad essere leggibili.

            Grazie mille per tutte le risposte e per l’aiuto!!

          • #114870
            Up
            0
            Down
            ::


            h – Place the float here, i.e., approximately at the same point it occurs in the source text (however, not exactly at the spot)
            H – Places the float at precisely the location in the LaTeX code. Requires the float package (\usepackage{float}). This is somewhat equivalent to h!.

            Direttamente da una guida LaTeX in inglese 😀

          • #114871
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Non mi dici niente di nuovo, so benissimo che cosa vogliono dire i due codici h e H.

              Le spiegazioni che hai trovato in quella guida in inglese sono errate, nel senso che non parlano degli effetti collaterali. Cioè non dicono tutta la verità.

              Non pretendo di essere il depositario della verità, ma ho studiato il codice con cui LaTeX sistema gli oggetti flottanti. ho studiato come questo meccanismo dipenda da un certo numero di impostazioni numeriche di massimi e minimi; ho studiato come vengono gestite le opzioni. Ho acquisito una certa dose di competenza non per sentito dire ma per aver studiato e capito come funziona il tutto.
              Di guide ne ho lette tante trovandone di buone e di cattive; ne ho lette in italiano, in inglese, in francese, in spagnolo, in portoghese e persino in rumeno; ne ho scritte diverse mettendoci dentro la competenza che ho acquisito in 30 annni e più di lavoro con LaTeX.

              Non dico questo per darmi delle arie. Ma se dico certe cose come nel messaggio che ho scritto a @tomiesse, credo che sia necessario capirle e prenderle sul serio; siccome non sono depositario della verità, mi fa piacere anche ricevere critiche. Solo che le parole non bastano, ci voglio cose tangibili, come esempi compilabili che dimostrino che ho torto. Questo genere di critiche mi sono state rivlte diverse volte e ho approfondito ulteriormente le mie conoscenze; ringrazio chi mi ha criticato, perché mi ha insegnato e mi ha permesso di apprendere di più.

              le tue citazioni dalla guida in inglese sono solo parole. Mi dirai: “ma ho trovato queste affermazioni in una guida~”. Certo, quale? È affidabile? Come posso controllare? Ricordati: le guide non sono tutte affidabili e anche quelle affidabili spesso contengono errori, anche quelle che ho scritto io stesso (giusto per non fare le pulci ad altri scrittori di guide).

              Per restare in argomento: h mette il float proprio lì se ci sta (non quasi lì come dice l’inciso fra parentesi della guida inglese), altrimenti lo lascia in coda (coda del tipo FIFO: First In First Out)) e la blocca fino alla fine del capitolo o del documento. H mette il float proprio lì anche se non ci sta e non è per niente equivalente a h! — Se lì non ci sta, vuol dire che lo fa sporgere dal fondo del foglio, il che non mi sembra una cosa tanto carina.

              Conclusione: h o !h o h! si può usare solo se non è l’unica opzione.
              H non è da usare mai, nemmeno se non è l’unica opzione.

            • #114872
              Up
              0
              Down
              ::


              La guida è la seguente

              `
              https://www.overleaf.com/learn/latex/Errors/%60!h'%20float%20specifier%20changed%20to%20%60!ht'
              `

              Non si tratta, a mio avviso, di dire chi ha ragione, torto, se una cosa è affidabile, non affidabile, ufficiale o non ufficiale.

              Quello che volevo mostrare io è che l’utente credeva di aver fatto una cosa “fuori dagli schemi” usando H piuttosto che !h (o !h? – dipende dalle guide anche qui), quando , invece, sono molto simili.
              Il fattore di scala da problemi? mah … senza una immagine reale da provare non si può tesare granché.

            • #114873
              Up
              0
              Down
              ::

              Black Goku” post=115261Secondo me, consiglio più pratico, dovresti allegare l’immagine incriminata e il testo della pagina così che anche noi possiamo compilare e vedere l’effetto.

              Cosa che tu hai fatto regolarmente, vero?

              Black Goku” post=115261Io uso

              `
              \begin{figure}[!h]
              \centering
              \includegraphicsscale=xx]{nomeimmagine}
              \caption{Graph for the error trend in position}
              \label{graph}
              \end{figure}
              `

              Con scale puoi gestire meglio la dimensione dell’immagine mantenendo le proporzioni. Magari è per quello che ti viene sballata … semplici accorgimenti.

              Impossibile che tu usi
              `\includegraphicsscale=xx]`
              perché una cosa così non esiste.

              Inoltre, se tu avessi almeno guardato (non dico letto) una qualunque guida decente, avresti visto che [tt][h!][/tt] va evitato.

              Non sei la persona più adatta a dare consigli, specie se sono consigli che configgono con quanto è stato consigliato solo poco prima.
              Assomigli sempre di più a un vecchio utente del forum 😉

              Ciao
              Tommaso

            • #114874
              Up
              0
              Down
              ::

              Black Goku” post=115278Quello che volevo mostrare io è che l’utente credeva di aver fatto una cosa “fuori dagli schemi” usando H piuttosto che !h (o !h? – dipende dalle guide anche qui), quando , invece, sono molto simili.

              Non sono per niente molto simili come scrivi.

              Se ti informassi, prima di esibirti in sentenze apodittiche, forse gli utenti che ti leggono eviterebbero la vertigine alternobarica (che può essere fatale).

              Ciao
              Tommaso

            • #114875
              Up
              0
              Down
              ::


              Non sono qui per dare consigli, sono nuovo e non conosco LaTeX come vuoi veterani o altri utenti.
              Mi sono approcciato da pochi mesi, lo ammetto. Ciò non toglie che in questi “problemi” mi ci sono imbattutto anche io e , anche se non ho chiesto apertamente , ho risolto.

              Di guide di LaTeX ce ne sono centinaia (o migliaria?), in mille lingue e diversi livelli di difficoltà e priorità.

              Capisco che a volte non posto il codice, ma con le immagini non è mai successo…

              E cmq se esite il Goku “classico” mi fa piacere che ci sia la controparte!

            • #114876
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::


                Sei nuovo e non conosci LaTeX.
                Non dai consigli.
                OK!
                R.

              • #114877
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::

                  Black Goku” post=115278La guida è la seguente

                  `
                  https://www.overleaf.com/learn/latex/Errors/%60!h'%20float%20specifier%20changed%20to%20%60!ht'
                  `

                  Non si tratta, a mio avviso, di dire chi ha ragione, torto, se una cosa è affidabile, non affidabile, ufficiale o non ufficiale.

                  Quello che volevo mostrare io è che l’utente credeva di aver fatto una cosa “fuori dagli schemi” usando H piuttosto che !h (o !h? – dipende dalle guide anche qui), quando , invece, sono molto simili.
                  Il fattore di scala da problemi? mah … senza una immagine reale da provare non si può tesare granché.

                  L’argomento della posizione dei float con o senza h, con o senza punto esclamativo; con o senza H dovrebbe essere chiusa. Come anche se qualcuno abbia orto o ragione, se sia affidabile o meno; se sia il “verbo” ufficiale o no.

                  Tuttavia devo aggiungere qualcosa che dimostra che, nonostante tutto quello che ho studiate in questi 30 anni e più, quello che dico non è sempre la verità, ma solo una mezza verità. Si tratta anche di non essere troppo prolissi qui nel forum e io lo sono già troppo.

                  MA devo aggiungere qualcosa che sapevo, ma che non venendomi a trovare quasi mai in quella situazione, non avevo pronto alla mente.

                  Confermo tutto ciò che ho detto in merito ad H e ad h con o senza punto esclamativo. Ma aggiungo: quando si usa h da solo e l’oggetto mobile, il floatin object o semplicemente float, non torva posto proprio li, viene messo in conda con l’aggiunta del posizionatore t. Ed ecco qui il punto: perché con h non stava lì? Risposta:
                  1) neon c’era abbastanza spazio nella pagina, oppure
                  2) il float era troppo grande.
                  Non sono sinonimi; se un fluat è alto il 10% della pagina e nella pagina c’è solo ancora il 5% dell’altezza disponibile, siamo nel primo caso; il float non ci sta e viene reso mobile mettendolo in coda in modo che possa apparire in testa ad na pagina successiva.
                  Se i vece il float è grande e d occupa il 75% della pagina e la pagina ha solo il 5% di spazio già occupato, il float potrebbe starci, ma siccome eccede il valore del 70% dello spazio che la classe riserva ai float posizionati in testa, viene accodato e blocca la coda, perché se eccede quel 70% l’eccede sempre, anche nelle pagine successive; la coda viene sbloccata solquando si da il comando \clearpage direttamente o indirettamente (lo è indirrettamente quando si usa un comando come \chapter, che a sua volta contiene \cleardoublepage, che a sua volt contiene \clearpage).

                  Ecco quindi che una piccola figura caratterizzata da h con o senza asterisco se ci sta proprio lì, lì viene messa; se non ci sta proprio lì e la coda è vuota, viene messa in testa alla pagina successiva, se la coda contiene altro resta in coda finché non è il suo turno; ma una volta che è in coda si composta come un float caratterizzato dal posizionatore t, che però non è libero di fare quello che vuole, ma è soggetto ai limiti imposti dimensionali impostati dalla classe.

                  Attenzione, quando si parla di altezza di un float bisogna tenere conto dello spazio totale che esso occupa nella pagina, quindi bisogna tenere conto non solo l’altezza dell’oggetto contenuto nel float (figura, tabella o altro) ma anche dello spazio occupato dalla didascalia, dal suo separatore e dagli spazi di separazione prima e/ dopo l’oggetto che si vuole rappresentare.

                  La differenza di comportamento di h, h! o !h rispetto ad H sono evidenti e i due posizionatori non sono affatto quasi uguali; lo sono forse, talvolta per una piccola figura, ma la somiglianza è solo apparente.

                • #114878
                  Giovanni Piredda
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    robitex” post=115254
                    Ciao.
                    A mio parere se serve una figura che non deve fluttuare semplicemente, non inserirla in un ambiente flottante come figure 🙂
                    Non ti pare?
                    R.
                    ps. puoi mettere in minuscolo il titolo del primo post? Grazie.

                    Se fa questo, pero’

                    1) altre figure “float”, che lui ha messo dopo nel codice, potrebbero passare davanti. Lo ho appena verificato (con tbp come opzione)
                    2) deve aggiungere codice per poter mettere una didascalia

                    Lo svantaggio mettendo H e’ che *potrebbe* rimanere spazio bianco nella pagina, ma non e’ detto; puo’ succedere se la figura e’ troppo grande per stare nello spazio rimanente della pagina; allora il programma, costretto da H, lascia bianco lo spazio rimanente e mette la figura come prima cosa nella pagina successiva. Ti permette di disattivare l’algoritmo che LaTeX usa per posizionare i float (che per esempio tiene conto di quanto spazio in una pagina e’ occupato dalle figure: quindi se c’e’ una figura e ci sarebbe spazio per un’altra, non ce la mette anche se c’e’ l’h), ma mantenere due caratteristiche dei float: la didascalia, e l’ordinamento rispetto agli altri float dello stesso tipo.

                  • #114879
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Allora non mi sono spiegato bene, temo.

                      Il codice di posizione H NON si deve usare mai. Punto e basta.
                      Non ci sono giustificazioni per fare una cosa simile.

                      Se proprio ci tieni a mettere una figura sufficientemente piccola in modo che non sia flottante, potresti usare l’ambiente center con la didascalia delle figure:[\code]…
                      \begin{center}
                      \includegraphics[…]{…}
                      \captionof{figure}{[…]{Didascalia}
                      \end{center}[/code]Quello che era in coda potrebbe mettere una figura prima dell’ambiente centrato, e quindi lo numererebbe con un numero che fiene prima di quello della didascalia centrata. Se nessuna float ancora in coda va a finire nella pagina della figura centrata la numerazione è corretta anche se quei float in coda vi erano andato prima di specificare l’ambiente center.

                      Una cosa che è facile scordare è che il numero viene assegnato alle didascalie nel momento in cui vengono spedite nel file di uscita, quindi quando sono davvero inserite nelle pagine.

                      Vediamo gli inconvenienti:
                      1) ambiente center non da problemi particolari se la figura con in suoi spazi di separazione e la didascalia ci sta lasciando di sotto o di sopra un numero sufficiente di righe di testo tali da non produrre righe vedove e/o righe orfane (vedi sotto). Se non ci sta o se ci sono forti penalità per righe vedove e/o orfane il’ambiente center viene autmaticamante spostato all’inizio della pagina successiva, ma allarga gli spazi verticali nella pagina corrente per non lasciare la pagina mozza; si rimedia con un \newpage prima di center se e solo se serve, ma rimane comnque la pagina mozza. Come dice il proverbio non si può avere la botte piena e il/la coniuge ubriaco/a. Ma c’è la soluzione 2)
                      2) la procedura corretta, comunque è quella semmai di usare il posizionatore h. Se nella pagina ci sta, bene, il problema è risolto. Se nella pagina non ci sta, vene rimandato in testa ad una pagina successiva, perché viene riaccodato come se avesse il posizionatore t. Se non ci sono figure un coda, la figura h viene in testa nella pagina immaediatamante successiva, senza lasciare né la pagina mozza, né capoversi eccessivamente spaziati. Se ci sono altri oggetti in code, che ricordiamo è una coda FIFO, First In First Out, la figura h verrà emessa con la sua brava didascalia col numero giusto quando sarà il suo turno.

                      Conclusione di tutta questa disanima? Usare h si può, meglio se non da solo, magari specificando htb, invece che solo h.
                      Usare l’ambiente centrato può dare risultati ottimi in prima battua, ma se rivedendo le bozze si eseguono delle correzioni che allungano o accorciano il testo che precede l’ambiente centrato, potrebbero nascere dei problemi con pagine mal composte.

                      Con il posizionatore H tutto ciò non si verifica, non è la stessa cosa dell’ambiente centrato e non è la stessa cosa di un ambiente caratterizzato dal codice h o htb.

                    • #114880
                      Giovanni Piredda
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        OldClaudio” post=115366Allora non mi sono spiegato bene, temo.

                        Il codice di posizione H NON si deve usare mai. Punto e basta.
                        Non ci sono giustificazioni per fare una cosa simile.

                        E’ che io sono di una opinione diversa: l”utente si accorge da solo se l’eventuale spazio bianco lasciato alla fine della pagina (unico problema che io vedo) gli va bene oppure no. Se non gli va bene, passa ad hp o htpb e lascia fare all’algoritmo di LaTeX. Se gli va bene, lo tiene come e’.

                        Il codice che hai postato si comporta in maniera simile ad H per quanto riguarda lo spazio bianco (cioe’ lo mette, lo ho appena verificato: e’ possibile che il parametro decisivo sia quanto testo c’e’ prima della figura – non ho testato in dettaglio ma con il file che ho adesso, dove nel punto della figura mancano due o tre righe prima della fine della pagina e rimane lo spazio bianco alla fine) ma non garantisce di mantenere l’ordine delle figure.

                        La riga orfana me l’ha prodotta anche l’ambiente center. Lo ho appena provato; per l’ambiente center l’effetto lo ottengo con una figura leggermente piu’ grande di quella del float con l’opzione H seguito da \centering : quella del float la ho scalata a .50 e quella del center a .51, il risultato e’ una figura di circa 6 cm di altezza; per completezza ho clubpenalty a 150 che mi pare sia standard, non so se ci sono altre impostazioni che possono avere un effetto su questo, se ci sono potrebbero essere nascoste in uno dei molti pacchetti che uso.

                        Quindi IMHO i vantaggi che hai dato per l’ambiente center non ci sono (o non sono cosi’ grandi come li hai rappresentati), e rimane lo svantaggio di doversi preoccupare dell’ordine dei float.

                      • #114881
                        OldClaudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Tu poi essere di parere diverso, ma stsi prendendo dimestichezza con queste cose. Va benissimo.
                          Ma in quello che hai descritto hai ripetuto quello che ho descritto io, tranne una cosa, quella del rispetto dell’ordine delle figure. Questo vuol solo dire che non hai capito che cosa sia una coda FIFO e che tieni conto solo di quello che fai tu e non quello che fa la coda.
                          Comunque fai bene a sperimentare, perché solo sperimentando si capisce la teoria, come senza teorian non ri riesce a prevedere l’esito delle propri decisioni.

                          Per tua conoscenza le penalità per widow penalty relativa alle righe vedove, e club penalty relativa allae righe orfane (valore conservato anche in \@clubpenalty) sono quele di default. Scrivendo in italiano il modulo per l’italiano di babel e di polyglossia le mette entrambe a 3000. In inglese sono penalità troppo basse; forse in italiano sono troppo alte.
                          Comunque, qualunque siano i valori di queste penalità, si tratta solo di parametri che servono per attribuire un valore di demerito in ogni possibile break di riga e di pagina per comporre i capoversi al meglio e suddividere le pagine al meglio. Quando l’algoritmo di Knuth esegue queste cose, esegue un sottoprogramma di ottimizzazione fra l’analogico e il discreto, difficilissimo da gestire, anche perché l’ottimo nello spazio multi-variabile dell’ottimizzazione del minimo della funzione di merito è osculato da un paraboloide presumibilmente ellittico e quindi il fondo di questo paraboloide (se fosse gestito con variabili continue) non è ben definito algoritmicamente (analiticamente lo sarebbe, ma purtroppo il problema della formazione dei capoversi e delle pagine non dipende da una funzione continua) quindi le vedove e le orfane ci sono lo stesso: molto rare, tuttavia non impossibili, nemmeno se mettessi una penalità pari a 9999 (il massimo valore finito gestibile da TeX).

                          Capisco che questa disquisizione ti possa sembrare fuori luogo, ma sono concetti da tenere sempre presenti quando si usa un programma per calcolatore; un tipografo che lavorasse a mano potrebbe forse fare meglio, ma dovrebbe essere molto, molto abile.

                        • #114882
                          Giovanni Piredda
                          Partecipante
                            Up
                            0
                            Down
                            ::

                            OldClaudio” post=115368Tu poi essere di parere diverso, ma stai prendendo dimestichezza con queste cose. Va benissimo.
                            Ma in quello che hai descritto hai ripetuto quello che ho descritto io, tranne una cosa, quella del rispetto dell’ordine delle figure. Questo vuol solo dire che non hai capito che cosa sia una coda FIFO e che tieni conto solo di quello che fai tu e non quello che fa la coda.

                            Se metti una figura “non float”, la metti fuori dalla coda dei float, quindi se vuoi che stiano in ordine (e puo’ interessarti se il tuo intento iniziale era “mettere la figura li’, a costo di spazi bianchi”) devi starci attento tu. Se la metti “float”, sta nella coda e dell’ordinamento si occupa LaTeX.

                          • #114883
                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::

                              giovanniP” post=115371

                              Tu poi essere di parere diverso, ma stai prendendo dimestichezza con queste cose. Va benissimo.
                              Ma in quello che hai descritto hai ripetuto quello che ho descritto io, tranne una cosa, quella del rispetto dell’ordine delle figure. Questo vuol solo dire che non hai capito che cosa sia una coda FIFO e che tieni conto solo di quello che fai tu e non quello che fa la coda.

                              Se metti una figura “non float”, la metti fuori dalla coda dei float, quindi se vuoi che stiano in ordine (e puo’ interessarti se il tuo intento iniziale era “mettere la figura li’, a costo di spazi bianchi”) devi starci attento tu. Se la metti “float”, sta nella coda e dell’ordinamento si occupa LaTeX.

                              Ohhh, finalmente abbiamo capito che non avevi capito! 🙂 succede 😉
                              Alla prossima.
                              R.

                            • #114884
                              Up
                              0
                              Down
                              ::

                              giovanniP” post=115371

                              Tu poi essere di parere diverso, ma stai prendendo dimestichezza con queste cose. Va benissimo.
                              Ma in quello che hai descritto hai ripetuto quello che ho descritto io, tranne una cosa, quella del rispetto dell’ordine delle figure. Questo vuol solo dire che non hai capito che cosa sia una coda FIFO e che tieni conto solo di quello che fai tu e non quello che fa la coda.

                              Se metti una figura “non float”, la metti fuori dalla coda dei float, quindi se vuoi che stiano in ordine (e puo’ interessarti se il tuo intento iniziale era “mettere la figura li’, a costo di spazi bianchi”) devi starci attento tu. Se la metti “float”, sta nella coda e dell’ordinamento si occupa LaTeX.

                              Intanto, come lettura propedeutica, posso consigliarti un articolo di Frank Mittelbach che ho tradotto insieme a OldClaudio su ArsTeXnica di aprile 2015.

                              Ciao
                              Tommaso

                            • #114885
                              Up
                              0
                              Down
                              ::

                              giovanniP” post=115371

                              Tu poi essere di parere diverso, ma stai prendendo dimestichezza con queste cose. Va benissimo.
                              Ma in quello che hai descritto hai ripetuto quello che ho descritto io, tranne una cosa, quella del rispetto dell’ordine delle figure. Questo vuol solo dire che non hai capito che cosa sia una coda FIFO e che tieni conto solo di quello che fai tu e non quello che fa la coda.

                              Se metti una figura “non float”, la metti fuori dalla coda dei float, quindi se vuoi che stiano in ordine (e puo’ interessarti se il tuo intento iniziale era “mettere la figura li’, a costo di spazi bianchi”) devi starci attento tu. Se la metti “float”, sta nella coda e dell’ordinamento si occupa LaTeX.

                            • #114886
                              Giovanni Piredda
                              Partecipante
                                Up
                                0
                                Down
                                ::

                                robitex” post=115372

                                Ohhh, finalmente abbiamo capito che non avevi capito! 🙂 succede 😉

                                R.

                                ROTFL.

                                La conclusione giusta e’ che H, per la richiesta dell’utente, va bene.

                                Alla prossima.

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

                            Go to top