Text in Zelle einrücken

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Text in Zelle einrücken

von KOMA » So 31. Okt 2010, 11:21

Es geht nicht darum, ob Tabellen leicht oder schwer zu erstellen sind. Es geht mir eher um die Typografie der Tabellen. Vertikale Linien und Rahmen um Tabellen sind einfach nur störend. Ich empfehle hierzu die Anleitung des sehr empfehlenswerten Paket booktabs, sowie tabsatz (erreichbar über die zweite Zeile meiner Signatur). Ich gehe außerdem davon aus, dass die Problematik hier im Forum schon mehrfach von unterschiedlichen Leuten beleuchtet wurde.

Wenn die spezielle Tabelle eine Art Infokasten (ebenfalls ein sogenanntes Konsultationselement) sein soll, dann würde ich hier schlicht auch die horizontale Linie weglassen. Wenn Du den Rahmen darum unbedingt haben willst, fallen mir auf Anhieb zwei brauchbare Möglichkeiten ein:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{framed}

\DeclareNewTOC[type=beachte,% Verzeichnistyp
  float,% Gleitumgebungen "beachte" und "beachte*" definieren
  floatpos=htbp,% statt Standardgleitposition tbp auch h erlauben
  listname={Verzeichnis der Merkk\"asten},% Verzeichnistitel
  name={Zur Beachtung},% Präfix für die \caption-Beschriftung
  nonfloat% Nicht gleitende Umgebung "beachte-" definieren
]{mrk}

\begin{document}

\listofbeachtes

\begin{framed}
\subsection*{Zur Beachtung}
\begin{itemize}
\item \blindtext
\item \blindtext
\item \blindtext
\end{itemize}
\end{framed}

\blindtext

\begin{beachte-}% Das soll nicht gleiten
  \KOMAoptions{captions=nooneline}
  \setkomafont{caption}{\bfseries}
  \setkomafont{captionlabel}{\bfseries}
  \setlength{\fboxrule}{1pt}
  \setlength{\fboxsep}{1em}
  \fbox{\begin{minipage}{\dimexpr \linewidth-2\fboxrule-2\fboxsep\relax}
      \captionabove{Was ich sagen wollte}
      \begin{itemize}
      \item \blindtext
      \item \blindtext
      \end{itemize}
    \end{minipage}}
\end{beachte-}

\blindtext

\begin{beachte}% Das soll bei Bedarf gleiten
  \KOMAoptions{captions=nooneline}
  \setkomafont{caption}{\bfseries}
  \setkomafont{captionlabel}{\bfseries}
  \setlength{\fboxrule}{1pt}
  \setlength{\fboxsep}{1em}
  \fbox{\begin{minipage}{\dimexpr \linewidth-2\fboxrule-2\fboxsep\relax}
      \captionabove{Was ich sagen wollte}
      \begin{itemize}
      \item \blindtext
      \item \blindtext
      \end{itemize}
    \end{minipage}}
\end{beachte}

\blindtext

\end{document}
Natürlich sollte man, nachdem man sich für eine Variante entscheiden hat, eine Umgebung dafür definieren. Um dabei den Inhalt der Umgebung in eine \fbox packen zu können, kann man entweder die lrbox (siehe usrguide) verwenden oder das Paket environ.

von Gast » Sa 30. Okt 2010, 18:36

nabend Koma,

genau dass habe ich gesucht:
\begin{tabularx}{\linewidth}{|>{\hangindent 0.8em}X|} 
mit dem richtigen FAktor versehen und es fkt. wies soll.

Ja mit deiner Meinung hinsichtlich des Layout dieseer "Tabelle" stimme ich dir zu, nur leider fehlen mir derzeit die Alternativen, ich weiss das Tabellen in Latex nicht leicht sind, aber in Word will ich es nicht schreiben, die tabellen sind derzeit das Manko bei der DA...

VG

von KOMA » Sa 30. Okt 2010, 17:06

Das ">{\hangindent 1em}" in der Spaltendeklaration meines zweiten Beispiels ist der Trick. Übrigens wirst Du garantiert eine overfull \hbox gemeldet bekommen, weil "|p{1\textwidth}|" mit den beiden Strichen und Abständen zu diesen größer als \textwidth wird. Viel einfacher geht das mit tabularx und X-Spalte. Wenn ich Dein Beispiel richtig interpretiere, willst Du aber eigentlich eine Liste innerhalb einer Tabelle? Deshalb hier einmal zwei Beispiele, wobei die zweite Tabelle eben eine Liste verwendet:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{mdwlist}

\newenvironment{tableitemize}{%
  \csname @minipagetrue\endcsname
  \itemize
  \leftskip=-\leftmargin
  \advance\leftskip\labelsep
  \advance\leftskip.5em
  \itemsep=0pt
  \parskip=0pt
  \parsep=0pt
}{%
  \vskip-\normalbaselineskip
  \enditemize
}

\begin{document}
\begin{tabularx}{\linewidth}{|>{\hangindent 1em}X|}
  \hline
  Teil 1      \\
  \hline
  -- das ist eine kurz      \\
  -- aber das ist eine laaaaaaaaange Zeile, die über zwei  und weitere Zeilen
  geschrieben werden muss und die unteren Teile muss dann eingerückt
  werden. aber wie? so nicht..\\
  \hline
\end{tabularx}

\bigskip

\begin{tabularx}{\linewidth}{|X|}
\hline
Teil 2\\
\hline
\begin{tableitemize}
\item das eine kurze
\item  aber das ist eine laaaaaaaaange Zeile, die über zwei  und weitere Zeilen
  geschrieben werden muss und die unteren Teile muss dann eingerückt
  werden. aber wie? so nicht
\end{tableitemize}\\
\hline
\end{tabularx}
Ich finde diese Kästen übrigens schrecklich! Dezent eingesetzte horizontale Linien lasse ich mir noch gefallen, aber so etwas ...

von Gast » Sa 30. Okt 2010, 13:53

Hallo,

bitte nicht erschlagen ich weiss der Thread ist schon alt, aber was ist nun genau der Befehl um das einrücken der Zeile zu erreichen?

ich habe meine schnipsel mal bei euren Angehangen und auch da fkt es nicht:
\documentclass[a4paper,11pt,parskip]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\usepackage{ltxtable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents*}{tmptable.tex}
\begin{longtable}{lXl}
 1 & just some short text & abc \\
 \rowcolor[gray]{.9} 2 &  ich bin ein sehr langer text und erstrecke mich
 deshalb   über zwei Zeilen (rück mich bitte ein) & Niederlande \\
 3 & 12345 123 & Frankreich \\
\end{longtable}
\end{filecontents*}
{\def\tabularxcolumn#1{m{#1}}% verwende m- statt p-Spalten für X-Spalten
\LTXtable{\linewidth}{tmptable.tex}}




\begin{table}[H]
	\caption{einrücken}
		\begin{tabular}{|p{1\textwidth}|}
			\hline
			Teil 1		\\
			\hline 
			- das ist eine kurz		\\
			- aber das ist eine laaaaaaaaange Zeile, die über zwei  und weitere Zeilen geschrieben werden muss und die unteren Teile muss dann eingerückt werden. aber wie? so nicht..\\
			\hline
		\end{tabular}
	
	\label{tab:einrücken}
\end{table}

\end{document}
schönes WE allerseits

von KOMA » Di 21. Apr 2009, 11:17

Ohne die störenden und völlig überflüssigen vertikalen Linien:
\documentclass[a4paper,11pt,parskip]{scrartcl} 
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[table]{xcolor} 
\usepackage{ltxtable}
\usepackage{filecontents}
\begin{document} 
\begin{filecontents*}{tmptable.tex}
\begin{longtable}{lXl}
 1 & just some short text & abc \\ 
 \rowcolor[gray]{.9} 2 &  ich bin ein sehr langer text und erstrecke mich
 deshalb   über zwei Zeilen (rück mich bitte ein) & Niederlande \\
 3 & 12345 123 & Frankreich \\
\end{longtable}
\end{filecontents*}
{\def\tabularxcolumn#1{m{#1}}% verwende m- statt p-Spalten für X-Spalten
\LTXtable{\linewidth}{tmptable.tex}}

\end{document}
Da ich von vertikalen Linien gar nichts halte, habe ich es damit auch gar nicht erst ausprobiert. Wenn übrigens die zweite Zeile wirklich eingerückt werden soll, dann geht das auch:
\documentclass[a4paper,11pt,parskip]{scrartcl} 
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[table]{xcolor} 
\usepackage{ltxtable}
\usepackage{filecontents}
\usepackage{booktabs}
\begin{document} 
\begin{filecontents*}{tmptable.tex}
\begin{longtable}{l>{\hangindent 1em}Xl}
 1 & just some short text & abc \\
\addlinespace
 2 & ich bin ein sehr langer text und erstrecke mich
 deshalb   über zwei Zeilen (rück mich bitte ein) & Niederlande \\
\addlinespace
 3 & 12345 123 & Frankreich \\
\end{longtable}
\end{filecontents*}
{\def\tabularxcolumn#1{m{#1}}% verwende m- statt p-Spalten für X-Spalten
\LTXtable{\linewidth}{tmptable.tex}}

\end{document}
Mir gefällt es ohne Änderung von \tabularxcolumn übrigens besser:
\documentclass[a4paper,11pt,parskip]{scrartcl} 
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[table]{xcolor} 
\usepackage{ltxtable}
\usepackage{filecontents}
\usepackage{booktabs}
\begin{document} 
\begin{filecontents*}{tmptable.tex}
\begin{longtable}{lXl}
\toprule
Nr. & Erklärung & Land \\
\midrule
\endhead
\bottomrule
\endfoot
 1 & just some short text & abc \\
\addlinespace
 2 & ich bin ein sehr langer text und erstrecke mich
 deshalb über zwei Zeilen (rück mich bitte ein) & Niederlande \\
\addlinespace
 3 & 12345 123 & Frankreich \\
\end{longtable}
\end{filecontents*}
\LTXtable{\linewidth}{tmptable.tex}

\end{document}

von bill26 » Mo 20. Apr 2009, 15:58

Danke für den Hinweis. Denke das sieht gut aus mit der Farbe. Nun habe ich nur zwei Probleme:

- senkrechte Linien werden überdeckt
- Text über zwei Zeilen wird nicht korrekt angezeigt

Entschuldigung für die späte Antwort. War länger krank. Minimalbeispiel:
\documentclass[a4paper,11pt,parskip]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{typearea}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage{longtable}
\usepackage[table]{xcolor}
\begin{document}
\begin{longtable}{l|l|l}
%------------------------------------------------------------------------
1 & just some short text & abc \\

\rowcolor[gray]{.9}\multirow{2}{*}{2} & ich bin ein sehr langer text und erstrecke mich& \multirow{2}{*}{Niederlande} \\
\rowcolor[gray]{.9}& deshalb   über zwei Zeilen (rück mich bitte ein) &\\

3 & 12345 123 & Frankreich
%------------------------------------------------------------------------
\end{longtable}
\end{document}
Edit: die senkrechten Linien werden zwar nicht angezeigt, aber gedruckt. Dieser Fehler (ust das überhaupt ein Fehler) ist also nicht so wichtig.

Tabellensatz

von Stefan Kottwitz » Mo 6. Apr 2009, 23:01

Hallo Bill,

alternativ könntest Du die Zeilen abwechselnd leicht einfärben:
\documentclass[a4paper,11pt,parskip]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{typearea}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage{longtable}
\usepackage[table]{xcolor}
\begin{document}
\begin{longtable}{lll}
%------------------------------------------------------------------------
\rowcolor[gray]{.9}1 & just some short text & abc \\
\multirow{2}{*}{2} & ich bin ein sehr langer text und erstrecke mich
                   & \multirow{2}{*}{Niederlande} \\
                   & deshalb   über zwei Zeilen (rück mich bitte ein) &\\
\rowcolor[gray]{.9}3 & 12345 123 & Frankreich
%------------------------------------------------------------------------
\end{longtable}
\end{document}
Viele Grüße,

Stefan

Text in Zelle einrücken

von bill26 » Mo 6. Apr 2009, 20:15

Hallo,

ich möchte eine Tabelle erstellen und muss teilweise zwei Zeilen für einen Eintrag verwenden, da sonst der Platz nicht reicht. In der zweiten Zeile soll der Text dann etwas eingerückt sein, damit man erkennt, dass diese Zeile mit der vorherigen zusammen hängt. Ein Minimalbeispiel sagt mehr als tausend Worte:
\documentclass[a4paper,11pt,parskip]{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{typearea}

\usepackage[babel,german=guillemets]{csquotes} 
\usepackage[T1]{fontenc}

\usepackage{multirow}
\usepackage{longtable}

\begin{document}

\begin{longtable}{l|l|l}
%-----------------------------------------------------------------------------------------------------------------

           1 									& just some short text 	& abc  										\\

           \multirow{2}{*}{2} & ich bin ein sehr langer text und erstrecke mich 	& \multirow{2}{*}{Niederlande} \\
                    					& deshalb	über zwei Zeilen (rück mich bitte ein)		&          										\\

           3 									&            12345 123 	& Frankreich  									\\	
	
%--------------------------------------------------------------------------------------------------------------------
\end{longtable}

	
\end{document}

Oder ne andere Idee wie man das schöner darstellen kann? Trennlinien erschlagen den Betrachter bei vielen Einträgen finde ich.

Danke schon mal,
bill

Nach oben