Tabelle o matrici?

  • Questo topic ha 6 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni fa da egreg9.
  • Creatore
    Topic
  • #77997
    Up
    0
    Down
    ::


    Buongiorno a tutti,

    sto cercando di scrivere tramite codice latex le tabelle o matrici come nella figura che vi ho postato.
    Ho provato a ricopiarne una tramite l’ambiente tabular ma il risultato non è proprio come mi aspettavo.
    Forse l’ambiente tabular non è il più adatto allo scopo.
    Chiedo quindi aiuto a voi esperti per scrivere queste tabelle.
    Grazie in anticipo.

    `
    \documentclass[12pt,a4paper,twoside]{book}
    \usepackage{etex}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[francais,english,italian]{babel}
    \usepackage[explicit]{titlesec}
    \usepackage{amsthm, amsmath, amsfonts, artbook}
    \usepackage[inline]{enumitem}
    \usepackage{empheq}
    \usepackage[thinlines,thiklines]{easybmat}
    \usepackage{graphicx}
    \usepackage{tocloft}
    \usepackage{caption}
    \usepackage{array, arydshln}
    \usepackage{footmisc}
    \usepackage{tcolorbox}
    \usepackage{multirow}
    \begin{document}
    \[
    \begin{tabular}{|ccccc|}
    \hline
    \rule[-4mm]{0mm}{1cm}
    $I_h$ & \multicolumn{4}{|c|}{} \\
    \hline
    %\rule[-1cm]{0mm}{1cm}
    \multirow{3}*{0} & \multicolumn{4}{:l|}{$b_1$} \rule{2cm}{0pt} \\
    \cline{2-5}
    \rule[-1cm]{0mm}{1cm}
    & \multicolumn{3}{:c|}{\multirow{2}*{$I_k$}} \rule{5mm}{0pt} & \multirow{2}*{} \\
    \cline{1-5}
    \multicolumn{4}{c}{\multirow{2}*{0}} & $b_2$ \\
    \cline{5-2}
    \multicolumn{4}{c:}{} & $I_l$ \\
    \hline
    \end{tabular}
    \]`
    \end{documento}

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #77998
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        TikZ

      • #77999
        Up
        0
        Down
        ::


        `\begin{tabular}{|ccccc|}
        \hline
        \rule[-4mm]{0mm}{1cm}
        $I_h$ & \multicolumn{4}{|c|}{} \\
        \cdashline{1-2} \cline{2-5}
        %\rule[-1cm]{0mm}{1cm}
        \multirow{3}*{0} & \multicolumn{4}{:l|}{$b_1$} \rule{2cm}{0pt} \\
        \cline{2-5}
        \rule[-1cm]{0mm}{1cm}
        & \multicolumn{3}{:c|}{\multirow{2}*{$\quad \ I_k$}} \rule{5mm}{0pt} & \multirow{2}*{} \\
        \cline{1-2} \cdashline{2-4} \cline{5-5}
        \multicolumn{4}{|c:}{\multirow{2}*{0}} & $b_2$ \\
        \cline{5-2}
        \multicolumn{4}{|c:}{} & $I_l$ \\
        \hline
        \end{tabular}`

        Ti ringrazio per la risposta. Ho provato a modificare il codice che avevo postato e la prima tabella mi è venuta.
        Ho provato un po’ con il pacchetto tikz ma non sono riuscito ad ottenere lo stesso risultato.
        Potresti farmi vedere un esempio di come fare la seconda tabella?
        Grazie ancora

      • #78000
        Up
        0
        Down
        ::

        Matemax” post=77136\begin{tabular}{|ccccc|}
        \hline
        \rule[-4mm]{0mm}{1cm}
        $I_h$ & \multicolumn{4}{|c|}{} \\
        \cdashline{1-2} \cline{2-5}
        %\rule[-1cm]{0mm}{1cm}
        \multirow{3}*{0} & \multicolumn{4}{:l|}{$b_1$} \rule{2cm}{0pt} \\
        \cline{2-5}
        \rule[-1cm]{0mm}{1cm}
        & \multicolumn{3}{:c|}{\multirow{2}*{$\quad \ I_k$}} \rule{5mm}{0pt} & \multirow{2}*{} \\
        \cline{1-2} \cdashline{2-4} \cline{5-5}
        \multicolumn{4}{|c:}{\multirow{2}*{0}} & $b_2$ \\
        \cline{5-2}
        \multicolumn{4}{|c:}{} & $I_l$ \\
        \hline
        \end{tabular}

        Ti ringrazio per la risposta. Ho provato a modificare il codice che avevo postato e la prima tabella mi è venuta.
        Ho provato un po’ con il pacchetto tikz ma non sono riuscito ad ottenere lo stesso risultato.
        Potresti farmi vedere un esempio di come fare la seconda tabella?
        Grazie ancora

        Aspettando il risultato di una simulazione mi sono messo a giocare un po’ con l’immagine e ho realizzato la prima delle tre figure (con una piccola aggiunta delle frecce esterne). 🙂

        Ecco il risultato:

        [attachment=418]Immagine_2012-09-03.jpg[/attachment]

        Relativo codice:

        `\documentclass[a4paper,11pt]{article}
        \usepackage{tikz}
        \usetikzlibrary{backgrounds}
        \begin{document}
        \[
        B=
        \begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax,scale=0.6,transform shape,yshift=-4cm,thick]
        % La griglia dovrebbe aiutare le prime volte per capire come posizionare le coordinate: va rimossa per il disegno finale
        \draw[help lines,dashed,opacity=0.75](-1,-1)grid(7,9);

        \draw(0,0)–(0,8)–(6,8)–(6,0)–cycle; % esterno

        % linee
        \draw[dashed](0,6)–(1.5,6)–(1.5,3)–(4.5,3)–(4.5,0); % linea tratteggiata
        \draw(1.5,8)–(1.5,6)–(6,6);
        \draw(1.5,5)–(6,5);
        \draw(4.5,3)–(6,3);
        \draw(4.5,2)–(6,2);
        \draw(4.5,3)–(4.5,5);

        % sfondo in background
        \begin{pgfonlayer}{background}
        \fill[gray!20](1.5,8)–(1.5,6)–(3,6)–(3,5)–(4.5,5)–(4.5,3)–(5.25,3)–(5.25,2)–(6,2)–(6,8)–cycle;
        \end{pgfonlayer}

        % label
        \foreach \place/\text in {{(0.75 , 7)/I_h},{(0.75 , 4)/0},{(2.25 ,5.5)/b_1},{(3,4)/I_k},{(2.25 ,1)/0},{(2.25 ,5.5)/b_1},{(5.25 ,1)/I_l},{(4.975 ,2.5)/b_2}}
        \node at \place {\LARGE\ensuremath{\text}};

        % Eventuali frecce esterne:
        % orizzontale
        \draw[stealth-stealth](0,8.5)–(6,8.5);
        \node[above] at (3,8.5) {\LARGE\ensuremath{n-r}};

        % verticale
        \draw[stealth-stealth](6.5,8)–(6.5,2);
        \node

        at (6.5,5) {\LARGE\ensuremath{n-r}};
        \end{tikzpicture}
        \]
        \end{document}`

        Commenti al codice: ho cercato di usare la sintassi nel modo più semplice possibile! Ho anche inserito la griglia per facilitare la comprensione nell’uso delle coordinate che ovviamente andrà tolta. I due passi forse meno facili sono:

        `baseline=-\the\dimexpr\fontdimen22\textfont2\relax`
        che serve and inserire la figura allineata verticalmente rispetto a quanto scritto in modalità matematica e

        `
        \foreach \place/\text in {{(0.75 , 7)/I_h}, […]`
        dove il primo argomento è la coordinata in cui si inserisce la label e il secondo argomento la label stessa. Tutte le label sono inserite in modalità matematica e il font è stato aumentato per compensare la riduzione che si ha con le opzioni [tt]scale=0.6,transform shape[/tt].

        Ciao
        Claudio

        Attachments:
        You must be logged in to view attached files.
      • #78001
        Up
        0
        Down
        ::


        Ti ringrazio tantissimo.
        L’ho riportato all’interno del testo che sto scrivendo e funziona perfettamente.
        Effettivamente la parte di codice più complicata è quella relativa alla baseline=-\the\dimexpr\fontdimen22\textfont2\relax.
        Ho capito a cosa serve ma non ci sarei mai arrivato.
        Grazie ancora.

      • #78002
        Up
        0
        Down
        ::

        Matemax” post=77246
        Effettivamente la parte di codice più complicata è quella relativa alla baseline=-\the\dimexpr\fontdimen22\textfont2\relax.
        Ho capito a cosa serve ma non ci sarei mai arrivato.

        Neppure io: è tutto merito di Enrico 🙂

        Ciao
        Claudio

      • #78003
        Up
        0
        Down
        ::

        Matemax” post=77246Ti ringrazio tantissimo.
        L’ho riportato all’interno del testo che sto scrivendo e funziona perfettamente.
        Effettivamente la parte di codice più complicata è quella relativa alla baseline=-\the\dimexpr\fontdimen22\textfont2\relax.
        Ho capito a cosa serve ma non ci sarei mai arrivato.
        Grazie ancora.

        [tt]\fontdimen22[/tt] si riferisce al parametro numero 22 del font che segue; in questo caso [tt]\textfont2[/tt] che è quello dei simboli matematici. Contiene l’altezza dalla linea di base delle linee di frazione (si chiama “asse delle formule”).

        Ciao
        Enrico

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

    Go to top