Longtable Cell Alignment Top

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: Longtable Cell Alignment Top

von Gast » Do 7. Dez 2017, 12:13

Auch, wenn es hier nicht vorkommt: In x-Spalten ist es ggf. sinnvoll minipage durch varwidth zu ersetzen.

von Gast » Do 7. Dez 2017, 11:15

ltablex ist natürlich ein super Tipp!

Herzlichen Dank ihr beiden!

Gruß Moritz

von Bartman » Di 5. Dez 2017, 18:27

@moritz1988

Wenn die Tabelle schon so breit ist, dann könntest Du auch gleich zu ltablex greifen.
\documentclass[fontsize=12pt,captions=tableheading,captions=nooneline]{scrartcl}
\usepackage{ltablex}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{blindtext}
\usepackage{showframe}

\begin{document}
\begin{tabularx}{\linewidth}{p{4cm}X}
\caption{Caption here.}\label{table1}\\
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endfirsthead 
\caption[]{Caption here.}\\[\bigskipamount]
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endhead 
\endfoot
\bottomrule
\endlastfoot
\begin{minipage}[t]{\hsize}
\begin{itemize}[nosep,leftmargin=*]
\item Item 1
\item Item 2
\item Item 3
\item Item 4
\end{itemize}
\end{minipage}%
&\blindtext \\
\end{tabularx}
\end{document}

von Gast » Di 5. Dez 2017, 17:39

\documentclass[a4paper,12pt,captions=tableheading,captions=nooneline]{scrartcl}
\usepackage{array,longtable}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{blindtext}
\begin{document}
\begin{longtable}[l]{p{4cm}p{11cm}}
\caption{Caption here.}\label{table1}\\
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endfirsthead 
\caption[]{Caption here.}\\[\bigskipamount]
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endhead 
\endfoot
\bottomrule
\endlastfoot
\begin{minipage}[t]{\hsize}
\begin{itemize}[nosep,leftmargin=*]
\item Item 1
\item Item 2
\item Item 3
\item Item 4
\end{itemize}\end{minipage}%
&\blindtext \\
\end{longtable}
\end{document}

von moritz1988 » Di 5. Dez 2017, 17:23

Dem stimme ich uneingeschränkt zu.

Ein Punkt hätte ich noch:
Wenn ich aus deinem Code vor \begin{itemize} die Zeile "Point 1" entferne, dann rutschen die Listenpunkte trotzdem nicht nach oben. Da schafft topsep=0pt keine Abhilfe. Woran liegt das? Bekommt man diese "Leerzeile" weg?

Gruß Moritz
\documentclass[a4paper,12pt,captions=tableheading,captions=nooneline]{scrartcl}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{blindtext}
\begin{document}
\begin{longtable}[l]{p{4cm}p{11cm}}
\caption{Caption here.}\label{table1}\\
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endfirsthead 
\caption[]{Caption here.}\\[\bigskipamount]
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endhead 
\endfoot
\bottomrule
\endlastfoot
\begin{itemize}[nosep]
\item Item 1
\item Item 2
\item Item 3
\item Item 4
\end{itemize}
&\blindtext \\
\end{longtable}
\end{document}

von Gast » Di 5. Dez 2017, 17:09

moritz1988 hat geschrieben:Ich hatte die Vorgehensweise aus einem Template übernommen, wegen des Vorteils dass ich "Table 1" im Layout unmittelbar anpassen kann (in diesem Fall \sffamily \footnotesize )
Das macht man nicht! Erstens meidet man physische Auszeichnungen so weit irgend möglich und zweitens hat man dann keine Verzeichniseinträge etc. Wenn man Tabellenüberschriften serifenlos und sehr klein haben will, dann verwendet man
\setkomafont{caption}{\sffamily\footnotesize}
Bezüglich irgendwelcher Templates sei wieder einmal auf »Minimale Vorlage vs. maximale Probleme« hingewiesen. Wenn ein Template einmal nicht total veraltet ist, dann ist höchstwahrscheinlich irgendein anderer Unfug darin. Templates sehen für Anfänger auf den ersten Blick toll aus, irgendwann machen sie häufig mehr Ärger als man sich Nutzen eingehandelt hat. Und hier ärgern sie ständig und bereiten ständig unnötige Arbeit.Wir erklären Leuten viel lieber, wie sie Dinge erreichen können, als wie sie die Fehler von Templates beheben können.

von moritz1988 » Di 5. Dez 2017, 16:30

Ich hatte die Vorgehensweise aus einem Template übernommen, wegen des Vorteils dass ich "Table 1" im Layout unmittelbar anpassen kann (in diesem Fall \sffamily \footnotesize ).
Die compact Umgebungen funktionieren innerhalb einer Tab. nur in einer parbox - deshalb die nervigen parboxes.

Aber so ist es natürlich weitaus schönerer und sauberer!
Klasse, besten Dank!!!

Gruß Moritz

von Gast » Di 5. Dez 2017, 16:08

Die vertikale Ausrichtung hast du mit den ganzen überflüssigen \parbox-Anweisungen verursacht. Ich verstehe auch nicht, warum du nicht \caption verwendest:
\documentclass[a4paper,12pt,captions=tableheading,captions=nooneline]{scrartcl}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{blindtext}
\begin{document}
\begin{longtable}[l]{p{4cm}p{11cm}}
\caption{Caption here.}\label{table1}\\
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endfirsthead 
\caption[]{Caption here.}\\[\bigskipamount]
\toprule
{\bfseries Column 1} & {\bfseries Column 2}\\
\midrule
\endhead 
\endfoot
\bottomrule
\endlastfoot
Point 1
\begin{itemize}[nosep]
\item Item 1
\item Item 2
\item Item 3
\item Item 4
\end{itemize}
&\blindtext \\
\end{longtable}
\end{document}
Ich verwende enumitem weil es flexibler ist und man damit ggf. auch den Einzug der einzelnen Listenelemente einfach verändern kann, beispielsweise mit \begin{itemize}[nosep,leftmargin*].

Longtable Cell Alignment Top

von moritz1988 » Di 5. Dez 2017, 15:47

Moin moin,

Der Inhalt in der zweiten Spalte meiner Longtable wird zum Inhalt der ersten Spalte vertikal zentriert ausgerichtet. Ich möchte, dass der Text in der zweiten Spalte mit dem ersten Listenpunkt in der ersten Spalte ausgerichtet wird, also "top" Ausrichtung.
Auf das array und makecell paket bin ich schon gestoßen, die bringen unzureichende Ergebnisse. Hat vielleicht jemand eine Idee?
Besten Dank und schöne Grüße,
Moritz
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{longtable}
\usepackage{paralist}
\usepackage{blindtext}
\begin{document}
\begin{longtable}[l]{p{4cm} p{11cm}}
\multicolumn{2}{l}{\parbox{150mm}{%
\begin{compactdesc}
 \item[\sffamily \footnotesize Table \thetable] Caption here.
\end{compactdesc}}}\\
\smallskip \\
\hline
{\bfseries Column 1} & {\bfseries Column 2}\\
\hline
\vspace{-4mm}
\endfirsthead 
\multicolumn{2}{l}{\parbox{150mm}{%
\begin{compactdesc}
 \item[\sffamily \footnotesize Table \thetable] Caption here.
\end{compactdesc}}}\\
\vspace{-4mm}\\
\hline
{\bfseries Column 1} & {\bfseries Column 2}\\
\hline
\endhead 
\endfoot
\hline
\endlastfoot
\label{table1}
Point 1&\\
{\parbox{40mm}{%
\begin{compactitem}
\item Item 1
\item Item 2
\item Item 3
\item Item 4
\end{compactitem}
}}&\blindtext \\
\hline
\end{longtable}
\end{document}

Nach oben