我正在尝试重现现有的排版表。
以下代码生成该表。
我无法纠正标题行中第二和第三个单元格的垂直间距。
提前感谢任何建议。包括“一切都错了,让我们重新开始吧。”
\documentclass[11pt]{article}
\begin{document}
\begin{center}
\begin{tabular}{c|c|c}
\hline
\rule{0pt}{3ex}
Ratio of unit lengths \\
$u_x : u_y : u_z$ &
Tan. \phi &
Tan. \theta \\[1ex] \hline
\rule{0pt}{5ex}
$\left\{
\begin{tabular}{c}
1{\hspace{1em}:\hspace{1em}}1{\hspace{1em}:\hspace{1em}}1 \\
\textrm{Isometric}
\end{tabular}\right\}$ &
$\phi = \theta$ &
= $60^\circ$ \\ [3ex]
\begin{tabular}{c@{\hspace{1em}:\hspace{1em}}c@{\hspace{1em}:\hspace{1em}}r}
2 & 1 & 2 \\
3 & 1 & 3 \\
4 & 1 & 4 \\
5 & 4 & 6 \\
6 & 5 & 10
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 1 \\
18 & 1 \\
32 & 1 \\
5 & 1 \\
11 & 1
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 7 \\
18 & 17 \\
32 & 31 \\
3 & 1 \\
5 & 8
\end{tabular} \\
\hline
\end{tabular}
\end{center}
\end{document}
答案1
我会用 来做makecell
。我对代码进行了一些简化(\hspace{1em}
很简单\quad
)。
\documentclass[11pt]{article}
\usepackage{bigstrut, makecell}
\begin{document}
\begin{center}
\begin{tabular}{c|c|c}
\hline
\rule{0pt}{3ex}
\makecell{Ratio of unit lengths\bigstrut[t] \\
$u_x : u_y : u_z$} &
Tan. $ \phi $ &
Tan. $ \theta $ \\[1ex] \hline
\rule{0pt}{5ex}
$\left\{
\begin{tabular}{c}
1{\quad:\quad}1{\quad:\quad}1 \\
\textrm{Isometric}
\end{tabular}\right\}$ &
$\phi = \theta$ &
= $60^\circ$ \\ [3ex]
\begin{tabular}{c@{\hspace{1em}:\hspace{1em}}c@{\hspace{1em}:\hspace{1em}}r}
2 & 1 & 2 \\
3 & 1 & 3 \\
4 & 1 & 4 \\
5 & 4 & 6 \\
6 & 5 & 10
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 1 \\
18 & 1 \\
32 & 1 \\
5 & 1 \\
11 & 1
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 7 \\
18 & 17 \\
32 & 31 \\
3 & 1 \\
5 & 8
\end{tabular} \\
\hline
\end{tabular}
\end{center}
\end{document}
答案2
有一种方法可以做到这一点:将第一个标题条目中的第二行视为第二行。
\documentclass[11pt]{article}
\begin{document}
\begin{center}
\begin{tabular}{c|c|c}
\hline
\rule{0pt}{3ex}
Ratio of unit lengths & % first row
Tan. \phi &
Tan. \theta \\
$u_x : u_y : u_z$ & & \\ % second row
[1ex] \hline
\rule{0pt}{5ex}
$\left\{
\begin{tabular}{c}
1{\hspace{1em}:\hspace{1em}}1{\hspace{1em}:\hspace{1em}}1 \\
\textrm{Isometric}
\end{tabular}\right\}$ &
$\phi = \theta$ &
= $60^\circ$ \\ [3ex]
\begin{tabular}{c@{\hspace{1em}:\hspace{1em}}c@{\hspace{1em}:\hspace{1em}}r}
2 & 1 & 2 \\
3 & 1 & 3 \\
4 & 1 & 4 \\
5 & 4 & 6 \\
6 & 5 & 10
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 1 \\
18 & 1 \\
32 & 1 \\
5 & 1 \\
11 & 1
\end{tabular} &
\begin{tabular}{r@{\hspace{1em}:\hspace{1em}}c}
8 & 7 \\
18 & 17 \\
32 & 31 \\
3 & 1 \\
5 & 8
\end{tabular} \\
\hline
\end{tabular}
\end{center}
\end{document}
结果:
要使第二和第三个标题也垂直居中,您可能需要不同的表格包。有一种方法可以使用 m{width} 来实现 tabular,但它的工作方式类似于 p{width},即左对齐,而您想要的是居中 c。