Я создал таблицу с шириной столбца в 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
Чтобы заставить LaTeX набрать tabularx
материал в верхней части столбца, поместите материал в table
среду, а не в center
среду. Обратите внимание, что поскольку ширина среды tabularx
установлена на \columnwidth
, явных \centering
указаний не требуется.
Также рассмотрите предложение @David Carlisle выровнять числа в трех столбцах данных по их (явным или неявным) десятичным маркерам. И постарайтесь придать таблице более открытый и привлекательный "вид", избавившись от всех вертикальных линий и используя меньшее количество, но хорошо разнесенных горизонтальных линий. Применение обоих предложений показано на следующем снимке экрана.
\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}