Spaltenbreite in Tabelle verändern

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Spaltenbreite in Tabelle verändern

von u_fischer » Di 12. Nov 2019, 10:18

Bartman hat geschrieben: \begin{tabularx}{\textwidth}{|X|X|X|}
Wenn alle Spalten X-Spalten sind, braucht man tabularx nicht. Es macht einem nur das Leben schwer, wenn man \multicolumn verwendet.

Einfach ein bisschen rechnen, ist da viel vernünftiger:
\documentclass{article}
\usepackage{xfp,array}

\begin{document}
\newcommand\mytabwidth[1]{\fpeval{(\textwidth-(#1+1)\arrayrulewidth-(#1*2)\tabcolsep)/#1}pt}

\noindent
x\hfill y

\noindent\begin{tabular}{|p{\mytabwidth{3}}|p{\mytabwidth{3}}|p{\mytabwidth{3}}|}
abc & abc &abc
\end{tabular}

\end{document}

von Bartman » Di 12. Nov 2019, 02:01

Wo ist das Problem? Laut Deinem Wunsch braucht die zweite Tabelle eine weitere Spalte. Dafür änderst Du das Argument des genannten Befehls, das Argument der tabularx-Umgebung und fügst weitere Et-Zeichen ein.

Achtung: Der Faktor des Spaltentyps im zweiten erforderlichen Argument der Tabellenumgebung benötigt ab einer zweistelligen Zahl geschweifte Klammern.

Danke...aber

von Jens2102 » Di 12. Nov 2019, 01:44

Das klappt soweit schon mal gut :) Vielen Dank für die Hilfe. Jetzt habe ich nur noch das Problem, dass ich einen Werkstoff mit 10 verschiedenen Elementen habe. Sprich ich brauche 10 Spalten. Aber das funktioniert irgendwie nicht :? liegt das an der multicolumn?

von Bartman » Sa 9. Nov 2019, 15:37

Wie hänge ich ein Bild an meine Frage?

Ein Vorschlag:
\documentclass[fontsize=13pt, captions=tableheading]{scrartcl}% <- geändert
%\usepackage[utf8]{inputenc} nur noch bei einer älteren TeX-Distribution erforderlich
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage[locale=DE]{siunitx}% für \SI
\usepackage{showframe}

\begin{document}
\begin{table}[htbp]
\footnotesize
\caption{Ich bastel mir meine Tabelle}
\label{tab:Legierungselemente}
{\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash}p{#1}}
\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
\rowcolor{lightgray}
\multicolumn{3}{|c|}{Bezeichnungen} \\
\hline
Chemische Bezeichnung & Werkstoffnummer & Internat. Bezeichnung \\
\hline
Text & Text & Text\\
\hline
\end{tabularx}%
\vspace{-1.4pt}
\begin{tabularx}{\textwidth}{|*9{X|}}
\hline
\rowcolor{lightgray}
\multicolumn{9}{|c|}{Chemische Zusammensetzung}\\
\hline
Text & Text & Text & Text & Text & Text & Text & Text & Text\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9\\
\hline
\end{tabularx}}%
\vspace{-1.4pt}
\begin{tabularx}{\textwidth}{|X|X|}
\hline
\rowcolor{lightgray}
\multicolumn{2}{|c|}{Mechanische und physikalische Eigenschaften}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
Text & \SI{120}{\MPa}\\
\hline
\end{tabularx}
\end{table}
\end{document}
Du könntest die Färbung der Zeilen auch weglassen und das bereits in Deiner Präambel geladene Paket booktabs benutzen.

Spaltenbreite in Tabelle verändern

von Jens2102 » Sa 9. Nov 2019, 12:14

Hallo zusammen,

ich könnte eure Hilfe gebrauchen. Ich möchte eine Tabelle erstellen in der alle Spalten gleich breit sind. In einigen Zeilen sollen die Spalten außerdem teilweise verbunden sein. Ein Beispiel welches schon ca meinen Vorstellungen entspricht ist folgendes:
\documentclass[13pt, a4paper]{scrartcl}
\usepackage{booktabs,tabularx}
\usepackage{biblatex}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabu}

\begin{document}
\begin{table}[!htbp]
\centering
\caption {Ich bastel mir meine Tabelle}
\begingroup
\setlength{\tabcolsep}{1cm}   
\begin{tabular}{|c|c|c|c|c|c|c|}
  \hline
  \multicolumn{7}{|c|}{Bezeichnungen} \\
  \hline
  \multicolumn{2}{|c|}{chemische Bezeichnung} & \multicolumn{2}{|c|}{Werkstoffnummer} & \multicolumn{3}{|c|}{Internat. Bezeichnung} \\
  \hline
  1 & 2 & 3 & 4 & 1 & 2 & 3 \\
  \hline
  &   &   &  &  &  &  \\
  \hline
  \multicolumn{3}{|c|}{a} & \multicolumn{4}{|c|}{}\\
  \hline
\end{tabular}
\endgroup
\label{Legierungselemente}
\end{table}
\end{document}
Die Spalte zwei ist jedoch deutlich breiter als bspw. Spalte eins.

Außerdem würde ich am liebsten die letzte Zeile in zwei gleichgroße Spalten unterteilen und nicht links über drei und rechts über 4 Spalten gehen.

Ich habe mal ein Bild von einer Tabelle angehängt wie ich es am Ende gerne hätte. Auch die grau hinterlegten Zellen hätte ich gerne. Mit \rowcolor[gray]{.6} funktioniert es aber leider nicht zusammen mit \multicolumn in einer Zeile...

Kann mir da jemand helfen? :)

Vielen Dank schon mal im Voraus

Jens
Dateianhänge
IMG_20191109_120333.jpg
IMG_20191109_120333.jpg (2.07 MiB) 6360 mal betrachtet

Nach oben