Atualmente estou tentando o meu melhor para configurar um manual do usuário para um sistema. Está funcionando bem, exceto que estou continuamente enfrentando o mesmo problema ao tentar configurar tabelas.
Gostaria de gerar uma tabela com três colunas, sendo a primeira nomeando uma função, a segunda descrevendo-a e a última nomeando exemplos de funcionalidades e assim por diante. Como a última coluna pode exibir vários exemplos, precisarei de mais linhas para isso.
Tentei resolver isso no tabularx
ambiente - com comandos multicolumn
e multirow
, mas não tive muito sucesso.
Agora tentei utilizar o NiceTabular
-environment, que realmente funciona. Há apenas uma pequena falha que eu realmente não consigo contornar:
\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}
Se a coluna do meio exceder a altura das colunas adjacentes (acho que o mesmo acontecerá com a primeira/terceira), o texto simplesmente não será quebrado corretamente, mas excederá os limites verticais da célula. Não consegui encontrar uma solução (no manual NiceMatrix) para isso porque não tenho certeza de como verbalizar o problema. Talvez alguém possa me ajudar com isso. Desculpe se faltar informação. É meu primeiro post aqui.
Desde já, obrigado!
Responder1
Os comandos \Block
de nicematrix
não criam espaço (exceto os blocos de linha única que criam espaço vertical e os blocos de coluna única que criam espaço horizontal). Você deve experimentar o pacote tabularray
que é capaz de resolver esse tipo de problema.
Porém, se quiser usar nicematrix
, você deve dar mais espaço para a segunda coluna, por exemplo com o seguinte código:
\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}