Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Text unterhalb caption aber überhalb longtable auf *volle* Seitenbreite setzen

24 views
Skip to first unread message

Stefan

unread,
May 18, 2006, 6:19:16 PM5/18/06
to
Hallo liebe TeXler!

Ich habe ein kleines Problem, bei dem ich mich sehr über einen Tip
freuen würde.
Ich versuche folgendes zu erreichen:

Eine mehrzeilige Tabellenbeschreibung unterhalb einer caption von
longtable, aber bevor die Tabelle beginnt, zu setzten, die tatsächlich
die _volle_ Breite der Zeile ausnutzt. Bei mir ist da nämlich immer
ein kleiner Abstand zu sehen, der Text beginnt erst auf der gleichen
Höhe, wie er in der Tabelle darunter startet. Die Linien ragen aber
etwas heraus. Es sieht ca. so aus:

Tabelle 1: abcdef

Text Text Text Text (<-- Hier volle Breite gewünscht)
Text Text Text Text
--------------------------------
123 345 678 usw..
123 345 678 usw..
123 345 678 usw..

Ich hoffe ich konnte mich verständlich machen. Ich hätte gerne, daß
der Text darüber bündig mit der horizontalen Linie abschließt. Der
longtable ist bei mir genau genommen ein ltxtable (und somit ein auf
volle Zeilenbreite gestreckter longtable). Das Problem liegt aber m. E.
im longtable begründet.


%%%meinetabelle.tex%%%
\begin{longtable}{Xrr}
\caption{abcdef} \\
Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn
gesetzt und händisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das bündig an die Tabellenlinie zu bekommen
\hline
123 & 345 & 678 \\
123 & 345 & 678 \\
123 & 345 & 678 \\
\hline
\end{longtable}


%%%main.tex%%%
\LTXtable{\linewidth}{meinetabelle}

Wer mir eine Lösung sagt, dem schicke ich eine Flasche Rotwein!
Versprochen!!! Ein Rioja, spanischer Wein mundet ;)

PS: noch was: unter der tabular und tabularx Umgebung funktioniert das
problemlos, nur longtable will nicht so recht (or is it me??)

Gruß,
Stefan

Paul Ebermann

unread,
May 18, 2006, 8:52:13 PM5/18/06
to
"Stefan" skribis:

> Hallo liebe TeXler!
>
> Ich habe ein kleines Problem, bei dem ich mich sehr über einen Tip
> freuen würde.
> Ich versuche folgendes zu erreichen:
>
> [...]

>
> Wer mir eine Lösung sagt, dem schicke ich eine Flasche Rotwein!
> Versprochen!!! Ein Rioja, spanischer Wein mundet ;)

Hmm, ich mag keinen Wein, daher gibt es von mir keine
Lösung ...

> PS: noch was: unter der tabular und tabularx Umgebung funktioniert das
> problemlos, nur longtable will nicht so recht (or is it me??)

... Aber einen Tipp habe ich noch:
Bastel mal ein Minimalbeispiel, nach der
Anleitung in http://www.minimalbeispiel.de/mini.html.

Mit einem Minimalbeispiel sind die Leute hier viel
hilfsbereiter (und können auch viel besser helfen),
und eventuell findest du auch beim Erstellen des
Beispiels die Lösung.


Grüße
Paul
--
Warum Realnamen: http://www.wschmidhuber.de/realname/

vo...@perce.de

unread,
May 19, 2006, 2:57:55 AM5/19/06
to
Stefan schrieb:

> Tabelle 1: abcdef
>
> Text Text Text Text (<-- Hier volle Breite gewünscht)
> Text Text Text Text
> --------------------------------
> 123 345 678 usw..
> 123 345 678 usw..
> 123 345 678 usw..
>
> Ich hoffe ich konnte mich verständlich machen. Ich hätte gerne, daß
> der Text darüber bündig mit der horizontalen Linie abschließt. Der
> longtable ist bei mir genau genommen ein ltxtable (und somit ein auf
> volle Zeilenbreite gestreckter longtable). Das Problem liegt aber m. E.
> im longtable begründet.
>
>
> %%%meinetabelle.tex%%%
> \begin{longtable}{Xrr}
> \caption{abcdef} \\
> Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn
> gesetzt und händisch auf Seitenbreite eingestellt, allerdings gelingt
> es niemals das bündig an die Tabellenlinie zu bekommen
> \hline

1. Möglichkeit:

\caption{abcdef}\\
\multicolumn{3}{@{}p{\textwidth}@{}}{%


Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn

gesetzt und h"andisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das b"undig an die Tabellenlinie zu bekommen}\\\hline

2. Möglichkeit:

\caption{abcdef}\\
\kern-\tabcolsep\rlap{\parbox{\textwidth}{%


Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn

gesetzt und h"andisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das b"undig an die Tabellenlinie zu bekommen}}\\\hline


Herbert

Ralf Stubner

unread,
May 19, 2006, 4:03:12 AM5/19/06
to
"Stefan" <stefan...@googlemail.com> writes:

> %%%meinetabelle.tex%%%
> \begin{longtable}{Xrr}
> \caption{abcdef} \\
> Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn
> gesetzt und händisch auf Seitenbreite eingestellt, allerdings gelingt
> es niemals das bündig an die Tabellenlinie zu bekommen
> \hline
> 123 & 345 & 678 \\
> 123 & 345 & 678 \\
> 123 & 345 & 678 \\
> \hline
> \end{longtable}

Was hast Du denn bisher versucht? Das wäre sehr hilfreich zu wissen.
Evtl hilft Dir ja so etwas:

\begin{longtable}{Xrr}
\caption{abcdef} \\

\multicolumn{3}{@{}p{\linewidth}@{}}{Hier sollte nun der mehrzeilige


Text rein. Bisher immer mit multicolumn gesetzt und händisch auf
Seitenbreite eingestellt, allerdings gelingt es niemals das bündig
an die Tabellenlinie zu bekommen} \\
\hline
123 & 345 & 678 \\
123 & 345 & 678 \\
123 & 345 & 678 \\
\hline
\end{longtable}

Der wesentliche Punkt hier ist @{} vor und hinter der Spaltendefinition.

cheerio
ralf

vo...@perce.de

unread,
May 19, 2006, 5:17:25 AM5/19/06
to
\multicolumn{3}{@{}p{\linewidth}@{}}{

dürfte eine falsche Breite liefern. \textwidth sollte es sein.

Herbert

Stefan Bress

unread,
May 19, 2006, 5:25:12 AM5/19/06
to
>
> Der wesentliche Punkt hier ist @{} vor und hinter der Spaltendefinition.
>
Hallo Herbert und Ralf!!!

Vielen, vielen DANK!!! genau das ist es. Für Euch sind das nur 3
Zeichen, für mich Stunden trial und error, die zuletzt ohne Erfolg
waren. Dafür habt Ihr Euch eine Flasche Wein verdient, eine Mail
müsstet Ihr von mir schon bekommen haben!!! Danke!!!!

Gruß,
Stefan

PS: Paul danke für den Link. Wie Du siehst bin ein Newbie, werde aber
versuchen meine zukünftigen Postings Ettikettenkonform zu posten!

Ralf Stubner

unread,
May 19, 2006, 5:48:56 AM5/19/06
to
vo...@perce.de writes:

> \multicolumn{3}{@{}p{\linewidth}@{}}{
>
> dürfte eine falsche Breite liefern. \textwidth sollte es sein.

Das kommt drauf an, was man erreichen möchte. Wobei \textwidth und
\linewidth sich doch eh nur bei zweispaltigem Satz unterscheiden, oder?
Und da habe ich es zumindst nicht geschafft eine \LTXtable rein zu
bringen.

Allerdings funktioniert weder der Ansatz mit \textwidth noch der mit
\linewidth so richtig, da in beiden Fällen

\LTXtable{0.7\linewidth}{meinetabelle}

Eine Tabelle mit \linewidth/\textwidth Breite liefert. Wenn \LTXtable
\linewidth auf sein erstes Argument setzen würde, so würde zumindest
\linewidth funktionieren. \textwidth sollte man wohl eher nicht
verändern.

cheerio
ralf

vo...@perce.de

unread,
May 19, 2006, 6:49:29 AM5/19/06
to

Ralf Stubner schrieb:

????

\linewidth außerhalb und innerhalb der Tabelle ist nicht dasselbe.
\textwidth sehr wohl.

Herbert

Ralf Stubner

unread,
May 19, 2006, 7:58:43 AM5/19/06
to
vo...@perce.de writes:

> \linewidth außerhalb und innerhalb der Tabelle ist nicht dasselbe.
> \textwidth sehr wohl.

???

Bei mir nicht. Ich sehe nur Unterschiede innerhalb der caption, nicht
aber inerhalb der restlichen Tabelle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents*}{meinetabelle.tex}
\begin{longtable}{Xrr}
\caption{\the\linewidth\ \the\textwidth} \\
\multicolumn{3}{@{}p{\linewidth}@{}}{%
\the\linewidth\ \the\textwidth} \\


\hline
123 & 345 & 678 \\

\hline
\end{longtable}
\end{filecontents*}
\begin{filecontents*}{meinetabelle2.tex}
\begin{longtable}{Xrr}
\caption{\the\linewidth\ \the\textwidth} \\


\multicolumn{3}{@{}p{\textwidth}@{}}{%

\the\linewidth\ \the\textwidth} \\


\hline
123 & 345 & 678 \\

\hline
\end{longtable}
\end{filecontents*}
\documentclass{article}
\usepackage{ltxtable}
\begin{document}
\the\linewidth\ \the\textwidth\

\LTXtable{\linewidth}{meinetabelle}

\LTXtable{\linewidth}{meinetabelle2}

\LTXtable{0.7\linewidth}{meinetabelle}

\LTXtable{0.7\linewidth}{meinetabelle2}

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

cheerio
ralf


vo...@perce.de

unread,
May 19, 2006, 8:11:48 AM5/19/06
to
Ralf Stubner schrieb:

> vo...@perce.de writes:
>
> > \linewidth außerhalb und innerhalb der Tabelle ist nicht dasselbe.
> > \textwidth sehr wohl.
>
> ???
>
> Bei mir nicht. Ich sehe nur Unterschiede innerhalb der caption, nicht
> aber inerhalb der restlichen Tabelle

eben, davon rede ich doch, dass \linewidth die Breite der X-Spalte
ist und nicht die Breite der äußeren Textzeile.

Herbert

Ralf Stubner

unread,
May 19, 2006, 9:16:52 AM5/19/06
to
vo...@perce.de writes:

Hast Du mein Beispiel laufen lassen? Aus meiner sicht zeigt das ziemlich
eindeutig, dass ausserhalb der \caption \linewidth = \textwidth = 345pt
gilt. Innerhalb der \caption ist \linewidth = \LTcapwidth, aber das
spielt hier keine Rolle. Mein Beispiel zeigt auch, dass sich die beiden
Lösungen mit \textwidth und \linewidth im Resultat nicht unterscheiden.
Kannst Du ein Beispiel produzieren, wo sie es tun?

Dass \linewidth = \textwidth gilt, finde ich übrigens schade, da ich
bewusst \linewidth gewählt hatte, um zB mit

\LTXtable{0.7\linewidth}{meinetabelle}

eine schmale Tabelle zu erhalten. Das ist im Augenblick nicht der Fall,
lässt sich aber nachrüsten:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents*}{meinetabelle.tex}
\makeatletter
\setlength{\linewidth}{\TX@target}
\makeatother


\begin{longtable}{Xrr}
\caption{abcdef} \\

\multicolumn{3}{@{}p{\linewidth}@{}}{Hier sollte nun der mehrzeilige


Text rein. Bisher immer mit multicolumn gesetzt und händisch auf
Seitenbreite eingestellt, allerdings gelingt es niemals das bündig

an die Tabellenlinie zu bekommen} \\


\hline
123 & 345 & 678 \\
123 & 345 & 678 \\
123 & 345 & 678 \\
\hline
\end{longtable}
\end{filecontents*}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{ltxtable}
\begin{document}

\LTXtable{\linewidth}{meinetabelle}

\LTXtable{0.7\linewidth}{meinetabelle}

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


cheerio
ralf

Herbert Voss

unread,
May 19, 2006, 10:42:43 AM5/19/06
to

Ralf Stubner wrote:
> vo...@perce.de writes:
>
>
>>Ralf Stubner schrieb:
>>
>>
>>>vo...@perce.de writes:
>>>
>>>
>>>>\linewidth außerhalb und innerhalb der Tabelle ist nicht dasselbe.
>>>>\textwidth sehr wohl.
>>>
>>>???
>>>
>>>Bei mir nicht. Ich sehe nur Unterschiede innerhalb der caption, nicht
>>>aber inerhalb der restlichen Tabelle
>>
>>eben, davon rede ich doch, dass \linewidth die Breite der X-Spalte
>>ist und nicht die Breite der äußeren Textzeile.
>
>
> Hast Du mein Beispiel laufen lassen? Aus meiner sicht zeigt das ziemlich
> eindeutig, dass ausserhalb der \caption \linewidth = \textwidth = 345pt

ok, wohl ein Missverständnis, denn ich hätte auf \rlap
verweisern sollen (mein 2. Vorschlag)

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{meinetabelle2.tex}


\begin{longtable}{Xrr}
\caption{abcdef}\\

\multicolumn{3}{@{}p{\textwidth}@{}}{%


Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn

gesetzt und h"andisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das b"undig an die Tabellenlinie zu bekommen}\\\hline
\kern-\tabcolsep\rlap{\parbox{\linewidth}{%


Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn

gesetzt und h"andisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das b"undig an die Tabellenlinie zu bekommen}}\\\hline


\kern-\tabcolsep\rlap{\parbox{\textwidth}{%

Hier sollte nun der mehrzeilige Text rein. Bisher immer mit multicolumn

gesetzt und h"andisch auf Seitenbreite eingestellt, allerdings gelingt
es niemals das b"undig an die Tabellenlinie zu bekommen}}\\\hline
123 & 345 & 678 \\\hline
\end{longtable}
\end{filecontents*}

\usepackage{ltxtable}
\begin{document}

\LTXtable{\linewidth}{meinetabelle2}

\end{document}


Herbert


--
http://PSTricks.de/
http://TeXnik.de/
http://www.dante.de/CTAN/info/math/voss/mathmode/Mathmode.pdf
http://www.dante.de/faq/de-tex-faq/
http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes

Ralf Stubner

unread,
May 19, 2006, 11:40:43 AM5/19/06
to
Herbert Voss <Herber...@gmx.net> writes:

> ok, wohl ein Missverständnis, denn ich hätte auf \rlap
> verweisern sollen (mein 2. Vorschlag)

[...]


> \kern-\tabcolsep\rlap{\parbox{\linewidth}{%

In der Tat. Hier ist \linewidth != \textwidth. Wobei das anscheinend
nichts mit \rlap zu tun hat, sondern vielmehr vom \kern (bzw. dem
dadurch ausgelössten Verlassen des vertikalen Modus) kommt:

\documentclass{article}
\usepackage{tabularx}
\begin{document}

\noindent
\begin{tabularx}{\linewidth}{Xrr}
\the\linewidth \kern1cm \the\linewidth\\
\the\linewidth \leavevmode\the\linewidth\\
\the\linewidth & 345 & 678 \\\hline
\end{tabularx}

\end{document}


Man lernt nie aus ...

cheerio
ralf

0 new messages