我目前正在尽力为系统设置用户手册。一切运行良好,只是在尝试设置表格时不断遇到同样的问题。
我想生成一个包含三列的表格,第一列命名函数,第二列描述函数,最后一列命名特征示例等等。由于最后一列可能会显示多个示例,因此我需要更多行。
我曾尝试在tabularx
- 环境中使用multicolumn
和multirow
命令解决这个问题,但并没有成功。
现在我尝试使用NiceTabular
-environment,它确实有效。只是有一个小缺陷我真的无法解决:
\documentclass[10pt]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{nicematrix}
\usepackage{tabularx}
\begin{document}
\begin{table}
\begin{NiceTabular}{XXX}[hvlines]
Function: & Description & Features:\\
\Block[l]{*-1}{Compensation Function:} & \Block[l]{*-1}{Compensates for various grid perturbations and changes $cos\varphi$} & steplessly available\\
&& customizable and so\\
\end{NiceTabular}
\end{table}
\end{document}
如果中间列超出了相邻列的高度(我猜第一列/第三列也会发生同样的情况),文本就无法正确换行,而是超出了单元格的垂直限制。我无法找到解决方案(在 NiceMatrix 手册中),因为我不太确定如何用语言描述这个问题。也许有人可以帮助我。如果信息缺失,请见谅。这是我在这里的第一篇帖子。
提前致谢!
答案1
命令\Block
不会nicematrix
创建空间(除了创建垂直空间的单行块和创建水平空间的单列块)。您应该尝试tabularray
能够解决此类问题的包。
但是,如果您想使用nicematrix
,则应该给第二列留出更多空间,例如使用以下代码:
\documentclass[10pt]{scrreprt}
\usepackage{nicematrix}
\usepackage{varwidth}
\begin{document}
\begin{center}
\begin{NiceTabular}{lXV[l]{5cm}}[hvlines]
Function: & Description & Features:\\
\Block[l]{*-1}{Compensation\\ Function:}
& \Block[l]{*-1}{Compensates for various grid perturbations and changes $\cos\varphi$}
& steplessly available\\
&& customizable and so\\
\end{NiceTabular}
\end{center}
If the content of a cell is wider than 5 cm, it will be wrapped.
\begin{center}
\begin{NiceTabular}{lXV[l]{5cm}}[hvlines]
Function: & Description & Features:\\
\Block[l]{*-1}{Compensation\\ Function:}
& \Block[l]{*-1}{Compensates for various grid perturbations and changes $\cos\varphi$}
& the content of that cell has been increased \\
&& customizable and so\\
\end{NiceTabular}
\end{center}
\end{document}