goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99974
Top-Poster: Johannes_B (5061)

Wir begrüßen unseren neuesten Benutzer Ron Flower.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Spaltenbreite in Tabelle verändern

 

Jens2102
Forum-Newbie
Forum-Newbie

Beiträge: 7
Anmeldedatum: 11.07.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2019, 12:14     Titel: Spaltenbreite in Tabelle verändern
  Antworten mit Zitat      
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:

Code

\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? Smile

Vielen Dank schon mal im Voraus

Jens

IMG_20191109_120333.jpg
 Beschreibung:

Download
 Dateiname:  IMG_20191109_120333.jpg
 Dateigröße:  2.07 MB
 Heruntergeladen:  14 mal
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1914
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 09.11.2019, 15:37     Titel:
  Antworten mit Zitat      
Wie hänge ich ein Bild an meine Frage?

Ein Vorschlag:

Code
\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.
Private Nachricht senden Benutzer-Profile anzeigen

Jens2102
Forum-Newbie
Forum-Newbie

Beiträge: 7
Anmeldedatum: 11.07.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2019, 01:44     Titel: Danke...aber
  Antworten mit Zitat      
Das klappt soweit schon mal gut Smile 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 Confused liegt das an der multicolumn?
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1914
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 12.11.2019, 02:01     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister


Beiträge: 3959
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2019, 10:18     Titel:
  Antworten mit Zitat      
Bartman hat Folgendes 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:

Code
\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}

_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de