使用表格的等寬單元格

使用表格的等寬單元格

是否可以使這些單元格的寬度與第一行中最寬的單元格相同(κεῖσθαι?)? (保持文字居中)。最左邊的單元格應該更寬。

\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)並將其內容置中。最後,tabular環境設定為 1 列類型c和 10 列類型C

在此輸入影像描述

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

我得到以下輸出

在此輸入影像描述

相關內容