PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tabular in supertabular



vogel
14-04-2005, 08:31
Hallo,

ich habe eine supertabular definiert :

\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}

und in diese supertabular eine normale tabular gemacht, mit :
\newenvironment{mytabular}{\begin{tabular}{p{6.5cm }p{6.5cm}}}{\end{tabular}}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}

\begin{mytabular}
&\\\hline
\multicolumn{2}{c}{}
\\
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}

Nun habe ich folgendes Problem :

1) die cline über und die hline unter der Überschrift liegen nicht ganz bündig am linken Rand der supertabular an

2 ) zwischen dem "Ende" der supertabular und dem Beginn der mytabular soll eine leere Zeile ohne äußere Begrenzungslinien erscheinen

vogel
14-04-2005, 08:36
3 ) Wie kann man das Verhalten von "Hobbys und Sonstiges" bei Seitenwechsel optimieren ?

Hier der komplette Quelltext :

%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

%defining the style of a heading
% \newcommand{\headingone}{\bf \Large}
% \newcommand{\headingtwo}{\bf \large}
% \newcommand{\headingthree}{\bf \normalsize}
\newenvironment{headingone}{\bf \Large}{\rm \normalsize}
\newenvironment{headingtwo}{\bf \large}{\rm \normalsize}
\newenvironment{headingthree}{\bf \normalsize}{\rm \normalsize}

%variables for the headings in the table
\newtoks\firstheading
\newtoks\secondheading
\newtoks\thirdheading

%command to make a heading and to set the variables above
%gets the name of the heading
\newcommand{\SETfirstheading}[2]{%
\global\firstheading={#2}%
\\
\multicolumn{2}{c}{}
\\
\cline{1-1}\\
\begin{headingone}\the\firstheading\end{headingone }\\%
\\\hline%
\tablehead{\hline
\begin{headingone}\the\firstheading\end{headingone }&\\}%
}%
\newcommand{\SETheading}[2]{%
\ifthenelse{1=#1}{%
\global\firstheading={#2}%
&\\\hline
\multicolumn{2}{c}{}
\\
\cline{1-1}\\
\begin{headingone}\the\firstheading\end{headingone }\\%
\\\hline%
\tablehead{\hline
\begin{headingone}\the\firstheading\end{headingone }&\\}%
%
}{}%
\ifthenelse{2=#1}{%
\global\secondheading={#2}%
&\\\begin{headingtwo}\the\secondheading\end{heading two}%
\tablehead{\hline
\begin{headingone}\the\firstheading\end{headingone }&\\%
\begin{headingtwo}\the\secondheading\end{headingtw o}&\\}%
}{}%
\ifthenelse{3=#1}{%
\global\thirdheading={#2}%
&\begin{headingthree}\the\thirdheading\end{headingt hree}\\%
\tablehead{\hline
\begin{headingone}\the\firstheading\end{headingone }&\\%
\begin{headingtwo}\the\secondheading\end{headingtw o}%
&\begin{headingthree}\the\thirdheading\end{headingt hree}\\}%
}{}%
}%
\newcommand{\ENDheading}[1]{
\ifthenelse{1=#1}{\tablehead{\hline}
}{}
\ifthenelse{2=#1}{\tablehead{\hline\ &\\\begin{headingone}\the\firstheading\end{headingo ne}&\\}
}{}
\ifthenelse{3=#1}{\tablehead{\hline\ &\\\begin{headingone}\the\firstheading\end{headingo ne}&\\
\begin{headingtwo}\the\secondheading\end{headingtw o}&\\}
}{}
}
\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}{p{6.5cm }p{6.5cm}}}{\end{tabular}}


%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
\multicolumn{2}{c}{}\\
\SETheading{1}{EDV-Erfahrung}%
\SETheading{2}{Betriebssysteme}%
\SETheading{3}{Unix-Derivate}%
% \ENDheading{2}
Hallo1\\
Hallo2\\
Hallo3\\
Hallo4\\
Hallo5\\
Hallo6\\
Hallo7\\
Hallo8\\
Hallo9\\
Hallo10\\
Hallo11\\
Hallo12\\
Hallo13\\
Hallo14\\
Hallo15\\
Hallo16\\
Hallo17\\
Hallo18\\
Hallo19\\
Hallo20\\
Hallo21\\
Hallo22\\
Hallo23\\
Hallo24\\
Hallo25\\
Hallo26\\
Hallo27\\
Hallo28\\
Hallo29\\
Hallo30\\
Hallo31\\
Hallo32\\
Hallo33\\
Hallo34\\
\begin{mytabular}
\SETheading{1}{Hobbys und Sonstiges}%
\end{mytabular}
Hallo35\\
Hallo36\\
Hallo37\\
Hallo38\\
Hallo39\\
Hallo40\\
Hallo41\\
Hallo42\\
Hallo43\\
Hallo44\\
Hallo45\\
Hallo46\\
Hallo47\\
Hallo48\\
Hallo49\\
Hallo50\\
Hallo51\\
Hallo52\\
Hallo53\\
Hallo54\\
Hallo55\\
\begin{mytabular}
&\\\hline
\multicolumn{2}{c}{}
% \multicolumn{2}{c}{}
\\
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}
Hallo56\\
Hallo57\\
Hallo58\\
Hallo59\\
Hallo60\\
Hallo61\\
Hallo62\\
Hallo63\\
\end{supertabular}
\end{document}

mr. pelle
14-04-2005, 10:43
Wie wärs mit einem lauffähigem Minimalbeispiel?

vogel
14-04-2005, 12:31
%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}{p{6.5cm }p{6.5cm}}}{\end{tabular}}
%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
Hallo1&Hallo12\\
Hallo2&Hallo22\\
\begin{mytabular}
&\\\hline
\multicolumn{2}{c}{Bonjour}\\
% \multicolumn{2}{c}{}
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}
\\
Guten Tag\\
\end{supertabular}
\end{document}

1) die cline über und die hline unter der Überschrift liegen nicht ganz bündig am linken Rand der supertabular an

2 ) Da wo jetzt "Bonjour" steht, soll eine leere Zeile ohne äußere Begrenzungslinien erscheinen

blubb
14-04-2005, 13:49
Ohne das Beispiel jetzt laufen gelassen zu haben:
Dein Supertabular hat 2*6.5cm.
In eine dieser 6.5cm breiten Spalten hängst du eine Tabelle die 2*6.5cm breit ist.

Kann es sein, das dir ein \multicolumn fehlt.

%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}{p{6.5cm }p{6.5cm}}}{\end{tabular}}
%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
Hallo1&Hallo12\\
Hallo2&Hallo22\\
\multicolumn{2}{c}{
\begin{mytabular}
&\\\hline
\multicolumn{2}{c}{Bonjour}\\
% \multicolumn{2}{c}{}
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}}
\\
Guten Tag\\
\end{supertabular}
\end{document}

Was willst du erreichen?

vogel
14-04-2005, 14:40
%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}{|p{6.5c m}|p{6.5cm}|}}{\end{tabular}}
%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
Hallo1&Hallo12\\
Hallo2&Hallo22\\
\multicolumn{2}{c}{
\begin{mytabular}
&\\\hline
\multicolumn{2}{c}{Bonjour}\\
% \multicolumn{2}{c}{}
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}}
\\
Guten Tag\\
\end{supertabular}
\end{document}


Damit funktioniert Punkt 2) die Leerzeile

Aber die "innere Tabelle" ist nach rechts verschoben und daher nicht plan wie in 1) zu erreichen gewünscht mit der äußeren Tabelle.

vogel
14-04-2005, 14:41
Das mit der \multicolumn hat geholfen.

vogel
15-04-2005, 11:14
Aber wie geht das, das die Tabular in der Supertabular genau plan übereinanderliegt.

so ist es jetzt :

-----------Supertabular-----------------------
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
X|---hier beginnt die tabular-------------|
X|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxx|
X|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxx|
X|---Ende tabular-Beginn supertabular-|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
--------------------------------------------------


und so soll es werden :


-----------Supertabular-----------------------
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|----hier beginnt die tabular---------------|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|x---Ende tabular-Beginn supertabular-x|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxx|
-------------------------------------------------

blubb
15-04-2005, 15:09
Das Problem wurde in letzter Zeit hier schon ein paarmal behandelt.

Spalten haben einen Abstand zum rand bzw. zur Nachbarzelle.
Also auch die Tabelle in der Tabelle (ob supertabular oder tabular dürfte da egal sein). Den Abstand verhindert man mit @{} inder Spaltendefinition.

Zusätzlich müssen überzählige Leerzeichen am Zeilenende mit % ausgeblendet werden.

An deinem Minimalbeispiel (zur Verdeutlichung habe ich noch | eingefügt):

%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}{|p{6.5c m }p{6.5cm}}}{\end{tabular}}
%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
Hallo1&Hallo12\\
Hallo2&Hallo22\\%
\multicolumn{2}{@{}c@{}}{% < < hier @{} rein
\begin{mytabular}%
&\\\hline
\multicolumn{2}{c}{Bonjour}\\
% \multicolumn{2}{c}{}
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}}
\\
Guten Tag\\
\end{supertabular}
\end{document}

vogel
19-04-2005, 07:30
SUPER,

Damit hats wieder mal geklappt,

Danke

Hermann

vogel
19-04-2005, 09:01
Hallo,

Es hat sich ein Folgeproblem ergeben :

Der Text der nach der Tabular in der Supertabular kommt, bricht nicht rechtzeitig um.

Ich setzte ja mehrmals eine tabular in die supertabular wie oben im Bild, um zu verhindern, daß meine Seite an dieser Stelle umbrechen kann.

Nun sollte meine Seite aber an den "nicht-tabular" Stellen umbrechen, was sie aber nicht tut, stattdessen wird das Ende der Seite einfach überschrieben.

vogel
19-04-2005, 09:03
Hallo,

hier der Code für das Problem :


%------------Preamble-------------------------------------------------------------
\documentclass[a4paper,10pt]{book}
\usepackage{supertabular}
\usepackage{ifthen}

\usepackage{umlaut}

%defining the width of the sub-tables
\newenvironment{mytabular}{\begin{tabular}[htb]{p{6.5cm}p{6.5cm}}}{\end{tabular}}
%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{|p{6.5cm}|p{6.5cm}|}
Hallo1&Hallo12\\
Hallo2&Hallo22\\%
\multicolumn{2}{@{}c@{}}{% < < hier @{} rein
\begin{mytabular}%
&\\\hline
\multicolumn{2}{c}{Bonjour}\\
% \multicolumn{2}{c}{}
\cline{1-1}\\
Meine Überschrift\\%
\\\hline%
\tablehead{\hline
Meine Überschrift\\}%
\end{mytabular}}
\\
Guten Tag\\
%here is an example how to keep things together(for example the first 4 headings)
\multicolumn{2}{@{}l@{}}{% < < hier @{} rein
\begin{mytabular}
Hallo1\\
Hallo2\\
Hallo3\\
\end{mytabular}}\\%
%end of "keep-together" area
Hallo4\\
Hallo5\\
Hallo6\\
%here is an example how to keep things together(for example the first 4 headings)
\multicolumn{2}{@{}l@{}}{% < < hier @{} rein
\begin{mytabular}
Hallo7\\
Hallo8\\
Hallo9\\
\end{mytabular}}\\%
%end of "keep-together" area
Hallo10\\
Hallo11\\
%here is an example how to keep things together(for example the first 4 headings)
\multicolumn{2}{@{}l@{}}{% < < hier @{} rein
\begin{mytabular}
Hallo12\\
Hallo13\\
Hallo14\\
\end{mytabular}}\\%
%end of "keep-together" area
Hallo15\\
Hallo16\\
Hallo17\\
%here is an example how to keep things together(for example the first 4 headings)
\multicolumn{2}{@{}l@{}}{% < < hier @{} rein
\begin{mytabular}
Hallo18\\
Hallo19\\
Hallo20\\
Hallo21\\
Hallo22\\
Hallo23\\
\end{mytabular}}\\%
%end of "keep-together" area
Hallo24\\
%here is an example how to keep things together(for example the first 4 headings)
\multicolumn{2}{@{}l@{}}{% < < hier @{} rein
\begin{mytabular}
Hallo25\\
Hallo26\\
Hallo27\\
\end{mytabular}}\\%
%end of "keep-together" area
Hallo28\\
Hallo29\\
Hallo30\\
Hallo31\\
Hallo32\\
Hallo33\\
Hallo34\\
Hallo35\\
Hallo36\\
Hallo37\\
Hallo38\\
Hallo39\\
Hallo40\\
Hallo41\\
Hallo42\\
Hallo43\\
Hallo44\\
Hallo45\\
Hallo46\\
Hallo47\\
Hallo48\\
Hallo49\\
Hallo50\\
Hallo51\\
Hallo52\\
Hallo53\\
Hallo54\\
Hallo55\\
Hallo56\\
Hallo57\\
Hallo58\\
Hallo59\\
Hallo60\\
Hallo61\\
Hallo62\\
Hallo63\\
\end{supertabular}
\end{document}