Two down arrows over specific separator lines of an array











up vote
6
down vote

favorite












I need to make a figure like the attached image, which contains multiple arrays, two down arrows over the specific separator line of first array and text above these two arrows. I could make the arrays in align environment but the problem us arrows and text above them. I used the code below to make the arrays as a figure:



begin{figure}[!ht]
begin{align*}
overrightarrow{P}_{1}
&left[
begin{array}{c|c|c|c|c|c|c|c|c}
alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
end{array}
right] \
overrightarrow{P}_{2}
&left[
begin{array}{c|c|c|c|c|c|c|c|c}
alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
end{array}
right] \
\
overrightarrow{S}_{1}
&left[
begin{array}{c|c|c|c|c|c|c|c|c}
alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
end{array}
right] \
overrightarrow{S}_{2}
&left[
begin{array}{c|c|c|c|c|c|c|c|c}
alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
end{array}
right]
end{align*}
caption{An example}
end{figure}


enter image description here










share|improve this question









New contributor




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
























    up vote
    6
    down vote

    favorite












    I need to make a figure like the attached image, which contains multiple arrays, two down arrows over the specific separator line of first array and text above these two arrows. I could make the arrays in align environment but the problem us arrows and text above them. I used the code below to make the arrays as a figure:



    begin{figure}[!ht]
    begin{align*}
    overrightarrow{P}_{1}
    &left[
    begin{array}{c|c|c|c|c|c|c|c|c}
    alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
    end{array}
    right] \
    overrightarrow{P}_{2}
    &left[
    begin{array}{c|c|c|c|c|c|c|c|c}
    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
    end{array}
    right] \
    \
    overrightarrow{S}_{1}
    &left[
    begin{array}{c|c|c|c|c|c|c|c|c}
    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
    end{array}
    right] \
    overrightarrow{S}_{2}
    &left[
    begin{array}{c|c|c|c|c|c|c|c|c}
    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
    end{array}
    right]
    end{align*}
    caption{An example}
    end{figure}


    enter image description here










    share|improve this question









    New contributor




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






















      up vote
      6
      down vote

      favorite









      up vote
      6
      down vote

      favorite











      I need to make a figure like the attached image, which contains multiple arrays, two down arrows over the specific separator line of first array and text above these two arrows. I could make the arrays in align environment but the problem us arrows and text above them. I used the code below to make the arrays as a figure:



      begin{figure}[!ht]
      begin{align*}
      overrightarrow{P}_{1}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
      beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
      end{array}
      right] \
      overrightarrow{P}_{2}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
      beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
      end{array}
      right] \
      \
      overrightarrow{S}_{1}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
      beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
      end{array}
      right] \
      overrightarrow{S}_{2}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
      beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
      end{array}
      right]
      end{align*}
      caption{An example}
      end{figure}


      enter image description here










      share|improve this question









      New contributor




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











      I need to make a figure like the attached image, which contains multiple arrays, two down arrows over the specific separator line of first array and text above these two arrows. I could make the arrays in align environment but the problem us arrows and text above them. I used the code below to make the arrays as a figure:



      begin{figure}[!ht]
      begin{align*}
      overrightarrow{P}_{1}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
      beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
      end{array}
      right] \
      overrightarrow{P}_{2}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
      beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
      end{array}
      right] \
      \
      overrightarrow{S}_{1}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
      beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
      end{array}
      right] \
      overrightarrow{S}_{2}
      &left[
      begin{array}{c|c|c|c|c|c|c|c|c}
      alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
      beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
      end{array}
      right]
      end{align*}
      caption{An example}
      end{figure}


      enter image description here







      floats arrows arrays






      share|improve this question









      New contributor




      M. Mojrian 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




      M. Mojrian 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 15 hours ago





















      New contributor




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









      asked 15 hours ago









      M. Mojrian

      314




      314




      New contributor




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





      New contributor





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






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






















          3 Answers
          3






          active

          oldest

          votes

















          up vote
          5
          down vote













          enter image description here



          since you include this two equations as figure, why not draw them? for example, draw them with tikz and use of the library matrix:



          documentclass{article}
          usepackage{tikz}
          usetikzlibrary{arrows.meta, matrix, positioning}

          begin{document}
          begin{figure}[htb]
          centering
          begin{tikzpicture}[
          node distance = 9mm and 1.5mm,
          arr/.style = {draw=red, very thick, Trinagle-, shorten <=1mm},
          mtrx/.style = {matrix of math nodes,
          nodes={minimum width=2em},
          left delimiter={[},
          right delimiter={]},
          inner ysep=1pt, inner xsep=-2pt}
          ]
          matrix (m) [mtrx]
          {
          alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
          beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
          };
          node[left=of m] {$vec{P}=$};
          %
          matrix (n) [mtrx, right=of n0]
          {
          alpha_1' & alpha_2' & alpha_3' & alpha_4' & alpha_5' & alpha_6' & alpha_7' & alpha_8' & alpha_9' \
          beta_1' & beta_2' & beta_3' & beta_4' & beta_5' & beta_6' & beta_7' & beta_8' & beta_9' \
          };
          node[left=of n]{$vec{S}_1$};
          %
          foreach i in {1,...,8}
          {
          draw (m-1-i.north east) -- (m-2-i.south east);
          draw (n-1-i.north east) -- (n-2-i.south east);
          }
          path[arr]
          (m-1-3.north east) -- + (0,0.5) node[above] {$mathbf{P1}$};
          path[arr]
          (m-1-8.north east) -- + (0,0.5) node[above] {$mathbf{P2}$};
          end{tikzpicture}

          caption{An example of applied two-point quantum crossover}
          label{fig:equation}
          end{figure}
          end{document}





          share|improve this answer






























            up vote
            3
            down vote













            After the new tikzmarklibrary, which contains the fabulous command tikzmarknode, was uploaded to CTAN and became part of the standard TeX installations, there is no need to translate existing tables or matrices to TikZ since now you can use tikzmarknode to do all the things that were harder before. That is, you can keep what you have and just add the annotations with TikZ and with minimal effort.



            documentclass{article}
            usepackage{amsmath}
            usepackage{tikz}
            usetikzlibrary{tikzmark,calc}
            begin{document}
            begin{figure}[!ht]
            vspace*{0.6cm}
            begin{align*}
            overrightarrow{P}_{1}
            &left[
            begin{array}{c|c|c|c|c|c|c|c|c}
            alpha_1 & alpha_2 & tikzmarknode{a3}{alpha_3} & tikzmarknode{a4}{alpha_4} & alpha_5 & alpha_6 & alpha_7 & tikzmarknode{a8}{alpha_8} & tikzmarknode{a9}{alpha_9} \
            beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
            end{array}
            right] \
            overrightarrow{P}_{2}
            &left[
            begin{array}{c|c|c|c|c|c|c|c|c}
            alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
            beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
            end{array}
            right] \
            \
            overrightarrow{S}_{1}
            &left[
            begin{array}{c|c|c|c|c|c|c|c|c}
            alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
            beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
            end{array}
            right] \
            overrightarrow{S}_{2}
            &left[
            begin{array}{c|c|c|c|c|c|c|c|c}
            alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
            beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
            end{array}
            right]
            end{align*}
            begin{tikzpicture}[overlay,remember picture]
            draw[line width=1mm,latex-,red] ($(a3.north east)!0.5!(a4.north west)+(0,0.1)$) -- ++(0,0.6) node[black,above]{$P_1$};
            draw[line width=1mm,latex-,red] ($(a8.north east)!0.5!(a9.north west)+(0,0.1)$) -- ++(0,0.5)node[black,above]{$P_2$};;
            end{tikzpicture}
            caption{An example}
            end{figure}
            end{document}


            enter image description here






            share|improve this answer





















            • tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
              – Zarko
              10 hours ago










            • @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
              – marmot
              10 hours ago










            • i agree with you. the tools which you use are depend on task.
              – Zarko
              9 hours ago


















            up vote
            2
            down vote













            You can place the P_1 and P_2 markers using eso-pic's absolute positioning mechanism - placing it in the ForeGround of the current page (via AddToShipoutPictureFG*). zref's savepos module allows you to capture the x,y coordinates of a <label> (set using zsavepos{<label>}) which can be retrieved using zposx/zposy (both expandable).



            enter image description here



            documentclass{article}

            usepackage{amsmath,zref-savepos,eso-pic}

            begin{document}

            begin{align*}
            & \ % Just to leave an empty line
            overrightarrow{P}_1
            & left[
            begin{array}{ *{8}{c|} c }
            alpha_1 & alpha_2 & alpha_3zsavepos{P1L} & zsavepos{P1R}alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8zsavepos{P2L} & zsavepos{P2R}alpha_9 \
            beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
            end{array}
            right] \
            overrightarrow{P}_2
            & left[
            begin{array}{ *{8}{c|} c }
            alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
            beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
            end{array}
            right] \
            \
            overrightarrow{S}_1
            & left[
            begin{array}{ *{8}{c|} c }
            alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
            beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
            end{array}
            right] \
            overrightarrow{S}_2
            & left[
            begin{array}{ *{8}{c|} c }
            alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
            beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
            end{array}
            right]
            end{align*}
            AddToShipoutPictureFG*{%
            AtPageLowerLeft{%
            hspace{0.5dimexprzposx{P1L}sp+zposx{P1R}sprelax}%
            raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_1 \ downarrow}$}}%
            }%
            AtPageLowerLeft{%
            hspace{0.5dimexprzposx{P2L}sp+zposx{P2R}sprelax}%
            raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_2 \ downarrow}$}}%
            }%
            }

            end{document}


            Above I place two markers around the array column divider for each of P_1 and P_2 (denoted with a Left and Right suffix) and position the labels to be at the horizontal centre of these markers.



            An empty line within the align* is left at the top in order to avoid unnecessary interaction with content appearing above the environment.



            Since the markers use TeX's label-ref-like system, any change in the location of the markers requires an additional compilation so reference can settle.






            share|improve this answer





















            • Voted positively all for your excellent skill.
              – Sebastiano
              8 hours 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',
            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
            });


            }
            });






            M. Mojrian 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%2f461281%2ftwo-down-arrows-over-specific-separator-lines-of-an-array%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            5
            down vote













            enter image description here



            since you include this two equations as figure, why not draw them? for example, draw them with tikz and use of the library matrix:



            documentclass{article}
            usepackage{tikz}
            usetikzlibrary{arrows.meta, matrix, positioning}

            begin{document}
            begin{figure}[htb]
            centering
            begin{tikzpicture}[
            node distance = 9mm and 1.5mm,
            arr/.style = {draw=red, very thick, Trinagle-, shorten <=1mm},
            mtrx/.style = {matrix of math nodes,
            nodes={minimum width=2em},
            left delimiter={[},
            right delimiter={]},
            inner ysep=1pt, inner xsep=-2pt}
            ]
            matrix (m) [mtrx]
            {
            alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
            beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
            };
            node[left=of m] {$vec{P}=$};
            %
            matrix (n) [mtrx, right=of n0]
            {
            alpha_1' & alpha_2' & alpha_3' & alpha_4' & alpha_5' & alpha_6' & alpha_7' & alpha_8' & alpha_9' \
            beta_1' & beta_2' & beta_3' & beta_4' & beta_5' & beta_6' & beta_7' & beta_8' & beta_9' \
            };
            node[left=of n]{$vec{S}_1$};
            %
            foreach i in {1,...,8}
            {
            draw (m-1-i.north east) -- (m-2-i.south east);
            draw (n-1-i.north east) -- (n-2-i.south east);
            }
            path[arr]
            (m-1-3.north east) -- + (0,0.5) node[above] {$mathbf{P1}$};
            path[arr]
            (m-1-8.north east) -- + (0,0.5) node[above] {$mathbf{P2}$};
            end{tikzpicture}

            caption{An example of applied two-point quantum crossover}
            label{fig:equation}
            end{figure}
            end{document}





            share|improve this answer



























              up vote
              5
              down vote













              enter image description here



              since you include this two equations as figure, why not draw them? for example, draw them with tikz and use of the library matrix:



              documentclass{article}
              usepackage{tikz}
              usetikzlibrary{arrows.meta, matrix, positioning}

              begin{document}
              begin{figure}[htb]
              centering
              begin{tikzpicture}[
              node distance = 9mm and 1.5mm,
              arr/.style = {draw=red, very thick, Trinagle-, shorten <=1mm},
              mtrx/.style = {matrix of math nodes,
              nodes={minimum width=2em},
              left delimiter={[},
              right delimiter={]},
              inner ysep=1pt, inner xsep=-2pt}
              ]
              matrix (m) [mtrx]
              {
              alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
              beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
              };
              node[left=of m] {$vec{P}=$};
              %
              matrix (n) [mtrx, right=of n0]
              {
              alpha_1' & alpha_2' & alpha_3' & alpha_4' & alpha_5' & alpha_6' & alpha_7' & alpha_8' & alpha_9' \
              beta_1' & beta_2' & beta_3' & beta_4' & beta_5' & beta_6' & beta_7' & beta_8' & beta_9' \
              };
              node[left=of n]{$vec{S}_1$};
              %
              foreach i in {1,...,8}
              {
              draw (m-1-i.north east) -- (m-2-i.south east);
              draw (n-1-i.north east) -- (n-2-i.south east);
              }
              path[arr]
              (m-1-3.north east) -- + (0,0.5) node[above] {$mathbf{P1}$};
              path[arr]
              (m-1-8.north east) -- + (0,0.5) node[above] {$mathbf{P2}$};
              end{tikzpicture}

              caption{An example of applied two-point quantum crossover}
              label{fig:equation}
              end{figure}
              end{document}





              share|improve this answer

























                up vote
                5
                down vote










                up vote
                5
                down vote









                enter image description here



                since you include this two equations as figure, why not draw them? for example, draw them with tikz and use of the library matrix:



                documentclass{article}
                usepackage{tikz}
                usetikzlibrary{arrows.meta, matrix, positioning}

                begin{document}
                begin{figure}[htb]
                centering
                begin{tikzpicture}[
                node distance = 9mm and 1.5mm,
                arr/.style = {draw=red, very thick, Trinagle-, shorten <=1mm},
                mtrx/.style = {matrix of math nodes,
                nodes={minimum width=2em},
                left delimiter={[},
                right delimiter={]},
                inner ysep=1pt, inner xsep=-2pt}
                ]
                matrix (m) [mtrx]
                {
                alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
                beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                };
                node[left=of m] {$vec{P}=$};
                %
                matrix (n) [mtrx, right=of n0]
                {
                alpha_1' & alpha_2' & alpha_3' & alpha_4' & alpha_5' & alpha_6' & alpha_7' & alpha_8' & alpha_9' \
                beta_1' & beta_2' & beta_3' & beta_4' & beta_5' & beta_6' & beta_7' & beta_8' & beta_9' \
                };
                node[left=of n]{$vec{S}_1$};
                %
                foreach i in {1,...,8}
                {
                draw (m-1-i.north east) -- (m-2-i.south east);
                draw (n-1-i.north east) -- (n-2-i.south east);
                }
                path[arr]
                (m-1-3.north east) -- + (0,0.5) node[above] {$mathbf{P1}$};
                path[arr]
                (m-1-8.north east) -- + (0,0.5) node[above] {$mathbf{P2}$};
                end{tikzpicture}

                caption{An example of applied two-point quantum crossover}
                label{fig:equation}
                end{figure}
                end{document}





                share|improve this answer














                enter image description here



                since you include this two equations as figure, why not draw them? for example, draw them with tikz and use of the library matrix:



                documentclass{article}
                usepackage{tikz}
                usetikzlibrary{arrows.meta, matrix, positioning}

                begin{document}
                begin{figure}[htb]
                centering
                begin{tikzpicture}[
                node distance = 9mm and 1.5mm,
                arr/.style = {draw=red, very thick, Trinagle-, shorten <=1mm},
                mtrx/.style = {matrix of math nodes,
                nodes={minimum width=2em},
                left delimiter={[},
                right delimiter={]},
                inner ysep=1pt, inner xsep=-2pt}
                ]
                matrix (m) [mtrx]
                {
                alpha_1 & alpha_2 & alpha_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha_9 \
                beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                };
                node[left=of m] {$vec{P}=$};
                %
                matrix (n) [mtrx, right=of n0]
                {
                alpha_1' & alpha_2' & alpha_3' & alpha_4' & alpha_5' & alpha_6' & alpha_7' & alpha_8' & alpha_9' \
                beta_1' & beta_2' & beta_3' & beta_4' & beta_5' & beta_6' & beta_7' & beta_8' & beta_9' \
                };
                node[left=of n]{$vec{S}_1$};
                %
                foreach i in {1,...,8}
                {
                draw (m-1-i.north east) -- (m-2-i.south east);
                draw (n-1-i.north east) -- (n-2-i.south east);
                }
                path[arr]
                (m-1-3.north east) -- + (0,0.5) node[above] {$mathbf{P1}$};
                path[arr]
                (m-1-8.north east) -- + (0,0.5) node[above] {$mathbf{P2}$};
                end{tikzpicture}

                caption{An example of applied two-point quantum crossover}
                label{fig:equation}
                end{figure}
                end{document}






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 10 hours ago

























                answered 14 hours ago









                Zarko

                116k865154




                116k865154






















                    up vote
                    3
                    down vote













                    After the new tikzmarklibrary, which contains the fabulous command tikzmarknode, was uploaded to CTAN and became part of the standard TeX installations, there is no need to translate existing tables or matrices to TikZ since now you can use tikzmarknode to do all the things that were harder before. That is, you can keep what you have and just add the annotations with TikZ and with minimal effort.



                    documentclass{article}
                    usepackage{amsmath}
                    usepackage{tikz}
                    usetikzlibrary{tikzmark,calc}
                    begin{document}
                    begin{figure}[!ht]
                    vspace*{0.6cm}
                    begin{align*}
                    overrightarrow{P}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & tikzmarknode{a3}{alpha_3} & tikzmarknode{a4}{alpha_4} & alpha_5 & alpha_6 & alpha_7 & tikzmarknode{a8}{alpha_8} & tikzmarknode{a9}{alpha_9} \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    begin{tikzpicture}[overlay,remember picture]
                    draw[line width=1mm,latex-,red] ($(a3.north east)!0.5!(a4.north west)+(0,0.1)$) -- ++(0,0.6) node[black,above]{$P_1$};
                    draw[line width=1mm,latex-,red] ($(a8.north east)!0.5!(a9.north west)+(0,0.1)$) -- ++(0,0.5)node[black,above]{$P_2$};;
                    end{tikzpicture}
                    caption{An example}
                    end{figure}
                    end{document}


                    enter image description here






                    share|improve this answer





















                    • tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                      – Zarko
                      10 hours ago










                    • @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                      – marmot
                      10 hours ago










                    • i agree with you. the tools which you use are depend on task.
                      – Zarko
                      9 hours ago















                    up vote
                    3
                    down vote













                    After the new tikzmarklibrary, which contains the fabulous command tikzmarknode, was uploaded to CTAN and became part of the standard TeX installations, there is no need to translate existing tables or matrices to TikZ since now you can use tikzmarknode to do all the things that were harder before. That is, you can keep what you have and just add the annotations with TikZ and with minimal effort.



                    documentclass{article}
                    usepackage{amsmath}
                    usepackage{tikz}
                    usetikzlibrary{tikzmark,calc}
                    begin{document}
                    begin{figure}[!ht]
                    vspace*{0.6cm}
                    begin{align*}
                    overrightarrow{P}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & tikzmarknode{a3}{alpha_3} & tikzmarknode{a4}{alpha_4} & alpha_5 & alpha_6 & alpha_7 & tikzmarknode{a8}{alpha_8} & tikzmarknode{a9}{alpha_9} \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    begin{tikzpicture}[overlay,remember picture]
                    draw[line width=1mm,latex-,red] ($(a3.north east)!0.5!(a4.north west)+(0,0.1)$) -- ++(0,0.6) node[black,above]{$P_1$};
                    draw[line width=1mm,latex-,red] ($(a8.north east)!0.5!(a9.north west)+(0,0.1)$) -- ++(0,0.5)node[black,above]{$P_2$};;
                    end{tikzpicture}
                    caption{An example}
                    end{figure}
                    end{document}


                    enter image description here






                    share|improve this answer





















                    • tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                      – Zarko
                      10 hours ago










                    • @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                      – marmot
                      10 hours ago










                    • i agree with you. the tools which you use are depend on task.
                      – Zarko
                      9 hours ago













                    up vote
                    3
                    down vote










                    up vote
                    3
                    down vote









                    After the new tikzmarklibrary, which contains the fabulous command tikzmarknode, was uploaded to CTAN and became part of the standard TeX installations, there is no need to translate existing tables or matrices to TikZ since now you can use tikzmarknode to do all the things that were harder before. That is, you can keep what you have and just add the annotations with TikZ and with minimal effort.



                    documentclass{article}
                    usepackage{amsmath}
                    usepackage{tikz}
                    usetikzlibrary{tikzmark,calc}
                    begin{document}
                    begin{figure}[!ht]
                    vspace*{0.6cm}
                    begin{align*}
                    overrightarrow{P}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & tikzmarknode{a3}{alpha_3} & tikzmarknode{a4}{alpha_4} & alpha_5 & alpha_6 & alpha_7 & tikzmarknode{a8}{alpha_8} & tikzmarknode{a9}{alpha_9} \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    begin{tikzpicture}[overlay,remember picture]
                    draw[line width=1mm,latex-,red] ($(a3.north east)!0.5!(a4.north west)+(0,0.1)$) -- ++(0,0.6) node[black,above]{$P_1$};
                    draw[line width=1mm,latex-,red] ($(a8.north east)!0.5!(a9.north west)+(0,0.1)$) -- ++(0,0.5)node[black,above]{$P_2$};;
                    end{tikzpicture}
                    caption{An example}
                    end{figure}
                    end{document}


                    enter image description here






                    share|improve this answer












                    After the new tikzmarklibrary, which contains the fabulous command tikzmarknode, was uploaded to CTAN and became part of the standard TeX installations, there is no need to translate existing tables or matrices to TikZ since now you can use tikzmarknode to do all the things that were harder before. That is, you can keep what you have and just add the annotations with TikZ and with minimal effort.



                    documentclass{article}
                    usepackage{amsmath}
                    usepackage{tikz}
                    usetikzlibrary{tikzmark,calc}
                    begin{document}
                    begin{figure}[!ht]
                    vspace*{0.6cm}
                    begin{align*}
                    overrightarrow{P}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & tikzmarknode{a3}{alpha_3} & tikzmarknode{a4}{alpha_4} & alpha_5 & alpha_6 & alpha_7 & tikzmarknode{a8}{alpha_8} & tikzmarknode{a9}{alpha_9} \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_{1}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_{2}
                    &left[
                    begin{array}{c|c|c|c|c|c|c|c|c}
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    begin{tikzpicture}[overlay,remember picture]
                    draw[line width=1mm,latex-,red] ($(a3.north east)!0.5!(a4.north west)+(0,0.1)$) -- ++(0,0.6) node[black,above]{$P_1$};
                    draw[line width=1mm,latex-,red] ($(a8.north east)!0.5!(a9.north west)+(0,0.1)$) -- ++(0,0.5)node[black,above]{$P_2$};;
                    end{tikzpicture}
                    caption{An example}
                    end{figure}
                    end{document}


                    enter image description here







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 12 hours ago









                    marmot

                    77.1k487162




                    77.1k487162












                    • tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                      – Zarko
                      10 hours ago










                    • @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                      – marmot
                      10 hours ago










                    • i agree with you. the tools which you use are depend on task.
                      – Zarko
                      9 hours ago


















                    • tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                      – Zarko
                      10 hours ago










                    • @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                      – marmot
                      10 hours ago










                    • i agree with you. the tools which you use are depend on task.
                      – Zarko
                      9 hours ago
















                    tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                    – Zarko
                    10 hours ago




                    tikzmark library is indeed powerful, however transforming ``matrix` to array is not so big deal (except that drawing vertical lines require separate command) ;-). +1 for nice answer!
                    – Zarko
                    10 hours ago












                    @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                    – marmot
                    10 hours ago




                    @Zarko Well, you are very powerful with tables, so you know better than me that you can do things with tables which are very hard to reproduce with a TikZ matrix. Features that are hard to get with a TikZ matrix include aligning the decimal points and so on. In the present situation I agree that you can use a TikZ matrix in a very elegant way, but at the very moment in which the OP really makes use of align* it will be harder. So I guess everything will depend on what the OP ultimately wants to do, which we do not know.
                    – marmot
                    10 hours ago












                    i agree with you. the tools which you use are depend on task.
                    – Zarko
                    9 hours ago




                    i agree with you. the tools which you use are depend on task.
                    – Zarko
                    9 hours ago










                    up vote
                    2
                    down vote













                    You can place the P_1 and P_2 markers using eso-pic's absolute positioning mechanism - placing it in the ForeGround of the current page (via AddToShipoutPictureFG*). zref's savepos module allows you to capture the x,y coordinates of a <label> (set using zsavepos{<label>}) which can be retrieved using zposx/zposy (both expandable).



                    enter image description here



                    documentclass{article}

                    usepackage{amsmath,zref-savepos,eso-pic}

                    begin{document}

                    begin{align*}
                    & \ % Just to leave an empty line
                    overrightarrow{P}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3zsavepos{P1L} & zsavepos{P1R}alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8zsavepos{P2L} & zsavepos{P2R}alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    AddToShipoutPictureFG*{%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P1L}sp+zposx{P1R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_1 \ downarrow}$}}%
                    }%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P2L}sp+zposx{P2R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_2 \ downarrow}$}}%
                    }%
                    }

                    end{document}


                    Above I place two markers around the array column divider for each of P_1 and P_2 (denoted with a Left and Right suffix) and position the labels to be at the horizontal centre of these markers.



                    An empty line within the align* is left at the top in order to avoid unnecessary interaction with content appearing above the environment.



                    Since the markers use TeX's label-ref-like system, any change in the location of the markers requires an additional compilation so reference can settle.






                    share|improve this answer





















                    • Voted positively all for your excellent skill.
                      – Sebastiano
                      8 hours ago















                    up vote
                    2
                    down vote













                    You can place the P_1 and P_2 markers using eso-pic's absolute positioning mechanism - placing it in the ForeGround of the current page (via AddToShipoutPictureFG*). zref's savepos module allows you to capture the x,y coordinates of a <label> (set using zsavepos{<label>}) which can be retrieved using zposx/zposy (both expandable).



                    enter image description here



                    documentclass{article}

                    usepackage{amsmath,zref-savepos,eso-pic}

                    begin{document}

                    begin{align*}
                    & \ % Just to leave an empty line
                    overrightarrow{P}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3zsavepos{P1L} & zsavepos{P1R}alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8zsavepos{P2L} & zsavepos{P2R}alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    AddToShipoutPictureFG*{%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P1L}sp+zposx{P1R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_1 \ downarrow}$}}%
                    }%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P2L}sp+zposx{P2R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_2 \ downarrow}$}}%
                    }%
                    }

                    end{document}


                    Above I place two markers around the array column divider for each of P_1 and P_2 (denoted with a Left and Right suffix) and position the labels to be at the horizontal centre of these markers.



                    An empty line within the align* is left at the top in order to avoid unnecessary interaction with content appearing above the environment.



                    Since the markers use TeX's label-ref-like system, any change in the location of the markers requires an additional compilation so reference can settle.






                    share|improve this answer





















                    • Voted positively all for your excellent skill.
                      – Sebastiano
                      8 hours ago













                    up vote
                    2
                    down vote










                    up vote
                    2
                    down vote









                    You can place the P_1 and P_2 markers using eso-pic's absolute positioning mechanism - placing it in the ForeGround of the current page (via AddToShipoutPictureFG*). zref's savepos module allows you to capture the x,y coordinates of a <label> (set using zsavepos{<label>}) which can be retrieved using zposx/zposy (both expandable).



                    enter image description here



                    documentclass{article}

                    usepackage{amsmath,zref-savepos,eso-pic}

                    begin{document}

                    begin{align*}
                    & \ % Just to leave an empty line
                    overrightarrow{P}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3zsavepos{P1L} & zsavepos{P1R}alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8zsavepos{P2L} & zsavepos{P2R}alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    AddToShipoutPictureFG*{%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P1L}sp+zposx{P1R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_1 \ downarrow}$}}%
                    }%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P2L}sp+zposx{P2R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_2 \ downarrow}$}}%
                    }%
                    }

                    end{document}


                    Above I place two markers around the array column divider for each of P_1 and P_2 (denoted with a Left and Right suffix) and position the labels to be at the horizontal centre of these markers.



                    An empty line within the align* is left at the top in order to avoid unnecessary interaction with content appearing above the environment.



                    Since the markers use TeX's label-ref-like system, any change in the location of the markers requires an additional compilation so reference can settle.






                    share|improve this answer












                    You can place the P_1 and P_2 markers using eso-pic's absolute positioning mechanism - placing it in the ForeGround of the current page (via AddToShipoutPictureFG*). zref's savepos module allows you to capture the x,y coordinates of a <label> (set using zsavepos{<label>}) which can be retrieved using zposx/zposy (both expandable).



                    enter image description here



                    documentclass{article}

                    usepackage{amsmath,zref-savepos,eso-pic}

                    begin{document}

                    begin{align*}
                    & \ % Just to leave an empty line
                    overrightarrow{P}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3zsavepos{P1L} & zsavepos{P1R}alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8zsavepos{P2L} & zsavepos{P2R}alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{P}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta^prime_9 \
                    end{array}
                    right] \
                    \
                    overrightarrow{S}_1
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha_1 & alpha_2 & alpha_3 & alpha^prime_4 & alpha^prime_5 & alpha^prime_6 & alpha^prime_7 & alpha^prime_8 & alpha_9 \
                    beta_1 & beta_2 & beta_3 & beta^prime_4 & beta^prime_5 & beta^prime_6 & beta^prime_7 & beta^prime_8 & beta_9 \
                    end{array}
                    right] \
                    overrightarrow{S}_2
                    & left[
                    begin{array}{ *{8}{c|} c }
                    alpha^prime_1 & alpha^prime_2 & alpha^prime_3 & alpha_4 & alpha_5 & alpha_6 & alpha_7 & alpha_8 & alpha^prime_9 \
                    beta^prime_1 & beta^prime_2 & beta^prime_3 & beta_4 & beta_5 & beta_6 & beta_7 & beta_8 & beta^prime_9 \
                    end{array}
                    right]
                    end{align*}
                    AddToShipoutPictureFG*{%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P1L}sp+zposx{P1R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_1 \ downarrow}$}}%
                    }%
                    AtPageLowerLeft{%
                    hspace{0.5dimexprzposx{P2L}sp+zposx{P2R}sprelax}%
                    raisebox{dimexprzposy{P1L}sp+1.5baselineskip}{makebox[0pt]{$substack{P_2 \ downarrow}$}}%
                    }%
                    }

                    end{document}


                    Above I place two markers around the array column divider for each of P_1 and P_2 (denoted with a Left and Right suffix) and position the labels to be at the horizontal centre of these markers.



                    An empty line within the align* is left at the top in order to avoid unnecessary interaction with content appearing above the environment.



                    Since the markers use TeX's label-ref-like system, any change in the location of the markers requires an additional compilation so reference can settle.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 10 hours ago









                    Werner

                    431k599491626




                    431k599491626












                    • Voted positively all for your excellent skill.
                      – Sebastiano
                      8 hours ago


















                    • Voted positively all for your excellent skill.
                      – Sebastiano
                      8 hours ago
















                    Voted positively all for your excellent skill.
                    – Sebastiano
                    8 hours ago




                    Voted positively all for your excellent skill.
                    – Sebastiano
                    8 hours ago










                    M. Mojrian is a new contributor. Be nice, and check out our Code of Conduct.










                     

                    draft saved


                    draft discarded


















                    M. Mojrian is a new contributor. Be nice, and check out our Code of Conduct.













                    M. Mojrian is a new contributor. Be nice, and check out our Code of Conduct.












                    M. Mojrian 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%2f461281%2ftwo-down-arrows-over-specific-separator-lines-of-an-array%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

                    flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

                    Mangá

                     ⁒  ․,‪⁊‑⁙ ⁖, ⁇‒※‌, †,⁖‗‌⁝    ‾‸⁘,‖⁔⁣,⁂‾
”‑,‥–,‬ ,⁀‹⁋‴⁑ ‒ ,‴⁋”‼ ⁨,‷⁔„ ‰′,‐‚ ‥‡‎“‷⁃⁨⁅⁣,⁔
⁇‘⁔⁡⁏⁌⁡‿‶‏⁨ ⁣⁕⁖⁨⁩⁥‽⁀  ‴‬⁜‟ ⁃‣‧⁕‮ …‍⁨‴ ⁩,⁚⁖‫ ,‵ ⁀,‮⁝‣‣ ⁑  ⁂– ․, ‾‽ ‏⁁“⁗‸ ‾… ‹‡⁌⁎‸‘ ‡⁏⁌‪ ‵⁛ ‎⁨ ―⁦⁤⁄⁕