Matrix using tikz packagealigning a multiline formula with the bullet of itemizeRotate a node but not its content: the case of the ellipse decorationvertical lines in matrix using tikz packageSubequation aligning using matrixNumerical conditional within tikz keys?Missing } inserted when using beginmatrixDrawing this matrix using TikzAlignment for equationsLatex matrix tikzCreating 6x6 matrix using bmatrix

Should a narrator ever describe things based on a character's view instead of facts?

Why does the frost depth increase when the surface temperature warms up?

How to preserve electronics (computers, iPads and phones) for hundreds of years

Do I have to take mana from my deck or hand when tapping a dual land?

Should I warn a new PhD Student?

Confusion over Hunter with Crossbow Expert and Giant Killer

Consistent Linux device enumeration

What is this high flying aircraft over Pennsylvania?

How to understand "he realized a split second too late was also a mistake"

Why is the sun approximated as a black body at ~ 5800 K?

Why the "ls" command is showing the permissions of files in a FAT32 partition?

Would this string work as string?

The garden where everything is possible

Why didn’t Eve recognize the little cockroach as a living organism?

"Oh no!" in Latin

How to make a list of partial sums using forEach

Animation: customize bounce interpolation

Can I cause damage to electrical appliances by unplugging them when they are turned on?

How can I, as DM, avoid the Conga Line of Death occurring when implementing some form of flanking rule?

Adjusting bounding box of PlotLegends in TimelinePlot

What does the word 'upstream' mean in the context?

Storage of electrolytic capacitors - how long?

Remove all of the duplicate numbers in an array of numbers - Javascript

If the only attacker is removed from combat, is a creature still counted as having attacked this turn?



Matrix using tikz package


aligning a multiline formula with the bullet of itemizeRotate a node but not its content: the case of the ellipse decorationvertical lines in matrix using tikz packageSubequation aligning using matrixNumerical conditional within tikz keys?Missing } inserted when using beginmatrixDrawing this matrix using TikzAlignment for equationsLatex matrix tikzCreating 6x6 matrix using bmatrix













6















I am working on my dissertation and I have no idea how I should do this in LaTeX.



And the shading definitely is challenging.



enter image description here



I have only been able to do this so far, I am still an amateur at it.



usepackagecolor
newcommandxtimes
newcommandycellcolorgreen

begindocument
beginequation*
left[
beginarrayccc
y & y & y \
& y & y R \
& & y \
endarray
right]left[
beginarrayc
\
a_j \
\
endarray
right]=
endequation*
enddocument


output










share|improve this question









New contributor




Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    6















    I am working on my dissertation and I have no idea how I should do this in LaTeX.



    And the shading definitely is challenging.



    enter image description here



    I have only been able to do this so far, I am still an amateur at it.



    usepackagecolor
    newcommandxtimes
    newcommandycellcolorgreen

    begindocument
    beginequation*
    left[
    beginarrayccc
    y & y & y \
    & y & y R \
    & & y \
    endarray
    right]left[
    beginarrayc
    \
    a_j \
    \
    endarray
    right]=
    endequation*
    enddocument


    output










    share|improve this question









    New contributor




    Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      6












      6








      6


      1






      I am working on my dissertation and I have no idea how I should do this in LaTeX.



      And the shading definitely is challenging.



      enter image description here



      I have only been able to do this so far, I am still an amateur at it.



      usepackagecolor
      newcommandxtimes
      newcommandycellcolorgreen

      begindocument
      beginequation*
      left[
      beginarrayccc
      y & y & y \
      & y & y R \
      & & y \
      endarray
      right]left[
      beginarrayc
      \
      a_j \
      \
      endarray
      right]=
      endequation*
      enddocument


      output










      share|improve this question









      New contributor




      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I am working on my dissertation and I have no idea how I should do this in LaTeX.



      And the shading definitely is challenging.



      enter image description here



      I have only been able to do this so far, I am still an amateur at it.



      usepackagecolor
      newcommandxtimes
      newcommandycellcolorgreen

      begindocument
      beginequation*
      left[
      beginarrayccc
      y & y & y \
      & y & y R \
      & & y \
      endarray
      right]left[
      beginarrayc
      \
      a_j \
      \
      endarray
      right]=
      endequation*
      enddocument


      output







      tikz-pgf math-mode equations matrices






      share|improve this question









      New contributor




      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Mar 17 at 9:34







      Tarini Ramsewak













      New contributor




      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Mar 17 at 8:25









      Tarini RamsewakTarini Ramsewak

      384




      384




      New contributor




      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Tarini Ramsewak is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          2 Answers
          2






          active

          oldest

          votes


















          5














          With TikZ matrix:



          documentclassarticle
          usepackageamsmath
          usepackagetikz
          usetikzlibrarymatrix, positioning, patterns, backgrounds
          tikzset
          every matrix/.append style=
          matrix of math nodes,
          nodes in empty cells,
          inner sep=0pt,
          outer sep=0pt,
          column sep=-pgflinewidth,
          row sep=-pgflinewidth,
          ,
          mylargenode/.style=
          text centered,
          text width=30pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylongnode/.style=
          text centered,
          text width=20pt,
          text height=40pt,
          text depth=30pt,
          ,
          mysmallnode/.style=
          text centered,
          text width=20pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylonglargenode/.style=
          text centered,
          text width=30pt,
          text height=40pt,
          text depth=30pt,
          ,


          begindocument
          With delimiters like in your image:
          [
          begintikzpicture
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          % delimiters:
          foreach mymatr in A,B,C

          draw[very thick] ([xshift=4pt]mymatr.north west) -- (mymatr.north west) -- (mymatr.south west) -- ([xshift=4pt]mymatr.south west);
          draw[very thick] ([xshift=-4pt]mymatr.north east) -- (mymatr.north east) -- (mymatr.south east) -- ([xshift=-4pt]mymatr.south east);

          endtikzpicture
          ]

          Or with ordinary delimiter:
          [
          begintikzpicture[
          every matrix/.append style=
          left delimiter=[,
          right delimiter=],

          ]
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          endtikzpicture
          ]
          enddocument


          enter image description here






          share|improve this answer























          • How nice is yours, too. I'll vote for it now.

            – Sebastiano
            2 days ago






          • 1





            @Sebastiano Thank you!

            – CarLaTeX
            2 days ago











          • I used this one in my dissertation and I am very happy with the result.

            – Tarini Ramsewak
            2 days ago












          • Thank you so much!

            – Tarini Ramsewak
            2 days ago











          • @TariniRamsewak You're welcome! I'm happy my answer is useful.

            – CarLaTeX
            2 days ago


















          12














          It is indeed a bit tedious. (EDIT: Fixed the first R to become math mode, mille grazie to @Sebastiano!)



          documentclass[tikz,border=3.14mm]standalone
          usetikzlibrarypositioning,backgrounds,patterns
          begindocument
          begintikzpicture
          beginscope[local bounding box=mat1]
          path node (R0) $R$ foreach X [remember=X as lastX (initially 0)] in
          1,...,4
          ifnumX=3
          node[below right=1.5em of RlastX] (RX) $phantomR$
          else
          node[below right=1.5em of RlastX] (RX) $R$
          fi
          ;
          beginscope[on background layer]
          draw[fill=green!70!black]
          foreach X in 0,1,2,4
          ([xshift=-1em]RX.north west) -- ([yshift=-1em]RX.south east)
          coordinate(bX)
          ;
          draw[densely dotted] ([xshift=-1em]R3.north west) -- ([yshift=-1em]R3.south east)
          coordinate(b3) |- cycle;
          endscope
          node[pattern=crosshatch,pattern color=purple,anchor=north west,
          minimum height=6em] (F) at ([yshift=-1em]R4.south east) $F$;
          draw[densely dotted] ([yshift=-1em]R3.south east-|R4.south east)
          rectangle (F.east|-R3.north);
          foreach X [evaluate=X as Y using int(40+10*X)] in 0,1,2,4
          -RX.north);
          endscope
          path (mat1.south west) -- (mat1.north east)
          node[pos=0.3,font=Large] $0$ node[pos=0.7,font=Large] $0$;
          draw[thick] ([xshift=0.7em]mat1.north west) -| (mat1.south west) -- ++ (0.7em,0)
          ([xshift=-0.7em]mat1.north east) -| (mat1.south east) -- ++ (-0.7em,0);
          %
          beginscope[local bounding box=mat2]
          foreach X [remember=X as lastX (initially 0)] in 1,2,3
          -RlastX.north) --
          ([xshift=2.5em]mat1.east
          path ([xshift=1em]mat1.east|-R4.north) --
          ([xshift=2.5em]mat1.east|-b4) node[midway] (aM) $a_M$;
          node[below=0.5em of aM] (b) $b$;
          endscope
          draw[thick] ([xshift=0.5em]mat2.north west) -| (mat2.south west) -- ++
          (0.5em,0)
          ([xshift=-0.5em]mat2.north east) -| (mat2.south east) -- ++ (-0.5em,0);
          foreach X in 0,...,4
          -bX) -- (mat2.east
          %
          node[anchor=west] (eq) at (mat2.east|-mat1.center) $=$;
          %
          beginscope[local bounding box=mat3]
          node[pattern=dots,anchor=north west,pattern color=yellow!60!orange,
          minimum height=6em] (f) at ([xshift=0.1em]eq.east|-F.north) $f$;
          foreach X [remember=X as lastX (initially 0),
          evaluate=X as Y using int(30*X+10)] in 1,2,3
          fill[yellow!Y] ([xshift=0.1em]eq.east
          fill[yellow] ([xshift=0.1em]eq.east|-R4.north) rectangle
          (f.east|-b4);
          draw[densely dotted] (f.center|-b2) -- (f.center|-b3);
          endscope
          foreach X in 0,...,4
          draw (mat3.west
          draw[thick] ([xshift=0.3em]mat3.north west) -| (mat3.south west) -- ++
          (0.3em,0)
          ([xshift=-0.3em]mat3.north east) -| (mat3.south east) -- ++ (-0.3em,0);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer




















          • 1





            Spectacular! There is the first R on the top left that is not in math-mode. :-)

            – Sebastiano
            Mar 17 at 12:50











          • @Sebastiano Mille grazie!

            – marmot
            Mar 17 at 14:42






          • 1





            @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

            – marmot
            Mar 17 at 15:06











          • I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

            – Sebastiano
            2 days ago












          • Thank you very much, this has been useful. I learnt quite a few things.

            – Tarini Ramsewak
            2 days ago










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "85"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Tarini Ramsewak is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f479895%2fmatrix-using-tikz-package%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          With TikZ matrix:



          documentclassarticle
          usepackageamsmath
          usepackagetikz
          usetikzlibrarymatrix, positioning, patterns, backgrounds
          tikzset
          every matrix/.append style=
          matrix of math nodes,
          nodes in empty cells,
          inner sep=0pt,
          outer sep=0pt,
          column sep=-pgflinewidth,
          row sep=-pgflinewidth,
          ,
          mylargenode/.style=
          text centered,
          text width=30pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylongnode/.style=
          text centered,
          text width=20pt,
          text height=40pt,
          text depth=30pt,
          ,
          mysmallnode/.style=
          text centered,
          text width=20pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylonglargenode/.style=
          text centered,
          text width=30pt,
          text height=40pt,
          text depth=30pt,
          ,


          begindocument
          With delimiters like in your image:
          [
          begintikzpicture
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          % delimiters:
          foreach mymatr in A,B,C

          draw[very thick] ([xshift=4pt]mymatr.north west) -- (mymatr.north west) -- (mymatr.south west) -- ([xshift=4pt]mymatr.south west);
          draw[very thick] ([xshift=-4pt]mymatr.north east) -- (mymatr.north east) -- (mymatr.south east) -- ([xshift=-4pt]mymatr.south east);

          endtikzpicture
          ]

          Or with ordinary delimiter:
          [
          begintikzpicture[
          every matrix/.append style=
          left delimiter=[,
          right delimiter=],

          ]
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          endtikzpicture
          ]
          enddocument


          enter image description here






          share|improve this answer























          • How nice is yours, too. I'll vote for it now.

            – Sebastiano
            2 days ago






          • 1





            @Sebastiano Thank you!

            – CarLaTeX
            2 days ago











          • I used this one in my dissertation and I am very happy with the result.

            – Tarini Ramsewak
            2 days ago












          • Thank you so much!

            – Tarini Ramsewak
            2 days ago











          • @TariniRamsewak You're welcome! I'm happy my answer is useful.

            – CarLaTeX
            2 days ago















          5














          With TikZ matrix:



          documentclassarticle
          usepackageamsmath
          usepackagetikz
          usetikzlibrarymatrix, positioning, patterns, backgrounds
          tikzset
          every matrix/.append style=
          matrix of math nodes,
          nodes in empty cells,
          inner sep=0pt,
          outer sep=0pt,
          column sep=-pgflinewidth,
          row sep=-pgflinewidth,
          ,
          mylargenode/.style=
          text centered,
          text width=30pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylongnode/.style=
          text centered,
          text width=20pt,
          text height=40pt,
          text depth=30pt,
          ,
          mysmallnode/.style=
          text centered,
          text width=20pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylonglargenode/.style=
          text centered,
          text width=30pt,
          text height=40pt,
          text depth=30pt,
          ,


          begindocument
          With delimiters like in your image:
          [
          begintikzpicture
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          % delimiters:
          foreach mymatr in A,B,C

          draw[very thick] ([xshift=4pt]mymatr.north west) -- (mymatr.north west) -- (mymatr.south west) -- ([xshift=4pt]mymatr.south west);
          draw[very thick] ([xshift=-4pt]mymatr.north east) -- (mymatr.north east) -- (mymatr.south east) -- ([xshift=-4pt]mymatr.south east);

          endtikzpicture
          ]

          Or with ordinary delimiter:
          [
          begintikzpicture[
          every matrix/.append style=
          left delimiter=[,
          right delimiter=],

          ]
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          endtikzpicture
          ]
          enddocument


          enter image description here






          share|improve this answer























          • How nice is yours, too. I'll vote for it now.

            – Sebastiano
            2 days ago






          • 1





            @Sebastiano Thank you!

            – CarLaTeX
            2 days ago











          • I used this one in my dissertation and I am very happy with the result.

            – Tarini Ramsewak
            2 days ago












          • Thank you so much!

            – Tarini Ramsewak
            2 days ago











          • @TariniRamsewak You're welcome! I'm happy my answer is useful.

            – CarLaTeX
            2 days ago













          5












          5








          5







          With TikZ matrix:



          documentclassarticle
          usepackageamsmath
          usepackagetikz
          usetikzlibrarymatrix, positioning, patterns, backgrounds
          tikzset
          every matrix/.append style=
          matrix of math nodes,
          nodes in empty cells,
          inner sep=0pt,
          outer sep=0pt,
          column sep=-pgflinewidth,
          row sep=-pgflinewidth,
          ,
          mylargenode/.style=
          text centered,
          text width=30pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylongnode/.style=
          text centered,
          text width=20pt,
          text height=40pt,
          text depth=30pt,
          ,
          mysmallnode/.style=
          text centered,
          text width=20pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylonglargenode/.style=
          text centered,
          text width=30pt,
          text height=40pt,
          text depth=30pt,
          ,


          begindocument
          With delimiters like in your image:
          [
          begintikzpicture
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          % delimiters:
          foreach mymatr in A,B,C

          draw[very thick] ([xshift=4pt]mymatr.north west) -- (mymatr.north west) -- (mymatr.south west) -- ([xshift=4pt]mymatr.south west);
          draw[very thick] ([xshift=-4pt]mymatr.north east) -- (mymatr.north east) -- (mymatr.south east) -- ([xshift=-4pt]mymatr.south east);

          endtikzpicture
          ]

          Or with ordinary delimiter:
          [
          begintikzpicture[
          every matrix/.append style=
          left delimiter=[,
          right delimiter=],

          ]
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          endtikzpicture
          ]
          enddocument


          enter image description here






          share|improve this answer













          With TikZ matrix:



          documentclassarticle
          usepackageamsmath
          usepackagetikz
          usetikzlibrarymatrix, positioning, patterns, backgrounds
          tikzset
          every matrix/.append style=
          matrix of math nodes,
          nodes in empty cells,
          inner sep=0pt,
          outer sep=0pt,
          column sep=-pgflinewidth,
          row sep=-pgflinewidth,
          ,
          mylargenode/.style=
          text centered,
          text width=30pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylongnode/.style=
          text centered,
          text width=20pt,
          text height=40pt,
          text depth=30pt,
          ,
          mysmallnode/.style=
          text centered,
          text width=20pt,
          text height=20pt,
          text depth=10pt,
          ,
          mylonglargenode/.style=
          text centered,
          text width=30pt,
          text height=40pt,
          text depth=30pt,
          ,


          begindocument
          With delimiters like in your image:
          [
          begintikzpicture
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          % delimiters:
          foreach mymatr in A,B,C

          draw[very thick] ([xshift=4pt]mymatr.north west) -- (mymatr.north west) -- (mymatr.south west) -- ([xshift=4pt]mymatr.south west);
          draw[very thick] ([xshift=-4pt]mymatr.north east) -- (mymatr.north east) -- (mymatr.south east) -- ([xshift=-4pt]mymatr.south east);

          endtikzpicture
          ]

          Or with ordinary delimiter:
          [
          begintikzpicture[
          every matrix/.append style=
          left delimiter=[,
          right delimiter=],

          ]
          matrix[
          nodes=mylargenode,
          column 6/.style=nodes=mysmallnode,
          row 6/.style=nodes=mylonglargenode
          ] (A) %
          &&&&&;
          beginscope[on background layer]
          foreach ind in 1,2,3,5

          draw[green!70!black,fill=green!40!lightgray] (A-ind-ind.north west) -- (A-ind-ind.north east) -- (A-ind-ind.south east) -- cycle;
          node[anchor=north east] at (A-ind-ind.north east) R;

          endscope
          draw[dotted, green!70!black] (A-4-4.north west) -- (A-4-4.north east) -- (A-4-4.south east) -- cycle;
          node[font=Huge,shift=(-1,-2)] at (A) $0$;
          node[font=Huge,shift=(1,3)] at (A) $0$;
          matrix[
          right =of A.north east,
          anchor=north west,
          nodes=mysmallnode
          ] (B) %
          underlinea_1 \
          underlinea_2 \
          underlinea_3 \
          \
          underlinea_M\
          underlineb\
          ;
          foreach ind in 1,2,...,5
          draw (B-ind-1.south west) -- (B-ind-1.south east);

          draw[dotted] (B-4-1.north) -- (B-4-1.south);
          matrix[
          right =4em of B.north east,
          anchor=north west,
          nodes=draw,mysmallnode
          ] (C) \
          ;
          path (B-4-1) -- node[midway] $=$ (C-4-1);
          draw[dotted] (C-4-1.north) -- (C-4-1.south);
          endtikzpicture
          ]
          enddocument


          enter image description here







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 2 days ago









          CarLaTeXCarLaTeX

          33.7k551138




          33.7k551138












          • How nice is yours, too. I'll vote for it now.

            – Sebastiano
            2 days ago






          • 1





            @Sebastiano Thank you!

            – CarLaTeX
            2 days ago











          • I used this one in my dissertation and I am very happy with the result.

            – Tarini Ramsewak
            2 days ago












          • Thank you so much!

            – Tarini Ramsewak
            2 days ago











          • @TariniRamsewak You're welcome! I'm happy my answer is useful.

            – CarLaTeX
            2 days ago

















          • How nice is yours, too. I'll vote for it now.

            – Sebastiano
            2 days ago






          • 1





            @Sebastiano Thank you!

            – CarLaTeX
            2 days ago











          • I used this one in my dissertation and I am very happy with the result.

            – Tarini Ramsewak
            2 days ago












          • Thank you so much!

            – Tarini Ramsewak
            2 days ago











          • @TariniRamsewak You're welcome! I'm happy my answer is useful.

            – CarLaTeX
            2 days ago
















          How nice is yours, too. I'll vote for it now.

          – Sebastiano
          2 days ago





          How nice is yours, too. I'll vote for it now.

          – Sebastiano
          2 days ago




          1




          1





          @Sebastiano Thank you!

          – CarLaTeX
          2 days ago





          @Sebastiano Thank you!

          – CarLaTeX
          2 days ago













          I used this one in my dissertation and I am very happy with the result.

          – Tarini Ramsewak
          2 days ago






          I used this one in my dissertation and I am very happy with the result.

          – Tarini Ramsewak
          2 days ago














          Thank you so much!

          – Tarini Ramsewak
          2 days ago





          Thank you so much!

          – Tarini Ramsewak
          2 days ago













          @TariniRamsewak You're welcome! I'm happy my answer is useful.

          – CarLaTeX
          2 days ago





          @TariniRamsewak You're welcome! I'm happy my answer is useful.

          – CarLaTeX
          2 days ago











          12














          It is indeed a bit tedious. (EDIT: Fixed the first R to become math mode, mille grazie to @Sebastiano!)



          documentclass[tikz,border=3.14mm]standalone
          usetikzlibrarypositioning,backgrounds,patterns
          begindocument
          begintikzpicture
          beginscope[local bounding box=mat1]
          path node (R0) $R$ foreach X [remember=X as lastX (initially 0)] in
          1,...,4
          ifnumX=3
          node[below right=1.5em of RlastX] (RX) $phantomR$
          else
          node[below right=1.5em of RlastX] (RX) $R$
          fi
          ;
          beginscope[on background layer]
          draw[fill=green!70!black]
          foreach X in 0,1,2,4
          ([xshift=-1em]RX.north west) -- ([yshift=-1em]RX.south east)
          coordinate(bX)
          ;
          draw[densely dotted] ([xshift=-1em]R3.north west) -- ([yshift=-1em]R3.south east)
          coordinate(b3) |- cycle;
          endscope
          node[pattern=crosshatch,pattern color=purple,anchor=north west,
          minimum height=6em] (F) at ([yshift=-1em]R4.south east) $F$;
          draw[densely dotted] ([yshift=-1em]R3.south east-|R4.south east)
          rectangle (F.east|-R3.north);
          foreach X [evaluate=X as Y using int(40+10*X)] in 0,1,2,4
          -RX.north);
          endscope
          path (mat1.south west) -- (mat1.north east)
          node[pos=0.3,font=Large] $0$ node[pos=0.7,font=Large] $0$;
          draw[thick] ([xshift=0.7em]mat1.north west) -| (mat1.south west) -- ++ (0.7em,0)
          ([xshift=-0.7em]mat1.north east) -| (mat1.south east) -- ++ (-0.7em,0);
          %
          beginscope[local bounding box=mat2]
          foreach X [remember=X as lastX (initially 0)] in 1,2,3
          -RlastX.north) --
          ([xshift=2.5em]mat1.east
          path ([xshift=1em]mat1.east|-R4.north) --
          ([xshift=2.5em]mat1.east|-b4) node[midway] (aM) $a_M$;
          node[below=0.5em of aM] (b) $b$;
          endscope
          draw[thick] ([xshift=0.5em]mat2.north west) -| (mat2.south west) -- ++
          (0.5em,0)
          ([xshift=-0.5em]mat2.north east) -| (mat2.south east) -- ++ (-0.5em,0);
          foreach X in 0,...,4
          -bX) -- (mat2.east
          %
          node[anchor=west] (eq) at (mat2.east|-mat1.center) $=$;
          %
          beginscope[local bounding box=mat3]
          node[pattern=dots,anchor=north west,pattern color=yellow!60!orange,
          minimum height=6em] (f) at ([xshift=0.1em]eq.east|-F.north) $f$;
          foreach X [remember=X as lastX (initially 0),
          evaluate=X as Y using int(30*X+10)] in 1,2,3
          fill[yellow!Y] ([xshift=0.1em]eq.east
          fill[yellow] ([xshift=0.1em]eq.east|-R4.north) rectangle
          (f.east|-b4);
          draw[densely dotted] (f.center|-b2) -- (f.center|-b3);
          endscope
          foreach X in 0,...,4
          draw (mat3.west
          draw[thick] ([xshift=0.3em]mat3.north west) -| (mat3.south west) -- ++
          (0.3em,0)
          ([xshift=-0.3em]mat3.north east) -| (mat3.south east) -- ++ (-0.3em,0);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer




















          • 1





            Spectacular! There is the first R on the top left that is not in math-mode. :-)

            – Sebastiano
            Mar 17 at 12:50











          • @Sebastiano Mille grazie!

            – marmot
            Mar 17 at 14:42






          • 1





            @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

            – marmot
            Mar 17 at 15:06











          • I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

            – Sebastiano
            2 days ago












          • Thank you very much, this has been useful. I learnt quite a few things.

            – Tarini Ramsewak
            2 days ago















          12














          It is indeed a bit tedious. (EDIT: Fixed the first R to become math mode, mille grazie to @Sebastiano!)



          documentclass[tikz,border=3.14mm]standalone
          usetikzlibrarypositioning,backgrounds,patterns
          begindocument
          begintikzpicture
          beginscope[local bounding box=mat1]
          path node (R0) $R$ foreach X [remember=X as lastX (initially 0)] in
          1,...,4
          ifnumX=3
          node[below right=1.5em of RlastX] (RX) $phantomR$
          else
          node[below right=1.5em of RlastX] (RX) $R$
          fi
          ;
          beginscope[on background layer]
          draw[fill=green!70!black]
          foreach X in 0,1,2,4
          ([xshift=-1em]RX.north west) -- ([yshift=-1em]RX.south east)
          coordinate(bX)
          ;
          draw[densely dotted] ([xshift=-1em]R3.north west) -- ([yshift=-1em]R3.south east)
          coordinate(b3) |- cycle;
          endscope
          node[pattern=crosshatch,pattern color=purple,anchor=north west,
          minimum height=6em] (F) at ([yshift=-1em]R4.south east) $F$;
          draw[densely dotted] ([yshift=-1em]R3.south east-|R4.south east)
          rectangle (F.east|-R3.north);
          foreach X [evaluate=X as Y using int(40+10*X)] in 0,1,2,4
          -RX.north);
          endscope
          path (mat1.south west) -- (mat1.north east)
          node[pos=0.3,font=Large] $0$ node[pos=0.7,font=Large] $0$;
          draw[thick] ([xshift=0.7em]mat1.north west) -| (mat1.south west) -- ++ (0.7em,0)
          ([xshift=-0.7em]mat1.north east) -| (mat1.south east) -- ++ (-0.7em,0);
          %
          beginscope[local bounding box=mat2]
          foreach X [remember=X as lastX (initially 0)] in 1,2,3
          -RlastX.north) --
          ([xshift=2.5em]mat1.east
          path ([xshift=1em]mat1.east|-R4.north) --
          ([xshift=2.5em]mat1.east|-b4) node[midway] (aM) $a_M$;
          node[below=0.5em of aM] (b) $b$;
          endscope
          draw[thick] ([xshift=0.5em]mat2.north west) -| (mat2.south west) -- ++
          (0.5em,0)
          ([xshift=-0.5em]mat2.north east) -| (mat2.south east) -- ++ (-0.5em,0);
          foreach X in 0,...,4
          -bX) -- (mat2.east
          %
          node[anchor=west] (eq) at (mat2.east|-mat1.center) $=$;
          %
          beginscope[local bounding box=mat3]
          node[pattern=dots,anchor=north west,pattern color=yellow!60!orange,
          minimum height=6em] (f) at ([xshift=0.1em]eq.east|-F.north) $f$;
          foreach X [remember=X as lastX (initially 0),
          evaluate=X as Y using int(30*X+10)] in 1,2,3
          fill[yellow!Y] ([xshift=0.1em]eq.east
          fill[yellow] ([xshift=0.1em]eq.east|-R4.north) rectangle
          (f.east|-b4);
          draw[densely dotted] (f.center|-b2) -- (f.center|-b3);
          endscope
          foreach X in 0,...,4
          draw (mat3.west
          draw[thick] ([xshift=0.3em]mat3.north west) -| (mat3.south west) -- ++
          (0.3em,0)
          ([xshift=-0.3em]mat3.north east) -| (mat3.south east) -- ++ (-0.3em,0);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer




















          • 1





            Spectacular! There is the first R on the top left that is not in math-mode. :-)

            – Sebastiano
            Mar 17 at 12:50











          • @Sebastiano Mille grazie!

            – marmot
            Mar 17 at 14:42






          • 1





            @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

            – marmot
            Mar 17 at 15:06











          • I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

            – Sebastiano
            2 days ago












          • Thank you very much, this has been useful. I learnt quite a few things.

            – Tarini Ramsewak
            2 days ago













          12












          12








          12







          It is indeed a bit tedious. (EDIT: Fixed the first R to become math mode, mille grazie to @Sebastiano!)



          documentclass[tikz,border=3.14mm]standalone
          usetikzlibrarypositioning,backgrounds,patterns
          begindocument
          begintikzpicture
          beginscope[local bounding box=mat1]
          path node (R0) $R$ foreach X [remember=X as lastX (initially 0)] in
          1,...,4
          ifnumX=3
          node[below right=1.5em of RlastX] (RX) $phantomR$
          else
          node[below right=1.5em of RlastX] (RX) $R$
          fi
          ;
          beginscope[on background layer]
          draw[fill=green!70!black]
          foreach X in 0,1,2,4
          ([xshift=-1em]RX.north west) -- ([yshift=-1em]RX.south east)
          coordinate(bX)
          ;
          draw[densely dotted] ([xshift=-1em]R3.north west) -- ([yshift=-1em]R3.south east)
          coordinate(b3) |- cycle;
          endscope
          node[pattern=crosshatch,pattern color=purple,anchor=north west,
          minimum height=6em] (F) at ([yshift=-1em]R4.south east) $F$;
          draw[densely dotted] ([yshift=-1em]R3.south east-|R4.south east)
          rectangle (F.east|-R3.north);
          foreach X [evaluate=X as Y using int(40+10*X)] in 0,1,2,4
          -RX.north);
          endscope
          path (mat1.south west) -- (mat1.north east)
          node[pos=0.3,font=Large] $0$ node[pos=0.7,font=Large] $0$;
          draw[thick] ([xshift=0.7em]mat1.north west) -| (mat1.south west) -- ++ (0.7em,0)
          ([xshift=-0.7em]mat1.north east) -| (mat1.south east) -- ++ (-0.7em,0);
          %
          beginscope[local bounding box=mat2]
          foreach X [remember=X as lastX (initially 0)] in 1,2,3
          -RlastX.north) --
          ([xshift=2.5em]mat1.east
          path ([xshift=1em]mat1.east|-R4.north) --
          ([xshift=2.5em]mat1.east|-b4) node[midway] (aM) $a_M$;
          node[below=0.5em of aM] (b) $b$;
          endscope
          draw[thick] ([xshift=0.5em]mat2.north west) -| (mat2.south west) -- ++
          (0.5em,0)
          ([xshift=-0.5em]mat2.north east) -| (mat2.south east) -- ++ (-0.5em,0);
          foreach X in 0,...,4
          -bX) -- (mat2.east
          %
          node[anchor=west] (eq) at (mat2.east|-mat1.center) $=$;
          %
          beginscope[local bounding box=mat3]
          node[pattern=dots,anchor=north west,pattern color=yellow!60!orange,
          minimum height=6em] (f) at ([xshift=0.1em]eq.east|-F.north) $f$;
          foreach X [remember=X as lastX (initially 0),
          evaluate=X as Y using int(30*X+10)] in 1,2,3
          fill[yellow!Y] ([xshift=0.1em]eq.east
          fill[yellow] ([xshift=0.1em]eq.east|-R4.north) rectangle
          (f.east|-b4);
          draw[densely dotted] (f.center|-b2) -- (f.center|-b3);
          endscope
          foreach X in 0,...,4
          draw (mat3.west
          draw[thick] ([xshift=0.3em]mat3.north west) -| (mat3.south west) -- ++
          (0.3em,0)
          ([xshift=-0.3em]mat3.north east) -| (mat3.south east) -- ++ (-0.3em,0);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer















          It is indeed a bit tedious. (EDIT: Fixed the first R to become math mode, mille grazie to @Sebastiano!)



          documentclass[tikz,border=3.14mm]standalone
          usetikzlibrarypositioning,backgrounds,patterns
          begindocument
          begintikzpicture
          beginscope[local bounding box=mat1]
          path node (R0) $R$ foreach X [remember=X as lastX (initially 0)] in
          1,...,4
          ifnumX=3
          node[below right=1.5em of RlastX] (RX) $phantomR$
          else
          node[below right=1.5em of RlastX] (RX) $R$
          fi
          ;
          beginscope[on background layer]
          draw[fill=green!70!black]
          foreach X in 0,1,2,4
          ([xshift=-1em]RX.north west) -- ([yshift=-1em]RX.south east)
          coordinate(bX)
          ;
          draw[densely dotted] ([xshift=-1em]R3.north west) -- ([yshift=-1em]R3.south east)
          coordinate(b3) |- cycle;
          endscope
          node[pattern=crosshatch,pattern color=purple,anchor=north west,
          minimum height=6em] (F) at ([yshift=-1em]R4.south east) $F$;
          draw[densely dotted] ([yshift=-1em]R3.south east-|R4.south east)
          rectangle (F.east|-R3.north);
          foreach X [evaluate=X as Y using int(40+10*X)] in 0,1,2,4
          -RX.north);
          endscope
          path (mat1.south west) -- (mat1.north east)
          node[pos=0.3,font=Large] $0$ node[pos=0.7,font=Large] $0$;
          draw[thick] ([xshift=0.7em]mat1.north west) -| (mat1.south west) -- ++ (0.7em,0)
          ([xshift=-0.7em]mat1.north east) -| (mat1.south east) -- ++ (-0.7em,0);
          %
          beginscope[local bounding box=mat2]
          foreach X [remember=X as lastX (initially 0)] in 1,2,3
          -RlastX.north) --
          ([xshift=2.5em]mat1.east
          path ([xshift=1em]mat1.east|-R4.north) --
          ([xshift=2.5em]mat1.east|-b4) node[midway] (aM) $a_M$;
          node[below=0.5em of aM] (b) $b$;
          endscope
          draw[thick] ([xshift=0.5em]mat2.north west) -| (mat2.south west) -- ++
          (0.5em,0)
          ([xshift=-0.5em]mat2.north east) -| (mat2.south east) -- ++ (-0.5em,0);
          foreach X in 0,...,4
          -bX) -- (mat2.east
          %
          node[anchor=west] (eq) at (mat2.east|-mat1.center) $=$;
          %
          beginscope[local bounding box=mat3]
          node[pattern=dots,anchor=north west,pattern color=yellow!60!orange,
          minimum height=6em] (f) at ([xshift=0.1em]eq.east|-F.north) $f$;
          foreach X [remember=X as lastX (initially 0),
          evaluate=X as Y using int(30*X+10)] in 1,2,3
          fill[yellow!Y] ([xshift=0.1em]eq.east
          fill[yellow] ([xshift=0.1em]eq.east|-R4.north) rectangle
          (f.east|-b4);
          draw[densely dotted] (f.center|-b2) -- (f.center|-b3);
          endscope
          foreach X in 0,...,4
          draw (mat3.west
          draw[thick] ([xshift=0.3em]mat3.north west) -| (mat3.south west) -- ++
          (0.3em,0)
          ([xshift=-0.3em]mat3.north east) -| (mat3.south east) -- ++ (-0.3em,0);
          endtikzpicture
          enddocument


          enter image description here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 17 at 15:05

























          answered Mar 17 at 10:47









          marmotmarmot

          110k5136255




          110k5136255







          • 1





            Spectacular! There is the first R on the top left that is not in math-mode. :-)

            – Sebastiano
            Mar 17 at 12:50











          • @Sebastiano Mille grazie!

            – marmot
            Mar 17 at 14:42






          • 1





            @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

            – marmot
            Mar 17 at 15:06











          • I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

            – Sebastiano
            2 days ago












          • Thank you very much, this has been useful. I learnt quite a few things.

            – Tarini Ramsewak
            2 days ago












          • 1





            Spectacular! There is the first R on the top left that is not in math-mode. :-)

            – Sebastiano
            Mar 17 at 12:50











          • @Sebastiano Mille grazie!

            – marmot
            Mar 17 at 14:42






          • 1





            @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

            – marmot
            Mar 17 at 15:06











          • I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

            – Sebastiano
            2 days ago












          • Thank you very much, this has been useful. I learnt quite a few things.

            – Tarini Ramsewak
            2 days ago







          1




          1





          Spectacular! There is the first R on the top left that is not in math-mode. :-)

          – Sebastiano
          Mar 17 at 12:50





          Spectacular! There is the first R on the top left that is not in math-mode. :-)

          – Sebastiano
          Mar 17 at 12:50













          @Sebastiano Mille grazie!

          – marmot
          Mar 17 at 14:42





          @Sebastiano Mille grazie!

          – marmot
          Mar 17 at 14:42




          1




          1





          @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

          – marmot
          Mar 17 at 15:06





          @JouleV Thanks! The second code shouldn't be there so I removed it. (I have one file for answers and accidentally copied the code for another answer, too.)

          – marmot
          Mar 17 at 15:06













          I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

          – Sebastiano
          2 days ago






          I hope I've been of some help to you. This is what I so much regret about my mistakes, which are the result of naivety and which, by emphasizing my mistakes, the haters find fertile ground in my regard. Peraphs is better "grazie mille". Why? See this link youtube.com/watch?v=KvS_BVda9ww. :-)

          – Sebastiano
          2 days ago














          Thank you very much, this has been useful. I learnt quite a few things.

          – Tarini Ramsewak
          2 days ago





          Thank you very much, this has been useful. I learnt quite a few things.

          – Tarini Ramsewak
          2 days ago










          Tarini Ramsewak is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Tarini Ramsewak is a new contributor. Be nice, and check out our Code of Conduct.












          Tarini Ramsewak is a new contributor. Be nice, and check out our Code of Conduct.











          Tarini Ramsewak is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f479895%2fmatrix-using-tikz-package%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

          Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

          Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High