表格中的 Plain TeX 简单水平对齐

表格中的 Plain TeX 简单水平对齐

初学者的问题:为什么水平对齐在这个简单的表格中不能按我预期的方式工作?我只有一组变量,它们的值在左列,我想将它们对齐到标题“Givet”(=Given) 下,还有一组变量,它们在右列,我想将它们对齐到标题“Sökt”下。它要么抱怨我应该在数学模式中使用“数学重音”,要么抱怨我缺少 # 或 &。

\halign{       #&#&#                & \quad\hfil    #&#                 \cr
\it{Givet}\rm   &{}&{}              &               {}&\it{S\"okt}\rm   \cr
$\varphi_{m}$   &=&0.4              &               {}&$\dot{V_{o}}$    \cr
$t_{m}$         &=&$21^{\rm{o}}$C   &               {}&$\Delta i_{o}$   \cr
$t_{o}$         &=&$0^{\rm{o}}$C    &               {}&$\t_{o}'$        \cr
$\varphi_{o}$   &=&0.7              &               {}&{}               \cr
$t_{2}$         &=&$24^{\rm{o}}$C   &               {}&{}               \cr
$\varphi_{2}$   &=&0.5              &               {}&{}               \cr
p               &=&1.013 bar        &               {}&{}               \cr

}

答案1

我想你想要类似的东西

在此处输入图片描述

\halign{\hfil#\unskip&${}#{}$&#\unskip\hfil   & \quad\hfil    #&#\unskip\hfil   \cr
\multispan{2}{\it Givet}&{}              &               {}&\it S\"okt   \cr
$\varphi_{m}$   &=&0.4              &               {}&$\dot{V_{o}}$    \cr
$t_{m}$         &=&$21^{\rm o}$C   &               {}&$\Delta i_{o}$   \cr
$t_{o}$         &=&$0^{\rm o}$C    &               {}&$t_{o}'$        \cr
$\varphi_{o}$   &=&0.7              &               {}&{}               \cr
$t_{2}$         &=&$24^{\rm o}$C   &               {}&{}               \cr
$\varphi_{2}$   &=&0.5              &               {}&{}               \cr
p               &=&1.013 bar        &               {}&{}               \cr
}


\bigskip

\halign{#\unskip\hfil&${}#{}$&#\hfil                & \quad\hfil    #&#\hfil    \cr
\multispan{2}{\it Givet}&{}              &               {}&\it S\"okt   \cr
$\varphi_{m}$   &=&0.4              &               {}&$\dot{V_{o}}$    \cr
$t_{m}$         &=&$21^{\rm o}$C   &               {}&$\Delta i_{o}$   \cr
$t_{o}$         &=&$0^{\rm o}$C    &               {}&$t_{o}'$        \cr
$\varphi_{o}$   &=&0.7              &               {}&{}               \cr
$t_{2}$         &=&$24^{\rm o}$C   &               {}&{}               \cr
$\varphi_{2}$   &=&0.5              &               {}&{}               \cr
p               &=&1.013 bar        &               {}&{}               \cr
}

\bigskip

\halign{#\unskip\hfil                & \quad\hfil    #&#\unskip\hfil      \cr
\it Givet               &               {}&\it S\"okt   \cr
$\varphi_{m}   =0.4 $             &               {}&$\dot{V_{o}}$    \cr
$t_{m}         =21^{\rm o}{\rm C}$   &               {}&$\Delta i_{o}$   \cr
$t_{o}        =0^{\rm o}{\rm C}$    &               {}&$t_{o}'$        \cr
$\varphi_{o}   =0.7    $          &               {}&{}               \cr
$t_{2}       =24^{\rm o}{\rm C}$   &               {}&{}               \cr
$\varphi_{2}   =0.5$              &               {}&{}               \cr
${\rm p}               =1.013 \,{\rm bar}$        &               {}&{}               \cr
}

\bye

注意,我在所有列上都添加了胶水以进行对齐,强制 = 的数学间距,并且\rm\it接受参数,所以我删除了{ }括号组。

关于重音的错误是由于\t我认为这里的拼写错误造成的t,所以我把它改成了那样。

答案2

请注意,TeX 会忽略 , 后的空格&,但是不是之前。如果要精确控制列间距,则需要避免这些空格。

在下面的代码中,空格是存在的,但是由于单元格中的数学模式,它们会被忽略,这也避免了$正文中字符的混乱。

\def\celsius{{}^\circ{\rm C}}
\def\bar{{\rm bar}}

\tabskip=0pt
\halign{%
  $#$\hfil&
  ${}#{}$&
  $#$\hfil&
  \quad$#$\hfil\cr
\multispan{3}\it Givet\hfil &\multispan{1}\quad\it S\"okt\hfil\cr
\varphi_{m} &=& 0.4          & \dot{V_{o}}  \cr
t_{m}       &=& 21\,\celsius & \Delta i_{o} \cr
t_{o}       &=& 0\,\celsius  & t_{o}'       \cr
\varphi_{o} &=& 0.7              \cr
t_{2}       &=& 24\,\celsius     \cr
\varphi_{2} &=& 0.5              \cr
p           &=& 1.013\,\bar \cr
}

\bye

注意\multispan连接第一行的单元格(或者只是覆盖一列的模板)。

在此处输入图片描述

相关内容