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}
Ich habe mehrere Probleme mit meinen Bemühungen.
- warum erscheint -2* in der ersten Spalte?
- 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.
- 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.
- 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?
- 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
array
Umgebung anstelle einertabular
Umgebung.Der
c
Spaltentyp scheint für alle 11 Spalten geeignet zu sein. Dascellspace
Paket 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 verwendenarray
). Der Standardwert dieses Parameters ist5pt
; im folgenden Beispiel habe ich ihn auf gesetzt2.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
booktabs
Pakets anstelle von\hline
und\cline
.Verwenden Sie nicht
\mathrm
; verwenden Sie entweder\text{...}
oder\textnormal{...}
.Damit sich das
\mathscr
Makro wie erwartet verhält, laden Sie ein Paket, das ein mathematisches Alphabet in Mathematikskriptform bereitstellt. Probieren Sie dasmathrsfs
Paket aus.
\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}
Wegen dem
\multirow{-2}{*}{}
. Ihr Code wurde nicht kompiliert, weil Sie das Paket nicht hattenmultirow
.Löschen Sie alle
|
.Deine Entscheidung
Das liegt daran, dass es sich im Mathematikmodus befindet, sodass Sie manuell ein Leerzeichen hinzufügen müssen, indem Sie
\,
Sie haben den Befehl zum Erstellen der Buchstaben im Skriptmodus nicht definiert.