PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \tabbing oder \tabular und automatischer Zeilenumbruch



Beren77
16-06-2007, 11:25
Hallo,

ich erzeuge LaTeX-Code aus einer Anwendung heraus und dort besteht die Anforderung, dass beliebige Tabulatoren gesetzt werden können. Ein auszugebender Text soll dann z.B. so aussehen:

Folgende Punkte sind nicht erlaubt: * Rauchen
* offenes Feuer
* verschütten von Chemikalien

...
Dabei sollen die "*" natürlich untereinander stehen.
Problem an dieser Sache: Es ist möglich, mehr als einen Tabulator zu setzen, an beliebigen Positionen... Das einzige, was mir bisher eingefallen ist, ist dies hier:

\put(7, 40){\begin{minipage}[b]{86mm}
\begin{tabular}[t]{ll}
Folgende Punkte sind nicht erlaubt: & Rauchen\\
& offenes Feuer\\
\end{tabular}
\end{minipage}}

(Das ist ein Ausschnitt, der in einer Picture-Umgebung liegt...)
Problem dabei ist aber -- natürlich -- das die Zeile ggf. über den Rand hinausreicht. Im Normalfall würde ich also bei tabular statt {ll} als parameter entsprechende "p{xcm}" Parameter angeben, nur kann ich diese ja nicht automatisch aus dem Programm generieren, weil ich nicht weiß, wie breit die Spalte ist... Gibt es einen Weg, dieses Problem zu lösen? Gibt es eine automatische Formatierung dafür in LaTeX?
Oder geht es mit \tabbing (dort habe ich aber das gleiche Problem...). Vielleicht kann das irgend ein Paket, das ich nicht kenne?

Danke für die Hilfe.
Grüße,
Philipp

edico
16-06-2007, 12:54
So wie sich mir das darstellt, empfehle ich:

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\linewidth}{@{}llX}
Folgende Punkte sind nicht erlaubt: &
$\star$ &
Rauchen Problem dabei aber ist, dass die Zeile über den Rand hinausreicht.\\
&
$\star$ &
offenes Feuer Problem dabei aber ist, dass ... über den Rand hinausreicht.\\
&
$\star$ &
Verschütten von Chemikalien Problem dabei aber ist, dass ... hinausreicht.\\
\end{tabularx}
\end{document}

edico

localghost
16-06-2007, 14:40
Vielleicht hilft da eine parbox.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc} % Cork Encoding
\usepackage[latin1]{inputenc} % Sonderzeichen im Quelltext
\usepackage[ngerman]{babel} % Deutsche Rechtschreibung

\begin{document}
\noindent
Folgende Punkte sind nicht erlaubt:
\hfill
\parbox[t]{8cm}{%
$\star$ Rauchen \\
$\star$ offenes Feuer \\
$\star$ Verschütten von Chemikalien
}
\end{document}
Mit der Breite der parbox muss Du etwas herumprobieren, damit der Befehl \hfill eine nicht zu große Leerstelle erzeugt.

Beren77
17-06-2007, 15:05
Super edico, vielen Dank! Das war genau, was ich gesucht hatte!

Auf "tabularx" war ich gestern noch selbst gestoßen, habe es aber nicht hinbekommen, dass die Spaltenbreiten so anpasst, wie ich das gerne hätte.

Das "{@{}llX}" löst dieses Problem genau. Darauf wäre ich gar nicht gekommen (obgleich ich die entsprechende Stelle in der Doku gelesen hatte... @ suppresses the spacing between the columns *seufz* :)).

Danke!