表形式を使用した等幅セル

表形式を使用した等幅セル

これらのセルの幅を、最初の行の最も広いセルと同じにすることは可能ですか (κεῖσθαι?)? (テキストを中央に保ちます)。左端のセルの幅を広くする必要があります。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Junicode}

\begin{document}
  \vskip.5\baselineskip
  {\tiny\noindent
  \begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|}
    & οὐσία & ποσὸν & ποιὸν & πρός τι & ποὺ & ποτὲ &
  κεῖσθαι & ἔχειν & ποιεῖν & πάσχειν\\ \hline
    ἐντελεχείᾳ&&&&&&&&&&\\ \hline
    δυνάμει&&&&&&&&&&\\ \hline
  \end{tabular}
  }\vskip.5\baselineskip
\end{document}

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

答え1

(私が間違っていなければ、少なくともフォントが使用されている場合は、πάσχεινそれよりもわずかに幅が広くなります。)κεῖσθαιJunicode

次の例のプリアンブルでは、長さ変数\mylenが設定され、その値が の値に設定されています{\tiny πάσχειν}。次に、 という名前の新しい列タイプCが定義されます。この列タイプは、固定幅 (つまり\mylen) を取り、その内容を中央揃えにします。最後に、タイプの列が 1 列と タイプの列が 10 列tabularの環境が設定されます。cC

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

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Junicode}

\usepackage{array} % for \newcolumntype and \arraybackslash macros
\newlength\mylen
\settowidth\mylen{\tiny πάσχειν}
\newcolumntype{C}{>{\centering\arraybackslash}p{\mylen}}

\begin{document}

  {\tiny\noindent
  \begin{tabular}{|c|*{10}{C|}}
  \hline
  & οὐσία & ποσὸν & ποιὸν & πρός τι & ποὺ & ποτὲ & κεῖσθαι & ἔχειν & ποιεῖν & πάσχειν\\ \hline
  ἐντελεχείᾳ&&&&&&&&&&\\ \hline
  δυνάμει&&&&&&&&&&\\ \hline
  \end{tabular} \par}

\end{document}

答え2

使用tabularx

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Junicode}

\usepackage{tabularx}

\begin{document}
  \vskip.5\baselineskip
  {\tiny\noindent
    \begin{tabularx}{\textwidth}{@{}*{11}{|>{\centering\arraybackslash}X}@{}|}
      & Οὐσίαn & ποσὸν & ποιὸν & πρός τι & ποὺ & ποτὲ &
      κεῖσθαι & ἔχειν & ποιεῖν & πάσχειν\\ \hline
      ἐντελεχείᾳ&&&&&&&&&&\\ \hline
      δυνάμει&&&&&&&&&&\\ \hline
    \end{tabularx}
  }\vskip.5\baselineskip
\end{document}

答え3

各アイテムを測定し、最も幅の広いアイテムと同じ幅のボックスにヘッダーアイテムを設定できます。

\documentclass{article}
\usepackage{fontspec}
%\usepackage{xparse} % fontspec loads it

\setmainfont{Junicode}

\ExplSyntaxOn
\newenvironment{ftabular}[2][c]
 {
  \lawrence_ftabular:nn { #1 } { #2 }
 }
 {
  \endtabular
 }

\tl_new:N \l__lawrence_ftabular_header_tl
\dim_new:N \l__lawrence_ftabular_maxwd_dim
\box_new:N \l__lawrence_ftabular_item_box

\cs_new_protected:Nn \lawrence_ftabular:nn
 {
  \tl_clear:N \l__lawrence_ftabular_header_tl
  \dim_zero:N \l__lawrence_ftabular_maxwd_dim
  \clist_map_inline:nn { #2 }
   {
    \hbox_set:Nn \l__lawrence_ftabular_item_box { ##1 }
    \dim_set:Nn \l__lawrence_ftabular_maxwd_dim
     {
      \dim_max:nn
       { \l__lawrence_ftabular_maxwd_dim }
       { \box_wd:N \l__lawrence_ftabular_item_box }
     }
    \tl_put_right:Nn \l__lawrence_ftabular_header_tl
     { & {\makebox[\l__lawrence_ftabular_maxwd_dim]{##1}} }
   }
  \tl_put_right:Nn \l__lawrence_ftabular_header_tl { \\ \hline }
  \tabular[#1]{ c| *{ \clist_count:n { #2 } } { c| } }
  \tl_use:N \l__lawrence_ftabular_header_tl 
 }
\ExplSyntaxOff

\begin{document}

\begin{center}
\tiny
\begin{ftabular}{
  οὐσία,
  ποσὸν,
  ποιὸν,
  πρός τι,
  ποὺ,
  ποτὲ,
  κεῖσθαι,
  ἔχειν,
  ποιεῖν,
  πάσχειν,
}
ἐντελεχείᾳ&&&&&&&&&&\\ \hline
δυνάμει&&&&&&&&&&\\ \hline
\end{ftabular}
\end{center}

\end{document}

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

測定には現在のフォントが使用されることに注意してください。たとえば、の後に\end{center}コードを追加すると、

\LARGE

\begin{ftabular}{a,bb,cccc,d}
x&&&&\\\hline
y&&&&\\\hline
\end{ftabular}

次のような出力が得られます

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

関連情報