PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : environment in supertabular geht nicht



vogel
07-04-2005, 10:49
Hallo ich habe ein Problem mit einer Umgebung in einer Supertabular und komme nicht weiter. Hier Auszüge aus meinem Quellcode :

%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
\newenvironment{heading}[2]{%
\ifthenelse{1=#1}{%
\global\firstheading={#2}
\bf\the\firstheading\\
}{}%
}%before
{}%after

--Jetzt der Aufruf-----------------------------------
\begin{document}
\begin{supertabular}{l}
\begin{heading}{1}{Spielerprofil}\\ \end{heading}\\
\end{supertabular}
\end{document}


Ohne Supertabular funktioniert die Umgebung, nur in der Supertabular funktioniert sie nicht, aus irgendeinem mir unbekannten Grund.

edico
07-04-2005, 11:12
... mach das vielleicht mal so:
%
\documentclass[a4paper,%
10pt,%
DIV1,% ein guter Satzspiegel
BCOR1cm,% 1cm fr das Binden in der Klemmmappe
smallheadings% kleinere berschriften
]{scrbook}
\listfiles
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{supertabular}
\usepackage{ifthen}
%\usepackage{german,umlaut,t1enc}
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}%delete current setting for header and footer
\fancyhead{}%clear all fields
\renewcommand{\headrulewidth}{0.5pt} % nur zur Anschauung aktiviert
\renewcommand{\footrulewidth}{0.5pt}
\fancyfoot[LE,RO]{Seite \thepage}
\fancyfoot[RE,LO]{Mavericks in the NBA\\
Stand: \today}
%\setlength{\headwidth}{14cm} % auszukommentieren !!
%graphicx to include the picture
\usepackage{graphicx}
\begin{document}

\section*{New supertab}
%\begin{supertabular}{l}
%\begin{heading}{1}{Spielerprofil}\\ \end{heading}\\
%\end{supertabular}
\begin{center}
\tablecaption{Einzelbewertungen}\label{tab:alles}
\tablehead{\hline Spielerprofil & Spielerinnenprofil \\ \hline}
\tabletail{\hline \multicolumn{2}{r}{\tiny weiter auf n"achster Seite}\\}
\tabletail{\hline}
\tablelasttail{\hline}
\begin{supertabular}{|p{148pt}|p{148pt}|}
\end{supertabular}
\end{center}
\end{document}
%
edico

vogel
07-04-2005, 11:29
Nee,

ich brauch die Umgebung heading noch mehrmals in der Supertabular tabelle. Mit ihr will ich dann später automatisch \hline 's einfügen usw.

Da muß ich wohl irgendeinen Fehler im Code von "heading"haben, weil z.B.

\begin{document}
\begin{supertabular}{|p{148pt}|p{148pt}|}
\begin{tabular}{l}Hallo\end{tabular}
\end{supertabular}
\end{document}

funktioniert.

vogel
07-04-2005, 13:51
Hallo, habs noch etwas verändert

%-------------nur Auszüge---------------------------------------
%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
\newenvironment{h1}[1]{%before
\global\firstheading={#1}%
\begin{headingone}\the\firstheading\end{headingone }%
\tablehead{\begin{headingone}\the\firstheading\end {headingone}\\}%
}%
{%after
\tablehead{}
\hline
}%
%-----------------------------------------------------------
\begin{document}
\begin{supertabular}{ll}
\begin{h1}{Ueberschrift1}
Hallo1 % Wieso kann ich hier keine \\ einfügen
Hallo2
Hallo3
\end{h1}
Hallo4\\
\begin{tabular}{ll}
Hallo5\\
Hallo6\\
Hallo7\\
Hallo8
\end{tabular}\\
Hallo9\\
Hallo10\\
\\ \end{supertabular}
\end{document}

Und die Frage ist warum kann ich in der Umgebung h1 keine \\ einfügen (siehe Hallo1) ?

edico
07-04-2005, 16:02
Was hast du im Sinn? Wie lauten deine Spezifikationen?
IMHO sollte h1 nach hone o.ä. umbenannt werden. Die Fehlermeldung bezieht sich auf headingone als undefiniert. headingone wird vorher deklariert?
Was haben die Bemühungen hinsichtlich supertab mit diesem Thema zu tun?
edico

vogel
07-04-2005, 16:35
Ja, natürlich du hast recht ich habe die Definition von headingone nicht mit dazugegeben hier das vollständige Beispiel

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

\newenvironment{headingone}{\bf \Large}{\rm \normalsize}
\newenvironment{headingtwo}{\bf \large}{\rm \normalsize}
\newenvironment{headingthree}{\bf \normalsize}{\rm \normalsize}

\usepackage{german,umlaut,t1enc}

%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
\newenvironment{h1}[1]{%before
\global\firstheading={#1}%
\begin{headingone}\the\firstheading\end{headingone }%
%hier kann ich auch keine \\ einfügen \tablehead{\begin{headingone}\the\firstheading\end {headingone}\\}%
}%
{%after
\tablehead{}
}%
\newenvironment{h2}[1]{%before
\global\secondheading={#1}%
\begin{headingtwo}\the\secondheading\end{headingtw o}%
\tablehead{\rowcolor{cLightGray}\begin{headingone} \the\firstheading\end{headingone}- Fortsetzung&\\%
\\\begin{headingtwo}\the\secondheading\end{heading two}\\}%
}{%after
\tablehead{\begin{headingone}\the\firstheading\end {headingone}- Fortsetzung&\\}%
}%
\newenvironment{h3}[1]{%before
\global\thirdheading={#1}%
\begin{headingthree}\the\thirdheading\end{headingt hree}%
\tablehead{\rowcolor{cLightGray}\begin{headingone} \the\firstheading\end{headingone}- Fortsetzung&\\%
\\\begin{headingtwo}\the\secondheading\end{heading two}%
&\begin{headingthree}\the\thirdheading\end{headingt hree}\\}%
}{%after
\tablehead{\begin{headingone}\the\firstheading\end {headingone}- Fortsetzung&\\%
\begin{headingtwo}\the\secondheading\end{headingtw o}\\}%
}%

%----------------------------------------------------------------------------------
\begin{document}
\begin{supertabular}{ll}
\begin{h1}{Ueberschrift1}
Hallo1 %hier kann ich keine \\ einfügen
Hallo2
Hallo3
\end{h1}
Hallo4\\
\begin{tabular}{ll}
Hallo5\\
Hallo6\\
Hallo7\\
Hallo8
\end{tabular}\\
Hallo9\\
Hallo10\\
Hallo11\\
\begin{h2}{Ueberschrift2} \end{h2}
\begin{h3}{Ueberschrift3} \end{h3}
\\ \end{supertabular}
\end{document}


Ja, es soll halt mal ein Mitarbeiterprofil werden, wo die Teilüberschriften bei Seitenumbruch automatisch auf die nächste Seite gehen, deswegen habe ich Supertabular verwendet, weil man damit innerhalb den Tabellenkopf verändern kann.
Die Umgebungen sind für mich leicht zu ändern,

nur müßte man auch Leerzeichen bzw. auch \hline 's in die Definition bzw. nach dem Aufruf einfügen können

(was z.B. bei einer tabular Umgebung ja geht), (daher muß es eine Lösung geben,oder ?)

edico
08-04-2005, 13:55
Ok. In groben Zügen klar. Die Spezifikation nicht ...
So wie sich das mir darstellt, kann es deswegen wohl nicht funktionieren, weil du mit
\global\firstheading={#1}%
keine Struktur in
\begin{headingone}\the\firstheading\end{headingone }%
mitgibst. Die ersten vier Hallos laufen als firstheading mit und nicht als weitere Variablen - oder?
Das wird dir bei den beiden anderen headings auch passieren ... Ja, genau!
IMHO liegt also der Hebel in der global definition .. Wie es aussehen müsste, weiss ich momentan auf die Schnelle auch nicht.
edico