Fehlende Abstände in einer komplexen Tabellenstruktur

Fehlende Abstände in einer komplexen Tabellenstruktur

Gefolgtdieser Beitrag, ich habe eine weitere Tabelle in Latex:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\newcolumntype{?}{!{\vrule width 3pt}}
\usepackage{makecell}

\begin{document}

\begin{table*}[!t]
\footnotesize
\centering
\caption{Example of a table}
\label{sth}
\begin{tabular}{>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}?>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|}
\cline{2-11}
 & \multicolumn{5}{c?}{X^{tr} (\mathrm{english text})} & \multicolumn{5}{c|}{Y^{yu} (\mathrm{english text})} \\ \cline{2-11} 
\multirow{-2}{*}{} & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\ \hline
\multicolumn{1}{|c|}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\multicolumn{1}{|c|}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\end{tabular}
\end{table*}

\end{document}

Bildbeschreibung hier eingeben

Ich habe mehrere Probleme mit meinen Bemühungen.

  1. warum erscheint -2* in der ersten Spalte?
  2. Ich habe versucht, vertikale und horizontale Linien zu entfernen, muss aber einen dicken schwarzen Trenner in der Mitte beibehalten. Daher weiß ich nicht, welche Linien ich löschen soll.
  3. die Formeln verschwimmen in den Linien, sollte ich also Linien entfernen? Ich habe versucht, um jedes Kästchen einen zusätzlichen Abstand zu lassen. Gibt es einen besseren Weg? Meine Methode scheint für die erste Zeile oben nicht zu funktionieren.
  4. Der „englische Text“ erscheint nicht wie vorgesehen in der zweiten Zeile mit Leerzeichen dazwischen. Ich habe versucht, alles in der Tabelle als mathematische Formel zu schreiben, aber das erzeugt Fehler. Kann das jemand klären?
  5. In der zweiten Reihe müsste das A als Großbuchstabe erscheinen. Das passiert aber nicht.

Vor allem brauche ich Hilfe, um diese Tabelle lesbarer zu machen und die generierten Fehlermeldungen zu beheben. Bitte schlagen Sie Änderungen vor.

Antwort1

Einige Kommentare und Beobachtungen:

  • Da praktisch das gesamte Material der Tabelle im Mathematikmodus vorliegen soll, verwenden Sie eine arrayUmgebung anstelle einer tabularUmgebung.

  • Der cSpaltentyp scheint für alle 11 Spalten geeignet zu sein. Das cellspacePaket hat seine Verwendungsmöglichkeiten. Für die vorliegende Tabelle scheint der Einsatz seiner Mechanismen jedoch übertrieben.

  • Um die Gesamtbreite der Tabelle zu verringern, ändern Sie den Wert von \arraycolsep(vorausgesetzt, Sie sind meinem Rat gefolgt, eine Umgebung zu verwenden array). Der Standardwert dieses Parameters ist 5pt; im folgenden Beispiel habe ich ihn auf gesetzt 2.5pt.

  • Die Zeichenfolge „-2“ erscheint aufgrund der \multirow{-2}{*}{}Direktive. Was soll sie bewirken? Die Tabelle kommt auch ohne sie gut zurecht.

  • Ihr Tisch ist ok ohnebeliebigvertikale Linien. Wirklich. Siehe unten.

  • Verwenden Sie die Strichzeichnungsmakros des booktabsPakets anstelle von \hlineund \cline.

  • Verwenden Sie nicht \mathrm; verwenden Sie entweder \text{...}oder \textnormal{...}.

  • Damit sich das \mathscrMakro wie erwartet verhält, laden Sie ein Paket, das ein mathematisches Alphabet in Mathematikskriptform bereitstellt. Probieren Sie das mathrsfsPaket aus.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools,array,mathrsfs,booktabs}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\newcommand\msA{\mathscr{A}}
\begin{document}

\begin{table}[!t]
\setlength\arraycolsep{2.5pt} % default value: 5pt
\footnotesize
\captionsetup{font=footnotesize} % optional
\centering
\caption{Example of a table}
\label{sth}
$\begin{array}{@{}*{11}{c}@{}}
\toprule
 & \multicolumn{5}{c}{X^{tr} (\textnormal{english text})} 
 & \multicolumn{5}{c@{}}{Y^{yu} (\text{english text})} \\ 
\cmidrule(lr){2-6} \cmidrule(l){7-11}
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 \\ 
\midrule
1 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
2 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
\bottomrule
\end{array}$
\end{table}

\end{document}

Antwort2

Ist das was du willst?

Wenn ja, hier ist der Code:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[version=setB,StylisticSet=1]{XITS Math}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}

\usepackage{makecell}

\begin{document}
    \newcolumntype{?}{!{\vrule width 3pt}}
    \begin{table}[!t]
        \footnotesize
        \centering
        \caption{Example of a table}
        \label{sth}
        \begin{tabular}{>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}?>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}}
            & \multicolumn{5}{c?}{$X^{tr} (\mathrm{english text})$} & \multicolumn{5}{c}{$Y^{yu} (\mathrm{english text})$} \\
             & \mathscr{A}_1 & \mathscr{A}_ 2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\
            \multicolumn{1}{c}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
            \multicolumn{1}{c}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
        \end{tabular}
    \end{table}

\end{document}
  1. Wegen dem \multirow{-2}{*}{}. Ihr Code wurde nicht kompiliert, weil Sie das Paket nicht hatten multirow.

  2. Löschen Sie alle |.

  3. Deine Entscheidung

  4. Das liegt daran, dass es sich im Mathematikmodus befindet, sodass Sie manuell ein Leerzeichen hinzufügen müssen, indem Sie\,

  5. Sie haben den Befehl zum Erstellen der Buchstaben im Skriptmodus nicht definiert.

verwandte Informationen