在表格单元格中添加垂直空间

在表格单元格中添加垂直空间

我正在尝试重现现有的排版表。

在此处输入图片描述

以下代码生成该表。

我无法纠正标题行中第二和第三个单元格的垂直间距。

提前感谢任何建议。包括“一切都错了,让我们重新开始吧。”

在此处输入图片描述

\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。

相关内容