Problem mit \tabular \tabularx und \multicolumn

Problem mit \tabular \tabularx und \multicolumn

Ich versuche, die folgende „gotische“ Tabelle zu schreiben, habe aber große Probleme mit der gleichmäßigen Verteilung des Abstands und der Größe des Textes.

Ich versuche folgendes mit tabellarisch:

    \begin{table}
        \begin{center}
            \begin{tabular*}{\textwidth}{p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}p{0.2\textwidth}}
                \hline \hline 
                \rule[-1ex]{0pt}{4ex} \multirow{6}{*}{\includegraphics[width=20mm]{./Muscles/biceps.jpg}} & \bf{Origin} & \multicolumn{3}{l}{Short head: tip of coracoid process of scapula; Long head: supraglenoid tubercle of scapula}\\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Insertion} & \multicolumn{3}{l}{Tuberosity of radius and fascia of forearm via bicipital aponeurosis} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Action} & \multicolumn{3}{l}{Supinates forearm and, when it is supine, flexes forearm} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Innervation} & \multicolumn{3}{l}{Musculocutaneous nerve (C5 and C6 ) (C5, C6)} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & $F^{max}_{iso}$ & $\alpha$ & $l^{CE}_{opt}$ & $l^{T}_{sclack}$ \\
                \rule[-1ex]{0pt}{4ex} & [N] & [deg] & [m] & [m] \\
                \hline \hline
            \end{tabular*}
            \caption{Threshold and saturation values for the experimental subject.}
            \label{tabpar2}
        \end{center}
    \end{table}

Mit diesem Code erhalte ich folgendes, wobei der Fehler darin besteht, dass die Zeile am Ende nicht umgebrochen wird: Ergebnis mit tabellarisch

Wenn ich hingegen den folgenden Code ausprobiere, werden die Zeilenumbrüche und die letzten Spalten zwar gleichmäßig verteilt, aber die Mehrspaltenfunktion funktioniert nicht:

    \begin{table}
        \begin{center}
            \begin{tabularx}{\textwidth}{clXXX}
                \hline \hline 
                \rule[-1ex]{0pt}{4ex} \multirow{6}{*}{\includegraphics[width=20mm]{./Muscles/biceps.jpg}} & \bf{Origin} & \multicolumn{3}{X}{Short head: tip of coracoid process of scapula; Long head: supraglenoid tubercle of scapula}\\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Insertion} & \multicolumn{3}{X}{Tuberosity of radius and fascia of forearm via bicipital aponeurosis} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Action} & \multicolumn{3}{X}{Supinates forearm and, when it is supine, flexes forearm} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & \bf{Innervation} & \multicolumn{3}{X}{Musculocutaneous nerve (C5 and C6 ) (C5, C6)} \\
                \cline{2-5} \rule[-1ex]{0pt}{4ex} & $F^{max}_{iso}$ & $\alpha$ & $l^{CE}_{opt}$ & $l^{T}_{sclack}$ \\
                \rule[-1ex]{0pt}{4ex} & [N] & [deg] & [m] & [m] \\
                \hline \hline
            \end{tabularx}
            \caption{Threshold and saturation values for the experimental subject.}
            \label{tabpar2}
        \end{center}
    \end{table}

Und das ist das Ergebnis: Ergebnis mit tabellarischem X

Gibt es eine Lösung, um das zu beheben????

Vielen Dank

Antwort1

Der Trick besteht im Wesentlichen darin,

\multicolumn{3}{>{\hsize=3\hsize}X}

mit einer kleinen Anpassung. Ich würde eine neue Umgebung für diese Art von Tabelle definieren, mit den Bilddaten als Argument. Das Bild selbst wird durch einen festen \muscleimageBefehl platziert, um komplizierten Code so weit wie möglich zu vermeiden.

\documentclass{article}
\usepackage[demo]{graphicx} % demo is just for the example
\usepackage{tabularx,booktabs,amsmath,adjustbox}

\newcommand{\muscleimage}{}
\newenvironment{muscle}[2][]
 {%
  \renewcommand{\muscleimage}{%
    \adjustbox{valign=t,set depth=0pt}{\includegraphics[#1]{#2}}%
  }%
  \tabularx{\textwidth}{clXXX}
 }
 {%
  \endtabularx
 }
\newcommand{\fulltable}[1]{%
  \multicolumn{3}{>{\hsize=\dimexpr3\hsize+4\tabcolsep\raggedright\arraybackslash}X}{#1}%
}

\begin{document}

\begin{table}
\centering
\begin{muscle}[height=40mm,width=20mm]{./Muscles/biceps.jpg}
\toprule
\muscleimage
& \textbf{Origin}
& \fulltable{
    Short head: tip of coracoid process of scapula; Long head: supraglenoid tubercle of scapula
  } \\
\cmidrule{2-5}
& \textbf{Insertion}
& \fulltable{
    Tuberosity of radius and fascia of forearm via bicipital aponeurosis
  } \\
\cmidrule{2-5}
& \textbf{Action}
& \fulltable{
    Supinates forearm and, when it is supine, flexes forearm
  } \\
\cmidrule{2-5}
& \textbf{Innervation}
& \fulltable{
    Musculocutaneous nerve (C5 and C6 ) (C5, C6)
  } \\
\cmidrule{2-5}
& $F^{\textup{max}}_{\textup{iso}}$
& $\alpha$ & $l^{\textup{CE}}_{\textup{opt}}$
& $l^{T}_{\textup{sclack}}$ \\
& [N] & [deg] & [m] & [m] \\
\bottomrule
\end{muscle}
\caption{Threshold and saturation values for the experimental subject.}
\label{tabpar2}
\end{table}

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Hier ist eine Lösung mit tabularxund booktabs. Ich habe die letzten drei Spalten Xzu Spalten gemacht und einen neuen YSpaltentyp definiert, der sich wie X verhält, aber dreimal so breit ist, für die Verwendung in multicolumn{3}. Keine Notwendigkeit für unsichtbare vertikale Linien: Sie werden in der Präambel ersetzt durchad hocWerte von \aboverulesepund \belowrulesep. multirowAbhängig vom tatsächlichen Bild kann für die vertikale Zentrierung des Befehls eine weitere Anpassung erforderlich sein.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage{multirow}
\usepackage{mathtools}
\usepackage{array, caption, tabularx, booktabs}
\usepackage[demo]{graphicx}

\setlength{\aboverulesep}{1ex}
\setlength{\belowrulesep}{1.5ex}
\newcolumntype{Y}{{>{\hsize=3\hsize}X}}

\begin{document}
\begin{table}
    \centering
        \begin{tabularx}{\linewidth}{ll*{3}{X}}
            \toprule\midrule
            \multirow{6}{*}[-5.25ex]{\includegraphics[width=20mm]{./Muscles/biceps.jpg}} & \bf{Origin} & \multicolumn{3}{Y}{Short head: tip of coracoid process of scapula; Long head: supraglenoid tubercle of scapula}\\
            \cmidrule{2-5} & \bf{Insertion} & \multicolumn{3}{Y}{Tuberosity of radius and fascia of forearm via bicipital aponeurosis} \\
            \cmidrule{2-5} & \bf{Action} & \multicolumn{3}{Y}{Supinates forearm and, when it is supine, flexes forearm} \\
            \cmidrule{2-5} & \bf{Innervation} & \multicolumn{3}{Y}{Musculocutaneous nerve (C5 and C6 ) (C5, C6)} \\
            \cmidrule{2-5}& $F^{\max}_\mathrm{iso}$ & $\alpha$ & $l^{CE}_\mathrm{opt}$ & $l^{T}_\mathrm{sclack}$ \\
    \addlinespace[1.5ex]
             & [N] & [deg] & [m] & [m] \\
            \midrule \bottomrule
        \end{tabularx}
        \caption{Threshold and saturation values for the experimental subject.}
        \label{tabpar2}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen