center e centering tabelle e figure

  • Creatore
    Topic
  • #113426
    claudio
    Partecipante
      Up
      0
      Down
      ::


      Da molto tempo che volevo scrivere questo post
      in effetti qui si discute di dettagli,
      per centrare una tabella o una figura usare center o centering?
      datemi la vostra opinione

      `
      \documentclass[10pt,a4paper]{article}
      \usepackage[utf8]{inputenc}
      \usepackage{amsmath}
      \usepackage{booktabs}
      \usepackage{array}
      \usepackage{subcaption}
      \usepackage{amssymb}
      \begin{document}
      prova
      \begin{center}
      \begin{tabular}{m{40pt}cc}
      \toprule
      & n pari & n dispari \\[0.5cm]
      \midrule
      $a \geqslant 0$ & $\sqrt[a]{a}\geqslant 0$ & $\sqrt[a]{a}\geqslant 0$\\[0.5cm]
      $a<0$ & non esiste & $\sqrt[a]{a}< 0$ \\ \bottomrule \end{tabular}\captionof{table}{Dominio e positività} \end{center} prova {\centering \begin{tabular}{m{40pt}cc} \toprule & n pari & n dispari \\[0.5cm] \midrule $a \geqslant 0$ & $\sqrt[a]{a}\geqslant 0$ & $\sqrt[a]{a}\geqslant 0$\\[0.5cm] $a<0$ & non esiste & $\sqrt[a]{a}< 0$ \\ \bottomrule \end{tabular}\captionof{table}{Dominio e positività}\par } prova \begin{center} \begin{tabular}{m{40pt}cc} \toprule & n pari & n dispari \\[0.5cm] \midrule $a \geqslant 0$ & $\sqrt[a]{a}\geqslant 0$ & $\sqrt[a]{a}\geqslant 0$\\[0.5cm] $a<0$ & non esiste & $\sqrt[a]{a}< 0$ \\ \bottomrule \end{tabular}\captionof{table}{Dominio e positività} \end{center} prova {\centering \begin{tabular}{m{40pt}cc} \toprule & n pari & n dispari \\[0.5cm] \midrule $a \geqslant 0$ & $\sqrt[a]{a}\geqslant 0$ & $\sqrt[a]{a}\geqslant 0$\\[0.5cm] $a<0$ & non esiste & $\sqrt[a]{a}< 0$ \\ \bottomrule \end{tabular}\captionof{table}{Dominio e positività}\par } \end{document} ` ps si vede subito che manca table ma in un documento privo di testo ha senso usarlo? ciao claudio

    Visualizzazione 7 filoni di risposte
    • Autore
      Risposte
      • #113427
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::



          @Claudio
          , da contributore esperto sai sicuramente, anche se la cosa ti sfugge, che dentro gli ambienti flottanti “bisogna” usare \centering e aborrire l’ambiente center.

          Perché? Semplicemente perché l’ambiente inserisce un riga bianca prima e un’altra dopo il suo contenuto; in questo modo rimane troppo spazio bianco attorno all’oggetto e fra l’oggetto e la didascalia.

          Se il tuo scopo è quello di distanziare la didascalia dalla tabella sottostante, non è \center la soluzione, ma è il pacchetto caption con l’opzione per mettere la didascalia sopra le tabelle; oppure la classe memoir, oppure altre classi configurabili che dispongano di questo trattamento diverso per le didascalie per le figure (sotto) e per le tabelle (sopra).

        • #113428
          claudio
          Partecipante
            Up
            0
            Down
            ::


            A volte si guarda il dito e non si vede la luna
            Le mie tabelle non mi piacevano e davo la colpa all’ambiente center…
            mentre dipendeva da dove mettevo la caption.
            Un giorno utilizzerò memoir ma mi spaventa la sua documentazione la classe book mi piace perche è semplice
            e diciamo onesta nei suoi limiti, se vuoi qualcosa in più è certo che devi aggiungerla non cercarla.
            Ciao
            claudio

          • #113429
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sono d’accordo con te che la classe book è semplice e onesta e che se devi fare qualche modifica ti basta aggiungerla senza doverla cercare in un manuale immenso.
              Devo dire però che è un manuale ben fatto quello di memoir; se non modifichi niente si comporta tale e quale a book. Se vuoi modificare qualcosa, quel qualcosa deve essere qualificabile in qualche maniera: didascalia, tabella, indice, citazione, testatina,… Nel capitolo apposito di poche pagine c’è scritto tutto quello che serve per configurare quel qualcosa. Quando si è prese l’abitudine, non è poi così difficile. Da solo memoir contiene le funzionalità di una trentina di pacchetti, quelli che si usano più spesso.

              Personalmente ho costruito diverse classi appoggiandomi a memoir; capisco che quando scrivi un file di classe fai di solito un grosso lavoro di configurazione, quindi vale la pena ricorrere a memoir. Per un piccolo dettaglio, probabilmente i pacchetti di estensione sono migliori.

            • #113430
              Up
              0
              Down
              ::

              claudio” post=113794A volte si guarda il dito e non si vede la luna
              […]

              A volte ciò dipende dal fatto che uno non spiega bene che cosa sta chiedendo… 😉 😛 🙄

              Di regola, come ha già spiegato @OldClaudio, si usa l’ambiente [tt]center[/tt] (se e) solo se la tabella non è contenuta in un oggetto mobile (tipicamente un ambiente [tt]table[/tt]), per esempio quando si inserisce una tabella fra un capoverso e l’altro ancorando la sua posizione al testo stesso, esattamente come succederebbe con un’equazione fuori corpo; si usa, invece, la dichiarazione [tt]\centering[/tt] se (e solo se) la tabella è contenuta in un oggetto mobile.

              Questo sembrava inizialmente il dilemma circa il quale stavi chiedendo lumi; ma ora dici che la questione vera riguarda la posizione della didascalia. Il codice che hai affisso come esempio del problema non aiuta molto a capire, perché usa pacchetti che non sembrano pertinenti (perché subcaption invece del semplice caption? Addirittura, se quello che ti occorre è soltanto il comando [tt]\captionof[/tt], puoi limitarti a caricare il pacchetto capt-of, che praticamente consta dell’unica linea di codice`\newcommand\captionof[1]{\def\@captype{#1}\caption}`Per contro, scrivendo in italiano, sicuramente caricherai fontenc e babel…). Ad ogni modo, da quel che mostri il tuo sembra proprio il caso di una tabella inserita «in display» tra due fissati capoversi, quindi qui è evidentemente obbligatorio optare per l’ambiente [tt]center[/tt]!

              Insomma, potresti spiegarti meglio? 🙂

              Ciao.


              Gustavo

            • #113431
              claudio
              Partecipante
                Up
                0
                Down
                ::



                @oldclaudio
                non sembra ma sono un tuo accanito lettore e conosco bene la tua propensione a memoir. Tuttavia io sono un pigro che si è costruito non dico classi ma un insieme di procedure che ormai sono alla base della mia produzione 🙂 latex.
                Comunque voglio predere il tuo consiglio come una sfida e provare memoir.
                @gustavo ho circa 200 pagine di formule e praticamente nessuna riga di testo. Le formule le scrivo con equation, allign, \[\] (che tendo a togliere) ho una quantina tra tabelle e figure realizzate con tikz. In generale come gestire una situzione del genere ?. Non mi pare il caso di usare oggetti float, mancando il testo li troverei tutti infondo. quindi rimangono center e centering ma quale utilizzare?
                claudio

                ps il codice è un emc quindi manca di molte cose. Subcaption perche ho un’immagine coposta da sotto parti. capt-of non sapevo che esisteva. non sapevo che caption-off esistesse (scusate il caldo ho perso un congiuntivo)

              • #113432
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Vuoi dire che “non sapevi che caption-of esistesse”… 😮

                  No, certo, se le cose stanno come dici allora devi usare center (che NON va assolutamente usato dentro gli ambienti flottanti, ma che va usato per tenere fermi gli oggetti senza farli galleggiare; e la didascalia la metti con[tt]\cptionof{figure}{Didascalia[/tt\ perché ti scriva Figura 33: Didascalia.
                  Probabilmente alla spaziatura sopra o sotto la didascalia devi provvedere tu con ina spaziatura verticale esplicita; probabilment ti basta un bigskip oppure un \medskip.

                • #113433
                  Up
                  0
                  Down
                  ::


                  Attenzione: il nome del mini-pacchetto che rende disponibile il comando [tt]\captionof[/tt] (senza fare nient’altro) è capt-of, non «caption-of».

                  Ciao.


                  Gustavo

                • #113434
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Si, scusatemi; ho fatto un po’ di confusione fra i nomi \captionof defintito da capt-of.

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

                Go to top