Tabella che non vuole andare al suo posto

  • Creatore
    Topic
  • #89735
    Up
    0
    Down
    ::


    Ciao a tutti,
    praticamente ho un testo e una piccola tabella ecco il codice:

    `
    Gli stili architetturali possiamo dividerli in quattro grandi aree:

    \begin{table}
    {
    \begin{tabular}{|c|c|}
    \hline

    Categoria & Stili \\
    \hline
    Sviluppo & Client/Server, N-Tier, 3-Tier \\
    Comunicazione & Service-Oriented Architecture (SOA), Message Bus \\
    Dominio & Domain Driven Design \\
    Struttura & Component-Based, Object-Oriented, Layered Architecture \\

    \hline
    \end{tabular}
    \caption{Stili }
    \end{table}`

    tutto funziona solo che se ricavo il pdf mi accorgo che nella pagina la tabella è fissa in alto mentre il testo che dovrebbe esserci prima è sotto, eppure di spazi ce n’è non capisco come mettere fissa questa tabella sotto a quel testo nel codice che ho messo

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #89736
      alegenn
      Partecipante
        Up
        0
        Down
        ::

        felaslatex” post=89266Ciao a tutti,
        praticamente ho un testo e una piccola tabella ecco il codice:

        `
        Gli stili architetturali possiamo dividerli in quattro grandi aree:

        \begin{table}
        {
        \begin{tabular}{|c|c|}
        \hline

        Categoria & Stili \\
        \hline
        Sviluppo & Client/Server, N-Tier, 3-Tier \\
        Comunicazione & Service-Oriented Architecture (SOA), Message Bus \\
        Dominio & Domain Driven Design \\
        Struttura & Component-Based, Object-Oriented, Layered Architecture \\

        \hline
        \end{tabular}
        \caption{Stili }
        \end{table}`

        tutto funziona solo che se ricavo il pdf mi accorgo che nella pagina la tabella è fissa in alto mentre il testo che dovrebbe esserci prima è sotto, eppure di spazi ce n’è non capisco come mettere fissa questa tabella sotto a quel testo nel codice che ho messo

        Ciao e benvenuto,
        fai un uso della tabella “alla word”, (passami l’espressione), ma non è tipograficamente un uso corretto.
        La didascalia spiega attraverso un titolo oppure un titolo seguito da una frase di spiegazione cosa contiene la tabella.
        Quindi io scriverei:
        `
        % !TEX TS-program = pdflatex
        % !TEX encoding = UTF-8 Unicode

        \documentclass[11pt]{article} % use larger type; default would be 10pt

        \usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
        \usepackage[italian]{babel}

        %%% PACKAGES
        \usepackage{booktabs} % for much better looking tables
        \usepackage{hyperref}

        \begin{document}

        [\dots] come la suddivisione degli stili mostrata in tabella~\ref{tab:stili}.

        \begin{table}
        \centering
        \caption{Aree di suddivisione degli stili architetturali}
        \label{tab:stili}
        \smallskip

        \begin{tabular}{ll}
        \toprule
        Categoria & Stili \\
        \midrule
        Sviluppo & Client/Server, N-Tier, 3-Tier \\
        Comunicazione & Service-Oriented Architecture (SOA), Message Bus \\
        Dominio & Domain Driven Design \\
        Struttura & Component-Based, Object-Oriented, Layered Architecture \\
        \bottomrule
        \end{tabular}
        \end{table}

        \end{document}
        `
        inoltre nota che le didascalie nelle tabelle vanno poste sopra la tabella non sotto (come accade per le figure).
        Saluti

      • #89737
        Up
        0
        Down
        ::


        Benvenuto, ti auguro una buona permanenza sul nostro forum! 8)

        Stai utilizzando un ambiente flottante: questa particolare tipologia di ambienti (figure e table) hanno la proprietà di essere posizionati da LaTeX dove meglio “crede”. Di solito si specificano delle posizioni che Latex si sforza di seguire se possibile nel seguente modo
        `
        \begin{table}[htp]
        ….
        `
        Lo so che alcuni comportamenti possono sembrare strani all’inizio :grin:, ma avvengono perché latex segue specifiche regole tipografiche per produrre testi di alta qualità.

        Il mio consiglio è di leggere una qualsiasi guida di base (scarica da questo sito nella sezione documentazione “L’Arte di scrivere con latex”) per comprendere non solo i comandi necessari, ma anche la mentalità alla base di latex. Buona lettura e buon LaTeX 😆

      • #89738
        Up
        0
        Down
        ::

        felaslatex” post=89266Ciao a tutti,
        praticamente ho un testo e una piccola tabella ecco il codice:

        `
        Gli stili architetturali possiamo dividerli in quattro grandi aree:

        \begin{table}
        \begin{tabular}{|c|c|}
        \hline

        Categoria & Stili \\
        \hline
        Sviluppo & Client/Server, N-Tier, 3-Tier \\
        Comunicazione & Service-Oriented Architecture (SOA), Message Bus \\
        Dominio & Domain Driven Design \\
        Struttura & Component-Based, Object-Oriented, Layered Architecture \\

        \hline
        \end{tabular}
        \caption{Stili }
        \end{table}`

        tutto funziona solo che se ricavo il pdf mi accorgo che nella pagina la tabella è fissa in alto mentre il testo che dovrebbe esserci prima è sotto, eppure di spazi ce n’è non capisco come mettere fissa questa tabella sotto a quel testo nel codice che ho messo

        Non è proprio tipografia, ma una domanda del genere ci può stare perché coinvolge anche aspetti tipografici.

        Una tabella con didascalia non fa parte del discorso. Ci si può riferire al contenuto della tabella, usando il numero assegnato alla didascalia, ma una tabella dopo i due punti è davvero bruttino, tanto più che gli stili non sono nella colonna di sinistra.

        La frase “Gli stili architetturali possiamo dividerli in quattro grandi aree” non è proprio stilisticamente perfetta: l’anacoluto lascialo al Manzoni, tu vuoi spiegare stili di programmazione. 🙂

        `Possiamo dividere gli stili architetturali in quattro grandi aree: sviluppo, comunicazione, dominio e struttura. La divisione è illustrata nella tabella~\ref{tab:stili} bla bla.

        \begin{table}[htp]
        \centering
        \caption{Divisione degli stili architetturali per aree}\label{tab:stili}

        \begin{tabular}{ll}
        \toprule
        \textbf{Area} & \textbf{Stili} \\
        \midrule
        Sviluppo & Client/Server, N-Tier, 3-Tier \\
        Comunicazione & Service-Oriented Architecture (SOA), Message Bus \\
        Dominio & Domain Driven Design \\
        Struttura & Component-Based, Object-Oriented, Layered Architecture \\
        \bottomrule
        \end{tabular}

        \end{table}`
        Nel tuo preambolo avrai, fra le altre cose,
        `\usepackage{booktabs}
        \usepackage{caption}
        \captionsetup[table]{position=top}`

        Nota che la prima colonna è intestata “area”, visto che di quello parli e non di “categoria”. Con booktabs e i relativi comandi, le tabelle sono di gran lunga migliori e più professionali di quelle riquadrate che si vedono in giro. Fa’ il confronto e te ne convincerai.

        L’argomento facoltativo [tt][htp][/tt] invita LaTeX a provare a lasciare la tabella “lì”. Non è detto che ci riesca, per il solito motivo che non puoi mettere quattro ippopotami in una Cinquecento quando ci sono già i famosi quattro elefanti (due davanti e due dietro): la pagina è quella che è e questo tipo di posizionamento può funzionare solo con i rotoli di papiro che usavano gli antichi. Il riferimento alla tabella permette facilmente al lettore di trovarla.

        In fase di rifinitura ti accorgerai magari che la tabella va a finire dopo un “gira pagina”; in questo caso è possibile spostare il codice relativo prima del punto ottimale, togliendo [tt]h[/tt] in modo che la tabella vada in testa alla pagina dove c’è il riferimento o anche in quella precedente. L’importante è che sia nella coppia di pagine affiancate; ma a volte non è proprio possibile e ci si rassegna.

        Mi raccomando: poniti problemi! Un buon risultato tipografico si ottiene anche con lavoro di cesello. LaTeX fa il grosso del lavoro, le minuzie spettano all’uomo che sa vedere meglio della macchina.

        Ciao
        Enrico

      • #89739
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Naturalmente la puoi mettere fissa se togli l’ambiente flottante table. Poi la tabella, che non è di piccole dimensioni, ti rimarrà lì, come richiesto, ma LaTeX probabilmente, se la tabella non è a centro pagina, dovrà inserire degli spazi elastici prima o dopo la tabella, prima o dopo comandi di sezionamento, prima o dopo eventuali formule presenti nella pagina e la pagina risulterà uno schifo.

          Gli ambienti flottanti servono appunto per evitare le pagine brutte; tieni presente che i parametri con i quali lavora LaTeX per trovare una posizione agli oggetti flottanti, uniti ai calcoli delle bruttezze, delle considerazioni delle penalità e dei demeriti, spezza la pgina e colloca glo oggetti flottanti minimizzando una funzione di “bruttezza” per cui qualunque altra posizione produrrà un valore di bruttezza complessiva maggiore. dunque: lascia fare a LaTeX e non usare mai espressioni del tipo”… come si vede dalla seguente tabella:”m a riferisciti sempre indirettamente alla tabella con espressioni del tipo “… come si vede nella tabella~\ref{tab:lamiatabella}” avendo definito mediante ‘\abel collocato dopo il comando \caption l’etichetta simbolica a cui LaTeX darà sempre il numero giusto indipendentemente dalle modifiche che puoi apportare al file sorgente.

          Se vuoi essere più gentile con il lettore usa il pacchetto varioref (leggi la documentazione con texdoc varioref) e scrivi “… come si vede nella figura~\vref{tab:lamiatabella}” che gentilmente ti comporrà quella frase nel documento finale con una delle espressioni seguenti: “… come si vede nella tabelle 2.5 in questa pagina””, oppure “… come si vede nella tabella 2.5 nella pagina a fronte”, oppure “… come si vede nella tabella 2.5 nella prossima pagina”, oppure “… come si vede nella tabella 2.5 nella pagina 235”.

          Se poi il tuo documento dovrà essere consultato allo schermo di un PC o di un tablet, puoi sempre usare anche il pacchetto hyperref (come ultimo pacchetto caricato) che renderà tutti quei riferimenti 2.5 o a una pagina definita mediante collegamenti ipertestuali che consentiranno al visualizzatore PDF di spostarsi sull’obbiettivo, quando vi clicchi sopra.

          No, scrivere “… come si vede nella seguente tabella:” è un modo di procedere non tipografico, ma alla Word o Writer, i quali all’occorrenza spezzeranno la tabella al salto paigna o la sposteranno in modo imprevedibile magari diverso da quello che si vede su schermo e quanto viene eventualmente stampato. Se ti va bene procedere in questo modo, lascia stare LaTeX; se vuoi usare LaTeX, abbandona il modo di pensare che si usa quando si ricorre a un word processor: LaTeX non è un word processor, ma un programma di composizione tipografica. Questo non vuol dire che i word processor debbano essere abbandonato, vanno benissimo per scrivere documenti semplici e non strutturati, con poche figure e tabelle e con pochissima matematica; non parliamo dei segni speciali che si usano, oltre che in matematica, in scienze speciali, come la filologia, la chimica, e via di questo passo.

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

      Go to top