goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Tabelle formatieren

 

ocir
Forum-Century
Forum-Century

Beiträge: 122
Anmeldedatum: 22.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2017, 18:56     Titel: Tabelle formatieren
  Antworten mit Zitat      
Hallo Smile

habe zwei kleine Probleme bei Tabellen.

Nummer 1:
Die Tabelle soll so breit sein wie die Textbreite. Spalte 1 soll 4 cm breit sein, Spalte 2 soll 5 cm breit sein und die dritte Spalte soll sich entsprechend dem Text ergeben.
In einigen Zellen wird der Text länge als eine Zeile sein und daher brauche ich 2 Zeilen?! Habe es deshalb mit multirow versucht. Ist das notwendig oder geht es auch anders?
Der Kopf der Tabelle soll zentriert sein, außerdem auch die Wörter "Drehen", "Schleifen" und "Messen". Und nicht nur mittig im Sinne von links, mitte, rechts, sondern komplett mittig, also auch in vertikaler Richtung.
Wie kann ich das machen?


Code • Öffne in Overleaf

\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,              % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline,        % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
plainheadtopline,   % Kopfzeile nach oben durch Linie abgrenzen (scrplain)
plainfootsepline,   % Fußzeile nach oben durch Linie abgrenzen (scrplain)
bibliography=totoc, % Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
listof=totoc,         % Sonstige Verzeichnise ins Inhaltsverzeichnis aufnehmen
fleqn            %gibt Formeln linksbündig aus  
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage{blindtext}
\usepackage[demo]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{translator}
\usepackage[labelfont=bf,
         format=plain,
         font=small,
         justification=RaggedRight,
         singlelinecheck=false
]{caption}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\ohead[\sffamily\scshape\bfseries\large\headmark]
{\sffamily\scshape\bfseries\large\headmark}
\cfoot[\sffamily\thepage]{\sffamily\thepage}

\usepackage{listings}

\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{subcaption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}

\begin{document}

\mainmatter


\begin{table}
   \centering
   \begin{tabularx}{\textwidth}{p{4cm}|p{5cm}|X}
   \textbf{Bearbeitungsart} & \textbf{Ausführung} & \textbf{Vorteile} \\
   \hline
   Drehen & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   \hline
   \multirow{2}{*}{Schleifen}
   & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   \cline{2-3}
   & Verstellung des Reitstocks in radialer Richtung & Zylindrizitätskorrektur am Werkstück\\
   \hline
   Messen & Zwischen Spitzen & wenige Messfehler auch nach mehrmaligem Umspannen\\
   \end{tabularx}
   \caption{Anwendungsgebiete ...}
   \label{tab_anwendung_...}
\end{table}

\end{document}
 




Nummer 2:
Die Tabelle soll so breit sein wie die Textbreite. Spalte 2 soll so breit sein, wie die Wörter "Produkt mit" sind. Das Wort "Patentschutz" soll unterhalb von "Produkt mit" stehen.
Die zwei Spalten "Ja" und "Nein" sollen gleich groß sein, also eben die Hälfte von Spalte 2.
Und Spalte 1 soll halt so groß sein, wie das was halt noch übrig bleibt.
Die Wörter "Suchbegriff", "Produkte mit Patentschutz" sowie "Ja" und "Nein" sollen mittig sein. Außerdem soll alles in den Spalten "Ja" und "Nein" mittig sein.

Hier mein Beispiel, weiter komme ich leider nicht Sad

Code • Öffne in Overleaf

\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,              % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline,        % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
plainheadtopline,   % Kopfzeile nach oben durch Linie abgrenzen (scrplain)
plainfootsepline,   % Fußzeile nach oben durch Linie abgrenzen (scrplain)
bibliography=totoc, % Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
listof=totoc,         % Sonstige Verzeichnise ins Inhaltsverzeichnis aufnehmen
fleqn            %gibt Formeln linksbündig aus  
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage{blindtext}
\usepackage[demo]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{translator}
\usepackage[labelfont=bf,
         format=plain,
         font=small,
         justification=RaggedRight,
         singlelinecheck=false
]{caption}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\ohead[\sffamily\scshape\bfseries\large\headmark]
{\sffamily\scshape\bfseries\large\headmark}
\cfoot[\sffamily\thepage]{\sffamily\thepage}

\usepackage{listings}

\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{subcaption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}

\begin{document}

\mainmatter


\begin{table}
\centering
   \begin{tabularx}{\textwidth}{X|c|c}
   Suchbegriff & \multicolumn{2}{c}{Produkt mit Patentschutz} \\
   \cline{2-3}
            & Ja & Nein\\
   \hline
   \blindtext   &    & x\\
   \end{tabularx}
\end{table}

\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 934
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 26.06.2017, 23:35     Titel:
  Antworten mit Zitat      
Ein Hinweis für eine andere Möglichkeit der Liniengestaltung in Deinen Tabellen: Paket auf CTANtabsatz.

Code • Öffne in Overleaf
\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,             % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline         % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[
   labelfont=bf,
   format=plain,
   font=small,
   justification=RaggedRight,
   singlelinecheck=false
]{caption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}
\usepackage{pifont}% für \ding
\usepackage{blindtext}

\newcommand{\cross}{\ding{55}}

\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}
\begin{table}
   \centering
   \begin{tabularx}{\textwidth}{C{4cm}|p{5cm}|X}
   \textbf{Bearbeitungsart}
   & \multicolumn{1}{c|}{\textbf{Ausführung}}
   & \multicolumn{1}{c}{\textbf{Vorteile}} \\
   \hline
   \multirow{2}{*}{Drehen} & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   \hline
   \multirow{4}{*}{Schleifen}
   & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   \cline{2-3}
   & Verstellung des Reitstocks in radialer Richtung & Zylindrizitätskorrektur am Werkstück\\
   \hline
   \multirow{2}{*}{Messen} & Zwischen Spitzen & wenige Messfehler auch nach mehrmaligem Umspannen\\
   \end{tabularx}
   \caption{Anwendungsgebiete~\dots}
   \label{tab:anwendung}
\end{table}

\begin{table}
   \centering
   \begin{tabularx}{\textwidth}{X|C{1cm}|C{1cm}}
   \multicolumn{1}{c}{Suchbegriff}
   & \multicolumn{2}{|C{2.5cm}}{Produkt mit Patentschutz} \\
   \cline{2-3}
              & Ja & Nein\\
   \hline
   \blindtext &    & \cross\\
   \end{tabularx}
\end{table}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 07:46     Titel:
  Antworten mit Zitat      
\multirow würde ich bei der ersten Tabelle weglassen. Es sieht nicht gut aus, wenn die erste Spalte vertikal zentriert ist, die anderen Spalten aber nicht. Außerdem ist es für das Lesen der Tabelle eher von Nachteil, weil das Auge mehr damit beschäftigt ist, sich vertikal zu orientieren als die Zeilen zu erfassen.

Ebenfalls nachteilig für das Lesen sind die ganzen vertikalen Linien. Und die horizontalen Linien machen das in meinen Augen sehr mächtig. Ich persönlich ziehe es vor, Linien insgesamt auf ein Minimum zu reduzieren und ggf. mit Abständen zu arbeiten. Außerdem kann man natürlich auch gleich \RaggedRight in der Tabelle verwenden, wenn das Paket ohnehin bereits geladen und verwendet wird. \arraybackslash braucht man übrigens auch nur in der letzten Spalte einer Tabelle. Bei Verwendung von \RaggedRight statt \raggedright braucht man es gar nicht. Daher mein Vorschlag für die erste Tabelle:
Code • Öffne in Overleaf
\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,             % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline         % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[
   labelfont=bf,
   format=plain,
   font=small,
   justification=RaggedRight,
   singlelinecheck=false
]{caption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}
\usepackage{blindtext}

%\usepackage{ragged2e}% wird bereits von caption geladen
\usepackage{booktabs}

\newcommand{\cross}{\ding{55}}

\newcolumntype{L}[1]{>{\RaggedRight}p{#1}}

\begin{document}
\begin{table}
   \centering
   \begin{tabularx}{\textwidth}{@{}L{4cm}p{5cm}X@{}}
   \toprule
   \textbf{Bearbeitungsart}
   & \textbf{Ausführung}
   & \textbf{Vorteile} \\
   \midrule
   Drehen & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   \addlinespace
   Schleifen
   & Zwischen Spitzen & gute Einhaltung von Form- und Lagetoleranzen\\
   & Verstellung des Reitstocks in radialer Richtung & Zylindrizitätskorrektur am Werkstück\\
   \addlinespace
   Messen & Zwischen Spitzen & wenige Messfehler auch nach mehrmaligem Umspannen\\
   \bottomrule
   \end{tabularx}
   \caption{Anwendungsgebiete~\dots}
   \label{tab:anwendung}
\end{table}

\end{document}

ocir
Forum-Century
Forum-Century

Beiträge: 122
Anmeldedatum: 22.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 15:03     Titel:
  Antworten mit Zitat      
Hallo

Das Beispiel läuft leider nicht. Kannst du bitte noch mal nachschauen? Smile
Private Nachricht senden Benutzer-Profile anzeigen

markusv
Forum-Guru
Forum-Guru

Beiträge: 295
Anmeldedatum: 03.09.15
Wohnort: Leipzig
Version: ---
     Beitrag Verfasst am: 27.06.2017, 15:08     Titel:
  Antworten mit Zitat      
Das auskommentierte Paket Paket auf CTANragged2e muss aktiviert werden.
Wenn es von Paket auf CTANcaption geladen werden sollte, wie Gasts Kommentar nahe legt, weiß ich aber nicht, warum dies so ist.
_________________

Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Books heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 15:23     Titel:
  Antworten mit Zitat      
Paket auf CTANcaption lädt Paket auf CTANragged2e nicht generell. Wird das Paket nicht explizit geladen, verwendet justification=RaggedRight beim ersten LaTeX-Lauf statt \RaggedRight automatisch \raggedright. Es merkt sich aber die Notwendigkeit der Verwendung von Paket auf CTANragged2e. Ignoriert man den beim ersten LaTeX-Lauf gemeldeten Fehler, so wird das Paket ab dem zweiten Lauf dann tatsächlich automatisch geladen. Warum es bei Verwendung von justification=RaggedRight in der Dokumentpräambel Paket auf CTANragged2e nicht direkt lädt? Keine Ahnung. Müsste man den Paketautor fragen.

ocir
Forum-Century
Forum-Century

Beiträge: 122
Anmeldedatum: 22.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 18:53     Titel:
  Antworten mit Zitat      
Danke, funktioniert jetzt Smile

Sieht echt besser aus, muss man schon sagen. Werde dieses Layout jetzt für alle Tabellen so übernehmen.

Wie sieht denn die Kopfzeile für mein anderes Beispiel aus?

Leider verstehe ich nicht, was das alles in der letzten Klammer bedeutet.. kann mir das jemand erklären? Dann versuche ich es mal selbst..

\begin{tabularx}{\textwidth}{@{}L{4cm}p{5cm}X@{}}

Also was soll das @Zeichen, was bedeutet die leere Klammer dahinter. Das große L bedeutet sicher Left.. aber warum kein kleines l?
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 19:48     Titel:
  Antworten mit Zitat      
Du solltest mal eine ausführliche LaTeX-Einführung lesen. Darin sollte dann beispielsweise erklärt werden, dass vor und nach jeder Spalte automatisch ein Abstand eingefügt wird. Statt dieses Default-Abstands kann man mit @{…} beliebigen Code einfügen. @{} bedeutet also schlicht, dass statt des Spaltenabstands nichts eingefügt werden soll. Lass es einfach einmal weg und vergleiche das Ergebnis.

Die L-Spalte wird \newcolumntype definiert. Näheres dazu findet man in der Dokumentationarray-Anleitung und tatsächlich ebenfalls in vielen LaTeX-Einführungen, die auch wichtige Pakete behandeln. Die L-Spalte ist also eine p-Spalte an deren Anfang automatisch \RaggedRight ausgeführt wird. Damit hat diese Spalte zum einen eine feste Breite, zum anderen ist es eine Absatzspalte. Es sind also Zeilenumbrüche innerhalb einer Tabellenzelle möglich. l ist dagegen eine Spalte variabler Breite, in der es keinen Umbruch gibt (außer man packt explizit eine \parbox oder eine tabular o. ä. hinein).

ocir
Forum-Century
Forum-Century

Beiträge: 122
Anmeldedatum: 22.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2017, 20:30     Titel:
  Antworten mit Zitat      
Okay, danke.
Den Unterschied ob mit oder ohne @{} habe ich gesehen.

Ich hab es jetzt mal versucht, aber ist leider eine Vollkatastrophe.

Code • Öffne in Overleaf

\documentclass[
BCOR=5mm,           % Binderkorrektur von 5mm vorsehen
DIV=10,             % Seite in X Kästchen einteilen (Siehe Koma-Script Guide)
fontsize=12pt,      % Schriftgröße 12 Punkte
oneside,            % Einseitig
parskip,            % Paragraphen nicht einrücken
headsepline,        % Kopfzeile nach unten durch Linie abgrenzen (scrheadings)
plainheadsepline,   % Kopfzeile nach unten durch Linie abgrenzen (scrplain)
plainfootbotline,   % Fußzeile nach unten durch Linie abgrenzen (scrplain)
footsepline         % Fußzeile nach oben durch Linie abgrenzen (scrheadings)
]{scrbook}          % Koma-Script Klasse zum setzen eines Buchs

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[
   labelfont=bf,
   format=plain,
   font=small,
   justification=RaggedRight,
   singlelinecheck=false
]{caption}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[inner=3cm,outer=2.0cm,top=2cm,bottom=2.0cm,includeheadfoot]{geometry}
\usepackage{blindtext}

%\usepackage{ragged2e}% wird bereits von caption geladen
\usepackage{booktabs}

\newcommand{\cross}{\ding{55}}

\newcolumntype{L}[1]{>{\RaggedRight}p{#1}}

\begin{document}
\begin{table}
\centering
   \begin{tabularx}{\textwidth}{@{}L{5cm}p{1cm}p{1cm}@{}}
   \toprule
   Suchbegriff & \multicolumn{2}{c}{Produkt mit Patentschutz} \\
   \cline{2-3}
            & Ja & Nein\\
   \midrule
   \blindtext   &    & x\\
   \bottomrule  
   \end{tabularx}
\end{table}
\end{document}
 



Ich habe mich bei dieser Tabelle etwas umentschieden. Ich hatte ja ursprünglich gesagt, dass nach "Produkte mit" ein Zeilenumbruch sein soll.
Muss jetzt doch nicht so sein. Es ist okay so wie in diesem Minimalbeispiel. Zwischen "Produkte mit Patentschutz" und "Ja" bzw. "Nein" soll ein horizontaler Strich sein.
Die linke Spalte "Suchbegriff" soll so breit sein wie das was eben noch übrig bleibt.
Liege ich damit richtig, dass die definierte Tabelle \newcolumntype{L}[1]{>{\RaggedRight}p{#1}} hier jetzt nicht mehr verwendet werden kann?
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 934
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: Windows 7 64 Bit MiKTeX 2.9 32-Bit
     Beitrag Verfasst am: 27.06.2017, 20:37     Titel:
  Antworten mit Zitat      
Ersetze in dieser Tabelle das L{5cm} durch X
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite 1, 2, 3  Weiter



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 goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de