TabularX で列幅の表を作成し、それをページの上部に配置したいのですが、その方法についての答えが見つかりません。何か方法はありますか?
\begin{center}
\footnotesize
\begin{tabularx} {\columnwidth} {
| >{\centering\arraybackslash}X
| >{\centering\arraybackslash}X
| >{\centering\arraybackslash}X
| >{\centering\arraybackslash}X |}
\hline
\makecell{Planet\\} & \makecell{Mass\\(M\textsubscript{s})} & \makecell{SMA\\(AU)} & \makecell{TA\\(\textdegree)} \\
\hline
b & 0.003 & 70 & 153 \\
\hline
c & 0.004 & 38.9 & 48 \\
\hline
d & 0.005 & 25.6 & 292 \\
\hline
e & 0.008 & 14.4 & 327 \\
\hline
\end{tabularx}
\captionof{table}{Parameters calculated using figs 2 and 3.}
\label{Table 1}
\end{center}
答え1
tabularx
LaTeXで資料を列の先頭にタイプセットするように強制するには、資料をtable
環境ではなく 環境に配置しますcenter
。環境の幅はtabularx
に設定されているため\columnwidth
、明示的な\centering
指示は不要であることに注意してください。
@David Carlisle の提案も考慮してください。3 つのデータ列の数字を (明示的または暗黙的な) 小数点に揃えてください。また、垂直方向の罫線をすべて取り除き、水平方向の罫線を少なくして間隔を空けて、表をより開放的で魅力的な「外観」にしてください。両方の提案の適用例が次のスクリーンショットに表示されています。
\documentclass[twocolumn]{article}
\usepackage{tabularx,makecell,dcolumn,booktabs,lipsum}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{d}[1]{D..{#1}}
% handy shortcut macros:
\newcommand\mC[1]{\multicolumn{1}{C}{#1}} % without vertical rules
\newcommand\mD[1]{\multicolumn{1}{C|}{#1}} % with vertical rules
\begin{document}
\lipsum[1] % filler text
\begin{table}[t]
%\footnotesize % not needed
\begin{tabularx}{\columnwidth}{
| *{4}{C|} }
\hline
\makecell{Planet\\} &
\makecell{Mass\\(M\textsubscript{s})} &
\makecell{SMA\\(AU)} &
\makecell{TA\\(\textdegree)} \\
\hline
b & 0.003 & 70 & 153 \\
\hline
c & 0.004 & 38.9 & 48 \\
\hline
d & 0.005 & 25.6 & 292 \\
\hline
e & 0.008 & 14.4 & 327 \\
\hline
\end{tabularx}
\caption{OP's original version}
\label{table:parameters1}
\bigskip
\begin{tabularx}{\columnwidth}{
| >{\centering}X | d{1.3} | d{2.1} | d{3.0} |}
\hline
Planet &
\mD{\makecell{Mass\\(M\textsubscript{s})}} &
\mD{\makecell{SMA\\(AU)}} &
\mD{\makecell{TA\\(\textdegree)}} \\
\hline
b & 0.003 & 70 & 153 \\
\hline
c & 0.004 & 38.9 & 48 \\
\hline
d & 0.005 & 25.6 & 292 \\
\hline
e & 0.008 & 14.4 & 327 \\
\hline
\end{tabularx}
\caption{Numbers aligned on decimal markers}
\label{table:parameters2}
\bigskip
\begin{tabularx}{\columnwidth}{
@{} >{\centering}X d{1.3} d{2.1} d{3.0} @{}}
\toprule
Planet &
\mC{\makecell{Mass\\(M\textsubscript{s})}} &
\mC{\makecell{SMA\\(AU)}} &
\mC{\makecell{TA\\(\textdegree)}} \\
\midrule
b & 0.003 & 70 & 153 \\
c & 0.004 & 38.9 & 48 \\
d & 0.005 & 25.6 & 292 \\
e & 0.008 & 14.4 & 327 \\
\bottomrule
\end{tabularx}
\caption{Numbers aligned on decimal markers, no vertical rules, fewer but well-spaced horizontal rules}
\label{table:parameters3}
\end{table}
\lipsum[2-4] % more filler text
\end{document}