{NiceTabular} - Automatischer vertikaler Abstand in Zellen

{NiceTabular} - Automatischer vertikaler Abstand in Zellen

Ich versuche derzeit mein Bestes, ein Benutzerhandbuch für ein System zu erstellen. Es funktioniert gut, außer dass ich beim Einrichten von Tabellen ständig auf dasselbe Problem stoße.

Ich möchte eine Tabelle mit drei Spalten erstellen, wobei die erste eine Funktion benennt, die zweite sie beschreibt und die letzte Beispiele für Features usw. enthält. Da die letzte Spalte mehrere Beispiele enthalten könnte, benötige ich dafür mehr Zeilen.

Ich habe versucht, das in der tabularx- Umgebung mit multicolumnund multirowBefehlen zu lösen, war aber nicht wirklich erfolgreich.

Jetzt habe ich versucht, die NiceTabular-Umgebung zu verwenden, was tatsächlich funktioniert. Es gibt nur einen kleinen Fehler, den ich wirklich nicht umgehen kann:

\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}

Wenn die mittlere Spalte die Höhe der angrenzenden Spalten überschreitet (ich vermute, dasselbe passiert mit der ersten/dritten Spalte), wird der Text einfach nicht richtig umbrochen, sondern überschreitet die vertikalen Grenzen der Zelle. Ich konnte keine Lösung dafür finden (im NiceMatrix-Handbuch), da ich nicht wirklich weiß, wie ich das Problem in Worte fassen soll. Vielleicht kann mir jemand dabei helfen. Tut mir leid, wenn Informationen fehlen. Dies ist mein allererster Beitrag hier.

Dank im Voraus!

Antwort1

Die Befehle \Blockerzeugen nicematrixkeinen Platz (außer den einzeiligen Blöcken, die vertikalen Platz erzeugen, und den einspaltigen Blöcken, die horizontalen Platz erzeugen). Sie sollten das Paket ausprobieren, tabularraydas diese Art von Problem lösen kann.

Wenn Sie jedoch verwenden möchten nicematrix, sollten Sie der zweiten Spalte mehr Platz geben, beispielsweise mit dem folgenden Code:

\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}

Ausgabe des obigen Codes

verwandte Informationen