当我尝试制作表格时,我得到了一个间距合适的表格,但我的文本仅水平居中。有没有办法让表格中的文本也垂直居中?
\begin{table*}[]
\renewcommand\arraystretch{1.5}
\centering
\caption{Table}
\label{my-label}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} \\ \hline
\textbf{c} & c & c & c & c & c & c \\ \hline
\end{tabular}
}
\end{table*}
答案1
通过删除您使用的包装器
\resizebox{\textwidth}{!}{% }
并保留其中的所有代码,我得到了您想要的东西。
\documentclass{article}
\begin{document}
\begin{table*}[]
\renewcommand\arraystretch{1.5}
\centering
\caption{Table}
\label{my-label}
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} \\ \hline
\textbf{c} & long word & arsodunarsodu & a sentence is here.& c & c & c \\ \hline
\end{tabular}
\end{table*}
\end{document}
相关问题:在 LaTeX 中垂直对齐表格中的文本
答案2
您的问题不太清楚...我假设您正在寻找类似这样的内容:
\documentclass{article}
\usepackage[utf8]{inputenc}%
\usepackage[showframe]{geometry}
\usepackage{caption}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}
\renewcommand\arraystretch{1.5}
\centering
\caption{caption}
\label{my-label}
\begin{tabularx}{\textwidth}{|*{7}{C|}}
\hline
\textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} & \textbf{c} \\ \hline
\textbf{c} & c & c & c & c & c & c \\ \hline
\end{tabularx}
\end{table}
\end{document}
如您所见,我没有使用\resizebox{\textwidth}{!}{ ... }
,它也会改变(放大/缩小)表格中的字体大小。相反,我建议使用tabularx
并重新定义其列类型(参见 MWE)。
答案3
(这个答案是基于OP的原来的代码。)
您应该删除所有[10pt]
垂直间距调整器。此外,您应该考虑 (a) 增加 的值\arraystretch
,(b) 删除所有垂直线和大多数水平线,以及 (c) 在标题单元格中引入换行符,因为否则单元格会变得不必要地宽。这样,减少表格大小(通过 )的需要\resizebox
就会比原始代码中少得多。
通过去掉大多数水平线,如何实现线条之间的垂直居中的问题就消失了,也就是说,它不再相关了。:-)
我也会(d)摆脱大多数粗体当过度使用时(就像我想说这里的情况一样),它根本起不到任何作用。
\documentclass{article}
\usepackage{graphicx,booktabs}
\usepackage[table]{xcolor}
\newcommand\mycolor{\cellcolor[HTML]{FFCC67}}
\usepackage[skip=0.33\baselineskip]{caption}
\newcommand\mycell[1]{%
\begin{tabular}[t]{@{}c@{}} #1 \end{tabular}}
\begin{document}
\begin{table}
\captionsetup{font=scriptsize}
\caption{Selection Matrix}
\label{my-label}
\resizebox{\textwidth}{!}{%
\scriptsize%
\renewcommand\arraystretch{1.3}%
\setlength\arraycolsep{2pt}%
\begin{tabular}{@{}lr*{5}{c}@{}}
\toprule
Criteria & Weight & \mycell{Skin-\\Gun\textsuperscript{TM}} & \mycell{Auto-\\graft} & \mycell{Strata-\\graft\textsuperscript{\textregistered}} & \mycell{Amniotic\\Membrane} & \mycell{Silver Nitrate\\Solution} \\
\midrule
Safety & 20\% & 5 & \mycolor\textbf{3} & 4 & 2 & 2 \\
Effectiveness & 20\% & 4 & \mycolor\textbf{3} & 4 & 3 & 2 \\
Healing Time & 15\% & 4 & \mycolor\textbf{3} & 4 & 4 & 2 \\
Invasiveness & 10\% & 5 & 1 & \mycolor\textbf{3} & 5 & 4 \\
Easy to Apply & 10\% & 4 & 1 & 2 & 5 & \mycolor\textbf{3} \\
Preparation &7.5\% & 3 & 1 & \mycolor\textbf{3} & 3 & 5 \\
Availability & 5\% & 1 & \mycolor\textbf{3} & 1 & 2 & 5 \\
Post-Treatment Aesthetics & 5\% & 5 & 1 & \mycolor\textbf{3} & 2 & 2 \\
Affordability & 5\% & 1 & \mycolor\textbf{3} & 3 & 4 & 5 \\
Hospital Stay Time &2.5\% & 1 & \mycolor\textbf{3} & 3 & 4 & 5 \\ \midrule
Score & & 3.975 & 2.35 & 3.375 & 3.325 & 2.9 \\
Rank & & 1 & 5 & 2 & 3 & 4 \\ \bottomrule
\end{tabular}
}
\end{table}
\end{document}