TeX - LaTeX Asked on August 29, 2021
Consider the example, with two long headings to a table (one is longer):
documentclass{article}
usepackage{graphicx}
usepackage{array}
newcolumntype{C}[1]{>{centeringletnewlinearraybackslashhspace{0pt}}m{#1}}
begin{document}
begin{table}
begin{tabular}{|C{2em}|C{2em}|}hline
rotatebox{90}{Long long heading 1~} & rotatebox{90}{Long long longer longer heading 2~} hline %%%%%%%%%%% `~` is inserted at end of headings to keep the margin away
Text 1 & Text 2 hline
end{tabular}
end{table}
end{document}
Note that both the headings are centrally aligned in the y-axis.
What I want is, the table headings are aligned at the bottom in the y-axis. In other words, the highlighted space would not be there.
A solution as I suggested in a comment, and a simpler one, based on eqparbox
:
documentclass{article}
usepackage{graphicx}
usepackage{array}
newcolumntype{C}[1]{>{centeringletnewlinearraybackslashhspace{0pt}}m{#1}}
usepackage{eqparbox}
begin{document}
begin{table}
centering
begin{tabular}{|C{2em}|C{2em}|}hline
multicolumn{1}{|p{2em}}{centeringrotatebox[origin = l]{90}{Long long heading 1}~} &multicolumn{1}{|p{2em}|}{centering rotatebox[origin = l]{90}{Long long longer longer heading 2~}} hline %%%%%%%%%%% `~` is inserted at end of headings to keep the margin away
Text 1 & Text 2 hline
end{tabular}
qquad
begin{tabular}{|C{2em}|C{2em}|}hline
rotatebox{90}{eqmakebox[H][l]{Long long heading 1}~} & rotatebox{90}{eqmakebox[H][l]{Long long longer longer heading 2}~} hline %%%%%%%%%%% `~` is inserted at end of headings to keep the margin away
Text 1 & Text 2 hline
end{tabular}
end{table}
end{document}
Correct answer by Bernard on August 29, 2021
My proposal....
documentclass[12pt]{article}
usepackage{amsmath}
usepackage{graphicx}
begin{document}
begin{table}[h]
centering
begin{tabular}{|c|c|}
hline
rotatebox{90}{Long Long heading~} & rotatebox{90}{Long Long longer longer heading 2~} hline
multicolumn{1}{|c|}{begin{tabular}[c]{@{}c@{}}Text 1end{tabular}} & begin{tabular}[c]{@{}c@{}}Text 2end{tabular} hline
end{tabular}
end{table}
end{document}
Answered by Sebastiano on August 29, 2021
Two cases with use of the rotating
and makecell
packages:
documentclass[12pt]{article}
usepackage{rotating}
usepackage{makecell}
renewcommandtheadfont{normalsize}
begin{document}
begin{table}[ht]
centering
settowidthrotheadsize{Long Long longer longer heading 2}
begin{tabular}{|c|c|}
hline
rothead{Long Long heading}
& rothead{Long Long longer longer heading 2}
hline
makecell{Text 1} & makecell{Text 2}
hline
end{tabular}
end{table}
or table design which I more prefer:
begin{table}[ht]
centering
settowidthrotheadsize{Long Long heading}
begin{tabular}{|c|c|}
hline
rothead{Long Long heading}
& rothead{Long Long longer longer heading 2}
hline
makecell{Text 1} & makecell{Text 2}
hline
end{tabular}
end{table}
end{document}
Answered by Zarko on August 29, 2021
In {NiceTabular}
of nicematrix
, you have a built-in command rotate
to do that. However, you have to rebuild c
columns with multicolumn
since you want to use your C
type columns elsewhere.
documentclass{article}
usepackage{nicematrix}
newcolumntype{C}[1]{>{centeringletnewlinearraybackslashhspace{0pt}}m{#1}}
NiceMatrixOptions{cell-space-top-limit=2pt}
begin{document}
begin{table}
begin{NiceTabular}{C{2em}C{2em}}[hvlines]
multicolumn{1}{c}{rotate Long long heading 1}
& multicolumn{1}{c}{rotate Long long longer longer heading 2}
Text 1 & Text 2
end{NiceTabular}
end{table}
end{document}
Answered by F. Pantigny on August 29, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP