tabularx mit dynamischen Spalten und viel Text endet in unter- und übervollen Boxen

tabularx mit dynamischen Spalten und viel Text endet in unter- und übervollen Boxen

Ich habe zwei Tabellen geschrieben, die auf das gleiche Problem stoßen. Sie enden in einem Durcheinander von unter- und übervollen Boxen. Mir sind hier viele Threads zu unter- und übervollen Boxen aufgefallen, aber ich konnte das Problem noch nicht beheben.

Die erste Tabelle befasst sich nur mit nicht vollen Boxen. Ich habe versucht, dies durch Silbentrennung zu beseitigen, aber es ist mir nicht gelungen:

    \begin{tabularx}{\textwidth}{X|X|X|X}
        Aus welchen Gründen... ?[Aufgrund der ges. Nachweispflicht (wie Brandschutz, Arbeitsschutz, etc.)] & Aus welchen Gründen... ? [Einweisung zur Nutzung medizinischer Geräte] & Aus welchen Gründen... ?[Zur generellen zeit- und ortsungebundenen Weiterbildung von Mitarbeitern] & Aus welchen Gründen wurde eLearning in Ihrem Klinikum implementiert [Sonstiges]\\ \hline
        Ja & Nein & Nein & Ja\\
        N/A & N/A & N/A & N/A\\
        Ja & Ja & Nein & Nein\\
        Nein & Ja & Nein & Nein\\
        N/A & N/A & N/A & N/A\\
    \end{tabularx}

Tabellarisch1

In der zweiten Tabelle werden sowohl unter- als auch übervolle Kisten behandelt, wobei die übervollen Kisten durch kleine schwarze Kästen gekennzeichnet sind.

    \begin{tabularx}{\textwidth}{XX|XXX|XXX}
        \multicolumn{2}{X}{Alternativen} & \multicolumn{3}{|X}{$A_1$} & \multicolumn{3}{|X}{$A_2$}\\
        \toprule
            Kriterium & Gewicht & Zielertrag & Zielerfül\-lungsgrad & Teil\-nutzwert & Zielertrag & Zielerfül\-lungsgrad & Teil\-nutzwert \\
        \midrule
            $K_1$ & $g_1$ & $k_1$ & $e_{11}$ & $N_{11}=g_1 e_{11}$ & $k_{12}$ & $e_{12}$ & $N_{12}=g_1 e_{12}$ \\
            $K_2$ & $g_2$ & $k_{21}$ & $e_{21}$ & $N_{21}=g_2 e_{21}$ & $k_{22}$ & $e_{22}$ & $N_{22}=g_2 e_{22}$ \\
            $K_3$ & $g_3$ & $k_{31}$ & $e_{31}$ & $N_{31}=g_3 e_{31}$ & $k_{32}$ & $e_{32}$ & $N_{32}=g_2 e_{32}$ \\
        \bottomrule
            Summe der Gewichts\-faktoren & $g_1+g_2+g_3$ & \multicolumn{2}{X}{Nutzwert von $A_1$} & $N_1$ & \multicolumn{2}{X}{Nutzwert von $A_2$} & $N_2$ \\
    \end{tabularx}

Tabellarisch2

Gibt es eine allgemeine Regel, an die man sich halten muss, um großartige dynamische Spaltentabellen ohne über- oder unterfüllte Felder zu erhalten?

Antwort1

Verwenden

\documentclass[ngerman]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{tabularx,booktabs,ragged2e}
\renewcommand\tabularxcolumn[1]{>{\hspace{0pt}\RaggedRight}p{#1}}
\begingroup
\begin{document}\tabcolsep=3pt
\begin{tabularx}{\textwidth}{@{}XX|XXX|XXX@{}}
        \rlap{Alternativen} & & $A_1$ & & & $A_2$\\\toprule
        Kriterium & Gewicht & Zielertrag & Zielerfüllungsgrad & Teilnutzwert & 
        Zielertrag & Zielerfüllungsgrad & Teilnutzwert \\
        \midrule
        $K_1$ & $g_1$ & $k_1$ & $e_{11}$ & $N_{11}=g_1 e_{11}$ & $k_{12}$ & $e_{12}$ & 
        $N_{12}=g_1 e_{12}$ \\
        $K_2$ & $g_2$ & $k_{21}$ & $e_{21}$ & $N_{21}=g_2 e_{21}$ & $k_{22}$ & $e_{22}$ & 
        $N_{22}=g_2 e_{22}$ \\
        $K_3$ & $g_3$ & $k_{31}$ & $e_{31}$ & $N_{31}=g_3 e_{31}$ & $k_{32}$ & $e_{32}$ & 
        $N_{32}=g_2 e_{32}$ \\
        \bottomrule
        Summe der Gewichtsfaktoren & $g_1+g_2+g_3$ & \rlap{Nutzwert von 
        $A_1$}& & $N_1$ & \rlap{Nutzwert von $A_2$} & & $N_2$ \\
\end{tabularx}
\endgroup

\end{document}

andernfalls wird das erste Wort in einem Absatz nicht getrennt. \hspace{0pt}Narren glauben pdftex, dass es das erste Wort im Absatz ist. Sinnvoller ist lualatexstattdessen die Verwendung von „es wird ein erstes Wort getrennt“.

Bildbeschreibung hier eingeben

Antwort2

Als kleine Variante der Antwort von @Herbert kann ich dieses Dokument ohne eine einzige Warnung kompilieren:

\documentclass[draft]{article}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{tabularx,booktabs,ragged2e}
\newcolumntype{Y}{>{\hspace{0pt}\RaggedRight}X}

\begin{document}

\noindent
\begin{tabularx}{\textwidth}{Y|Y|Y|Y}
  Aus welchen Gründen... ?[Aufgrund der ges. Nachweispflicht (wie
  Brandschutz, Arbeitsschutz, etc.)] 
  & Aus welchen Gründen... ?  [Einweisung zur Nutzung medizinischer
  Geräte] 
  & Aus welchen Gründen... ?[Zur generellen zeit- und ortsungebundenen
  Weiterbildung von Mitarbeitern] 
  & Aus welchen Gründen wurde eLearning in Ihrem Klinikum
  implementiert [Sonstiges] \\ \hline
  Ja   & Nein & Nein & Ja   \\
  N/A  & N/A & N/A & N/A    \\
  Ja   & Ja & Nein & Nein   \\
  Nein & Ja & Nein & Nein   \\
  N/A  & N/A & N/A & N/A    \\
\end{tabularx}

\vspace{3ex}

\noindent
\begin{tabularx}{\textwidth}{YY|YYY|YYY}
  \multicolumn{2}{l}{Alternativen} & \multicolumn{3}{|l}{$A_1$} 
  & \multicolumn{3}{|l}{$A_2$}\\
  \toprule
  Kriterium    & Gewicht    & Zielertrag         & Zielerfüllungsgrad 
  & Teilnutzwert & Zielertrag & Zielerfüllungsgrad & Teilnutzwert  \\
  \midrule
  $K_1$ & $g_1$ & $k_1$ & $e_{11}$ & $N_{11}=g_1 e_{11}$ & $k_{12}$ & $e_{12}$ & $N_{12}=g_1 e_{12}$ \\
  $K_2$ & $g_2$ & $k_{21}$ & $e_{21}$ & $N_{21}=g_2 e_{21}$ & $k_{22}$ & $e_{22}$ & $N_{22}=g_2 e_{22}$ \\
  $K_3$ & $g_3$ & $k_{31}$ & $e_{31}$ & $N_{31}=g_3 e_{31}$ & $k_{32}$ & $e_{32}$ & $N_{32}=g_2 e_{32}$ \\
  \bottomrule
  Summe der Gewichtsfaktoren & $g_1+g_2+g_3$ 
  & \multicolumn{2}{Y}{Nutzwert von $A_1$} & $N_1$ & \multicolumn{2}{Y}{Nutzwert von $A_2$} & $N_2$ \\
\end{tabularx}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen