Mehrere Zeilen in Tabularx?

Mehrere Zeilen in Tabularx?

Können wir Multirow in Tabularx verwenden? Es schien nicht zu funktionieren und erkannte:

\multirow{2}{*}{95\% Confidence

Vollständiger Code:

\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small} % for bold in table using \small
\usepackage{tabularx, ragged2e} 
\usepackage{booktabs}

\begin{document}

\begin{table}[!ht]
\centering
    \begin{tabularx}{\textwidth}{l>{\raggedright\arraybackslash}Xccc}
    \toprule
    & &  & \thead{\small {\textbf{Statistic}}}& \thead{\small {\textbf{Std. Error}}} \\
\midrule
    \multicolumn{1}{l}{Difference} & Mean
    & & 44.20000 & 4.54068  \\
\cline{2-5}
    & \multirow{2}{*}{95\% Confidence Interval for Mean} & Lower Bound & 33.9283 & \\
\cline{3-5}
    & & Upper Bound & \54.4717 \\
\cline{2-5}
    & Kurtosis & & -1.000 & 1.334 \\
\bottomrule
    \end{tabularx}
\end{table}

\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Ich möchte eigentlich so etwas wie das Folgende:

Bildbeschreibung hier eingeben

Antwort1

Sie können 1) wenn Sie laden multirowund 2) den =Schlüssel verwenden, da Sie sich in einer Spalte mit fester Breite befinden. Ich habe mir die Freiheit genommen, den SSpaltentyp für die letzten beiden Spalten zu verwenden, um eine Ausrichtung der Zahlen am Dezimalpunkt zu haben und die Schriftart für die Spaltenüberschriften festzulegen, anstatt sie jeweils fest in der Tabelle zu codieren. Außerdem habe ich das \clines durch \cmidrules ersetzt, um etwas Polsterung um die Regeln herum hinzuzufügen.

\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small} % for bold in table using \small
\usepackage{tabularx, ragged2e, multirow}
\usepackage{booktabs}
\usepackage{siunitx}
\renewcommand{\theadfont}{\small\bfseries}

\begin{document}

\begin{table}[!ht]
\centering
\sisetup{table-number-alignment=center}
    \begin{tabularx}{\textwidth}{l>{\raggedright\arraybackslash}XcS[table-format=-1.5]S[table-format=1.5]}
    \toprule
    & & & {\thead{Statistic}}& {\thead{Std. Error}} \\
\midrule
    \multicolumn{1}{l}{Difference} & Mean
    & & 44.20000 & 4.54068 \\
\cmidrule{2-5}
    & \multirow{2}{=}{95\% Confidence Interval for Mean} & Lower Bound & 33.9283 & \\
\cmidrule{3-5}
    & & Upper Bound & \ 54.4717 \\
\cmidrule{2-5}
    & Kurtosis & & -1.000 & 1.334 \\
\bottomrule
    \end{tabularx}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

Antwort2

Ich würde keine Direktive verwenden \multirow. Stattdessen würde ich den Zellinhalt in eine maßgeschneiderte tabularUmgebung platzieren, wie im folgenden Beispiel.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tabularx, % for 'tabularx' env.
            ragged2e, % for \RaggedRight macro
            booktabs, % for \toprule, \midrule, etc
            siunitx,  % for 'S' column type
            amsmath}  % for [b] option of \smash command
\sisetup{group-digits=false}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\newcommand\mytab[1]{\smash[b]{%
    \begin{tabular}[t]{@{}L@{}} #1 \end{tabular}}}

\begin{document}

\begin{table}[!ht]
%%\centering % not needed
\begin{tabularx}{\textwidth}{ @{} l L l 
    S[table-format=-1.5] 
    S[table-format= 1.5] @{}}
\toprule
& & & {Statistic} & {Std.\ Error} \\
\midrule
Difference & Mean & & 44.20000 & 4.54068  \\
\cmidrule(l){2-5}
& \mytab{95\% Confidence Interval for Mean} & Lower Bound & 33.9283 & \\
\cmidrule(l){3-5}
& & Upper Bound & 54.4717 \\
\cmidrule(l){2-5}
& Kurtosis & & -1.000 & 1.334 \\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

Antwort3

Wenn Sie a calstablemit dem Paket setzenKalorien, Zellen horizontal zu überspannen und vertikal zu zentrieren, ist einfach.

Bildbeschreibung hier eingeben

\documentclass[british, DIV=12, captions=tableheading]{scrartcl}
\usepackage{cals, url}
\usepackage{babel}
\usepackage{xcolor}
\usepackage[footnotefigures]{MinionPro}
\input{glyphtounicode}
\pdfgentounicode=1
\usepackage[scaled=0.86]{luximono}
\RequirePackage[utf8]{inputenx}
\RequirePackage[T1]{fontenc}

\RequirePackage[letterspace=100,%
                babel=true,%
                tracking=true,%
                kerning=true]%
        {microtype}

\renewcommand{\sfdefault}{uop}
\let\nc=\nullcell                                                  % Shortcuts
\let\sc=\spancontent

\addtokomafont{caption}{\sffamily\bfseries\small}
\setkomafont{captionlabel}{\normalfont}

\begin{document}

\begin{table*}
\caption{A caption}
\begin{calstable}[c]
% Defining columns relative to each other and relative to the margins
\colwidths{{\dimexpr(\columnwidth)/6\relax}
            {\dimexpr(\columnwidth)/5\relax}
            {\dimexpr(\columnwidth)/6\relax}
            {\dimexpr(\columnwidth)/6\relax}
            {\dimexpr(\columnwidth)/6\relax}
            }
% The tabular fills the text area if sum of all columns is 5

% Set up the tabular
\makeatletter
\def\cals@framers@width{0.8pt}   % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0pt}
\def\cals@bodyrs@width{0.6pt}
\cals@setpadding{Ag}
\cals@setcellprevdepth{Al}
\def\cals@cs@width{0pt}             % Inside rules, reduce if the rule is too heavy
\def\cals@rs@width{0.6pt}
\def\cals@bgcolor{}

\def\bb{\ifx\cals@borderB\relax     % Botton border switch (off-on)
    \def\cals@borderB{0pt}
\else \let\cals@borderB\relax\fi}

\def\lp{\ifdim\cals@paddingL=0.0pt\relax    % Left padding switch (off-on)
    \cals@setpadding{Ag}
\else \setlength{\cals@paddingL}{0pt}\fi}

\def\rp{\ifdim\cals@paddingR=0.0pt\relax    % Right padding switch (off-on)
    \cals@setpadding{Ag}
\else \setlength{\cals@paddingR}{0pt}\fi}

% R1H1
\thead{\bfseries%
\brow
    \lp\cell{}\lp
    \cell{}
    \cell{}
    \alignR\cell{\vfil Statistics}
    \rp\alignR\cell{\vfil Std. Error}\rp
\erow
\mdseries%
}
\tfoot{\lastrule\strut}
%R2B1
\brow
    \lp\bb\alignL\cell{Difference}\lp
    \bb\alignL\cell{Mean}
    \cell{}
     \alignR\cell{44.200\,00}
    \rp\alignR\cell{4.540\,68}\rp\bb
\erow
%R3B2
\brow
    \lp\cell{}\lp
    \nc{lrt}
    \bb\alignL\cell{Lower Bound}
    \alignR\cell{33.928\,30}
    \rp\cell{}\rp\bb
\erow
%R4B3
\brow
    \lp\cell{}\lp
    \bb\nc{lrb}\alignL\sc{\vfil 95\% Confidence\\ Interval for Mean}
    \alignL\cell{Upper Bound}
    \alignR\cell{54.471\,70}
    \rp\cell{}\rp
\erow
%R5B4
\brow
    \lp\cell{}\lp
    \alignL\cell{Kurtosis}
    \cell{}
    \alignR\cell{-1.000\hspace*{0.9em}}
    \rp\alignR\cell{1.334\hspace*{0.9em}}\rp
\erow
\makeatletter
\end{calstable}\par
\end{table*}

\end{document}

verwandte Informationen