Problem der vertikalen Ausrichtung

Tabellen und Grafiken erstellen und anordnen


Ted 77
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 28. Jan 2010, 14:21

Problem der vertikalen Ausrichtung

Beitrag von Ted 77 »

Guten!

Der Plan ist eine mehrspaltige und -zeilige Tabelle mit einem dunklen Kopf, und alternierender Zeilenfarbe bei weißen Trennlinien ... und leider auch den vertikalen. :-/ Dabei stellen sich zwei Probleme:
1. Im "Kopf" entsteht über der mittleren Spalte ein riesiger Abstand!
2. Die Linien sind im Viewer unterschiedlich breit!

1. liegt wohl irgendwie am p, aber wie kann man sonst die Spaltenbreite vorgeben?! Kann man die Farbe für die Zeilen auch schon in der Präambel beschreiben oder sollte man gar über Zellfarben arbeiten?
Zu 2.: Klar, vertikale Linien sind in book böse, trotzdem ...

Als Bonusfrage:
3. Gibt es einen Weg möglichst nah am vorhanden Code die Tabellenbreite zu defienieren? Nach \begin{table} hatte das sehr interessante, aber sicher nicht gewollte Auswirkungen auf das Design ... Oder muss man diesen Fall über die einzelnen Spalten zurechtrechnen?

Im Code steht jetzt ein wenig mehr als notwendig, aber vielleicht kommt ja auch das ein oder andere Problem aus der Verwendung eines ungeeigneten Pakets ... danke! Nicht wundern - der umfließende Text ist wirklich zweispaltig und Teile der Präambel sind bereits zusammengeklaut. Der Wissensstand ist minimal. :-(
%\documentclass[pdflatex,twocolumn]{scrbook}
\documentclass[pdftex]{scrbook}
\usepackage{flushend}
%(neue) deutsche Sprachregelung
\usepackage[ngerman]{babel}
\usepackage[babel]{microtype}
%deutsche Umlauten
\usepackage[ansinew]{inputenc}
%automatische Umlaute
%\usepackage[latin1]{inputenc}
%Zitate
\usepackage[round]{natbib}
%Zeichenausgabe
%\usepackage[T1]{fontenc}
%einige Sonderzeichen
\usepackage{textcomp}

%zum Einbinden von Bildern (Erweiterung von 'graphics')
\usepackage{graphicx}
%Grafik von Text umfließen lassen
\usepackage{wrapfig}
\usepackage{subfig}
%für Herz-Symbole
\usepackage{txfonts}

%\setlength{\paperwidth}{17cm}
%\setlength{\paperheight}{22cm}
%\areaset{14cm}{16cm}
\usepackage{geometry}
\geometry{twoside,paperwidth=170mm,paperheight=220mm,outer=20mm,inner=15mm,top=15mm,bottom=20mm,nohead,foot=10mm}

%für die Gestaltung der Fußzeile
\usepackage[automark]{scrpage2}%,footsepline]{scrpage2}
\clearscrheadings
\automark[chapter]{part}
\renewcommand*{\partmarkformat}{}
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\sectionmarkformat}{}
\setkomafont{pageheadfoot}{\sffamily\footnotesize}
\setkomafont{pagenumber}{\sffamily\footnotesize}
\rofoot{\\\headmark~~~~$|$~~~~\pagemark}
\lefoot{\\\pagemark~~~~$|$~~~~\textnormal{\sffamily{\footnotesize{Triathlon-Training}}}}
\pagestyle{scrheadings}

\usepackage{multicol}
\makeatletter 
\newcounter{restorecolnumber} 
\newcommand*{\chapteroriginal}{} 
\let\chapteroriginal\chapter 
\renewcommand*{\chapter}{% 
  % Jetzt versuchen wir zu erkennen, ob wir in einer multicols-Umgebung sind: 
  \def\reserved@a{multicols}\ifx\reserved@a\@currenvir 
    % Wenn das so ist, speichern wir, die Spaltenzahl und beenden die Umgebung 
    \setcounter{restorecolnumber}{\col@number}% 
    \end{multicols} 
  \else 
    % Wenn nicht, setzen wir die Spaltenzahl auf 1 
    \setcounter{restorecolnumber}{1}% 
  \fi 
  \chapteroriginal 
} 
\newcommand*{\@afterheadingoriginal}{} 
\let\@afterheadingoriginal\@afterheading 
\renewcommand{\@afterheading}{% 
  \@nobreaktrue 
  \ifnum\value{restorecolnumber}>\@ne 
    \begin{multicols}{\value{restorecolnumber}} 
    \setcounter{restorecolnumber}{\z@}% 
  \fi 
  \@afterheadingoriginal 
} 
\newcommand*{\@startsectionoriginal}{} 
\let\sectionoriginal\section 
\renewcommand*{\section}{% 
  % Jetzt versuchen wir zu erkennen, ob wir in einer multicols-Umgebung sind: 
  \def\reserved@a{multicols}\ifx\reserved@a\@currenvir 
    % Wenn das so ist, speichern wir, die Spaltenzahl und beenden die Umgebung 
    \setcounter{restorecolnumber}{\col@number}% 
    \end{multicols} 
  \else 
    % Wenn nicht, setzen wir die Spaltenzahl auf 1 
    \setcounter{restorecolnumber}{1}% 
  \fi 
  \sectionoriginal 
} 
\makeatother 

%zur Definition neuer Spaltentypen in Tabellen
\usepackage{array}
%Farbe in Tabellen
\usepackage[table]{xcolor}
%Dezimalpunkttrennung
\usepackage{dcolumn}
%Kopf-, Haupt & Fußteil in der Tabelle
%\usepackage{booktabs}
\usepackage{ragged2e}
\renewcommand{\arraystretch}{2}
\newcommand\tableheadcolor{\rowcolor{gray}}
\newcommand\tableheadfontsize{\normalsize}
\newcommand\tablehead{\tableheadfontsize\bfseries\sffamily\color{black}}%\color{white}}
\newcommand{\tablefontsize}{\footnotesize}
\newcommand\tablestylecommon{\tablefontsize\centering\sffamily}
\newcommand{\tablestyle}{\tablestylecommon}
%\newcommand\tablebegin{\hline}
%\newcommand\tableend{\hline}

%serifenlose Captions!
\addtokomafont{captionlabel}{\sffamily}
\addtokomafont{caption}{\sffamily}

\usepackage{color}

%Abstand bei Aufzählungen verkleinern
\newenvironment{myitemize}{\begin{itemize}\itemsep 0pt}{\end{itemize}}

%minipage für captions
\usepackage{caption}

\title{Triathlon}
%\titlehead
%\thanks{Deine~Mudda}
\date{01.~Januar~2010}

%für Aufzählungen ohne Leerspalten
\usepackage{paralist}

\begin{document}

\begin{table}[h] %h=here, t=Seitenanfang, b=seitenende, p=sammelseite
\rowcolors[\hline]{1}{gray!50}{gray!25}
\arrayrulecolor{white}
\tablestyle
\caption{caption}
\begin{tabular}{|l|p{70mm}|l|}
	%\tablebegin
	\tableheadcolor
	\tablehead Belastungszone & \tablehead Charakteristik & \tablehead Anteil in \% \\
	\hline
	BZ 1 (KO) & Regeneration & 20 bis 30 \\
	\hline
	BZ 2 (GA1ext) & Extensive aerobe Ausdauer & 30 \\
	\hline
	BZ 3 (GA1int) & Intensive aerobe Ausdauer & 15 bis 20 \\
	\hline
	BZ 4 (GA2Öko) & Aerob-anaerober Übergangsbereich & 15 \\
	\hline
	BZ 5 (GA2Entw) & Aerob/anaerobe Leistungsfähigkeit & 5 \\
	\hline
	BZ 6 (WA) & Wettkampfspezifische Ausdauer & 1,5 bis 3 \\
	\hline
	BZ 7 (SA) & Anaerobe Ausdauer & 1 bis 2 \\
	\hline
	BZ 8 (S) & Schnelligkeit & 1 \\
	%\tableend
\end{tabular}
%\label{tab:Belastungszonen}
\end{table}

\end{document}

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hallo

also dass ist sehr viel Code... Kein Minimalbeispiel...

zu 1. versuch b anstatt p
zu 2. welchle Linien? Die Horinzonalen und Vertikalen sind unterschiedlich definiert, wenn die hlines unterschiedlich erscheinen, dann ist das ein typischen Viewer Problem.

mit
...
\setlength{\arrayrulewidth}{2pt} 
\rowcolors{1}{gray!50}{gray!25}... 
Würdest du gleiche Linienstärken bekommen
zu 3. versuch tabularx

PS: die Tabelle sieht aus wie ein Busfahrplan... ;)
PSS: wo hälst du denn den Kurs/Training?
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Re: Problem der vertikalen Ausrichtung

Beitrag von skater »

Wenn ich bei Googel eine primitive Suchanfrage versuche, dann bringt mich bereits der erste Eintrag diesen Ziel sehr nahe.

Ted 77 hat geschrieben:Im Code steht jetzt ein wenig mehr als notwendig, aber vielleicht kommt ja auch das ein oder andere Problem aus der Verwendung eines ungeeigneten Pakets ... danke!
Du muss ein sehr wichtiger Mensch sein, dass Du nicht mal die Zeit hast, das eine oder andere Paket durch ein '%' temporär zu entfernen, um mal selber nachzuschauen, ob dabei möglicherweise Fehler entschwinden.

\usepackage[table]{xcolor}
\usepackage{color}
Doppelt hält besser?


ps: Möglicherweise habe ich sogar in dem einen oder anderen Buch etwas über farbige Tabellen gelesen. Aber irgend wie fehlt mir gerade die Motivation, das nachzuschlagen.

Ted 77
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 28. Jan 2010, 14:21

Beitrag von Ted 77 »

@ bloodworks: Großartig! Alles gelöst ... MINIMALbeispiel kann man das wirklich nicht nennen, aber der versierte User erkennt in der Präambel doch gleich die überlesbaren Teile. ;-) Übrigens fährt Ted gerne Bus! :P Das wird wirklich mal ein Buch. Bei Interesse melden, dann gibt's zum Dank auch ein Sonderangebot. ;-)

@ skater: "Nahe" ist leider nicht immer ein Treffer ... trotzdem danke! Dem Grunde nach hast Du auch gleich das Argument geliefert, warum die ganze Präambel einzustellen war: Verlorener Überblick! Die beiden Bücher, die Ted sich reingepfiffen haben, waren leider auch nur "nah dran" und daher ging der Weg auf's Board! :idea:

Und wenn Ted mit dem Buch fertig sein wird, dann überdenkt er seine Termingestaltung neu. *lol*

Ted 77
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 28. Jan 2010, 14:21

Nachfrage

Beitrag von Ted 77 »

Da müssen noch einmal zwei Nachfragen platziert werden:

Wie kann man in der Präambel dem Tablehead zuweisen, dass er doch bitte nach unten ausgerichtet ist (also "b")?

Ferner ensteht über
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
in Verbindung mit \newline nur die Zentrierung der untersten Zeile in einer Zelle. Was kann man denn da tun?

Erneute Verneigung des Dankes!
%\documentclass[pdflatex,twocolumn]{scrbook}
\documentclass[pdftex]{scrbook}
\usepackage{flushend}
%(neue) deutsche Sprachregelung
\usepackage[ngerman]{babel}
\usepackage[babel]{microtype}
%deutsche Umlauten
\usepackage[ansinew]{inputenc}
%automatische Umlaute
%\usepackage[latin1]{inputenc}
%Zitate
\usepackage[round]{natbib}
%Zeichenausgabe
%\usepackage[T1]{fontenc}
%einige Sonderzeichen
\usepackage{textcomp}

%zur Definition neuer Spaltentypen in Tabellen
\usepackage{array}
%Farbe in Tabellen
\usepackage[table]{xcolor}
%Dezimalpunkttrennung
%\usepackage{dcolumn}
%Kopf-, Haupt & Fußteil in der Tabelle
%\usepackage{booktabs}
\usepackage{ragged2e}
\renewcommand{\arraystretch}{2}
\newcommand\tableheadcolor{\rowcolor{gray}}
\newcommand\tableheadfontsize{\normalsize}
\newcommand\tablehead{\tableheadfontsize\bfseries\sffamily\color{black}}%\color{white}}
\newcommand{\tablefontsize}{\footnotesize}
\newcommand\tablestylecommon{\tablefontsize\centering\sffamily}
\newcommand{\tablestyle}{\tablestylecommon}
%\newcommand\tablebegin{\hline}
%\newcommand\tableend{\hline}

\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % zentrierte Spalten mit Breitenangabe 

\begin{document}
\begin{table}[h] 
\setlength{\arrayrulewidth}{1pt}
\arrayrulecolor{white}
\rowcolors{2}{gray!50}{gray!25}
\tablestyle
\caption{Gebrauch von Neoprenanzügen (aus: Sportordnung der DTU, www.dtu-info.de)}
\begin{tabular}{C{33mm}|C{33mm}|C{22mm}|C{22mm}|C{15mm}|C{30mm}}
\tableheadcolor
	\tablehead Schwimmstrecke & \tablehead Wassertemperatur & \tablehead Altersklasse & \tablehead Schwimmen & \tablehead Neopren & \tablehead Schwimmzeit \tabularnewline
	\hline
	50m 100m 200m 400m & gilt für alle Schüler $\dots$ & Schüler D \newline Schüler C \newline Schüler B \newline Schüler A & nein \newline nein \newline ja \newline ja & $-$ & nur Swim and Run $\dots$ \\
\end{tabular}
\end{table}
\end{document}
... und heute auch mit einem Minimalbeispiel!!! :-D

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Du kannst die Umbrüche statt mit \newline mit \par machen, dann klappts mit dem Zentrieren
(hat afaik was mit Zeilenumbruch = \newline, \\ und neuem Absatz = \par, Leerzeile im Code zu tun).

Übrigens würde ich zwischen Zahl und Einheit einen Abstand machen, also statt "50m" lieber "50\,m". Das "\," ergibt einen kleineren Abstand als ein ganzes Leerzeichen ("50~m").

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Xenara hat geschrieben: Übrigens würde ich zwischen Zahl und Einheit einen Abstand machen, also statt "50m" lieber "50\,m". Das "\," ergibt einen kleineren Abstand als ein ganzes Leerzeichen ("50~m").
Noch besser macht man dass mit dem Paket siunitx.

Ted 77 hat geschrieben:... und heute auch mit einem Minimalbeispiel!!
Naja naja, close, aber was genau hat denn das Paket natbib mit deiner Frage zu Tabellen zu tun? :lol:
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Ted 77
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 28. Jan 2010, 14:21

Beitrag von Ted 77 »

Danke - sehr schön!

Wenn jetzt noch jemand die Frage für die Präambeldefinition zum Header klären könnte, hält Ted auch erst einmal wieder die Füße still. ^^

@ bloodworks: Alles ist relativ und vom Betrachter abhängig! ;-)

Antworten