PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ende der Spalte erreicht, Text wird in der nächtsen Spalte weiter geschrieben



peyo
19-11-2010, 09:53
Hallo Leute,

ich habe nochmal eine Frage.

Ich habe eine ganz normale Tabelle mit 3 spalten, die sich über die ganze dinA4 Seite zieht.

der Inhalt der Tabelle wird automatisch generiert, d.h. ich weiß nicht, ob die Spalte bis zum Ende mit Text gefüllt wird oder nicht. Falls dies nicht der Fall ist, ist alles ok.
Wenn die Spalte aber bis zum Ende mit Text gefüllt ist, soll der Text dann in der nächsten Spalt von oben bis unten weiter laufen.

Ich habe das gerade mit multicol ausprobiert, aber Latex passt das Layout an, dass es schön ausschaut, soll aber erst die nächste Spalte anfangen, wenn die erste voll ist.

\documentclass{article}

\usepackage[ngerman]{babel}

\usepackage{multicol}
\setlength{\columnseprule}{0.5pt}

\begin{document}

\section{abc}
abc%\\
\begin{multicols}{2}
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
fhfhfhjfjhf multicol multicol multicol fhfhfhjfjhf multicol multicol multicol
\end{multicols}

\end{document}
| |t|h|
| |e|i|
| |x|e|
| |t|r|
| | | |
| |g|w|
| |e|e|
| |h|i|
| |t|t|

...

Soll dann am Ende so wie in meinem Minimalbeispiel aussehen.
Hab zu sowas leider noch nichts gefunden :(

Schonmal vielen Dank für eure Antworten!

peyo
22-11-2010, 07:48
Hallo,

hab jetzt schon mehrere Sachen ausprobiert, wie z.B. multicols oder parallel.
leider schaffe ich es nicht, dass sich erst die eine Spalte mit Text auffüllt und dann die 2te Spalte daneben.

Latex füllt die Spalten immer so auf, dass die Höhe gleich ist und bei parallel hab ich das Problem, dass ich ja nicht weiß, wann die rechte Spalte anfängt.

Ist das mit Latex überhaupt möglich?

Über eine Antwort, würde ich mich sehr freuen,
LG
peyo

voss
22-11-2010, 07:54
hab jetzt schon mehrere Sachen ausprobiert, wie z.B. multicols oder parallel.
leider schaffe ich es nicht, dass sich erst die eine Spalte mit Text auffüllt und dann die 2te Spalte daneben.

Latex füllt die Spalten immer so auf, dass die Höhe gleich ist und bei parallel hab ich das Problem, dass ich ja nicht weiß, wann die rechte Spalte anfängt.

Ist das mit Latex überhaupt möglich?


Wer Dokus lesen kann, ist klar im Vorteil ... ;)


\begin{multicol*}{2}
...
\end{multicol*}

Herbert

peyo
22-11-2010, 08:11
ui, danke hat geklappt. :)

peyo
22-11-2010, 09:09
kann ich bei der multicols* - Umgebung eine feste Spaltenbreite definieren?

u_fischer
22-11-2010, 09:20
Nun wie Herbert schon sagte: Es gibt eine Dokumentation:

"The space between columns is
controlled by the length param-
eter \columnsep. The width
for the individual columns is
automatically calculated from
this parameter and the current
\linewidth. In this article a
value of 18.0pt was used."

peyo
22-11-2010, 10:15
achso okay. danke

ich schlag mich schon durch die doku, doch einiges verstehe ich noch nicht ganz.

ich bekomme jetzt immer diese Fehlermeldung:
Package multicol Warning: multicols* inside a box does not make sense.
(multicol) Going to balance anyway on input line 64.

ich muss die multicols* aber an einer bestimmten stelle platzieren darum arbeite ich mit einer picture umgebung und put.
leider klappt das aber nicht.

das latex handbuch zu multicol sagt, ich soll das schreiben:
85 \par
86 \ifinner \@boxedmulticolstrue

aber wohin soll ich das schreiben?


\put(1.6,23){\par
\ifinner \@boxedmulticolstrue\begin{multicols*}{3}{\include graphics{./tmp/44423.eps} das ist Abschnitt 1 (links);
Dies ist Abschnitt 1 (links);
Dies ist Abschnitt 1 (links);}
\end{multicols*}}

voss
22-11-2010, 11:57
ich muss die multicols* aber an einer bestimmten stelle platzieren darum arbeite ich mit einer picture umgebung und put.
leider klappt das aber nicht.

\put(1.6,23){\par
\ifinner \@boxedmulticolstrue\begin{multicols*}{3}{\include graphics{./tmp/44423.eps} das ist Abschnitt 1 (links);
Dies ist Abschnitt 1 (links);
Dies ist Abschnitt 1 (links);}
\end{multicols*}}


mach lieber

\put(...,..){\minipage{Breite}
\begin{multicols*}{2}
...
\end{multicols*}
\endminipage%
}

Herbert

u_fischer
22-11-2010, 12:04
Du sollst das nirgendwo hinschreiben. Was du da siehst ist der dokumentierte Code. \multicols* funktioniert nicht in einer Box, da so eine Box keine Höhe hat. multicols* kann daher nicht wissen, wo es umbrechen soll.

"Of course, this environment only
works on top-level, e.g., inside a
box one has to balance to deter-
mine a column height in absense
of a fixed value."

peyo
22-11-2010, 12:23
danke für eure antworten.

habe das eben mit dem code von voss ausprobiert. leider bricht mir latex wieder da um, wo es möchte und beendet nicht die spalte. die anweisung
\begin{multicols*}{2} füllt die spalte nicht bis zum ende.

danke u_fischer. hast du dann eine andere möglichkeit für mich, wie ich ein mehrspaltiges layout aufbauen kann, aber wie oben beschrieben, muss zuerst die eine Spalte mit Text aufgefüllt werden und dann am Ende der Spalte muss die nächste Spalte aufgefüllt werden.

muss das für ein Kataloglayout schreiben und da hab ich leider genaue vorgaben wie etwas sein darf/nicht darf.

GLG,
peyo