tabular e adeguamento testo nelle righe

  • Creatore
    Topic
  • #13065
    Up
    0
    Down
    ::


    utente:Miktex,win,texcincenter

    Salve, ho scritto questo codice per una tabella

    \begin{tabular}{|c|r|}
    \hline
    $\forall i\in\{1,\dots m\}\,\, x_{i}\in [-1,0]\cup[\epsilon,0]$
    &
    otherwise \\

    \begin{tabular}{|c|c|}
    \hline
    $y_{\bar{i}}$ & ${\bar{y}}_{i}$ \\
    \hline
    $\left[ -1,0 \right[$ & $\left.\right] y_{\bar{i}},0 \left[\right.$ \\
    \hline
    $\left.\right]0,1\left.\right]$ & $\left.\right]0,y_{\bar{i}}\left[\right.$\\
    \hline
    $0$ & $J\left(y_{\bar{i}},y_{\bar{\bar{i}}}\right)$ \\
    \hline
    \end{tabular}
    &
    \begin{tabular}{|c|c|}
    \hline
    $y_{\bar{i}}$ & ${\bar{y}}_{i}$ \\
    \hline
    $\left[ -1,0 \right[$ & $\left.\right]y_{\bar{i}},0\left[\right.$ \\
    \hline
    $0$ & $J\left(y_{\bar{i}},y_{\bar{\bar{i}}}\right)$ \\
    \hline
    $ \Big ] 0,\dfrac{9}{16}\epsilon^{2}\Big [ $ & $\Big ]y_{\bar{i}},\dfrac{9}{16}\epsilon^{2}\Big [$ \\
    \hline
    $\dfrac{9}{16}\epsilon^{2}$ & $\bar{y}_{1}=y_{\bar{1}} \,\,m=1$ \\
    \hline
    $\Big ]\dfrac{9}{16}\epsilon^{2}, -1 \Big ]$ & $\Big ]\dfrac{9}{16}\epsilon^{2},y_{\bar{i}}\Big [$\\
    \hline
    \end{tabular}\\
    \hline
    \end{tabular}

    Il mio preambolo è
    \documentclass[12pt]{article}
    \usepackage{amsthm}
    \usepackage[english]{babel}
    \usepackage{booktabs}
    \usepackage{epsfig}
    \usepackage{amsmath}
    \usepackage{amsfonts,graphicx,latexsym}
    \usepackage{enumerate}
    \usepackage{enumitem}
    \newenvironment{elenco}{%
    \begin{enumerate}[label=Area~\arabic*.,ref=Area~\arabic*]}%
    {\end{enumerate}}
    \newenvironment{elencoi}{%
    \begin{enumerate}[label=\roman*.,ref=\roman*]}%
    {\end{enumerate}}
    \usepackage{makeidx}
    \usepackage{varioref}
    \usepackage[colorlinks,backref]{hyperref}
    \usepackage{xr}
    \usepackage{url}
    \usepackage{lineno}
    \usepackage{varioref}
    \usepackage[colorlinks,backref]{hyperref}
    \usepackage{xr}
    \usepackage{url}
    %\newenvironment{proof}{\textit{\textbf{Proof.}} \textrm}{$\Box$\\}
    \theoremstyle{plain}
    \newtheorem{teo}{Theorem}[section]
    \newtheorem{prop}{Proposition}[section]
    \newtheorem{cor}[prop]{Corollary}
    \newtheorem{lem}[prop]{Lemma}
    \theoremstyle{definition}
    \newtheorem{Def}{Definition}[section]
    \theoremstyle{remark}
    \newtheorem{oss}{Remark}[section]
    \newtheorem{ex}{Example}[section]
    \setlength{\textwidth}{6.5in} \setlength{\hoffset}{-0.2in}
    \setlength{\voffset}{-1.25in} \setlength{\textheight}{9.25in}
    \renewcommand{\dfrac}{\displaystyle\frac}
    \renewcommand {\baselinestretch}{1.6}
    \usepackage{amssymb}
    \newcommand{\R}{\mathbb{R}}
    \newcommand{\N}{\mathbb{N}}

    Come vedete, si tratta di una tabella sulla cui seconda riga ci sono due tabelle.
    il problema è che nelle tabelle alla seconda riga della tabella principale il testo non si adegua alla lunghezza delle celle dell’ambiente tabular. Non riesco a inserirlo per bene.
    Lo stesso tipo di problema si nell’inserimento dell’oggetto tabella nell’ambiente tabella piu’ grande.

    Forzando questa cosa con \\, si ottiene una dicontinuità delle linee verticali in entrambi i casi di cui parlavo al paragrafo precedente.

    Qualche indicazione mi sarebbe utile.
    Sono sicuro di non avere scritto una grande tabella. Ho letto un po di cose sui manuali, sulla documentazione booktabs…ma non ne sono venuto a capo.
    Grazie mille.

    Francesco 😯 😯

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #13066
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Come vedete, si tratta di una tabella sulla cui seconda riga ci sono due tabelle.
        Qualche indicazione mi sarebbe utile.
        Sono sicuro di non avere scritto una grande tabella. Ho letto un po di cose sui manuali, sulla documentazione booktabs…ma non ne sono venuto a capo.

        Ciao Francesco, ho dato un’occhiata alla tua tabella, ma non ci capisco niente! Le tabelle dovrebbero servire per presentare dei dati in modo ordinato e immediatamente fruibile, ti consiglio di valutare una soluzione diversa: mettiti nei panni di uno che legge il tuo articolo!

        Il tuo preambolo, poi, non è minimale. Non definire a mano i margini.

        Ciao,
        L.

      • #13067
        Up
        0
        Down
        ::

        Salve, ho scritto questo codice per una tabella
        `\begin{tabular}{|c|r|}
        \hline
        $\forall i\in\{1,\dots m\}\,\, x_{i}\in [-1,0]\cup[\epsilon,0]$
        &
        otherwise \\

        \begin{tabular}{|c|c|}
        \hline
        $y_{\bar{i}}$ & ${\bar{y}}_{i}$ \\
        \hline
        $\left[ -1,0 \right[$ & $\left.\right] y_{\bar{i}},0 \left[\right.$ \\
        \hline
        $\left.\right]0,1\left.\right]$ & $\left.\right]0,y_{\bar{i}}\left[\right.$\\
        \hline
        $0$ & $J\left(y_{\bar{i}},y_{\bar{\bar{i}}}\right)$ \\
        \hline
        \end{tabular}
        &
        \begin{tabular}{|c|c|}
        \hline
        $y_{\bar{i}}$ & ${\bar{y}}_{i}$ \\
        \hline
        $\left[ -1,0 \right[$ & $\left.\right]y_{\bar{i}},0\left[\right.$ \\
        \hline
        $0$ & $J\left(y_{\bar{i}},y_{\bar{\bar{i}}}\right)$ \\
        \hline
        $ \Big ] 0,\dfrac{9}{16}\epsilon^{2}\Big [ $ & $\Big ]y_{\bar{i}},\dfrac{9}{16}\epsilon^{2}\Big [$ \\
        \hline
        $\dfrac{9}{16}\epsilon^{2}$ & $\bar{y}_{1}=y_{\bar{1}} \,\,m=1$ \\
        \hline
        $\Big ]\dfrac{9}{16}\epsilon^{2}, -1 \Big ]$ & $\Big ]\dfrac{9}{16}\epsilon^{2},y_{\bar{i}}\Big [$\\
        \hline
        \end{tabular}\\
        \hline
        \end{tabular}`
        Come vedete, si tratta di una tabella sulla cui seconda riga ci sono due tabelle.
        il problema è che nelle tabelle alla seconda riga della tabella principale il testo non si adegua alla lunghezza delle celle dell’ambiente tabular. Non riesco a inserirlo per bene.
        Lo stesso tipo di problema si nell’inserimento dell’oggetto tabella nell’ambiente tabella piu’ grande.

        Forzando questa cosa con \\, si ottiene una dicontinuità delle linee verticali in entrambi i casi di cui parlavo al paragrafo precedente.

        Qualche indicazione mi sarebbe utile.
        Sono sicuro di non avere scritto una grande tabella. Ho letto un po di cose sui manuali, sulla documentazione booktabs…ma non ne sono venuto a capo.

        Detto sinceramente, da una roba di quel genere dubito che si possa capire che cosa stai cercando di dire al lettore. Né si capisce veramente quale sia il tuo problema.

        In una tabella non è il testo che si adegua alla lunghezza delle celle, ma viceversa. Forse ciò che vuoi dire è che le frazioni si appoggiano alle linee orizzontali?

        Cerca di spiegarti meglio, ma prima di tutto pensa al fatto che una tabella del genere è orribile.

        Nel frattempo, provo a darti qualche dritta sul preambolo.

        (1) Se sei in Europa, aggiungi l’opzione a4paper a \documentclass
        (2) Cancella la richiesta di epsfig (obsoleto) e di enumerate (visto che poi usi la sintassi di enumitem)
        (3) Metti la definizione degli ambienti elenco e elencoi in un altro posto, insieme a tutte le altre definizioni
        (4) Non chiedere due volte lo stesso pacchetto! Sprechi solo bit. 🙂
        (5) Se devi modificare la gabbia (cioè l’area della pagina dove scrivi), usa il pacchetto geometry
        (6) Se devi modificare l’interlinea usa il pacchetto setspace
        (7) Il comando \dfrac fa già esattamente ciò che vorresti con la definizione
        `\renewcommand{\dfrac}{\displaystyle\frac}`
        L’unica differenza è che il tuo codice è sbagliato, perché forza il \displaystyle in tutta la formula in cui compare un \dfrac.

        Ultimo suggerimento: puoi evitare tutti quei $ usando l’ambiente array invece di tabular. Va in modo matematico, però. Devi solo scrivere \text{otherwise}.

        Ciao
        Enrico

      • #13068
        Up
        0
        Down
        ::


        Ciao,

        avete ragione. Non è una gran tabella.
        Ma il problema che, comunque, si presenta è di carattere generale.
        Mi spiego: quando scrivo una tabella, la lunghezza della riga non riesce ad adeguarsi
        al testo. Che succede?
        che ho il testo (matematico, nella fattispecie) attaccato alle linee orizzontali che separano una riga dall’altra col comando \hline. Se forzo il testo con un \\, cosa succede?
        che la linea verticale (begin{tabular}{|c|c|}) si interrompe per quel trattino in cui ho forzato con il comando \\.

        Questo è il fatto in generale.
        Nel caso che vi ho presentato, il testo è matematico e vi sono inseriti dei comandi del tipo
        \dfrac di cui Enrico parlava; e che, forse, hanno qualche problema nel settaggio del preambolo; e che, forse, procurerebbero il problema di riempimento eccessivo della riga.

        Per quanto riguarda la mia tabella, avevo intenzione di usare differenti colori per rendere piu fruibile la lettura ed eliminare qualche lineaa di troppo.
        Sinceramente, l’idea di una tabella i cui oggetti siano ancora delle tabelle non mi sembra cosi cattiva, se l’espressione orribile si riferisce a quello.
        Cerchero’ di scriverla un po meglio…passando all ‘ambiente array.

        Spero di aver spiegato il problema. Ditemi di si… vi prego. Vi saluto con la solita’ cordialità
        e vi auguro buona domenica.

        Francesco

        8) 8) 8)

      • #13069
        Up
        0
        Down
        ::

        avete ragione. Non è una gran tabella.

        Già. 🙂

        Ma il problema che, comunque, si presenta è di carattere generale.
        Mi spiego: quando scrivo una tabella, la lunghezza della riga non riesce ad adeguarsi
        al testo. Che succede?

        ALTEZZA! L’altezza della riga!

        che ho il testo (matematico, nella fattispecie) attaccato alle linee orizzontali che separano una riga dall’altra col comando \hline. Se forzo il testo con un \\, cosa succede?
        che la linea verticale (begin{tabular}{|c|c|}) si interrompe per quel trattino in cui ho forzato con il comando \\.

        Evita le linee orizzontali. Oppure usa
        `\dfrac{\mathstrut numeratore}{\mathstrut denominatore}`
        Cancella la tua ridefinizione di \dfrac, mi raccomando. Puoi sostituirla con
        `\newcommand{\tabdfrac}[2]{\dfrac{\mathstrut #1}{\mathstrut #2}}`
        e usare \tabdfrac in tabular o array.

        Ciao
        Enrico

      • #13070
        Up
        0
        Down
        ::


        Provero’ quello che mi hai detto. Adesso mi metto al lavoro…vediamo un po’.
        Grazie Enrico.
        Vi farò sapere al più presto.
        Ciao.

        Francesco 😉

      • #13071
        Up
        0
        Down
        ::


        Allora, seguendo i consigli di Enrico, le cose sono migliorate un po’.
        Effettivamente, usando \tabdfrac si ottiene una migliore separazione tra la frazione contenuta nel testo e la linea orizzontale che separa le righe.
        Leggero’, comunque, la documentazione di altri packages per tabelle che possono essere utili e cerchero’ di chiarire se si puo’ far meglio in generale.

        Chiaramente, rimane un problema di stile della mia tabella che non è chiarissima dal punto di vista delle scelte effettuate.

        Grazie ad Enrico e Lorenzo.

        Ciao.
        Francesco. 😀

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

    Go to top