PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umgebung für Tipps erstellen



MasterDitz
25-04-2005, 11:50
Hallo Leute

Ich möchte gerade ein Skriptum verfassen.
Hierbei kommt es oft vor, dass man Tipps oder Hinweise speziell hervorheben will.
Ich hab bis jetzt folgenden Code:

\newenvironment{Tipp}
{\begin{tabular}{>{\columncolor[gray]{.8}}l>{\columncolor[gray]{.9}}p{15.4cm}}\rotatebox{90}{\textsc{Tipp}} & }
{\\ \end{tabular}\\}

Anwendung:

\begin{Tipp}
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
\end{Tipp}

Wie schaffe ich es, dass "Tipp" in der linken Spalte vertikal zentriert steht, also auch abhängig von der Höhe der rechten Spalte?

Danke

Boron
25-04-2005, 12:13
\hfill
So kann man Text vertikal zentrieren ;)!
\hspace*{fill}

Dies fügt über und unter dem Text variablen Leerraum ein.

MasterDitz
25-04-2005, 12:28
Hallo Boron

hab das gerade probiert und es hat nicht geklappt.

Kannst du bitte den code oben so umänder, dass er funktioniert, testen un dann posten?

Danke

Boron
25-04-2005, 12:52
Dann poste mal ein Minimalbeispiel, das ich mir dann anschauen kann.

Zum Thema "Minimalbeispiel" hat blubb einen Beitrag geschrieben, der Pflichtlektüre sein sollte: http://www.mrunix.de/forums/showthread.php?t=38919&highlight=minimalbeispiel

[edit]
Mist, Mist, Mist :mad:!!
Ich sehe gerade, dass mein vorheriger Beitrag Blödsinn ist.
\hfill und \hspace machen horizontal Leerraum.

Ändere die Befehle zu \vfill, bzw. \vspace.

MasterDitz
25-04-2005, 13:22
Beispiel
\documentclass[11pt]{report}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{colortbl}
\usepackage{color}
\usepackage{graphicx}

\newenvironment{Tipp}
{\begin{tabular}{>{\columncolor[gray]{.8}}l>{\columncolor[gray]{.9}}p{10cm}}\rotatebox[origin=tr]{90}{\textsc{Tipp}} & }
{\end{tabular}}

\begin{document}


\begin{Tipp}
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
\end{Tipp}

\end{document} So weit, so gut.
Also nochmal: Tipp soll vertical zentriert sein.
Hab jetzt auch \vfill probiert und nicht geschafft.

Danke

blubb
25-04-2005, 13:30
So?

\documentclass[11pt]{report}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{colortbl}
\usepackage{color}
\usepackage{graphicx}

\newenvironment{Tipp}
{\begin{tabular}{>{\columncolor[gray]{.8}}l>{\columncolor[gray]{.9}}p{10cm}}\rotatebox[origin=tr]{90}{\textsc{Tipp}}
& } {\end{tabular}}

\begin{document}

~\vfill

\begin{Tipp}
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
Hallo das ist mein erster Tipp. Hallo das ist mein erster
Tipp.Hallo das ist mein erster Tipp. Hallo das ist mein erster
Tipp. Hallo das ist mein erster Tipp.
\end{Tipp}

\vfill~
\end{document}

Trick: \vfill macht nichts, wenn es nicht hat, zwischen das es Platz einfügen kann. Mit ~ hat es dann was (zwar unsichtbar, aber existent).

Nachtrag ---Vergiss es, hab die Frage zu flüchtig gelesen.
Kann aber Lösungsansatz für dein Problem sein.

Boron
25-04-2005, 13:38
\newenvironment{Tipp}
{
\vfill
\begin{tabular}
{
>{\columncolor[gray]{.8}}l>{\columncolor[gray]{.9}}p{10cm}}\rotatebox[origin=tr]{90}{\textsc{Tipp}} & }
{
\end{tabular}
\vspace*{\fill}
}

\begin{document}
~
\begin{Tipp}
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
\end{Tipp}

\end{document}Ich verstehe zwar die tabular-Umgebung nicht, aber das macht nix.
Vor dem\begin{Tipp} brauchst du noch irgendwas: Irgendeinen Text, oder ein Leerzeichen ~. Erst dann kann mit \vfill dazwischen "leer" eingefügt werden. Dein Tipp wandert somit in die Mitte der Seite.

blubb
25-04-2005, 13:45
So, jetzt aber (sofern ich die Frage richtig begriffen habe):

\documentclass[11pt]{report}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{colortbl}
\usepackage{color}
\usepackage{graphicx}

\newenvironment{Tipp}{
\begin{tabular}{>{\columncolor[gray]{.8}}p{2em}
>{\columncolor[gray]{.9}}p{10cm}}
~\vfill
\rotatebox[origin=r]{90}{\textsc{Tipp}}
\vfill~
& %Hier Inhalt von Tipp
}{\end{tabular}}

\begin{document}

\begin{Tipp}
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
Hallo das ist mein erster Tipp. Hallo das ist mein erster Tipp.
Hallo das ist mein erster Tipp. Hallo das ist mein erster
Tipp.Hallo das ist mein erster Tipp. Hallo das ist mein erster
Tipp. Hallo das ist mein erster Tipp.
\end{Tipp}

\end{document}


Der "Tipp" in der ersten Zelle der Tabelle soll zentriert sein. Die \vfill klappen nicht in l-Spalten. Habe deshalb einfach eine p-Spalte gemacht.

Passt nicht ganz, aber glaub schon eine ganz gute Näherung.

MasterDitz
25-04-2005, 15:09
Schaut schon mal voelversprechend aus, aber probiers mal mit dem doppelten Inhalt von \beginn{Tipp} .. \end{Tipp}, dann zentriert er nix mehr.

Warum?
Hab Dank guter Mann

blubb
26-04-2005, 22:23
Keine Ahnung warum das mit dem zentrieren nicht klappt.

Muss es eine Umgebung sein? Ich habe eine Variante mit einem Makro \TippII gemacht. Hat noch einen kleinen Spalt zwischen den zwei Blöcken (gefällt mir eigentlich ganz gut, habe es deshalb nicht entfernt).


\documentclass[11pt]{report}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{colortbl}
\usepackage{color}
\usepackage{blindtext}
\usepackage{graphicx}

\newenvironment{Tipp}{
\begin{tabular}{>{\columncolor[gray]{.8}}p{2em}
>{\columncolor[gray]{.9}}p{10cm}}
% ~\vfill

\rotatebox[origin=c]{90}{\centering \textsc{Tipp}}

% ~\vfill
& %Hier Inhalt von Tipp
}{\end{tabular}}

\newbox\test
\newlength\testlength
\newlength\testlengthII
%Idee:
% -newbox zuweisen
% -Ausmessen
% -Tipp in der Länge ausgeben und drehen
% -ausgeben
\newcommand{\TippII}[2][10cm]{
\savebox\test{
\begin{minipage}{#1}
#2
\end{minipage}
}
\settoheight{\testlength}{\usebox{\test}}%über Grundlinie
\settodepth{\testlengthII}{\usebox{\test}}%unter Grundlinie
\addtolength\testlength\testlengthII
\colorbox[gray]{.8}{
\rotatebox[origin=c]{90}{\hbox to \testlength {\hfill\textsc{Tipp}\hfill}}
}
\colorbox[gray]{.9}{
\usebox{\test}}
}


\begin{document}

\begin{Tipp}
\blindtext
\end{Tipp}

\hrulefill

\TippII{\blindtext}

\end{document}


Die 10cm habe ich mal als optionalen Parameter eingebaut.