这是我的代码。
\documentclass{article}
\usepackage{pbox}
\usepackage{graphicx}
\begin{document}
\begin{table}[H]
\centering
\caption{Effect of Tilt on Module Output Power}
\resizebox{\textwidth}{!}{
\begin{tabular}{c|ccccccccc|c|c|c|c}
Angle & \multicolumn{9}{c}{Incident Radiation ($W/m^2$)} & \pbox{20 cm}{Average Incident \\ Radiation ($W/m^2$)} & Voltage (V) & Current (A) & Power (W) \\
25 & 383 & 616 & 530 & 350 & 830 & 550 & 75 & 164 & 69 & 396 & 4.99 & 0.14 & 0.6986 \\
22 & 364 & 594 & 483 & 364 & 865 & 630 & 112 & 178 & 170 & 417 & 7.13 & 0.199 & 1.41887 \\
19 & 360 & 622 & 496 & 418 & 886 & 625 & 101 & 246 & 220 & 441 & 8.2 & 0.228 & 1.8696 \\
16 & 357 & 586 & 461 & 437 & 988 & 724 & 119 & 251 & 250 & 463 & 9 & 0.249 & 2.241 \\
13 & 393 & 595 & 459 & 451 & 953 & 721 & 124 & 274 & 306 & 475 & 9.6 & 0.265 & 2.544 \\
10 & 374 & 602 & 460 & 506 & 1012 & 736 & 167 & 288 & 287 & 492 & 10.16 & 0.28 & 2.8448 \\
7 & 368 & 584 & 466 & 505 & 977 & 718 & 188 & 418 & 378 & 511 & 11.07 & 0.306 & 3.38742 \\
4 & 351 & 538 & 420 & 545 & 1024 & 769 & 267 & 472 & 433 & 535 & 11.75 & 0.324 & 3.807 \\
0 & 345 & 526 & 420 & 529 & 1059 & 789 & 280 & 481 & 465 & 543 & 12.17 & 0.331 & 4.02827
\end{tabular}
}
\end{table}
\end{document}
为什么第二行以后的垂直分隔线不完整(未到达表格顶部)?
答案1
改为使用,即如果必须有垂直线,\multicolumn{9}{c|}{Incident Radiation ($W/m^2$)}
则明确添加,因为如果在描述中指定了,则会自动在左列使用,但不是右列。忽略这一点是一个常见的“错误”。|
\multicolumn
|
tabular
|
|
顺便说一句:c|ccccccccc|c|c|c|c
可以替换为c|*{9}c|*{3}{c|}c
- 考虑使用
siunitx
单位 - 在我看来,包含整数的列(即前 10 列)应该右对齐,而不是居中。
编辑一些建议的改进(可能会有更多改进)
\documentclass{article}
\usepackage{pbox}
\usepackage{siunitx}
\usepackage{makecell}
\usepackage{graphicx}
\begin{document}
\begin{table}
\centering
\caption{Effect of Tilt on Module Output Power}
\resizebox{\textwidth}{!}{%
\begin{tabular}{c|*{9}r|*{3}{c|}c}
Angle (\SIUnitSymbolDegree) & \multicolumn{9}{c|}{Incident Radiation (\si{W/m^2})} & \thead{Average Incident \\ Radiation (\si{W/m^2})} & Voltage (\si{V}) & Current (\si{A}) & Power (\si{W}) \\
25 & 383 & 616 & 530 & 350 & 830 & 550 & 75 & 164 & 69 & 396 & 4.99 & 0.14 & 0.6986 \\
22 & 364 & 594 & 483 & 364 & 865 & 630 & 112 & 178 & 170 & 417 & 7.13 & 0.199 & 1.41887 \\
19 & 360 & 622 & 496 & 418 & 886 & 625 & 101 & 246 & 220 & 441 & 8.2 & 0.228 & 1.8696 \\
16 & 357 & 586 & 461 & 437 & 988 & 724 & 119 & 251 & 250 & 463 & 9 & 0.249 & 2.241 \\
13 & 393 & 595 & 459 & 451 & 953 & 721 & 124 & 274 & 306 & 475 & 9.6 & 0.265 & 2.544 \\
10 & 374 & 602 & 460 & 506 & 1012 & 736 & 167 & 288 & 287 & 492 & 10.16 & 0.28 & 2.8448 \\
7 & 368 & 584 & 466 & 505 & 977 & 718 & 188 & 418 & 378 & 511 & 11.07 & 0.306 & 3.38742 \\
4 & 351 & 538 & 420 & 545 & 1024 & 769 & 267 & 472 & 433 & 535 & 11.75 & 0.324 & 3.807 \\
0 & 345 & 526 & 420 & 529 & 1059 & 789 & 280 & 481 & 465 & 543 & 12.17 & 0.331 & 4.02827
\end{tabular}%
}
\end{table}
\end{document}
答案2
您应该说\multicolumn{9}{c|}{...}
:分隔线属于它前面的列(按照 LaTeX 的逻辑),但第一列之前的分隔线除外,该分隔线也属于第一列。
但是,使用\resizebox{\textwidth}{!}{...}
通常不是最好的选择。您应该首先尝试减小列的宽度,例如将单元分隔在不同行中。
使用siunitx
可以使图形对齐,同时booktabs
使表格看起来更专业。
我把字体缩小到\footnotesize
最大\tabcolsep
,以避免出现过满的行。
\documentclass{article}
\usepackage{graphicx,siunitx,booktabs}
\newcommand{\splitcell}[2][c]{%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}%
}
\begin{document}
\begin{table}
\centering
\caption{Effect of Tilt on Module Output Power}
\footnotesize
\setlength{\tabcolsep}{2pt}\setlength{\cmidrulekern}{1pt}
\begin{tabular}{
@{}
S[table-format=2.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=4.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=2.2]
S[table-format=1.3]
S[table-format=1.5,group-digits=false]
@{}
}
\toprule
{Angle} &
\multicolumn{9}{c}{Incident Radiation} &
{\splitcell{Average Incident \\ Radiation}} &
{Voltage} &
{Current} &
{Power} \\
&
\multicolumn{9}{c}{(\si{W/m^2})} &
{(\si{W/m^2})} &
{(\si{V})} &
{(\si{A})} &
{(\si{W})} \\
\cmidrule(r){1-1}
\cmidrule(lr){2-10}
\cmidrule(lr){11-11}
\cmidrule(lr){12-12}
\cmidrule(lr){13-13}
\cmidrule(l){14-14}
25 & 383 & 616 & 530 & 350 & 830 & 550 & 75 & 164 & 69 & 396 & 4.99 & 0.14 & 0.6986 \\
22 & 364 & 594 & 483 & 364 & 865 & 630 & 112 & 178 & 170 & 417 & 7.13 & 0.199 & 1.41887 \\
19 & 360 & 622 & 496 & 418 & 886 & 625 & 101 & 246 & 220 & 441 & 8.2 & 0.228 & 1.8696 \\
16 & 357 & 586 & 461 & 437 & 988 & 724 & 119 & 251 & 250 & 463 & 9 & 0.249 & 2.241 \\
13 & 393 & 595 & 459 & 451 & 953 & 721 & 124 & 274 & 306 & 475 & 9.6 & 0.265 & 2.544 \\
10 & 374 & 602 & 460 & 506 & 1012 & 736 & 167 & 288 & 287 & 492 & 10.16 & 0.28 & 2.8448 \\
7 & 368 & 584 & 466 & 505 & 977 & 718 & 188 & 418 & 378 & 511 & 11.07 & 0.306 & 3.38742 \\
4 & 351 & 538 & 420 & 545 & 1024 & 769 & 267 & 472 & 433 & 535 & 11.75 & 0.324 & 3.807 \\
0 & 345 & 526 & 420 & 529 & 1059 & 789 & 280 & 481 & 465 & 543 & 12.17 & 0.331 & 4.02827 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
如果将第十一列的标题缩小为“平均值”,则甚至可以使用\small
更大的\tabcolsep
:
\documentclass{article}
\usepackage{graphicx,siunitx,booktabs}
\begin{document}
\begin{table}
\centering
\caption{Effect of Tilt on Module Output Power}
\small
\setlength{\tabcolsep}{2.5pt}
\setlength{\cmidrulekern}{1.25pt} % half of \tabcolsep
\begin{tabular}{
@{}
S[table-format=2.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=4.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=2.2]
S[table-format=1.3]
S[table-format=1.5,group-digits=false]
@{}
}
\toprule
{Angle} &
\multicolumn{9}{c}{Incident Radiation} &
{Average} &
{Voltage} &
{Current} &
{Power} \\
&
\multicolumn{9}{c}{(\si{W/m^2})} &
{(\si{W/m^2})} &
{(\si{V})} &
{(\si{A})} &
{(\si{W})} \\
\cmidrule(r){1-1}
\cmidrule(lr){2-10}
\cmidrule(lr){11-11}
\cmidrule(lr){12-12}
\cmidrule(lr){13-13}
\cmidrule(l){14-14}
25 & 383 & 616 & 530 & 350 & 830 & 550 & 75 & 164 & 69 & 396 & 4.99 & 0.14 & 0.6986 \\
22 & 364 & 594 & 483 & 364 & 865 & 630 & 112 & 178 & 170 & 417 & 7.13 & 0.199 & 1.41887 \\
19 & 360 & 622 & 496 & 418 & 886 & 625 & 101 & 246 & 220 & 441 & 8.2 & 0.228 & 1.8696 \\
16 & 357 & 586 & 461 & 437 & 988 & 724 & 119 & 251 & 250 & 463 & 9 & 0.249 & 2.241 \\
13 & 393 & 595 & 459 & 451 & 953 & 721 & 124 & 274 & 306 & 475 & 9.6 & 0.265 & 2.544 \\
10 & 374 & 602 & 460 & 506 & 1012 & 736 & 167 & 288 & 287 & 492 & 10.16 & 0.28 & 2.8448 \\
7 & 368 & 584 & 466 & 505 & 977 & 718 & 188 & 418 & 378 & 511 & 11.07 & 0.306 & 3.38742 \\
4 & 351 & 538 & 420 & 545 & 1024 & 769 & 267 & 472 & 433 & 535 & 11.75 & 0.324 & 3.807 \\
0 & 345 & 526 & 420 & 529 & 1059 & 789 & 280 & 481 & 465 & 543 & 12.17 & 0.331 & 4.02827 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案3
一些建议:
使用
tabular*
环境而不是tabular
环境,让 LaTeX 计算列分隔符的宽度,同时仍使表格适合文本块使用包的功能
siunitx
来对齐数值数据列的内容和相关单位通过写入来缩小第 11 列的宽度
Avg. IR
,其中“IR”定义为左侧标题中的首字母缩略词没有垂直规则,只有一条水平规则。
\documentclass{article}
\usepackage{caption,siunitx,rotating,booktabs}
\sisetup{per-mode=symbol,group-digits=false}
\begin{document}
\begin{table}
\small
\setlength\tabcolsep{0.01pt}
\caption{Effect of Tilt on Module Output Power}
\begin{tabular*}{\textwidth}{S[table-format=2.0]
@{\extracolsep{\fill}}
*{4}{S[table-format=3.0]}
S[table-format=4.0]
*{5}{S[table-format=3.0]}
S[table-format=2.2]
S[table-format=1.3]
S[table-format=1.5] }
{Angle} & \multicolumn{9}{c}{Incident Radiation (IR)} & {Avg.~IR} & {Voltage} & {Current} & {Power} \\
& \multicolumn{9}{c}{(\si{\watt\per\meter\squared})}
& {(\si{\watt\per\meter\squared})} & {(\si{\volt})} & {(\si{\ampere})} & {(\si{\watt})}\\
\cmidrule{2-10}
25 & 383 & 616 & 530 & 350 & 830 & 550 & 75 & 164 & 69 & 396 & 4.99 & 0.14 & 0.6986 \\
22 & 364 & 594 & 483 & 364 & 865 & 630 & 112 & 178 & 170 & 417 & 7.13 & 0.199 & 1.41887 \\
19 & 360 & 622 & 496 & 418 & 886 & 625 & 101 & 246 & 220 & 441 & 8.2 & 0.228 & 1.8696 \\
16 & 357 & 586 & 461 & 437 & 988 & 724 & 119 & 251 & 250 & 463 & 9 & 0.249 & 2.241 \\
13 & 393 & 595 & 459 & 451 & 953 & 721 & 124 & 274 & 306 & 475 & 9.6 & 0.265 & 2.544 \\
10 & 374 & 602 & 460 & 506 & 1012 & 736 & 167 & 288 & 287 & 492 & 10.16 & 0.28 & 2.8448 \\
7 & 368 & 584 & 466 & 505 & 977 & 718 & 188 & 418 & 378 & 511 & 11.07 & 0.306 & 3.38742 \\
4 & 351 & 538 & 420 & 545 & 1024 & 769 & 267 & 472 & 433 & 535 & 11.75 & 0.324 & 3.807 \\
0 & 345 & 526 & 420 & 529 & 1059 & 789 & 280 & 481 & 465 & 543 & 12.17 & 0.331 & 4.02827
\end{tabular*}
\end{table}
\end{document}