我想知道是否有可能在 LaTeX 中创建一个跨越整个文本宽度的表格,并且列会自动居中...我尝试使用“X”选项tablerx
,但它并没有使列居中...
此外,你会看到我\hline
在第一行下面放了两个 s。是否可以在下面留一点空间线?
下面的代码。
\begin{table}[h]
\caption{Unit comparison between reduced Lennard-Jones units and GROMACS dimensional units. \vspace{0.2cm}}
\begin{tabularx}{\textwidth}{X X X X}
\hline \hline %\vspace{0.1cm}
\bf{Unit} & \bf{Lennard-Jones} & \bf{Dimensional} & \bf{GROMACS units} \\ \hline
Time & 1 $t^*$ & 1 ps & ps \\
Velocity & 1 $v^*$ & 1000 m/s & ps/nm \\
Temperature & 1 $T^*$ & 120.272 K & K
\\ \hline \hline
\end{tabularx}
\label{table:properties}
\end{table}
答案1
我在下面添加了代码的注释版本。以后请始终发布完全的文档包括前言和必要的软件包等。它使测试代码变得容易得多。
\begin{table}[htp]% not h om its own
\caption{Unit comparison between reduced Lennard-Jones units and GROMACS dimensional units. \vspace{0.2cm}}
\newcolumntype{C}{>{\centering\arraybackslash}X}% centering
\setlength\extrarowheight{3pt} % extra padding
%\bf does not take an argument, and has been deprecated
% since latex2ecame out in 1993 use \textbf
\noindent % otherwise the line will be too wide by \parindent
\begin{tabularx}{\textwidth}{C C C C}
\hline \hline
\textbf{Unit} & \textbf{Lennard-Jones} & \textbf{Dimensional} & \textbf{GROMACS units} \\ \hline
Time & 1 $t^*$ & 1 ps & ps \\
Velocity & 1 $v^*$ & 1000 m/s & ps/nm \\
Temperature & 1 $T^*$ & 120.272 K & K
\\ \hline \hline
\end{tabularx}
\label{table:properties}
\end{table}
答案2
您还可以使用该tabu
包代替tabularx
并定义您的表,如下所示:
\tabulinesep=1.5pt
\begin{tabu} to \textwidth {X[c] X[c] X[c] X[c]}
\hline \hline
\rowfont[c]\bfseries %will apply the \bfseries command to all elements of the next row
Unit & Lennard-Jones & Dimensional & GROMACS units \\
\hline
Time & 1 $t^*$ & 1 ps & ps \\
Velocity & 1 $v^*$ & 1000 m/s & ps/nm \\
Temperature & 1 $T^*$ & 120.272 K & K \\
\hline \hline
\end{tabu}
你需要在序言中添加\usepackage{tabu}
该\tabulinesep
位增加了线之间的空间(包括上方和下方)。
X
Column in的语法工作方式tabu
是,X[<width modifier>,<column modifiers>]
列修饰符可以是l, c, r, j, L, C, R, J
(左、居中、右、对齐),默认设置为j
。还有更多选项手动的。