是否有一种简单的方法来创建教育材料表格?

是否有一种简单的方法来创建教育材料表格?

LaTeX 为技术写作制作表格提供了相当不错的功能。但对于教育材料呢?需求非常不同,我从未见过任何关于这种需求的讨论或合适软件包的推荐。

下面的文档摘录是一个很好的简单示例。这不是用于显示信息的表格;这是供学生书写的表格。摆弄了一段时间的 LaTeX 后,我决定改用文字处理器,截取屏幕截图,并在 LaTeX 文件中包含图像。如果可能的话,我更愿意在 LaTeX 中创建表格。

上下文表格的屏幕截图

那么为什么在文字处理器中执行此操作更容易?

  • 轻松控制每个单元格的大小,这在学生在表格中书写时很重要。
  • 轻松对齐,在这种情况下水平和垂直居中。
  • 轻松对选定的单元格进行着色。

我不认为像这样的环境tabular可以被强制优雅地处理这种用例,所以我的问题是这样的:

  • 是否有一个 LaTeX 包允许简单的创建如上所示的简单表格?

答案1

tblr环境的替代解决方案tabularray包裹:

\documentclass{article}

\usepackage{xcolor}
\usepackage{tabularray}

\begin{document}

\begingroup
\mathversion{bold}
\noindent
$\begin{tblr}{
  colspec = {*{8}{X[c]}},
  hlines, vlines,
  column{1} = {blue9},
  row{1} = {blue9},
  row{2-Z} = {1.2cm}, % Z stands for the last
}
      & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
  2^n &   &   &   &   &   &   &   \\
  3^n &   &   &   &   &   &   &   \\
  4^n &   &   &   &   &   &   &   \\
  5^n &   &   &   &   &   &   &   \\
  6^n &   &   &   &   &   &   &   \\
\end{tblr}$
\endgroup

\end{document}

在此处输入图片描述

答案2

像这样吗?

\documentclass[12pt]{article}
\usepackage[table, svgnames]{xcolor}
\usepackage{tabularx}
\setlength{\extrarowheight}{2pt}

\begin{document}

\begin{tabularx}{\textwidth}{|>{\columncolor{LightBlue!30}\rule[-0.4\hsize]{0pt}{\hsize}\centering\boldmath$}X<{$}| *{7}{X|}}
\multicolumn{8}{@{}p{\textwidth}@{}}{\textbf{Question 2 } Complete each of the tables below $\pmod 7$} \\[2ex] \hline
\rowcolor{LightBlue!30}\multicolumn{1}{|c|}{} & \thead{0} & \thead{1} & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\ \hline
2^n & & & & & & & \\ \hline
3^n & & & & & & & \\ \hline
4^n & & & & & & & \\ \hline
5^n & & & & & & & \\ \hline
6^n & & & & & & & \\ \hline
\end{tabularx}

\end{document}

在此处输入图片描述

答案3

与。{NiceTabular}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\mathversion{bold}
\renewcommand{\arraystretch}{1.4}
$\begin{NiceArray}{*{8}{c}}[hvlines,columns-width=5mm]
\CodeBefore
  \rowcolor{lightgray}{1}
  \columncolor{lightgray}{1}
\Body
    & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
    2^n \\
    3^n \\
    4^n \\
    5^n \\
    6^n 
\end{NiceArray}$

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案4

我接受了 LJR 的回答,并想在这里留下一个答案,其中包含示例代码,展示我最终如何实现我想要的。我剥离了大部分背景信息,只关注我想要实现的目标:轻松创建合适的表格。重要的是,最后一个表格较大,列较窄,并且只需在该表格上轻松进行此设置,而无需为每个表格单独设置宽度。

\documentclass[10pt,a4paper]{article}

\usepackage[dvipsnames]{xcolor}
\usepackage{tabularray}
\usepackage[margin=0.8in]{geometry}
\usepackage{multicol}
\usepackage{parskip}

\setlength\columnsep{30pt}

\newcommand{\question}[2]{
  \textbf{Question\enspace#1}\quad#2
}

% Create a 'modtable' environment so that it is easy to
% include several like tables.

\NewTblrEnviron{modtable}
\SetTblrInner[modtable]{
  colspec   = {*{99}{X[c]}},   % 99 columns - we don't need to use them all
  hlines, vlines,              % all horizontal and vertical lines visible
  columns   = {8mm},           % set width for all columns...
  column{1} = {7mm},           % ...but make the first one difference
  row{1}    = {6mm},           % set height for first row...
  row{2-Z}  = {8mm},           % ...and height for the rest
  column{1} = {cyan9!30},      % background colour for first column and row
  row{1}    = {cyan9!30},
  colsep    = 0pt,             % no row or column separation
  rowsep    = 0pt,             %   (it interferes with setting precise width/height)
} 

\begin{document}

\begin{multicols}{2}
    
  \question{1}{Complete each of the tables below.}

  \medskip
  {\small(mod 7)}

  \begingroup
  \mathversion{bold}
  \quad
  $\begin{modtable}{}
        & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
    2^n \\
    3^n \\
    4^n \\
    5^n \\
    6^n \\
  \end{modtable}$
  \endgroup

  \medskip
  {\small(mod 5)}

  \begingroup
  \mathversion{bold}
  \quad
  $\begin{modtable}{}
        & 0 & 1 & 2 & 3 & 4 \\
    2^n \\
    3^n \\
    4^n \\
  \end{modtable}$
  \endgroup

  \medskip
  {\small(mod 6)}

  \begingroup
  \mathversion{bold}
  \quad
  $\begin{modtable}{}
        & 0 & 1 & 2 & 3 & 4 & 5 \\
    2^n \\
    3^n \\
    4^n \\
    5^n \\
  \end{modtable}$
  \endgroup

  \columnbreak

  \question{2}{Complete each of the tables below.}

  \medskip
  {\small(mod 8)}

  \begingroup
  \mathversion{bold}
  \quad
  $\begin{modtable}{}
        & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 \\
    2^n \\
    3^n \\
    4^n \\
    5^n \\
    6^n \\
    7^n \\
  \end{modtable}$
  \endgroup

  \bigskip
  {\small(mod 10)}

  \begingroup
  \mathversion{bold}
  \quad
  $\begin{modtable}{ column{2-Z} = {7mm} }
        & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
    2^n \\
    3^n \\
    4^n \\
    5^n \\
    6^n \\
    7^n \\
    8^n \\
    9^n \\
  \end{modtable}$
  \endgroup

\end{multicols}

\end{document}

上述代码的 PDF 渲染图像

相关内容