如何在 LaTeX 中制作方表?

如何在 LaTeX 中制作方表?

如何在 LaTeX 中制作一个完美的正方形表格?每个单元格中只有一个字符。我想打印一个漂亮的直白的白板如下所示。

在此处输入图片描述

答案1

这是实现此目的的一种方法。

\newcount\trrow
\newcount\trcol
\makeatletter
\def\maketrrow{%
        \begingroup
        \loop\ifnum\trcol<26
                \count@\numexpr \trrow + \trcol + `A\relax
                \ifnum\count@>`Z
                        \advance\count@-26
                \fi
                \hbox to\baselineskip{\hss\char\count@\hss}%
                \advance\trcol\@ne
        \repeat
        \endgroup
}

\newcommand\tabularecta[1][\baselineskip]{%
        \vbox{%
                \fontsize{\f@size}{#1}\selectfont
                \hsize\dimexpr 27\baselineskip + .4\p@ \relax
                \parindent\z@
                \parskip\z@
                \trrow\z@
                \leavevmode
                \hbox to\baselineskip{\hfil}%
                \strut\vrule
                \maketrrow
                \par
                \hrule
                \loop\ifnum\trrow<26
                        \leavevmode
                        \trcol\z@
                        \hbox to\baselineskip{\hss\char\numexpr\trrow + `A\relax\hss}%
                        \strut\vrule
                        \maketrrow
                        \par
                        \advance\trrow\@ne
                \repeat
        }%
}
\makeatother

只需将 放置在\tabularecta您希望它出现的任何位置\small即可。您可以根据需要使用 来更改字体大小。由于间距完全基于基线,因此您只需使用 来更改它\fontsize{..}{..}\selectfont,或者为了方便起见,您可以给出\tabularecta一个可选参数,即您希望每个单元格的大小。

实现过程很简单。它先遍历行,然后遍历列,放置大小合适的框,并在其中填充所需的字符。

答案2

在 ConTeXt 中,你可以让每个单元格具有相同的高度和宽度

\setupTABLE[each][each][width=2em,height=2em,align={middle,middle}]  

如果你想了解如何以循环形式生成输出,请查看类似的例子在上下文 wiki 上。

答案3

tblr使用我的新 LaTeX3 软件包环境,一切都变得非常简单tabularray

\documentclass[11pt]{article}

\usepackage{tabularray}

\begin{document}

\begin{tblr}{
  rows = {3em, rowsep = 2pt},
  columns = {3em, colsep = 2pt},
  cells = {m,c},
  hlines,
  vlines,
}
  A & B & C & D & E & F & G \\ 
  B & C & D & E & F & G & A \\ 
  C & D & E & F & G & A & B \\ 
  D & E & F & G & A & B & C \\ 
  E & F & G & A & B & C & D \\
  F & G & A & B & C & D & E \\ 
  G & A & B & C & D & E & F \\ 
\end{tblr}

\end{document}

在此处输入图片描述

相关内容