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;
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
add a comment |
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
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
add a comment |
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
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
tables multicolumn width
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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
, wheren
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:
In the first tabular (with header
HEAD1
), there are cells in each of the four columns withoutmulticolumn
statements. The overall width of each cell is therefore governed by the width of the associatedp
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, thec
column type is employed by themulticolumn
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
andB
, respectively) plus2tabcolsep
; the combined width of the first two columns is therefore the sum of the widths of the lettersA
andB
plus4tabcolsep
plusarrayrulewidth
.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
andB
plus2tabcolsep
.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 underlyingp
column types are never used. That's why the fifthtabular
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered 16 hours ago
David CarlisleDavid Carlisle
519k44 gold badges1174 silver badges1945 bronze badges
519k44 gold badges1174 silver badges1945 bronze badges
add a comment |
add a comment |
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
, wheren
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:
In the first tabular (with header
HEAD1
), there are cells in each of the four columns withoutmulticolumn
statements. The overall width of each cell is therefore governed by the width of the associatedp
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, thec
column type is employed by themulticolumn
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
andB
, respectively) plus2tabcolsep
; the combined width of the first two columns is therefore the sum of the widths of the lettersA
andB
plus4tabcolsep
plusarrayrulewidth
.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
andB
plus2tabcolsep
.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 underlyingp
column types are never used. That's why the fifthtabular
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
add a comment |
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
, wheren
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:
In the first tabular (with header
HEAD1
), there are cells in each of the four columns withoutmulticolumn
statements. The overall width of each cell is therefore governed by the width of the associatedp
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, thec
column type is employed by themulticolumn
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
andB
, respectively) plus2tabcolsep
; the combined width of the first two columns is therefore the sum of the widths of the lettersA
andB
plus4tabcolsep
plusarrayrulewidth
.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
andB
plus2tabcolsep
.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 underlyingp
column types are never used. That's why the fifthtabular
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
add a comment |
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
, wheren
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:
In the first tabular (with header
HEAD1
), there are cells in each of the four columns withoutmulticolumn
statements. The overall width of each cell is therefore governed by the width of the associatedp
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, thec
column type is employed by themulticolumn
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
andB
, respectively) plus2tabcolsep
; the combined width of the first two columns is therefore the sum of the widths of the lettersA
andB
plus4tabcolsep
plusarrayrulewidth
.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
andB
plus2tabcolsep
.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 underlyingp
column types are never used. That's why the fifthtabular
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
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
, wheren
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:
In the first tabular (with header
HEAD1
), there are cells in each of the four columns withoutmulticolumn
statements. The overall width of each cell is therefore governed by the width of the associatedp
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, thec
column type is employed by themulticolumn
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
andB
, respectively) plus2tabcolsep
; the combined width of the first two columns is therefore the sum of the widths of the lettersA
andB
plus4tabcolsep
plusarrayrulewidth
.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
andB
plus2tabcolsep
.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 underlyingp
column types are never used. That's why the fifthtabular
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
edited 16 hours ago
answered 16 hours ago
MicoMico
301k33 gold badges412 silver badges818 bronze badges
301k33 gold badges412 silver badges818 bronze badges
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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