PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vertikaler Abstand bei Tabbing Umgebung



badera
24-12-2004, 16:50
Ich möchte eine Tabbing Umgebung brauchen. Allerdings ist mir der Abstand oben und unten viel zu gross. Wie kann man den verkleinern? - Ich habe zum Testen mal mit \vspace{} und einer negativen Zahl probiert. Das funktioniert auch, allerdings bezweifle ich, ob das der richtige Weg ist.


\vspace{-0.3cm}
\begin{tabbing}
\hspace*{6cm} \= \hspace{4cm} \= \hspace*{4cm} \kill
a \> b \> c \\
\end{tabbing}
\vspace{-1cm}


Bitte um Hinweise!
- Adrian

badera
28-12-2004, 14:49
^ push on top ^

smofi
29-12-2004, 21:37
Hallo Adrian,

Das funktioniert auch, allerdings bezweifle ich, ob das der richtige Weg ist.
Finde ich auch; sobald Du Schriftgrössen oder so veränderst, müsstest Du auch die negativen Werte in \vspace{} anpassen. In LaTeX hängt alles irgendwie zusammen, was zu einem schönen Layout beiträgt.

Besser scheint mir, über die vordefinierten Längen zu gehen. Alle Umbebungen in LaTeX sind detailreich beschrieben mit Längen. Bei itemize z.B. hat alles eine definierte Länge: Der Abstand zwischen Punkt und Text, der Einzug vom Rand links zum Punkt usw. Wenn Du die Längen verstehst, kannst Du alles auf den Kopf stellen. Bei der Tabbing-Umgebung ist der Abstand, den Du meinst, in \baselineskip definiert. Wenn Du den auf 0 setztest, siehst Du, dass der Abstand nicht mehr da ist. Folgendes Codebeispiel zeigt tabbing mit und ohne diesen Schritt. Der \oldskip ist dazu da, den ursprünglichen Wert von \baselineskip zu wahren und damit das restliche Layout nicht zu stören, \parindent ist der Einzug der ersten Zeile eines neuen Absatzes.



\documentclass{report}
\begin{document}
\setlength{\parindent}{0mm}
\newlength{\oldskip}
\setlength{\oldskip}{\baselineskip}

hallo\\
\setlength{\baselineskip}{0mm} % diese Zeile macht's
\begin{tabbing}
\hspace*{6cm} \= \hspace{4cm} \= \hspace*{4cm} \kill
a \> b \> c \\
a \> b \> c
\end{tabbing}
\setlength{\baselineskip}{\oldskip}
hallo\\[3cm]


hallo\\
\begin{tabbing}
\hspace*{6cm} \= \hspace{4cm} \= \hspace*{4cm} \kill
a \> b \> c \\
a \> b \> c
\end{tabbing}
hallo
\end{document}


Ich habe leider noch keine grosse Quelle gefunden, wo diese Längen "hinter den Kulissen" einmal alle beschrieben sind. Sie müssten in den .sty-Dateien definiert sein. Aber z.B. unter
www.math.tu-berlin.de/Rechnerbetrieb/Forschungsbereich/LaTex/tex/cookbook/eighth.html
findest Du ein paar Wichtige beschrieben.

Hoffe ich konnte Dir helfen - greez
Smofi :cool:

badera
29-12-2004, 22:57
Hey supper, danke Dir tausendmal!

Anstelle \baselineskip in einer temp.Länge zu speichern, könnte man auch die Tabelle und die Änderung von \baslineskip in geschweifte Klammern nehmen, dann wäre ausserhalb auch wieder das Alte \baselineskip gültig. -- richtig?

- Adrian

smofi
30-12-2004, 19:26
Das war mir jetzt neu und ist offensichtlich korrekt, wie sich durch folgendes Beispiel prüfen lässt:



\documentclass{report}
\begin{document}
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla.\\

Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla.\\

{\setlength{\parindent}{0mm}Einmal ohne Einr\"uckung: Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla.
}\\

Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla.\\

Interessanter als dieses Beispiel ist dieses PDF von Heiko Oberdiek:
http://www.dante.de/dante/events/dante2002/handouts/oberdiek-geschweifteklammer-folien.pdf
Ein { ist offensichtlich ein Alias für \bgroup und } für \egroup, also Gruppierung. Gruppen kann man schachteln. Nun wäre die Frage, was bei der Gruppierung erhalten bleibt: \parindent, \baselineskip?, Font?, ... ...