Breite Tabelle auf Seite zentrieren+Text in Spalte mittig

Tabellen und Grafiken erstellen und anordnen


Asonandesuka
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 14. Nov 2013, 19:17
Wohnort: Wien

Breite Tabelle auf Seite zentrieren+Text in Spalte mittig

Beitrag von Asonandesuka »

Schönen Guten Tag alle zusammen,

Zunächst einmal möchte ich mich entschuldigen für alle Fauxpas die mir hier passieren. Ich habe hier ein minibeispiel, in dem man sieht, dass meine Tabelle zu breit ist, um mittig auf der Seite angezeigt zu werden. Auch die drei Parameter, die ich gerne in der linken Spalte mittig zu den beiden Abbildungen rechts schreiben würde, picken am oberen Rand fest.

Bis jetzt habe ich versucht, statt c m zuverwenden, was nicht funktioniert hat bzw. /centering statt /begin{center} zu verwenden, was bei mir aber zu großen Fehlern geführt hat, weil plötzlich alle Verweise verschwanden und auch mein Table of Contents, mein List of Figures und List of Tables.

Ich hoffe, dass das Problem sehr einfach gelöst werden kann.
Vielen Dank an alle, die sich die Zeit nehmen, mir bei meinem Problem zu helfen.

Schöne Grüße,
Takashi

\documentclass[a4paper,11pt,oneside,final,openbib,pdftex]{scrbook}
%_______________________________________________________________________________
% page borders
%_______________________________________________________________________________
\addtolength{\headheight}{2cm}
%\addtolength{\topmargin}{2cm}
\setlength{\oddsidemargin}{1.0cm}
\setlength{\evensidemargin}{0.5cm}
\setlength{\textwidth}{14.3cm}
\setlength{\parindent}{0mm}

%_______________________________________________________________________________
% packages
%_______________________________________________________________________________
\usepackage{amsmath, amssymb}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{multirow}
\usepackage{subfigure}
\usepackage{dsfont}
\usepackage{slashed}
\usepackage{textcomp}
\usepackage{url}
\usepackage{booktabs, multicol, multirow}

%_______________________________________________________________________________
% bold fonts for headings
%_______________________________________________________________________________
\font\afont=cmssbx10 scaled \magstep5     % for the title
\font\bfont=cmssbx10 scaled \magstep4     % for chapter headings
\font\cfont=cmssbx10 scaled \magstep3
\font\dfont=cmssbx10 scaled \magstep2     % for section headings and author name
\font\efont=cmssbx10 scaled \magstephalf

%_______________________________________________________________________________
% index depth
%_______________________________________________________________________________
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

%_______________________________________________________________________________
% new commands
%_______________________________________________________________________________
\newcommand{\demi}{\frac{1}{2}}

%_______________________________________________________________________________
% renewed commands
%_______________________________________________________________________________
% \renewcommand{\topfraction}{1.}       % this is important for figure placement
% \renewcommand{\bottomfraction}{1.}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\normalfont\normalsize\bfseries}
}
\makeatother

%_______________________________________________________________________________
% special words, hyphenation
%_______________________________________________________________________________
\hyphenation{Ba-che-lor-ar-beit}

\pagestyle{empty}
\pagestyle{headings}
%for changing the style on a specific page use \thispagestyle{e.g., empty}

%_______________________________________________________________________________
%_______________________________________________________________________________
\begin{document}
\pagenumbering{roman}

\begin{table}[here]
\caption{TNT of some of Sample 1.1 before and after sun cream with condition mentioned in table \ref{tab:parameter}}
\begin{tabular}{c  c  c}
\toprule
Parameters & TNT before eating & TNT after eating \\\hline
100XP | 50 min | 80 min
      &
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_eins_before.jpg}}
      & 
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_eins_after.jpg}} \\\hline
100XP | 50 min | 0 min
      &
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_zwei_before.jpg}}
      & 
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_zwei_after.jpg}} \\\hline
80XP | 50 min | 80 min
      &
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_drei_before.jpg}}
      & 
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_drei_after.jpg}} \\\hline
80XP | 50 min | 0 min
      &
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_vier_before.jpg}}
      & 
     \raisebox{-\totalheight}{\includegraphics[width=55.92mm, height=42mm]{finallap/prev_vier_after.jpg}} \\\hline						
\end{tabular}
\end{table}
\end{center}

\end{document}  

[/code]

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn die Tabelle zu breit ist, dann kannst du diese entweder im Querformat ausgegeben oder die Bilder kleiner machen oder oder die Tabelle mit \resizebox auf Textbreite skalieren. Alternativ kann man vielleicht auch die Parameter in der 1.Spalte in eine p- oder m-Spalte setzen.

Um die Spalten vertikal zu zentrieren, bietet sich die Verwendung von m-Spalten an, wofür aber das array Paket geladen werden muss.
\documentclass{scrbook} 

\usepackage{array}
\usepackage{booktabs}
\usepackage{graphicx} 

\begin{document} 

\begin{center}
  \begin{minipage}{\linewidth}
    \newcommand\bildeinfuegen[1]{\includegraphics[width=\linewidth, height=42mm]{#1}}
    \centering
    \captionof{table}{TNT of some of Sample 1.1 before and after sun cream with condition mentioned in table } 
    \resizebox{\linewidth}{!}{%
      \begin{tabular}{@{}c m{55.92mm} m{55.92mm}@{}} 
        \toprule 
         Parameters & TNT before eating & TNT after eating \\\midrule 
         100XP | 50 min | 80 min&\bildeinfuegen{bild}&\bildeinfuegen{bild}\\  \midrule
         100XP | 50 min | 0 min&\bildeinfuegen{bild}&\bildeinfuegen{bild}\\  \midrule
         80XP | 50 min | 80 min&\bildeinfuegen{bild}&\bildeinfuegen{bild}\\  \midrule
         80XP | 50 min | 0 min&\bildeinfuegen{bild}&\bildeinfuegen{bild}\\  \bottomrule
      \end{tabular}%
    }
  \end{minipage}
\end{center}

\end{document}
Gruß
Elke

Asonandesuka
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 14. Nov 2013, 19:17
Wohnort: Wien

Beitrag von Asonandesuka »

Hallo Elke,

Vielen Dank für deine Hilfe. Ich bin ein großes Stück weitergekommen mit deiner Hilfe. Mit dem Minibeispiel unten bin ich nun fast am Ziel. Die Parameter in der linken Spalte werden nun schön mittig angezeigt.

Es sind mit nur zwei Dinge noch aufgefallen.

1) Die ganze Tabelle ist nicht wirklich genau in der Mitte, sie ist immernoch ein wenig zu weit rechts, aber schon viel besser als vorher auf jeden Fall.

2) Bei der Zeile "Parameters & TNT before eating & TNT after eating" stehen "TNT before eating" und "TNT after eating" nun nicht genau über den Bildern sondern ein bisschen zu weit links.

Vielen Dank für die Hilfe!
Liebe Grüße,
Takashi
\documentclass[a4paper,11pt,oneside,final,openbib,pdftex]{scrbook}

%_______________________________________________________________________________
% packages
%_______________________________________________________________________________
\usepackage{amsmath, amssymb}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{subfigure}
\usepackage{dsfont}
\usepackage{slashed}
\usepackage{textcomp}
\usepackage{url}
\usepackage{booktabs, multicol, multirow}
\usepackage{anysize}
\usepackage{array}


%_______________________________________________________________________________
%_______________________________________________________________________________
\begin{document}
\pagenumbering{roman}

\begin{center}
\begin{minipage}{\linewidth}
\newcommand\bildeinfuegen[1]{\includegraphics[width=\linewidth, height=42mm]{#1}} 
\centering
\captionof{table}{TNT of some of Sample 1.1 before and after sun cream with condition mentioned in table tab:parameter}
\resizebox{\linewidth}{!}{% 
\begin{tabular}{@{}|c m{55.92mm} m{55.92mm}|@{}} 
\toprule 
Parameters & TNT before eating & TNT after eating \\ \midrule 
100XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_eins_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_eins_after.jpg} \\ \midrule 
100XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_zwei_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_zwei_after.jpg} \\ \midrule  
80XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_drei_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_drei_after.jpg} \\ \midrule 
80XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_vier_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_vier_after.jpg} \\ \bottomrule 
\end{tabular}%
}
\end{minipage}
\end{center}
\end{document}  


Besserwisser

Beitrag von Besserwisser »

Die Tabelle ist schon in der Mitte des Textbereichs allerdings ist der Textbereich wegen des unsäglichen Pakets anysize nicht in der Mitte der Seite, wie Du leicht selbst herausgefunden hättest, wenn Du ein echtes VM (mit Anleitung zur Erstellung nicht nur für Anfänger) erstellt hättest. Und wenn wir dann noch die überflüssigen und im Zusammenspiel mit den Grafiken auch noch eher hässlichen vertikalen Linien weglassen, dann können wir auch einfach eine einzige Markup-Anweisung für die Zentrierung der Spaltenköpfe definieren:
% Optionen a4paper, 11pt und final sind default und können daher entfallen.
% Statt Option pdftex sollte man besser Option pagesize verwenden, siehe dazu
% auch die Warnung, die scrbook bei pdftex ausgibt.
\documentclass[oneside,openbib,pagesize]{scrbook}

%_______________________________________________________________________________
% packages
%_______________________________________________________________________________
%\usepackage{amsmath, amssymb}% für das Beispiel unerheblich
\usepackage[utf8]{inputenc}
\usepackage[demo]{graphicx}% Option demo ist für die Vollständigkeit des
                           % Minimalbeispiels wichtig!
%\usepackage{enumerate}% für das Beispiel unerheblich
%\usepackage{subfigure}% für das Beispiel unerheblich
\usepackage{dsfont}% eigentlich für das Beispiel auch unerheblich
%\usepackage{slashed}% für das Beispiel unerheblich
%\usepackage{textcomp}% für das Beispiel eigentlich auch unerheblich
%\usepackage{url}% für das Beispiel unerheblich
\usepackage{booktabs,
% multicol, multirow % für das Beispiel unereblich
}
%\usepackage{anysize}% Das Paket ist an den falschen Rändern schuld!
\usepackage{array}

\newcommand*{\tablehead}[1]{\multicolumn1c{#1}}


%_______________________________________________________________________________
%_______________________________________________________________________________
\begin{document}
\pagenumbering{roman}

\begin{center}
\begin{minipage}{\linewidth}
\newcommand\bildeinfuegen[1]{\includegraphics[width=\linewidth, height=42mm]{#1}}
\centering
\captionaboveof{table}{TNT of some of Sample 1.1 before and after sun cream with
  condition mentioned in table tab:parameter}
\resizebox{\linewidth}{!}{%
\begin{tabular}{@{}c m{55.92mm} m{55.92mm}@{}}
\toprule
\tablehead{Parameters} & \tablehead{TNT before eating} & \tablehead{TNT after
  eating} \\ 
\midrule
100XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_eins_before.jpg}
      &
     \bildeinfuegen{finallap/prev_eins_after.jpg} \\ \midrule
100XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_zwei_before.jpg}
      &
     \bildeinfuegen{finallap/prev_zwei_after.jpg} \\ \midrule  
80XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_drei_before.jpg}
      &
     \bildeinfuegen{finallap/prev_drei_after.jpg} \\ \midrule
80XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_vier_before.jpg}
      &
     \bildeinfuegen{finallap/prev_vier_after.jpg} \\ \bottomrule
\end{tabular}%
}
\end{minipage}
\end{center}
\end{document} 
Wenn Du die blöden vertikalen Linien, die mit booktabs ohnehin mehr schlecht als recht funktionieren, unbedingt haben willst, musst Du eben mit mehreren \multicolumn, mit unterschiedlichen Spaltendefinitionen für den Kopf arbeiten.

Ich würde übrigens auch noch die horizontalen Linien zwischen zwischen den Zeilen im Tabellenkörper weglassen.

Zu \captionaboveof sei ausdrücklich auf die KOMA-Script-Anleitung oder das KOMA-Script-Buch verwiesen. Bitte wirklich nachlesen!

Die auskommentierten Pakete würde man in einem VM (mit Anleitung zur Erstellung nicht nur für Anfänger) natürlich tatsächlich weglassen. Ich habe sie auskommentiert drin gelassen, um auf die unterschiedlichen Gründe für das Weglassen hinweisen zu können.

Asonandesuka
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 14. Nov 2013, 19:17
Wohnort: Wien

Beitrag von Asonandesuka »

Hallo,

Erstemal vielen Dank für deine Hilfe. Ich habe deine Lösung in meinem kompletten Document ausprobiert und ich muss sagen, ich bin mit dem Ergebnis sehr zufrieden. Genauso wollte ich, dass es aussieht. Das Problem ist nun nur, dass mein Inhaltsverzeichnis, meine List of Figures und List of Tables komplett leer sind und alle Referenzen und Verweise verschwunden sind.

Hier füge ich nochmals den ganzen Code meiner Präambel ein und die Version, die ich nun für das erstellen der Tabelle verwendet habe. Ich vermute, dass sich irgendein Befehl aus der Tabelle mit etwas aus der Präambel nicht verträgt. Ich brauche bitte die erfahrung von jemandem, da ich den Fehler selbst nicht finden kann.

Vielen Dank für eure Hilfe,
Ich bin euch wirklich sehr dankbar!
Takashi
\documentclass[a4paper,11pt,oneside,final,openbib,pagesize]{scrbook}
%_______________________________________________________________________________
% page borders
%_______________________________________________________________________________
\addtolength{\headheight}{2cm}
%\addtolength{\topmargin}{2cm}
\setlength{\oddsidemargin}{1.0cm}
\setlength{\evensidemargin}{0.5cm}
\setlength{\textwidth}{14.3cm}
\setlength{\parindent}{0mm}

%_______________________________________________________________________________
% packages
%_______________________________________________________________________________
\usepackage{amsmath, amssymb}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{subfigure}
\usepackage{dsfont}
\usepackage{slashed}
\usepackage{textcomp}
\usepackage{url}
\usepackage{booktabs, multicol, multirow}
\usepackage{array}

%_______________________________________________________________________________
% newcommands
%_______________________________________________________________________________

\newcommand*{\tablehead}[1]{\multicolumn1c{#1}} 
\newcommand\bildeinfuegen[1]{\includegraphics[width=\linewidth, height=42mm]{#1}} 

%_______________________________________________________________________________
% bold fonts for headings
%_______________________________________________________________________________
\font\afont=cmssbx10 scaled \magstep5     % for the title
\font\bfont=cmssbx10 scaled \magstep4     % for chapter headings
\font\cfont=cmssbx10 scaled \magstep3
\font\dfont=cmssbx10 scaled \magstep2     % for section headings and author name
\font\efont=cmssbx10 scaled \magstephalf

%_______________________________________________________________________________
% index depth
%_______________________________________________________________________________
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

%_______________________________________________________________________________
% new commands
%_______________________________________________________________________________
\newcommand{\demi}{\frac{1}{2}}

%_______________________________________________________________________________
% renewed commands
%_______________________________________________________________________________
% \renewcommand{\topfraction}{1.}       % this is important for figure placement
% \renewcommand{\bottomfraction}{1.}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\normalfont\normalsize\bfseries}
}
\makeatother

%_______________________________________________________________________________
% special words, hyphenation
%_______________________________________________________________________________
\hyphenation{Ba-che-lor-ar-beit}

\pagestyle{empty}
\pagestyle{headings}
%for changing the style on a specific page use \thispagestyle{e.g., empty}

%_______________________________________________________________________________
%_______________________________________________________________________________
\begin{document}
\pagenumbering{roman}

\begin{center}
\begin{minipage}{\linewidth}
\centering
\captionof{table}{TNT of some of Sample 1.1 before and after suncream with condition mentioned in table \ref{tab:parameter}}
\resizebox{\linewidth}{!}{% 
\begin{tabular}{@{}|c m{55.92mm} m{55.92mm}|@{}} 
\toprule 
\tablehead{Parameters} & \tablehead{PLE before ozone exposure} & \tablehead{PLE after ozone exposure} \\ \midrule  
100XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_eins_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_eins_after.jpg} \\ \midrule 
100XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_zwei_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_zwei_after.jpg} \\ \midrule  
80XP | 50 min | 80 min
      &
     \bildeinfuegen{finallap/prev_drei_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_drei_after.jpg} \\ \midrule 
80XP | 50 min | 0 min
      &
     \bildeinfuegen{finallap/prev_vier_before.jpg}
      & 
     \bildeinfuegen{finallap/prev_vier_after.jpg} \\ \bottomrule 
\end{tabular}%
}
\end{minipage}
\end{center}

\end{document}

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

Beitrag von skater »

Ich habe mal versucht, aus deiner Krankheit ein Minimalbeispiel zu erstellen.

Leider weiß ich nicht, wie groß diese Bilder sind oder was die darstellen sollen. Somit ist Hilfe kaum möglich.

Das Problem mit den Verzeichnissen kann ich nicht nachvollziehen.

Persönlich würde ich dir empfehlen, dass du dir direkte Hilfe in Wien suchst. Eine TeX-Gruppe sollte es dort schon geben.
\documentclass[oneside]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{booktabs,multicol}
\usepackage{array}
\usepackage{tabularx}
\usepackage{blindtext}

\newcommand*{\tablehead}[1]{\multicolumn{1}{@{}c@{}}{#1}}
\newcommand{\bildeinfuegen}{\rule{55.92mm}{42mm}}

\typearea{calc}

\begin{document}

\tableofcontents

\listoftables

\chapter{Preface}

\blindtext

\chapter{Intro}

\blindtext

\enlargethispage{\baselineskip}
\begin{table}[p]
\centering\small
\caption{TNT of some of Sample 1.1 before and after suncream with condition mentioned in table XXX.}
\label{tab:one}
\begin{tabularx}{\textwidth}{@{}X@{}m{55,92mm}@{ }m{55,92mm}@{}}
\toprule
\tablehead{Parameters} & \tablehead{PLE before ozone exposure} & \tablehead{PLE after ozone exposure} \\
\midrule
100XP,\newline 50 min,\newline  80 min & \bildeinfuegen{} & \bildeinfuegen{} \\
100XP,\newline 50 min,\newline 0 min & \bildeinfuegen{} & \bildeinfuegen{} \\
80XP,\newline 50 min,\newline 80 min & \bildeinfuegen{} & \bildeinfuegen{} \\
80XP,\newline 50 min,\newline 0 min & \bildeinfuegen{} & \bildeinfuegen{} \\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

Asonandesuka
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 14. Nov 2013, 19:17
Wohnort: Wien

Beitrag von Asonandesuka »

Hallo,

Vielen Dank an eure Hilfen. Also die Tabelle sieht nun genau aus, wie ich es im Kopf hatte. Echt super! Danke, leute!

Das Problem mit dem fehlenden Zitaten hab ich durch Zufall so gelöst, dass ich mein Programm mit
\usepackage{graphicx} 


einmal mit [demo] und ohne kompiliert habe, und dadurch sind dann die Zitate, Inhalsverzeichnis ect. wiedergekommen.

Vielen herzlichen Dank also nochmals an alle, die mir geholfen haben. Ich wünsch euch noch eine schöne Zeit,

Beste Grüße,
Takashi

Antworten