プレーンTeXの表内の単純な水平配置

プレーン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(または、単に 1 つの列のテンプレートを上書きします)。

ここに画像の説明を入力してください

関連情報