代码的可能改进

代码的可能改进

代码

请考虑以下示例:

\DocumentMetadata{}

\documentclass{article}

\usepackage[margin = 1.8cm]{geometry} % to avoid `overfull \hbox'
\usepackage{tabularray}

\begin{document}

\begin{tblr}{
  hline{1}   = {2-7}{solid},
  hline{2-Z} = {solid},
  vline{1}   = {2-7}{solid},
  vline{2-Z} = {solid}
}
  & \SetCell{c, m, 1.75cm}
    Utilstræk\-keligt
  & \SetCell{c, m, 1.75cm}
    Tilstræk\-keligt
  & \SetCell{c, m, 1.75cm}
    Jævnt
  & \SetCell{c, m, 1.75cm}
    Godt
  & \SetCell{c, m, 1.75cm}
    Frem\-ragende \\
    \SetCell[r = 1]{h, m, 5.9cm}
    Samarbejdet har fungeret og eventuelle problemer er blevet løst
  &
  &
  &
  &
  &  \\
    \SetCell[r = 1]{h, m, 5.9cm}
    Tiden er blevet disponeret fornuftigt
  &
  &
  &
  &
  &  \\
\end{tblr}%

\end{document}

tabularray这个包对我来说相当新。

问题

代码能以某种方式改进吗?(我知道这是一个主观问题。)

答案1

  • 您无需为每个单元格单独指定对齐方式,而是可以在表格设置中全局指定

  • 我不会硬编码单元格的宽度,而是让tabularray您自己做。如果您使用X列,tabularray 会自动均匀分布它们,并且X[4]您可以用类似的东西让第一列比其他列更宽。


\DocumentMetadata{}

\documentclass{article}

\usepackage[margin = 1.8cm]{geometry} % to avoid `overfull \hbox'
\usepackage{tabularray}

\begin{document}

\begin{tblr}{
  cells={m,c},
  colspec={X[4,l,h]XXXXX},
  hline{1}   = {2-7}{solid},
  hline{2-Z} = {solid},
  vline{1}   = {2-7}{solid},
  vline{2-Z} = {solid}
}
  & Utilstræk\-keligt
  & Tilstræk\-keligt
  & Jævnt
  & Godt
  & Frem\-ragende \\
  Samarbejdet har fungeret og eventuelle problemer er blevet løst
  &
  &
  &
  &
  &  \\
  Tiden er blevet disponeret fornuftigt
  &
  &
  &
  &
  &  \\
\end{tblr}%

\end{document}

在此处输入图片描述

答案2

{NiceTabular}供参考,这里有一种使用创建该表的方法nicematrix

\documentclass{article}
\usepackage[margin = 1.8cm]{geometry} 
\usepackage{nicematrix}
\usepackage{varwidth}

\begin{document}

\begin{NiceTabular}{V[l]{7cm}*{5}{X[c]}}[hvlines,corners=NW,cell-space-limits=3pt]
  & Utilstræk\-keligt
  & Tilstræk\-keligt
  & Jævnt
  & Godt
  & Frem\-ragende \\
  Samarbejdet har fungeret og eventuelle problemer er blevet løst \\
  Tiden er blevet disponeret fornuftigt \\
\end{NiceTabular}

\end{document}

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

上述代码的输出

相关内容