Uneven column widths when using a long multi-column header Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar ManaraTable column widths disproportionate due to multicolumn cell being too longltablex - Multi-column problemMulti-column problemTable with multi columnDifferent column widths when using multicolumn in tabular enviromentMulti-column problem with booktabs packageTables: adjust column widthsHow does multicolumn allocate column widths?Multi column TableChange placement of multi-column headerMulti-header column alignment with booktabs
Are these square matrices always diagonalisable?
Why did Israel vote against lifting the American embargo on Cuba?
What is the term for extremely loose Latin word order?
Did war bonds have better investment alternatives during WWII?
How to keep bees out of canned beverages?
What is /etc/mtab in Linux?
What do you call an IPA symbol that lacks a name (e.g. ɲ)?
What is a good proxy for government quality?
France's Public Holidays' Puzzle
Will I lose my paid in full property
Has a Nobel Peace laureate ever been accused of war crimes?
When I export an AI 300x60 art board it saves with bigger dimensions
How did Elite on the NES work?
Determinant of a matrix with 2 equal rows
Why does the Cisco show run command not show the full version, while the show version command does?
What happened to Viserion in Season 7?
TV series episode where humans nuke aliens before decrypting their message that states they come in peace
Page Layouts : 1 column , 2 columns-left , 2 columns-right , 3 column
How would it unbalance gameplay to rule that Weapon Master allows for picking a fighting style?
Is it OK if I do not take the receipt in Germany?
"Working on a knee"
What does the black goddess statue do and what is it?
Is it accepted to use working hours to read general interest books?
Does every subgroup of an abelian group have to be abelian?
Uneven column widths when using a long multi-column header
Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar ManaraTable column widths disproportionate due to multicolumn cell being too longltablex - Multi-column problemMulti-column problemTable with multi columnDifferent column widths when using multicolumn in tabular enviromentMulti-column problem with booktabs packageTables: adjust column widthsHow does multicolumn allocate column widths?Multi column TableChange placement of multi-column headerMulti-header column alignment with booktabs
I have the following MWE, but I have a problem with the alignment of the last column (under the multicolumn)
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
%
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
% table 2
% not evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
enddocument
The result I am getting is that the columns under the multicolumns are not evenly separated. And when I increase the width of the text argument to multicolumn command it becomes even worse, first example seems to be fine but with the second there is definitely a problem. Here is the output of the above code:
Any ideas are appreciated to solve this issue.
Many thanks in advance.
tables horizontal-alignment multicolumn booktabs
add a comment |
I have the following MWE, but I have a problem with the alignment of the last column (under the multicolumn)
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
%
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
% table 2
% not evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
enddocument
The result I am getting is that the columns under the multicolumns are not evenly separated. And when I increase the width of the text argument to multicolumn command it becomes even worse, first example seems to be fine but with the second there is definitely a problem. Here is the output of the above code:
Any ideas are appreciated to solve this issue.
Many thanks in advance.
tables horizontal-alignment multicolumn booktabs
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
1
booktabs
andcmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.
– egreg
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago
add a comment |
I have the following MWE, but I have a problem with the alignment of the last column (under the multicolumn)
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
%
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
% table 2
% not evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
enddocument
The result I am getting is that the columns under the multicolumns are not evenly separated. And when I increase the width of the text argument to multicolumn command it becomes even worse, first example seems to be fine but with the second there is definitely a problem. Here is the output of the above code:
Any ideas are appreciated to solve this issue.
Many thanks in advance.
tables horizontal-alignment multicolumn booktabs
I have the following MWE, but I have a problem with the alignment of the last column (under the multicolumn)
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
%
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
% table 2
% not evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
enddocument
The result I am getting is that the columns under the multicolumns are not evenly separated. And when I increase the width of the text argument to multicolumn command it becomes even worse, first example seems to be fine but with the second there is definitely a problem. Here is the output of the above code:
Any ideas are appreciated to solve this issue.
Many thanks in advance.
tables horizontal-alignment multicolumn booktabs
tables horizontal-alignment multicolumn booktabs
edited 2 days ago
Mico
288k32394781
288k32394781
asked 2 days ago
Umut TabakUmut Tabak
2571213
2571213
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
1
booktabs
andcmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.
– egreg
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago
add a comment |
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
1
booktabs
andcmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.
– egreg
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
1
1
booktabs
and cmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.– egreg
2 days ago
booktabs
and cmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.– egreg
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago
add a comment |
2 Answers
2
active
oldest
votes
I suggest two kinds of solutions.
The first one with makecell
which puts the multicolumn header on many lines; the second one with tabularx
which equally distributes the spaces among the last 3 columns, leaving the header in one line.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
usepackagemakecell
usepackagetabularx
newcolumntypeC>centeringarraybackslashX
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cmakecellReduced component\ matrix sizes\ textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionWith textbackslashtextttmakecell
labeltab:information-overview-academic-modelbis
endtable
begintable[htbp]
centering
begintabularxlinewidthccCCC
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabularx
captionWith texttttabularx
labeltab:information-overview-academic-modelter
endtable
enddocument
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
@UmutTabakmakecell
is created to divide lines. If you don't add\
within amakecell
it makes no sense to use it.
– CarLaTeX
2 days ago
add a comment |
Just for the sake of variety, here's a solution which (a) calculates the natural widths of columns 3, 4, and 5 and (b) uses the combined widths of the three columns (plus the intercolumn whitespace amount) to typeset the long header string in a way that allows for automatic line-breaking.
This approach keeps the tabular material nice and compact; this is generally considered to be a good thing.
Observe that I would place the headers "Component" and "Full size" at the top rather than at the bottom of the header material.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagexcolor,booktabs,array,ragged2e
%% Create a new column type:
newcolumntypeC[1]>Centeringarraybackslashp#1
begindocument
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
cmidrule3-5
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionOP's original layout
labeltab:a
endtable
%% perform a few length calculations
newlengthmylen
newlengthmylena
newlengthmylenb
settowidthmylena$m=4$
settowidthmylenb$m=12$
setlengthmylendimexpr2mylena+mylenb+4tabcolseprelax
begintable[htbp]
centering
begintabular@ccccc@
toprule
Component & Full size &
multicolumn3Cmylen@Reduced component matrix sizes textcolorredtest text added\
cmidrule(l)3-5
& & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionAutomatic line-breaking in cols 3 to 5
labeltab:b
endtable
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%2f485870%2funeven-column-widths-when-using-a-long-multi-column-header%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
I suggest two kinds of solutions.
The first one with makecell
which puts the multicolumn header on many lines; the second one with tabularx
which equally distributes the spaces among the last 3 columns, leaving the header in one line.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
usepackagemakecell
usepackagetabularx
newcolumntypeC>centeringarraybackslashX
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cmakecellReduced component\ matrix sizes\ textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionWith textbackslashtextttmakecell
labeltab:information-overview-academic-modelbis
endtable
begintable[htbp]
centering
begintabularxlinewidthccCCC
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabularx
captionWith texttttabularx
labeltab:information-overview-academic-modelter
endtable
enddocument
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
@UmutTabakmakecell
is created to divide lines. If you don't add\
within amakecell
it makes no sense to use it.
– CarLaTeX
2 days ago
add a comment |
I suggest two kinds of solutions.
The first one with makecell
which puts the multicolumn header on many lines; the second one with tabularx
which equally distributes the spaces among the last 3 columns, leaving the header in one line.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
usepackagemakecell
usepackagetabularx
newcolumntypeC>centeringarraybackslashX
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cmakecellReduced component\ matrix sizes\ textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionWith textbackslashtextttmakecell
labeltab:information-overview-academic-modelbis
endtable
begintable[htbp]
centering
begintabularxlinewidthccCCC
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabularx
captionWith texttttabularx
labeltab:information-overview-academic-modelter
endtable
enddocument
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
@UmutTabakmakecell
is created to divide lines. If you don't add\
within amakecell
it makes no sense to use it.
– CarLaTeX
2 days ago
add a comment |
I suggest two kinds of solutions.
The first one with makecell
which puts the multicolumn header on many lines; the second one with tabularx
which equally distributes the spaces among the last 3 columns, leaving the header in one line.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
usepackagemakecell
usepackagetabularx
newcolumntypeC>centeringarraybackslashX
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cmakecellReduced component\ matrix sizes\ textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionWith textbackslashtextttmakecell
labeltab:information-overview-academic-modelbis
endtable
begintable[htbp]
centering
begintabularxlinewidthccCCC
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabularx
captionWith texttttabularx
labeltab:information-overview-academic-modelter
endtable
enddocument
I suggest two kinds of solutions.
The first one with makecell
which puts the multicolumn header on many lines; the second one with tabularx
which equally distributes the spaces among the last 3 columns, leaving the header in one line.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagebooktabs
usepackagecalc
usepackagearray
usepackagecolor
usepackagemakecell
usepackagetabularx
newcolumntypeC>centeringarraybackslashX
begindocument
%
% table 1
% evenly alined
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionInformation on component level degrees of freedom
labeltab:information-overview-academic-model
endtable
%
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cmakecellReduced component\ matrix sizes\ textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionWith textbackslashtextttmakecell
labeltab:information-overview-academic-modelbis
endtable
begintable[htbp]
centering
begintabularxlinewidthccCCC
toprule
& & multicolumn3cReduced component matrix sizes textcolorredtest text added\
%cmidrule(r)3-5
cmidrule3-5
% multicolumn2cInternal mode count, $m$ &10&20&30&10&20&30\
%midrule
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabularx
captionWith texttttabularx
labeltab:information-overview-academic-modelter
endtable
enddocument
edited 2 days ago
Bernard
177k779211
177k779211
answered 2 days ago
CarLaTeXCarLaTeX
35.6k555153
35.6k555153
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
@UmutTabakmakecell
is created to divide lines. If you don't add\
within amakecell
it makes no sense to use it.
– CarLaTeX
2 days ago
add a comment |
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
@UmutTabakmakecell
is created to divide lines. If you don't add\
within amakecell
it makes no sense to use it.
– CarLaTeX
2 days ago
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
Thanks, without reading the documentation for makecell, I tried to use makecell with one line without the linebreaks as you suggested and then the problem still persists. I guess it is better to use tabularx for this one.
– Umut Tabak
2 days ago
1
1
@UmutTabak
makecell
is created to divide lines. If you don't add \
within a makecell
it makes no sense to use it.– CarLaTeX
2 days ago
@UmutTabak
makecell
is created to divide lines. If you don't add \
within a makecell
it makes no sense to use it.– CarLaTeX
2 days ago
add a comment |
Just for the sake of variety, here's a solution which (a) calculates the natural widths of columns 3, 4, and 5 and (b) uses the combined widths of the three columns (plus the intercolumn whitespace amount) to typeset the long header string in a way that allows for automatic line-breaking.
This approach keeps the tabular material nice and compact; this is generally considered to be a good thing.
Observe that I would place the headers "Component" and "Full size" at the top rather than at the bottom of the header material.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagexcolor,booktabs,array,ragged2e
%% Create a new column type:
newcolumntypeC[1]>Centeringarraybackslashp#1
begindocument
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
cmidrule3-5
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionOP's original layout
labeltab:a
endtable
%% perform a few length calculations
newlengthmylen
newlengthmylena
newlengthmylenb
settowidthmylena$m=4$
settowidthmylenb$m=12$
setlengthmylendimexpr2mylena+mylenb+4tabcolseprelax
begintable[htbp]
centering
begintabular@ccccc@
toprule
Component & Full size &
multicolumn3Cmylen@Reduced component matrix sizes textcolorredtest text added\
cmidrule(l)3-5
& & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionAutomatic line-breaking in cols 3 to 5
labeltab:b
endtable
enddocument
add a comment |
Just for the sake of variety, here's a solution which (a) calculates the natural widths of columns 3, 4, and 5 and (b) uses the combined widths of the three columns (plus the intercolumn whitespace amount) to typeset the long header string in a way that allows for automatic line-breaking.
This approach keeps the tabular material nice and compact; this is generally considered to be a good thing.
Observe that I would place the headers "Component" and "Full size" at the top rather than at the bottom of the header material.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagexcolor,booktabs,array,ragged2e
%% Create a new column type:
newcolumntypeC[1]>Centeringarraybackslashp#1
begindocument
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
cmidrule3-5
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionOP's original layout
labeltab:a
endtable
%% perform a few length calculations
newlengthmylen
newlengthmylena
newlengthmylenb
settowidthmylena$m=4$
settowidthmylenb$m=12$
setlengthmylendimexpr2mylena+mylenb+4tabcolseprelax
begintable[htbp]
centering
begintabular@ccccc@
toprule
Component & Full size &
multicolumn3Cmylen@Reduced component matrix sizes textcolorredtest text added\
cmidrule(l)3-5
& & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionAutomatic line-breaking in cols 3 to 5
labeltab:b
endtable
enddocument
add a comment |
Just for the sake of variety, here's a solution which (a) calculates the natural widths of columns 3, 4, and 5 and (b) uses the combined widths of the three columns (plus the intercolumn whitespace amount) to typeset the long header string in a way that allows for automatic line-breaking.
This approach keeps the tabular material nice and compact; this is generally considered to be a good thing.
Observe that I would place the headers "Component" and "Full size" at the top rather than at the bottom of the header material.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagexcolor,booktabs,array,ragged2e
%% Create a new column type:
newcolumntypeC[1]>Centeringarraybackslashp#1
begindocument
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
cmidrule3-5
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionOP's original layout
labeltab:a
endtable
%% perform a few length calculations
newlengthmylen
newlengthmylena
newlengthmylenb
settowidthmylena$m=4$
settowidthmylenb$m=12$
setlengthmylendimexpr2mylena+mylenb+4tabcolseprelax
begintable[htbp]
centering
begintabular@ccccc@
toprule
Component & Full size &
multicolumn3Cmylen@Reduced component matrix sizes textcolorredtest text added\
cmidrule(l)3-5
& & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionAutomatic line-breaking in cols 3 to 5
labeltab:b
endtable
enddocument
Just for the sake of variety, here's a solution which (a) calculates the natural widths of columns 3, 4, and 5 and (b) uses the combined widths of the three columns (plus the intercolumn whitespace amount) to typeset the long header string in a way that allows for automatic line-breaking.
This approach keeps the tabular material nice and compact; this is generally considered to be a good thing.
Observe that I would place the headers "Component" and "Full size" at the top rather than at the bottom of the header material.
documentclassreport
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagexcolor,booktabs,array,ragged2e
%% Create a new column type:
newcolumntypeC[1]>Centeringarraybackslashp#1
begindocument
begintable[htbp]
centering
begintabularccccc
toprule
& & multicolumn3cReduced component sizes\
cmidrule3-5
Component & Full size & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionOP's original layout
labeltab:a
endtable
%% perform a few length calculations
newlengthmylen
newlengthmylena
newlengthmylenb
settowidthmylena$m=4$
settowidthmylenb$m=12$
setlengthmylendimexpr2mylena+mylenb+4tabcolseprelax
begintable[htbp]
centering
begintabular@ccccc@
toprule
Component & Full size &
multicolumn3Cmylen@Reduced component matrix sizes textcolorredtest text added\
cmidrule(l)3-5
& & $m=4$ & $m=8$ & $m=12$\
midrule
1 & 257 & 24 & 28 & 32 \
2 & 420 & 47 & 51 & 55 \
3 & 177 & 24 & 28 & 32 \
bottomrule
endtabular
captionAutomatic line-breaking in cols 3 to 5
labeltab:b
endtable
enddocument
answered 2 days ago
MicoMico
288k32394781
288k32394781
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%2f485870%2funeven-column-widths-when-using-a-long-multi-column-header%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
Closely related: Table column widths disproportionate due to multicolumn cell being too long
– leandriis
2 days ago
1
booktabs
andcmidrule
are not involved. This is a known feature of TeX's alignments: when columns are spanned, the excess always go to the last spanned column. Overlong header text should be avoided.– egreg
2 days ago
Thanks egreg, I just learned it this morning ;)
– Umut Tabak
2 days ago