我有以下代码:
\documentclass[12pt]{article}
\newlength{\mylen}
\settowidth{\mylen}{the title}
\begin{document}
\begin{tabular}{|l|c|}
\hline
the title & number \\
\hline
\multicolumn{1}{|p{\mylen}|}{very very very very long} & 100 \\
\hline
\end{tabular}
\end{document}
它绘制如下表格(请忽略字体和背景颜色)
有人知道该怎么放在柱子的中间吗100
?vertical
答案1
使用包m
中的列类型array
而不是p
类型..
\documentclass[12pt]{article}
\usepackage{array}
\newlength{\mylen}
\settowidth{\mylen}{the title}
\begin{document}
\begin{tabular}{|l|c|}
\hline
the title & number \\
\hline
\multicolumn{1}{|m{\mylen}|}{very very very very long} & 100 \\
\hline
\end{tabular}
\end{document}
正如解释的那样这个答案,您>{\raggedright\arraybackslash}m{\mylen}
也可以在这里使用,以避免箱子过满。
答案2
您可以使用多行包来实现这一点,但只能后您知道长条目将占用多少行,因为您必须告诉多行它应该跨越多少行才能垂直居中。
\documentclass[12pt]{article}
\newlength{\mylen}
\settowidth{\mylen}{the title}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|l|c|}
\hline
the title & number \\
\hline
\multicolumn{1}{|p{\mylen}|}{very very very very long} & \multirow{5}{*}{100} \\
\hline
\end{tabular}
\end{document}