\halignでコンテンツを水平に中央揃えする

\halignでコンテンツを水平に中央揃えする
\input luaotfload.sty
\catcode`\@=11

\pageheight 23mm
\pagewidth 67mm
\hoffset -1in
\voffset -1in
\advance\hoffset 2mm
\hsize 63mm
\vsize 23mm
\topskip\z@
\baselineskip 17.5\p@

\abovedisplayskip\z@
\abovedisplayshortskip\z@
\belowdisplayskip\z@
\belowdisplayshortskip\z@

\def\@textmode{mode=harf;script=latn;language=DFLT;+tlig}
\font\fourteenbf="MinionPro-BoldCapt.otf:\@textmode" at 14\p@

\fourteenbf

\def\N{\vrule width 2\p@}
\def\n{\vrule width 1\p@}
\def\E#1{\hbox to 8mm {\hss#1\strut\hss}}
\setbox\strutbox\hbox{%
    \vrule height.7\baselineskip depth.3\baselineskip width\z@}


$$
%
\tabskip\z@
\vbox{\halign{%
    \N \E{#}\n & \E{#}\n & \E{#}\n & \E{#}\n & \E{#}\n &%
        \E{#}\n & \E{#}\N \cr
    \noalign{\hrule height 2\p@}
    1 & 2 & 3 & 4 & 5 & 6 & Ø \cr%
    \noalign{\hrule height 1\p@}
    & & & & & & \cr
    \noalign{\hrule height 2\p@}
}}
%
$$

\bye

MWE を見てください。数字がセルの中央に配置されていません。

  • 何が間違っているのでしょうか?
  • 表全体をページの中央に垂直に配置することは可能ですか?

ありがとう。ここに画像の説明を入力してください

答え1

表のセルに追加する空白を考慮する必要があります。

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

\input luaotfload.sty
\catcode`\@=11

\pageheight 23mm
\pagewidth 67mm
\hoffset -1in
\voffset -1in
\advance\hoffset 2mm
\hsize 63mm
\vsize 23mm
\topskip\z@
\baselineskip 17.5\p@

\abovedisplayskip\z@
\abovedisplayshortskip\z@
\belowdisplayskip\z@
\belowdisplayshortskip\z@

\def\@textmode{}%mode=harf;script=latn;language=DFLT;+tlig}
%\font\fourteenbf="MinionPro-BoldCapt.otf:\@textmode" at 14\p@
\let\fourteenbf\relax

\fourteenbf

\def\N{\vrule width 2\p@}
\def\n{\vrule width 1\p@}
\def\E#1{\hbox to 8mm {\unskip\hss\ignorespaces#1\unskip\strut\hss\ignorespaces}}
\setbox\strutbox\hbox{%
    \vrule height.7\baselineskip depth.3\baselineskip width\z@}


$$
%
\tabskip\z@
\vbox{\halign{%
    \N \E{#}\n & \E{#}\n & \E{#}\n & \E{#}\n & \E{#}\n &%
        \E{#}\n & \E{#}\N \cr
    \noalign{\hrule height 2\p@}
    1 & 2 & 3 & 4 & 5 & 6 & Ø \cr%
    \noalign{\hrule height 1\p@}
    & & & & & & \cr
    \noalign{\hrule height 2\p@}
}}
%
$$

\bye

関連情報