Inserire elenco puntato in tabella e centrare verticalmente

  • Creatore
    Topic
  • #41582
    Up
    0
    Down
    ::


    Buongiorno a tutti… Anche se sono un utlizzatore di LaTeX da un po’ (non troppo comunque) di tempo ormai, sono un utente registrato di questo forum soltanto da pochi giorni (forse uno…). Questa è la mia prima comparizione qui, e quindi saluto e ringrazio tutti in antipico…

    Passando alla domanda; io utilizzo MiKTeX 2.8 su Windows XP, e l’editor che utilizzo è LEd. Non posto alcun frammento di codice (se per voi sarà necessario basterà dirlo) perché il mio problema è che non trovo il modo di far fare a LaTeX quello che voglio. Mi spiego meglio: non è che ho del codice che mi dà errori, ma proprio non ho idea di cosa scrivere per fare quello che voglio. Io dovrei inserire un elenco puntato (ma anche array e immagini) in una tabella. Ho cercato su ogni manuale a mia disposizione e su “Ricerca Avanzata sul Forum di GuIT”, ma non ho trovato nulla. Come fare? (O, se conoscete qualche manuale dove questo viene spiegato, dove guardare?)

    Tra l’altro, per quanto riguarda le immagini, sono riuscito a inserirle nelle celle di una tabella, semplicemente eliminando il \begin{figure}, ecc… e inserendole con:

    \includegraphics[width=5.5cm,angle=0]{Immagine.png} (o pdf, o eps…)
    \label{fig:Immagine}

    e basta, ma rimane il problema che LaTeX non le centra verticalmente, almeno così facendo. Quindi oltre a come inserire immagini, elenchi, array in una tabella il mio problema è come centrarli verticalmente.

    Non vorrei essere stato troppo (o troppo poco) prolisso… quindi riassumo i miei problemi:
    1- Inserire elenchi (\itemize o \enumerate) (immagini, array) in tabelle
    2- Centrare verticalmente quanto inserito

    Spero di non aver violato qualche regola del forum… se così fosse ditemelo che la prossima volta eviterò di fare lo stesso errore. Grazie, Marco.

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #41583
      Antonio Ledda
      Partecipante
        Up
        0
        Down
        ::

        […]

        Non vorrei essere stato troppo (o troppo poco) prolisso… quindi riassumo i miei problemi:
        1- Inserire elenchi (\itemize o \enumerate) (immagini, array) in tabelle
        […]

        http://www.guit.sssup.it/phpBB2/viewtopic.php?t=1163&highlight=elenco+tabella

        Benvenuto.

        Ciao
        Antonio

      • #41584
        Up
        0
        Down
        ::


        Buongiorno Antonio, ti ringrazio molto sia del benvenuto che della risposta.

        Devo chiedere scusa perché davvero quel topic non l’avevo trovato… ho provato a fare quello che veniva proposto. Quello che posso dire (premetto che in questo periodo sto utilizzando ClassicThesis) è che il caricare o meno i pacchetti citati (tabularx e array) a me non cambia nulla. Se uso il codice:

        \begin{tabular}{|m{5cm}|m{2cm}|}
        \hline
        \begin{itemize}
        \item 1
        \item 2
        \item 3
        \end{itemize}
        & testo \\
        \hline
        \end{tabular}

        tutto ok, ma se scrivo (come ho sempre fatto finora):

        \begin{tabular}{|c|c|}
        \hline
        \begin{itemize}
        \item 1
        \item 2
        \item 3
        \end{itemize}
        & testo \\
        \hline
        \end{tabular}

        non funziona è da questo messaggio d’errore:

        ! LaTeX Error: Something’s wrong–perhaps a missing \item.
        See the LaTeX manual or LaTeX Companion for explanation.
        Type H for immediate help.

        1.460 \item 1

        Quello che cambia è che sostituisco |c|c| con |m{5cm}|m{2cm}|…
        Il problema dell’INSERIMENTO è quindi risolto, ma per farlo è stato necessario fare questa sostituzione, la quale impone soltanto una centratura verticale senza curarsi di quella orizzontale. Basterà quindi usare \centering, \begin{center}, … a seconda del caso per CENTRARE orizzontalmente.

        Grazie mille!

      • #41585
        Up
        0
        Down
        ::

        Buongiorno Antonio, ti ringrazio molto sia del benvenuto che della risposta.

        Devo chiedere scusa perché davvero quel topic non l’avevo trovato… ho provato a fare quello che veniva proposto. Quello che posso dire (premetto che in questo periodo sto utilizzando ClassicThesis) è che il caricare o meno i pacchetti citati (tabularx e array) a me non cambia nulla. Se uso il codice:

        \begin{tabular}{|m{5cm}|m{2cm}|}
        \hline
        \begin{itemize}
        \item 1
        \item 2
        \item 3
        \end{itemize}
        & testo \\
        \hline
        \end{tabular}

        tutto ok, ma se scrivo (come ho sempre fatto finora):

        \begin{tabular}{|c|c|}
        \hline
        \begin{itemize}
        \item 1
        \item 2
        \item 3
        \end{itemize}
        & testo \\
        \hline
        \end{tabular}

        non funziona è da questo messaggio d’errore:

        ! LaTeX Error: Something’s wrong–perhaps a missing \item.
        See the LaTeX manual or LaTeX Companion for explanation.
        Type H for immediate help.

        1.460 \item 1

        Quello che cambia è che sostituisco |c|c| con |m{5cm}|m{2cm}|…
        Il problema dell’INSERIMENTO è quindi risolto, ma per farlo è stato necessario fare questa sostituzione, la quale impone soltanto una centratura verticale senza curarsi di quella orizzontale. Basterà quindi usare \centering, \begin{center}, … a seconda del caso per CENTRARE orizzontalmente.

        Grazie mille!

        Non ha molto senso cercare di centrare qualcosa che di per sé non è centrato come una lista. Puoi fare (con alcune limitazioni) quello che desideri inserendo la lista “itemize” dentro un ambiente “minipage”, ovviamente impostando esplicitamente una larghezza. Non puoi, per caso, fare un esempio reale di ciò che desideri?

        Ciao
        Enrico

      • #41586
        Up
        0
        Down
        ::


        Buongiorno Enrico,

        ti rispondo ora velocemente e poi ti farò avere quello che vuoi… Quello che hai detto è assolutamente vero, ma oltre a inserire elenchi, devo inserire immagini, array, formule, e quindi mi serve che siano centrate sia verticalmente che orizzontalmente. Ho inserito delle formule e senza mettere \begin{center} non me le centra.

        Comunque metterò qualcosa di più preciso appena posso. Intanto, grazie davvero!

        Marco

      • #41587
        Up
        0
        Down
        ::


        Buongiorno Enrico,
        Finalmente posso mettere qualcosa di più preciso, come ti avevo detto.

        Ecco un PRIMO ESEMPIO:

        `\begin{tabular}{|m{5cm}|m{5cm}|}
        \hline
        \centering
        \includegraphics[width=3.cm,angle=0]{Immagine.eps}
        \label{fig:Immagine}
        \begin{center}
        Riga di prova
        \end{center} \\
        \hline
        Riga di prova
        &
        \begin{center}
        \begin{itemize}
        \item punto 1
        \item punto 2
        \item punto 3
        \end{itemize}
        \end{center} \\
        \hline
        \end{tabular}`

        Per prima cosa ho visto che non è possibile esplicitare, nelle opzioni appena dopo il comando \begin{tabular}, l’opzione c (centrato orizzontalmente) assieme a quella qui presentata, ovvero m{5cm}. Ma questo non è un grosso problema. Il problema principale, per me, è che la figura inserita non viene centrata esattamente, o almeno così pare, in quanto la riga superiore della tabella viene parzialmente coperta dall’immagine. Inoltre non sono riuscito a mettere una didascalia all’immagine.

        Un SECONDO ESEMPIO è questo (N.B. il comando \ds è un comando che ho rinominato. Quello standard di LaTeX sarebbe \displaymath. Risolvere il problema togliendo questo comando non mi andrebbe bene, perché le formule le voglio così come vengono scritte con \displaymath.):

        `\begin{tabular}{|c|c|}
        \hline
        $\mathbf{f(x)}$ & $\mathbf{f'(x)}$ \\
        \hline
        $y=\ln{x}$ & $y'=\ds \frac{1}{x}\quad x>0$ \\
        $y=\tan{x}$ & $y'=1+\tan^2{x}$ \\
        $y=\cot{x}$ & $y'=-(1+\cot^2{x})$ \\
        $y=a^x$ & $y'=a^x \ln{a}$ \\
        $y=\arccos{x}$ & $y'=- \ds \frac{1}{\sqrt{1-x^2}}$ \\
        $y=\arcsin{x}$ & $y'=\ds \frac{1}{\sqrt{1-x^2}}$ \\
        $y=\arctan{x}$ & $y'=\ds \frac{1}{1+x^2}$ \\
        $y=\arcot x$ & $y'=- \ds \frac{1}{1+x^2}$ \\
        $y=x^x$ & $y'=x^x(1+\ln{x})$ \\
        $y=\ds \left[ f(x) \right]^{\varphi (x)}$ & $y'=\ds \left[ f(x) \right]^{\varphi (x)} \left[ \ds \frac{\varphi(x)\,f'(x)}{f(x)} + \varphi '(x)\ln{f(x)} \right]$ \\
        \hline
        \end{tabular}`

        Provando a farlo compilare si può notare come l’ultima espressione matematica in basso tocca (o comunque è estremamente vicina) la riga della tabella. Quindi, un altro problema consta nel fatto che non riesco ad aumentare l’altezza della riga della tabella.

        Questi sono i problemi che mi sono rimasti… Se non sono stato sufficientemente chiaro fammi sapere che cercherò di spiegarmi meglio.

        Intanto Grazie mille!

      • #41588
        Up
        0
        Down
        ::

        Buongiorno Enrico,
        Finalmente posso mettere qualcosa di più preciso, come ti avevo detto.

        Ecco un PRIMO ESEMPIO:

        `\begin{tabular}{|m{5cm}|m{5cm}|}
        \hline
        \centering
        \includegraphics[width=3.cm,angle=0]{Immagine.eps}
        \label{fig:Immagine}
        \begin{center}
        Riga di prova
        \end{center} \\
        \hline
        Riga di prova
        &
        \begin{center}
        \begin{itemize}
        \item punto 1
        \item punto 2
        \item punto 3
        \end{itemize}
        \end{center} \\
        \hline
        \end{tabular}`

        Per prima cosa ho visto che non è possibile esplicitare, nelle opzioni appena dopo il comando \begin{tabular}, l’opzione c (centrato orizzontalmente) assieme a quella qui presentata, ovvero m{5cm}. Ma questo non è un grosso problema. Il problema principale, per me, è che la figura inserita non viene centrata esattamente, o almeno così pare, in quanto la riga superiore della tabella viene parzialmente coperta dall’immagine. Inoltre non sono riuscito a mettere una didascalia all’immagine.

        Un SECONDO ESEMPIO è questo (N.B. il comando \ds è un comando che ho rinominato. Quello standard di LaTeX sarebbe \displaymath. Risolvere il problema togliendo questo comando non mi andrebbe bene, perché le formule le voglio così come vengono scritte con \displaymath.):

        `\begin{tabular}{|c|c|}
        \hline
        $\mathbf{f(x)}$ & $\mathbf{f'(x)}$ \\
        \hline
        $y=\ln{x}$ & $y'=\ds \frac{1}{x}\quad x>0$ \\
        $y=\tan{x}$ & $y'=1+\tan^2{x}$ \\
        $y=\cot{x}$ & $y'=-(1+\cot^2{x})$ \\
        $y=a^x$ & $y'=a^x \ln{a}$ \\
        $y=\arccos{x}$ & $y'=- \ds \frac{1}{\sqrt{1-x^2}}$ \\
        $y=\arcsin{x}$ & $y'=\ds \frac{1}{\sqrt{1-x^2}}$ \\
        $y=\arctan{x}$ & $y'=\ds \frac{1}{1+x^2}$ \\
        $y=\arcot x$ & $y'=- \ds \frac{1}{1+x^2}$ \\
        $y=x^x$ & $y'=x^x(1+\ln{x})$ \\
        $y=\ds \left[ f(x) \right]^{\varphi (x)}$ & $y'=\ds \left[ f(x) \right]^{\varphi (x)} \left[ \ds \frac{\varphi(x)\,f'(x)}{f(x)} + \varphi '(x)\ln{f(x)} \right]$ \\
        \hline
        \end{tabular}`

        Provando a farlo compilare si può notare come l’ultima espressione matematica in basso tocca (o comunque è estremamente vicina) la riga della tabella. Quindi, un altro problema consta nel fatto che non riesco ad aumentare l’altezza della riga della tabella.

        Questi sono i problemi che mi sono rimasti… Se non sono stato sufficientemente chiaro fammi sapere che cercherò di spiegarmi meglio.

        Intanto Grazie mille!

        Sulla prima tabella non si capisce davvero che cosa tu voglia. Prova a spiegarti meglio.

        Per la seconda è evidente che il pacchetto booktabs permette di ottenere un effetto molto migliore:
        `\begin{tabular}{*{2}{>{\rule[-15pt]{0pt}{0pt}$\displaystyle}l<{$}}} \toprule \multicolumn{1}{c}{$f(x)$} & \multicolumn{1}{c}{$f'(x)$} \\ \midrule \log x & \frac{1}{x}\\ \tan x & 1+\tan^2 x \\ \cot x & -(1+\cot^2 x ) \\ a^x & a^x \ln a \\ \arccos x & -\frac{1}{\sqrt{1-x^2}} \\ \arcsin x & \frac{1}{\sqrt{1-x^2}} \\ \arctan x & \frac{1}{1+x^2} \\ x^x & x^x(1+\log x) \\ \relax [f(x)]^{\varphi (x)} & [f(x)]^{\varphi (x)} \left[\frac{\varphi(x)f'(x)}{f(x)}+\varphi'(x)\log f(x)\right] \\ \bottomrule \end{tabular}` Noterai che ho tolto del tutto il \mathbf che non ha senso. Ho anche eliminato il \ds (che dovrebbe voler dire \displaystyle e non \displaymath, spero); la sintassi della specificazione delle colonne è un po' bizzarra, forse, e la spiego nel dettaglio: (1) *{numero}{specificazioni} dice di ripetere le specificazioni date per il numero di volte; per esempio "*{3}{c}" equivale a "ccc"; in questo caso chiediamo due colonne con la specificazione che segue (2) >{A}colonna<{B} dice che vogliamo all'inizio di ogni cella A e alla fine B; qui A è dato da (a) \rule[-15pt]{0pt}{0pt} che inserisce un oggetto invisibile che aumenta la profondità della riga, cioè quanto occupa sotto la linea di base (b) $ che apre il modo matematico (c) \displaystyle che dice di comporre ogni formula con quello stile (3) "colonna" è "l" per avere l'allineamento a sinistra; "B", nel nostro caso, è $ che chiude il modo matematico. Le due colonne di intestazione sono a parte con \multicolumn. Ho eliminato gli inutilissimi y= e y'= (che sono anche sbagliati dal punto di vista matematico). Sicuro di voler mettere l'arcocotangente? E le ultime due? Io, sinceramente, le eliminerei a favore del metodo di scrivere $(f(x))^{g(x)} = \exp(g(x) \log f(x))$ e lavorare con la regola delle funzioni composte. Metterle in un formulario indica allo studente di doverle imparare; ma quando le trovano poi, oltre che in perfidi esercizi? E userei log anche con la pistola puntata alla tempia. :) Ultima annotazione: quel misterioso \relax c'è perché va sempre messo quando la prima cella di una riga di tabella comincia con una parentesi quadra. All'attento lettore la spiegazione. :) Ciao Enrico

      • #41589
        Up
        0
        Down
        ::


        Buongiorno Enrico,

        ancora una volta sono costretto a fornirti una risposta non del tutto completa. Non appena avrò tempo risponderò meglio. Intanto ti ringrazio moltissimo dell’aiuto che mi stai dando.

        Per quanto riguarda la PRIMA TABELLA il mio problema è semplicemente che l’immagine mi compre (impercettilmente, ma si nota) la riga della tabella, e quindi vorrei, quando creo una tabella, avere la possibilità di aumentare l’altezza della riga rispetto a quella che viene determinata da LaTeX. Forse la soluzione la troverò non appena potrò provare a compilare il codice che hai scritto tu (ti ringrazio ancora molto del tempo che hai speso)…

        Per quanto riguarda il resto:
        1 – non capisco cosa ci sia di male ad utilizzare \mathbf. Sia esteticamente, sia matematicamente non trovo errori. D’altronde il grassetto è piuttosto diffuso nei testi matematici ove compaiono vettori e matrici. Questo è tutt’altro caso certamente, ma non mi sembra che sia errato e nemmeno che stia male;

        2 – \ds sta effettivamente per \displaystyle;

        3 – per quanto riguarda y’ non è affatto scorretto, anzi. Nella matematica quel ‘ significa derivata prima spaziale (mentre se si vuole indicare la derivata prima temporale si mette un punto sopra la funzione). Al massimo potrai dirmi che c’è un comando più appropriato, appositamente posto in LaTeX. In ogni caso y e y’ compaiono esattamente nello stesso modo nel libro FISICA I – Meccanica e termodinamica scritto da Mencuccini C. e Silvestrini V. (pag. 746), ottimo testo universitario;

        4 – si, è proprio così, la funzione che ho inserito è l’arcocotangente (la tabella che ti ho dato mi è servita per per preparare un esame di Analisi Matematica del primo anno di Laurea Specialistica ad Ingegneria), e in alcuni esercizi mi è tornato utile…;

        5 – non ho capito cosa intendevi dire riguardo al log…, se intendi dire che è preferibile a ln (logaritmo naturale), non sono daccordo… log indica il logaritmo in base 10, ln in base e. Comunque al riguardo c’è un po’ di confusione… (per una verifica basta prendere una calcolatrice, almeno la mia 😀 )

        Grazie mille ancora!

      • #41590
        Up
        0
        Down
        ::


        Per quanto riguarda il resto:
        1 – non capisco cosa ci sia di male ad utilizzare \mathbf. Sia esteticamente, sia matematicamente non trovo errori. D’altronde il grassetto è piuttosto diffuso nei testi matematici ove compaiono vettori e matrici. Questo è tutt’altro caso certamente, ma non mi sembra che sia errato e nemmeno che stia male;

        No, è male: un simbolo è un simbolo e cambiarne la resa tipografica ne cambia il significato.

        2 – \ds sta effettivamente per \displaystyle;

        E certo! Avresti avuto una quantità assai imbarazzante di errori, altrimenti. 🙂

        3 – per quanto riguarda y’ non è affatto scorretto, anzi. Nella matematica quel ‘ significa derivata prima spaziale (mentre se si vuole indicare la derivata prima temporale si mette un punto sopra la funzione). Al massimo potrai dirmi che c’è un comando più appropriato, appositamente posto in LaTeX. In ogni caso y e y’ compaiono esattamente nello stesso modo nel libro FISICA I – Meccanica e termodinamica scritto da Mencuccini C. e Silvestrini V. (pag. 746), ottimo testo universitario;

        Ahi, qui si va molto OT. Dipende dai motivi che ti spingono a scrivere il tuo documento e i destinatari. Se parli di matematica (astratta, intendo), non c’è spazio e tempo: hai una funzione di una variabile la cui derivata è una certa altra funzione. Non ci sono né x né y; la x è il segnaposto, la potresti anche chiamare Asdrubale, sarebbe solo più complicato scrivere le formule. L’idea che c’è la “variabile indipendente” e la “variabile indipendente” è da tempo giustamente in un ripostiglio della storia ed è bene che ci stia.

        Quando nelle applicazioni ingegneristiche o fisiche si scrive y o z o qualcos’altro, quelli sono semplicemente i nomi delle funzioni. Si distingue quando la funzione è “del tempo” o “dello spazio” solo per chiarezza e per altri motivi che sarebbe lungo spiegare.

        4 – si, è proprio così, la funzione che ho inserito è l’arcocotangente (la tabella che ti ho dato mi è servita per per preparare un esame di Analisi Matematica del primo anno di Laurea Specialistica ad Ingegneria), e in alcuni esercizi mi è tornato utile…;

        Dissento, ma non ci faccio la guerra. 🙂

        5 – non ho capito cosa intendevi dire riguardo al log…, se intendi dire che è preferibile a ln (logaritmo naturale), non sono daccordo… log indica il logaritmo in base 10, ln in base e. Comunque al riguardo c’è un po’ di confusione… (per una verifica basta prendere una calcolatrice, almeno la mia 😀 )

        Eh, lo so! Gli ingegneri hanno imposto questo abominevole 😀 uso. Il logaritmo è solo uno, quello naturale. Fa’ come credi. Ma leggi bene la mia “sottofirma”. 🙂 Scommetto che la “d” del differenziale la scrivi dritta. 🙂

        Ciao
        Enrico

      • #41591
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Ultima annotazione: quel misterioso \relax c’è perché va sempre messo quando la prima cella di una riga di tabella comincia con una parentesi quadra. All’attento lettore la spiegazione. 🙂

          Senza il \relax, LaTeX interpreterebbe il contenuto delle quadre come uno spazio verticale extra da inserire dopo la riga:
          `\\[]`
          Non ci avevo mai pensato.

          Ciao,
          L.

        • #41592
          ernded
          Partecipante
            Up
            0
            Down
            ::

            Senza il \relax, LaTeX interpreterebbe il contenuto delle quadre come uno spazio verticale extra da inserire dopo la riga:
            `\\[]`

            L.

            Perchè?
            Andrebbe bene anche {[…]}?

            Ciao Grazie
            Ernesto

          • #41593
            Up
            0
            Down
            ::

            Senza il \relax, LaTeX interpreterebbe il contenuto delle quadre come uno spazio verticale extra da inserire dopo la riga:
            `\\[]`

            L.

            Perchè?
            Andrebbe bene anche {[…]}?

            Il comando \\ ha un argomento opzionale; quandi un comando ha argomenti opzionali gli spazi che seguono il nome del comando sono ignorati. Quindi, nel caso di \\, scrivere
            `\\[6pt]
            \\ [6pt]
            \\
            [6pt]`
            è equivalente. Nel caso di un ambiente array questo può dare problemi: in
            `\begin{array}{cc}
            a & b \\
            [a+(b+c)] & d
            \end{array}`
            la parentesi quadra verrebbe interpretata come il delimitatore dell’argomento opzionale; segue disastro. La soluzione migliore è
            `\begin{array}{cc}
            a & b \\
            \relax[a+(b+c)] & d
            \end{array}`
            Sono casi piuttosto rari e ci si può fare poco: quando succede, ci si gratta un po’ la testa e poi si capisce dov’è il busillis. In realtà, in questo caso, anche {[a+(b+c)]} andrebbe bene, ma è bene evitare di racchiudere tra graffe espressioni matematiche, ovviamente quando non sono argomenti di altri comandi. Nel caso in esame l’ambiente non è array, ma tabular ha lo stesso problema.

            Questo non succede con una quadra che segue, su una riga successiva, \\ negli ambienti di amsmath (gather, align, matrix, eccetera); ma continua a succedere in array e tabular anche se si carica amsmath.

            Ciao
            Enrico

          • #41594
            ernded
            Partecipante
              Up
              0
              Down
              ::


              Grazie Enrico, sempre chiarissimo
              ciao
              Ernesto

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

          Go to top