Can anybody explain why using multicolumn changes the width of the four-column tabular environment?How to make multicolumn width the total of the declared width of each column?Multicolumn is only using the width of the first columnDifferent column widths when using multicolumn in tabular enviromentTabular cells with exact same width and multicolumnUsing multicolumn<cols>p<width> sets last column inappropriateSet width of tabular column to the width of tabular numeralsWidth of column after multicolumn headerTabular real column widthDefining column width using pwidth in tabular environment

TEMPO: play a sound in animated GIF/PDF/SVG

Why is there a large performance impact when looping over an array over 240 elements?

When were the tantalum capacitors first used in computing?

How can Radagast come across Gandalf and Thorin's company?

How much maintenance time did it take to make an F4U Corsair ready for another flight?

Is there a command to install basic applications on Ubuntu 16.04?

Heat equation: Squiggly lines

Why did I get only 5 points even though I won?

A continuous water "planet" ring around a star

How to take the beginning and end parts of a list with simpler syntax?

How many people would you need to pull a whale over cobblestone streets?

Markov-chain sentence generator in Python

Do beef farmed pastures net remove carbon emissions?

how do companies get money from being listed publicly

80's/90's superhero cartoon with a man on fire and a man who made ice runways like Frozone

If clocks themselves are based on light signals, wouldn't we expect the measured speed of light to always be the same constant?

How does "Te vas a cansar" mean "You're going to get tired"?

Are differences between uniformly distributed numbers uniformly distributed?

Why isn’t SHA-3 in wider use?

Email address etiquette - Which address should I use to contact professors?

Is there any way to stop a user from creating executables and running them?

If "more guns less crime", how do gun advocates explain that the EU has less crime than the US?

These were just lying around

Can the ground attached to neutral fool a receptacle tester?



Can anybody explain why using multicolumn changes the width of the four-column tabular environment?


How to make multicolumn width the total of the declared width of each column?Multicolumn is only using the width of the first columnDifferent column widths when using multicolumn in tabular enviromentTabular cells with exact same width and multicolumnUsing multicolumn<cols>p<width> sets last column inappropriateSet width of tabular column to the width of tabular numeralsWidth of column after multicolumn headerTabular real column widthDefining column width using pwidth in tabular environment






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















The following example typesets five tabular environments. All five tabulars share the same definition,



begintabular p1.67cm 


However, the overall widths of the five tabulars differ considerably, depending on how various multicolumn statements are employed. Can somebody explain why this is happening?



documentclass[preview,border=100pt]standalone
setlengthtabcolsep0.2cm
begindocument

begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
A & B & C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
multicolumn1cA & multicolumn1cB & multicolumn1cC & multicolumn1cD \hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn3cA & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn4cA\hline
endtabular
enddocument









share|improve this question





















  • 1





    Please clarify your question.

    – ferahfeza
    17 hours ago






  • 1





    I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

    – Mico
    16 hours ago

















4















The following example typesets five tabular environments. All five tabulars share the same definition,



begintabular p1.67cm 


However, the overall widths of the five tabulars differ considerably, depending on how various multicolumn statements are employed. Can somebody explain why this is happening?



documentclass[preview,border=100pt]standalone
setlengthtabcolsep0.2cm
begindocument

begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
A & B & C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
multicolumn1cA & multicolumn1cB & multicolumn1cC & multicolumn1cD \hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn3cA & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn4cA\hline
endtabular
enddocument









share|improve this question





















  • 1





    Please clarify your question.

    – ferahfeza
    17 hours ago






  • 1





    I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

    – Mico
    16 hours ago













4












4








4








The following example typesets five tabular environments. All five tabulars share the same definition,



begintabular p1.67cm 


However, the overall widths of the five tabulars differ considerably, depending on how various multicolumn statements are employed. Can somebody explain why this is happening?



documentclass[preview,border=100pt]standalone
setlengthtabcolsep0.2cm
begindocument

begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
A & B & C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
multicolumn1cA & multicolumn1cB & multicolumn1cC & multicolumn1cD \hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn3cA & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn4cA\hline
endtabular
enddocument









share|improve this question
















The following example typesets five tabular environments. All five tabulars share the same definition,



begintabular p1.67cm 


However, the overall widths of the five tabulars differ considerably, depending on how various multicolumn statements are employed. Can somebody explain why this is happening?



documentclass[preview,border=100pt]standalone
setlengthtabcolsep0.2cm
begindocument

begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
A & B & C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
multicolumn1cA & multicolumn1cB & multicolumn1cC & multicolumn1cD \hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn2cA& C & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn3cA & D\hline
endtabular

bigskip
begintabular p1.67cm hline
multicolumn4c HEAD\hlinehline
multicolumn4cA\hline
endtabular
enddocument






tables multicolumn width






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 16 hours ago









Mico

301k33 gold badges412 silver badges818 bronze badges




301k33 gold badges412 silver badges818 bronze badges










asked 17 hours ago









RichardRichard

262 bronze badges




262 bronze badges










  • 1





    Please clarify your question.

    – ferahfeza
    17 hours ago






  • 1





    I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

    – Mico
    16 hours ago












  • 1





    Please clarify your question.

    – ferahfeza
    17 hours ago






  • 1





    I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

    – Mico
    16 hours ago







1




1





Please clarify your question.

– ferahfeza
17 hours ago





Please clarify your question.

– ferahfeza
17 hours ago




1




1





I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

– Mico
16 hours ago





I've taken the liberty of editing the title of your posting to clarify its objective. Feel free to revert if you believe that I misunderstood your objective.

– Mico
16 hours ago










2 Answers
2






active

oldest

votes


















5














If every cell is re-specified by a multicolumn then the original column specification in the tabular is not used at all. That is the case in all your examples, so the only effective column specifications are c which will use the natural width of the text of the cells in each column.






share|improve this answer
































    4














    The key to understanding what's going on is to appreciate fully the meaning of the fact that multicolumn directives take three arguments:



    • Arg 1: the number of columns to which the directive applies. This number can be as small as 1 and as large as n, where n is the total number of columns.


    • Arg 2: The column type -- observe the singular form of the word "type" -- to be used for the combined column. It's important to realize that this column type completely overrides the underlying column type (or types) that is specified via begintabular....


    • Arg 3: The contents of the combined column.


    For the sake of completeness, I'll note that whereas the p column type has a fixed width, columns of type l, c and r have no ex ante fixed width. Instead, their widths will be that of the material they contain.



    Let's apply this to each of the five tabular environments. First, a picture (slightly modified from your code, mainly to ease cross-referencing) to establish the five different widths:



    enter image description here



    • In the first tabular (with header HEAD1), there are cells in each of the four columns without multicolumn statements. The overall width of each cell is therefore governed by the width of the associated p column type (1.67cm for the first three columns, and 8cm for the final column).



    • In the second tabular, the material in columns 1 and 2 is never without a multicolumn statement. In both data rows, the c column type is employed by the multicolumn statements. Hence, LaTeX never gets to apply the "underlying" p column type for either of the first two columns. That's why the width of the second tabular is less than that of the first.



      Observe that the widths of the first two columns are given by the widths of the underlying letters (A and B, respectively) plus 2tabcolsep; the combined width of the first two columns is therefore the sum of the widths of the letters A and B plus 4tabcolsep plus arrayrulewidth.



    • In the third tabular, there are only three "effective" columns, as there are no cells with separate material for the first two columns. The width of the effective first column is therefore given by the sum of the widths of the letters A and B plus 2tabcolsep.


    • The fourth tabular contains effectively just two columns. The underlying p column types of the first three columns are never used. Only the fourth column's underlying "p" type gets any use.


    • The fifth and final tabular effectively contains just one column, whose column type is c. Observe that the four underlying p column types are never used. That's why the fifth tabular is so much narrower than the first four are.


    The thing to remember is that multicolumn is quite powerful -- and far more powerful than one might at first give it credit. In particular, it's important to realize that the consequences of the fact that the column type specified in the second argument of multicolumn overrides the underlying column types completely.




    documentclass[preview,border=100pt]standalone
    setlengthtabcolsep0.2cm
    %%usepackagearray
    begindocument

    begintabular
    hline
    multicolumn4cHEAD1\
    hlinehline
    multicolumn2cAB & C & D\
    hline
    A & B & C & D\ % all four underlying column types get used in this row
    hline
    endtabular

    bigskip
    begintabular
    hline
    multicolumn4cHEAD2\
    hlinehline
    multicolumn2cAB & C & D\ % "p" column type is used only in columns 3 and 4
    hline
    multicolumn1cA & multicolumn1cB &
    multicolumn1cC & multicolumn1cD \
    hline
    endtabular

    bigskip
    begintabular
    hline
    multicolumn4cHEAD3\
    hlinehline
    multicolumn2cAB & C & D\
    hline
    endtabular

    bigskip
    begintabular
    hline
    multicolumn4cHEAD4\
    hlinehline
    multicolumn3cABC & D\ % "p" column type is used only in column 4

    hline
    endtabular

    bigskip
    begintabular
    hline
    multicolumn4cHEAD5\
    hlinehline
    multicolumn4cABCD\ % "p" column type isn't used anywhere
    hline
    endtabular
    enddocument





    share|improve this answer





























      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
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f503872%2fcan-anybody-explain-why-using-multicolumn-changes-the-width-of-the-four-column%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














      If every cell is re-specified by a multicolumn then the original column specification in the tabular is not used at all. That is the case in all your examples, so the only effective column specifications are c which will use the natural width of the text of the cells in each column.






      share|improve this answer





























        5














        If every cell is re-specified by a multicolumn then the original column specification in the tabular is not used at all. That is the case in all your examples, so the only effective column specifications are c which will use the natural width of the text of the cells in each column.






        share|improve this answer



























          5












          5








          5







          If every cell is re-specified by a multicolumn then the original column specification in the tabular is not used at all. That is the case in all your examples, so the only effective column specifications are c which will use the natural width of the text of the cells in each column.






          share|improve this answer













          If every cell is re-specified by a multicolumn then the original column specification in the tabular is not used at all. That is the case in all your examples, so the only effective column specifications are c which will use the natural width of the text of the cells in each column.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 16 hours ago









          David CarlisleDavid Carlisle

          519k44 gold badges1174 silver badges1945 bronze badges




          519k44 gold badges1174 silver badges1945 bronze badges


























              4














              The key to understanding what's going on is to appreciate fully the meaning of the fact that multicolumn directives take three arguments:



              • Arg 1: the number of columns to which the directive applies. This number can be as small as 1 and as large as n, where n is the total number of columns.


              • Arg 2: The column type -- observe the singular form of the word "type" -- to be used for the combined column. It's important to realize that this column type completely overrides the underlying column type (or types) that is specified via begintabular....


              • Arg 3: The contents of the combined column.


              For the sake of completeness, I'll note that whereas the p column type has a fixed width, columns of type l, c and r have no ex ante fixed width. Instead, their widths will be that of the material they contain.



              Let's apply this to each of the five tabular environments. First, a picture (slightly modified from your code, mainly to ease cross-referencing) to establish the five different widths:



              enter image description here



              • In the first tabular (with header HEAD1), there are cells in each of the four columns without multicolumn statements. The overall width of each cell is therefore governed by the width of the associated p column type (1.67cm for the first three columns, and 8cm for the final column).



              • In the second tabular, the material in columns 1 and 2 is never without a multicolumn statement. In both data rows, the c column type is employed by the multicolumn statements. Hence, LaTeX never gets to apply the "underlying" p column type for either of the first two columns. That's why the width of the second tabular is less than that of the first.



                Observe that the widths of the first two columns are given by the widths of the underlying letters (A and B, respectively) plus 2tabcolsep; the combined width of the first two columns is therefore the sum of the widths of the letters A and B plus 4tabcolsep plus arrayrulewidth.



              • In the third tabular, there are only three "effective" columns, as there are no cells with separate material for the first two columns. The width of the effective first column is therefore given by the sum of the widths of the letters A and B plus 2tabcolsep.


              • The fourth tabular contains effectively just two columns. The underlying p column types of the first three columns are never used. Only the fourth column's underlying "p" type gets any use.


              • The fifth and final tabular effectively contains just one column, whose column type is c. Observe that the four underlying p column types are never used. That's why the fifth tabular is so much narrower than the first four are.


              The thing to remember is that multicolumn is quite powerful -- and far more powerful than one might at first give it credit. In particular, it's important to realize that the consequences of the fact that the column type specified in the second argument of multicolumn overrides the underlying column types completely.




              documentclass[preview,border=100pt]standalone
              setlengthtabcolsep0.2cm
              %%usepackagearray
              begindocument

              begintabular
              hline
              multicolumn4cHEAD1\
              hlinehline
              multicolumn2cAB & C & D\
              hline
              A & B & C & D\ % all four underlying column types get used in this row
              hline
              endtabular

              bigskip
              begintabular
              hline
              multicolumn4cHEAD2\
              hlinehline
              multicolumn2cAB & C & D\ % "p" column type is used only in columns 3 and 4
              hline
              multicolumn1cA & multicolumn1cB &
              multicolumn1cC & multicolumn1cD \
              hline
              endtabular

              bigskip
              begintabular
              hline
              multicolumn4cHEAD3\
              hlinehline
              multicolumn2cAB & C & D\
              hline
              endtabular

              bigskip
              begintabular
              hline
              multicolumn4cHEAD4\
              hlinehline
              multicolumn3cABC & D\ % "p" column type is used only in column 4

              hline
              endtabular

              bigskip
              begintabular
              hline
              multicolumn4cHEAD5\
              hlinehline
              multicolumn4cABCD\ % "p" column type isn't used anywhere
              hline
              endtabular
              enddocument





              share|improve this answer































                4














                The key to understanding what's going on is to appreciate fully the meaning of the fact that multicolumn directives take three arguments:



                • Arg 1: the number of columns to which the directive applies. This number can be as small as 1 and as large as n, where n is the total number of columns.


                • Arg 2: The column type -- observe the singular form of the word "type" -- to be used for the combined column. It's important to realize that this column type completely overrides the underlying column type (or types) that is specified via begintabular....


                • Arg 3: The contents of the combined column.


                For the sake of completeness, I'll note that whereas the p column type has a fixed width, columns of type l, c and r have no ex ante fixed width. Instead, their widths will be that of the material they contain.



                Let's apply this to each of the five tabular environments. First, a picture (slightly modified from your code, mainly to ease cross-referencing) to establish the five different widths:



                enter image description here



                • In the first tabular (with header HEAD1), there are cells in each of the four columns without multicolumn statements. The overall width of each cell is therefore governed by the width of the associated p column type (1.67cm for the first three columns, and 8cm for the final column).



                • In the second tabular, the material in columns 1 and 2 is never without a multicolumn statement. In both data rows, the c column type is employed by the multicolumn statements. Hence, LaTeX never gets to apply the "underlying" p column type for either of the first two columns. That's why the width of the second tabular is less than that of the first.



                  Observe that the widths of the first two columns are given by the widths of the underlying letters (A and B, respectively) plus 2tabcolsep; the combined width of the first two columns is therefore the sum of the widths of the letters A and B plus 4tabcolsep plus arrayrulewidth.



                • In the third tabular, there are only three "effective" columns, as there are no cells with separate material for the first two columns. The width of the effective first column is therefore given by the sum of the widths of the letters A and B plus 2tabcolsep.


                • The fourth tabular contains effectively just two columns. The underlying p column types of the first three columns are never used. Only the fourth column's underlying "p" type gets any use.


                • The fifth and final tabular effectively contains just one column, whose column type is c. Observe that the four underlying p column types are never used. That's why the fifth tabular is so much narrower than the first four are.


                The thing to remember is that multicolumn is quite powerful -- and far more powerful than one might at first give it credit. In particular, it's important to realize that the consequences of the fact that the column type specified in the second argument of multicolumn overrides the underlying column types completely.




                documentclass[preview,border=100pt]standalone
                setlengthtabcolsep0.2cm
                %%usepackagearray
                begindocument

                begintabular
                hline
                multicolumn4cHEAD1\
                hlinehline
                multicolumn2cAB & C & D\
                hline
                A & B & C & D\ % all four underlying column types get used in this row
                hline
                endtabular

                bigskip
                begintabular
                hline
                multicolumn4cHEAD2\
                hlinehline
                multicolumn2cAB & C & D\ % "p" column type is used only in columns 3 and 4
                hline
                multicolumn1cA & multicolumn1cB &
                multicolumn1cC & multicolumn1cD \
                hline
                endtabular

                bigskip
                begintabular
                hline
                multicolumn4cHEAD3\
                hlinehline
                multicolumn2cAB & C & D\
                hline
                endtabular

                bigskip
                begintabular
                hline
                multicolumn4cHEAD4\
                hlinehline
                multicolumn3cABC & D\ % "p" column type is used only in column 4

                hline
                endtabular

                bigskip
                begintabular
                hline
                multicolumn4cHEAD5\
                hlinehline
                multicolumn4cABCD\ % "p" column type isn't used anywhere
                hline
                endtabular
                enddocument





                share|improve this answer





























                  4












                  4








                  4







                  The key to understanding what's going on is to appreciate fully the meaning of the fact that multicolumn directives take three arguments:



                  • Arg 1: the number of columns to which the directive applies. This number can be as small as 1 and as large as n, where n is the total number of columns.


                  • Arg 2: The column type -- observe the singular form of the word "type" -- to be used for the combined column. It's important to realize that this column type completely overrides the underlying column type (or types) that is specified via begintabular....


                  • Arg 3: The contents of the combined column.


                  For the sake of completeness, I'll note that whereas the p column type has a fixed width, columns of type l, c and r have no ex ante fixed width. Instead, their widths will be that of the material they contain.



                  Let's apply this to each of the five tabular environments. First, a picture (slightly modified from your code, mainly to ease cross-referencing) to establish the five different widths:



                  enter image description here



                  • In the first tabular (with header HEAD1), there are cells in each of the four columns without multicolumn statements. The overall width of each cell is therefore governed by the width of the associated p column type (1.67cm for the first three columns, and 8cm for the final column).



                  • In the second tabular, the material in columns 1 and 2 is never without a multicolumn statement. In both data rows, the c column type is employed by the multicolumn statements. Hence, LaTeX never gets to apply the "underlying" p column type for either of the first two columns. That's why the width of the second tabular is less than that of the first.



                    Observe that the widths of the first two columns are given by the widths of the underlying letters (A and B, respectively) plus 2tabcolsep; the combined width of the first two columns is therefore the sum of the widths of the letters A and B plus 4tabcolsep plus arrayrulewidth.



                  • In the third tabular, there are only three "effective" columns, as there are no cells with separate material for the first two columns. The width of the effective first column is therefore given by the sum of the widths of the letters A and B plus 2tabcolsep.


                  • The fourth tabular contains effectively just two columns. The underlying p column types of the first three columns are never used. Only the fourth column's underlying "p" type gets any use.


                  • The fifth and final tabular effectively contains just one column, whose column type is c. Observe that the four underlying p column types are never used. That's why the fifth tabular is so much narrower than the first four are.


                  The thing to remember is that multicolumn is quite powerful -- and far more powerful than one might at first give it credit. In particular, it's important to realize that the consequences of the fact that the column type specified in the second argument of multicolumn overrides the underlying column types completely.




                  documentclass[preview,border=100pt]standalone
                  setlengthtabcolsep0.2cm
                  %%usepackagearray
                  begindocument

                  begintabular
                  hline
                  multicolumn4cHEAD1\
                  hlinehline
                  multicolumn2cAB & C & D\
                  hline
                  A & B & C & D\ % all four underlying column types get used in this row
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD2\
                  hlinehline
                  multicolumn2cAB & C & D\ % "p" column type is used only in columns 3 and 4
                  hline
                  multicolumn1cA & multicolumn1cB &
                  multicolumn1cC & multicolumn1cD \
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD3\
                  hlinehline
                  multicolumn2cAB & C & D\
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD4\
                  hlinehline
                  multicolumn3cABC & D\ % "p" column type is used only in column 4

                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD5\
                  hlinehline
                  multicolumn4cABCD\ % "p" column type isn't used anywhere
                  hline
                  endtabular
                  enddocument





                  share|improve this answer















                  The key to understanding what's going on is to appreciate fully the meaning of the fact that multicolumn directives take three arguments:



                  • Arg 1: the number of columns to which the directive applies. This number can be as small as 1 and as large as n, where n is the total number of columns.


                  • Arg 2: The column type -- observe the singular form of the word "type" -- to be used for the combined column. It's important to realize that this column type completely overrides the underlying column type (or types) that is specified via begintabular....


                  • Arg 3: The contents of the combined column.


                  For the sake of completeness, I'll note that whereas the p column type has a fixed width, columns of type l, c and r have no ex ante fixed width. Instead, their widths will be that of the material they contain.



                  Let's apply this to each of the five tabular environments. First, a picture (slightly modified from your code, mainly to ease cross-referencing) to establish the five different widths:



                  enter image description here



                  • In the first tabular (with header HEAD1), there are cells in each of the four columns without multicolumn statements. The overall width of each cell is therefore governed by the width of the associated p column type (1.67cm for the first three columns, and 8cm for the final column).



                  • In the second tabular, the material in columns 1 and 2 is never without a multicolumn statement. In both data rows, the c column type is employed by the multicolumn statements. Hence, LaTeX never gets to apply the "underlying" p column type for either of the first two columns. That's why the width of the second tabular is less than that of the first.



                    Observe that the widths of the first two columns are given by the widths of the underlying letters (A and B, respectively) plus 2tabcolsep; the combined width of the first two columns is therefore the sum of the widths of the letters A and B plus 4tabcolsep plus arrayrulewidth.



                  • In the third tabular, there are only three "effective" columns, as there are no cells with separate material for the first two columns. The width of the effective first column is therefore given by the sum of the widths of the letters A and B plus 2tabcolsep.


                  • The fourth tabular contains effectively just two columns. The underlying p column types of the first three columns are never used. Only the fourth column's underlying "p" type gets any use.


                  • The fifth and final tabular effectively contains just one column, whose column type is c. Observe that the four underlying p column types are never used. That's why the fifth tabular is so much narrower than the first four are.


                  The thing to remember is that multicolumn is quite powerful -- and far more powerful than one might at first give it credit. In particular, it's important to realize that the consequences of the fact that the column type specified in the second argument of multicolumn overrides the underlying column types completely.




                  documentclass[preview,border=100pt]standalone
                  setlengthtabcolsep0.2cm
                  %%usepackagearray
                  begindocument

                  begintabular
                  hline
                  multicolumn4cHEAD1\
                  hlinehline
                  multicolumn2cAB & C & D\
                  hline
                  A & B & C & D\ % all four underlying column types get used in this row
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD2\
                  hlinehline
                  multicolumn2cAB & C & D\ % "p" column type is used only in columns 3 and 4
                  hline
                  multicolumn1cA & multicolumn1cB &
                  multicolumn1cC & multicolumn1cD \
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD3\
                  hlinehline
                  multicolumn2cAB & C & D\
                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD4\
                  hlinehline
                  multicolumn3cABC & D\ % "p" column type is used only in column 4

                  hline
                  endtabular

                  bigskip
                  begintabular
                  hline
                  multicolumn4cHEAD5\
                  hlinehline
                  multicolumn4cABCD\ % "p" column type isn't used anywhere
                  hline
                  endtabular
                  enddocument






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 16 hours ago

























                  answered 16 hours ago









                  MicoMico

                  301k33 gold badges412 silver badges818 bronze badges




                  301k33 gold badges412 silver badges818 bronze badges






























                      draft saved

                      draft discarded
















































                      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%2f503872%2fcan-anybody-explain-why-using-multicolumn-changes-the-width-of-the-four-column%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

                      ParseJSON using SSJSUsing AMPscript with SSJS ActivitiesHow to resubscribe a user in Marketing cloud using SSJS?Pulling Subscriber Status from Lists using SSJSRetrieving Emails using SSJSProblem in updating DE using SSJSUsing SSJS to send single email in Marketing CloudError adding EmailSendDefinition using SSJS

                      Кампала Садржај Географија Географија Историја Становништво Привреда Партнерски градови Референце Спољашње везе Мени за навигацију0°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.340°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.34МедијиПодациЗванични веб-сајту

                      19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу